Description of the SAP Interface
The interface generated to the connector follows the SAP ABAP conventions. All specifications described below are generated to the SAP connector automatically, though you can create them manually if needed.
Each SAP ABAP function has four parameter sections:
import (input)
export (output)
changing (input/output)
tables (input/output)
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. |
export | Any | out | The class specifying the type of this parameter must have stereotype SAP Parameters. |
changing | Any | in/out | The class specifying the type of this parameter must have stereotype SAP Parameters. |
tables | Any | in/out | The class specifying the type of this parameter must have stereotype SAP Tables. |
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 Native SAP - ABAP - xUML Base Type 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 |
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.