- Created by Simon Wack, last modified by Annegret Bernhardt on Dec 29, 2022
You are viewing an old version of this page. View the current version.
Compare with Current View Page History
« Previous Version 2 Next »
The Designer offers to communicate with an SAP server via the SAP RFC (Remote Function Call) protocol. You can invoke RFC functions using the SAP adapter, e.g. RFC enabled ABAP programs can be called as RFC functions. When calling RFC functions, the xUML service acts as an RFC client.
This requires the following steps:
- Define the SAP interface, resp. the RFC arguments.
- Use the SAP adapter to perform an RFC.
Defining the SAP Interface
The adapter interface follows the SAP ABAP conventions. Each SAP ABAP function has four parameter sections:
- import (input)
- export (output)
- changing (input/output)
- tables (IDoc handling)
These parameters are mapped to the input and output parameters of the SAP adapter:
Name | Type | Direction | Description |
---|---|---|---|
connectionString | String | in | Supplies the connection string (optional). |
import | Any |
in | The class specifying the type of this parameter must have stereotype SAP Parameters. The attributes and associations of this class correspond to the parameters given by the import section of the ABAP function declaration. |
export | Any | out | The class specifying the type of this parameter must have stereotype SAP Parameters. The attributes and associations of this class correspond to the parameters given by the export section of the ABAP function declaration (see the export parameters in SAP). |
changing | Any | in/out | The class specifying the type of this parameter must have stereotype SAP Parameters. The attributes and associations of this class correspond to the parameters given by the changing section of the ABAP function declaration |
tables | Any | in/out | The class specifying the type of this parameter must have stereotype SAP Tables. The attributes and associations of this class correspond to the parameters given the tables section of the ABAP function declaration. |
SAP Parameters
You need dedicated classes describing the interface of the RFC and the parameters. When calling for example the RFC_SYSTEM_INFO function, we need a set of export (output) parameters defined as properties on a dedicated class Export.
To specify the type mapping (see also SAP - ABAP Types Mappings), each property needs to have the stereotypes SAPIDocAttribute and XMLElement, that can have the following stereotype attributes:
Attribute | Description | Mandatory |
---|---|---|
nativeType | Specify the native ABAP type. For allowed types and valid internal/native type combinations see appendix beneath. | mandatory |
internalLength | Specify the parameter length as given in the ABAP dictionary (except for FLT, INT, DATS, TIMS). | mandatory |
decimals | Specify the number of decimals if there are any. | mandatory for native type DEC |
In any case, the upper multiplicity of the properties or associations must NOT be greater than one. Otherwise, the classes cannot be mapped to SAP parameters and SAP tables should be used instead.
So, for the RFC_SYSTEM_INFO example, the structure would look like the following:
RFC_SYSTEM_INFO Example | Stereotype | Stereotype Attributes | |||||
---|---|---|---|---|---|---|---|
SAP | |||||||
Interfaces | |||||||
RFCPort_RFC_SYSTEM_INFO | SAPRFCModuleInterface | | |||||
RFC_SYSTEM_INFO | SOAPRPCOperation | | |||||
out export : Export | | | |||||
Types | |||||||
Export | SAPParameters | ||||||
CURRENT_RESOURCES : Integer | |||||||
MAXIMAL_RESOURCES : Integer | |||||||
RECOMMENDED_DELAY : Integer | |||||||
RFCSI_EXPORT : RFCSI | |||||||
RFCSI | SAPStructure | | |||||
RFCCHARTYPE : String | SAPIDocAttribute |
| |||||
XMLElement |
| ||||||
RFCDATABS : String | SAPIDocAttribute |
| |||||
XMLElement |
| ||||||
... | ... | ... |
The listed order attribute of the property derives from the order in the SAP data structure RFCSI.
The SAP types yet supported are listed on Native SAP - ABAP - xUML Base Type Mappings. Each SAP native type is mapped to an xUML base type. Because SAP types are sometimes restricted in their length and number of decimals, use stereotype attributes to transport this meta information as shown ion the table above.
For details on the native type definitions, refer to the SAP documentation.
Calling ABAP Functions via RFC
Call the ABAP function via RFC by dragging it onto a diagram.
You can drag out operations from the data model to any diagram:
The example below shows how to add a SAP adapter operation to an BPMN execution diagram.
It needs to get stereotype SAPRFCAdapter applied. The stereotype attribute alias points to the alias that defines the route to the SAP system that should be accessed.
Configuring the SAP Adapter Operation
Once a SAP operation has been added to a diagram, it needs to be configured as a SAP adapter.
Select the newly added SAP adapter operation and switch to the Attributes panel. Depending on the diagram type you can see the following information (example BPMN execution diagram):
All of this is predefined and cannot be changed. | |||||||||||||
Click Add Stereotype to define the selected operation as to be a SAP adapter. | |||||||||||||
Select SAPRFCAdapter from the list of available adapter stereotypes. Click Save. | |||||||||||||
The Attributes panel now shows the added adapter stereotype. Now you still need to configure the adapter. Expand the stereotype by clicking the arrow on the right. | |||||||||||||
A SAP adapter is configured via its alias. Click the icon to add an alias to the SAP adapter. | |||||||||||||
You can select an existing alias from a drop-down list by clicking the text Select alias. If you want to remove an added alias, click the icon on the right or select None from the drop-down list: | |||||||||||||
You can also create and add a new alias by clicking the corresponding icon. Refer to Aliases for more information on how to create a new alias. | |||||||||||||
A new dialog opens where you can name and configure the new alias. Refer to SAP Adapter Reference for more information on the configuration options of this adapter. |
SAPAdapter_RFC_Example
- No labels