SAP® ERP
Introduction
SAP® ERP enables you to extend your SAP business processes and integrate non-SAP products using open and non-proprietary technology. SAP® ERP allows for bi-directional, real-time communication to and from the SAP system. SAP® ERP is based on the on-premises webMethods Adapter for SAP (WmSAP).
SAP® ERP allows you to increase customer loyalty and efficiency across the supply chain by tightly integrating your business infrastructure with that of any partner. Typical deployment scenarios for SAP® ERP are:
- Real-time integration between supplier inventories and your SAP system.
- Real-time integration between product, price, and availability information from any number of suppliers and your purchasing application.
- Real-time integration between fulfilment and order tracking applications and your shippers’ internal systems.
Key features
The purpose of this section is to clarify the use of SAP® ERP with the restricted access (RA) version. You must read through the differences between WmSAP and SAP® ERP, and analyze if the migration of existing WmSAP applications to SAP® ERP is affected.
-
Synchronous and asynchronous communication with SAP systems through RFC, tRFC, qRFC, and bgRFC
- SAP® ERP allows you to run the Application Link Enabling (ALE) services inside SAP system asynchronously, which allows you to integrate the business processes. SAP® ERP can run SAP remote function calls.
- Asynchronous processing transparently uses the Application Link Enabling (ALE) services inside the SAP system for the client to integrate the business processes.
- Run the SAP Remote Function Calls (RFCs) from SAP® ERP. You can access all SAP functionality that is available through RFC from SAP® ERP. External applications do not need to understand the SAP datatypes, ABAP structures, or the RFC protocol to communicate with an SAP system.
-
Bi-directional and multithreaded communication to and from SAP systems
- Call and invoke services from the SAP systems. This allows the SAP users to access information that is available through SAP® ERP. SAP® ERP enables integration between trading partners, thereby extending the reach of your SAP infrastructure to customers, partners, and suppliers.
-
Higher level services to process SAP IDocs and BAPIs
- Send IDocs to the SAP® ERP. You can send Intermediate Documents to SAP® ERP for further synchronous processing or let them be published to subscribers asynchronously.
- Use the SAP’s implementation-independent Business Application Programming Interface (BAPI) methods as described in the Business Object Repository (BOR). BAPIs are stable, precisely defined, and well-documented interfaces to SAP solutions, providing standardized access to SAP solutions on a semantic level. You can quickly and easily create XML-based services that run a BAPI. Applications within your organization can then invoke the services to run a BAPI on the SAP system. Similarly, your business partners can make requests over the Internet to invoke a service that runs a BAPI. The BAPI-interfaces provide unified access to the application-level functionality, independent of the type of call; both synchronous and asynchronous processing can be triggered by using these interfaces.
- Route SAP business documents based on the criteria you specify. SAP® ERP provides rich routing capabilities for BAPIs, RFCs, and IDocs. Different transport types are available out-of-the-box. These include routing of a business document to another SAP system or simply to a remote URL in an XML format.
-
Load balancing of incoming SAP documents.
-
Easy XML and Internet enabling of existing SAP releases.
-
Supports BizTalk XML envelopes for BAPI and RFC calls.
-
Supports unified error handling of BAPIs and RFCs on XML level.
Pre-requisites
- Install SAProuter tunnel software to connect from SAP® ERP to your SAP systems (located either on-premise or in a private cloud). An existing SAProuter installation in your environment can also be used for the connectivity to SAP® ERP in IBM webMethods Integration.
SAProuter can be downloaded from SAP and is free for SAP customers. A separate guide is available on how to install, configure, and create certificates for the SAProuter instance.
For more information about SAProuter tunnel software, see the related links: - Configure Secure Network Communications (SNC) for authentication and encryption of the connections between SAP® ERP and your SAProuter instance. SNC configuration is optional and may be omitted.
Differences between SAP® ERP and the on-premise WmSAP
SAP® ERP provides most of the features available in the on-premise WmSAP. In some cases, you may have to use workarounds, while some others might have restrictions. Limitations will be removed in future releases.
The deviations, and restrictions to keep in mind when migrating from WmSAP to SAP® ERP are listed below:
-
Asynchronous SAP ALE and RFC notifications are currently not supported in SAP® ERP. This may be available in future releases.
Workaround: Substitute asynchronous SAP ALE and RFC notifications with synchronous notifications.
-
Internal, undocumented administration services (wm.sap.*) in WmSAP are not available in SAP® ERP.
Workaround: Raise a request with IBM for new SAP® ERP public services with similar functionality if some administration services are required for migrating the existing WmSAP application to IBM webMethods Integration.
-
WmSAP public services accepting the complete node name (package and folder/service name) as input parameters might not be supported.
- For example, the register or unregister routing callback services -
pub.sap.idoc.routing:registerService, pub.sap.idoc.routing:unregisterService are not supported in IBM webMethods Integration.
Workaround: Use the Routing-Mapping screen instead of using register and unregister services.
-
Another example is the pub.sap.transport.IS:OutboundProcess service. This service is not fully supported in IBM webMethods Integration because it expects the folder name and service name of a Flow (or Java™) service to be run either on local or remote on-premise webMethods Integration Server.
- For example, the register or unregister routing callback services -
pub.sap.idoc.routing:registerService, pub.sap.idoc.routing:unregisterService are not supported in IBM webMethods Integration.
-
Execute ACLs are currently not supported in IBM webMethods Integration. In the on-premise webMethods Integration Server setup, incoming SAP notification requests are run under the account of the webMethods Integration Server user having the same username as the SAP user who has sent the request. This allows the usage of Execute ACLs to limit the execution of notification services to specific users only.
Information: SAP notification services can run when requests are sent by any SAP user.
-
Custom Java services are not supported in IBM webMethods Integration.
Workaround: Contact IBM if the migrated WmSAP applications require custom Java services and clarify if the Java services can be substituted with Flow services or existing public IBM webMethods Integration services.
-
WmSAP template Java services (with editable Java source code) in sample.sap.* are not available in IBM webMethods Integration.
Accounts
Create a new account
Complete the following fields to create a new account:
Field | Description |
---|---|
Connection alias | Account name by which the SAP system is known to SAP® ERP developers, clients, and partners. |
User name | SAP default user for this account. If no other SAP username is provided during runtime, then
this SAP user account is used to execute the client request in the SAP System. Note: The SAP default
user is also used to execute lookups to the DDIC for RFC, BOR and ALE metadata. So, it is necessary
to set an SAP logon user with the authorization to the following SAP standard function groups: RFC1,
SDIF, SG00, and SRFC.It is a recommended best practice to set a technical SAP user account with the
minimum necessary set of authorizations as the SAP default user. If the execution of an RFC adapter
service requires additional access rights, then the name of an SAP user with sufficient rights must
be passed during runtime.
|
Password | Password of the SAP default user. |
Client | Three digit SAP client number. |
Repository user name (Optional) | Optional. Repository user name. Note: If a repository user is provided, all meta data and
repository lookups are executed with this user account.
|
Repository password (Optional) | Password of the repository user. |
SAP router string (Optional) | Contains a substring for each SAP router to set up a connection in the route: host name, port, and the password, if one is provided. SAP router example: /H/127.0.0.1/H/ where H indicates the host name. The SAP router string is only needed if a firewall exists between the SAP System and IBM webMethods Integration. For more information on configuring the SAP router, go to the SAP Service Marketplace at: http://service.sap.com/connectors. |
Language (Optional) | SAP language code. |
Description (Optional) | Description of the connection. |
Connection Mode Setting Selection | Connection mode. Possible values are:
|
If the Connection Mode selected is Standard:
Field | Description |
---|---|
Application server | SAP application server name. |
System number | SAP system number (00-99). |
If the Connection Mode selected is Load Balancing:
Field | Description |
---|---|
Logon group | Name of the group you want to login. |
Message server service | SAP message server service. |
Message server host | Host name or IP address of the message server. |
System ID | System ID (SID) of the source SAP system. |
Actions
SAP® ERP actions execute a function module residing on an SAP system. A function module performs functions on the data in the SAP system.
Create a new action
Complete the following fields to create a new action:
Field | Description |
---|---|
Account | |
Name | Action name. |
Description (optional) | Action description. |
Connect to account SAP® ERP | Select the account name by which the SAP system is known to SAP® ERP developers, clients, and partners. |
Action | |
Name | Select the template for the action. Possible values are:
|
Filters | |
Function pattern | Type all or part of the name of the function module for which you want to create a SAP® ERP action. Use pattern-matching characters if you are unsure of the complete name and want SAP® ERP to search for several RFCs with similar names. For example, enter RFC_FUNCTION_* in the field. |
Group pattern | Type all or part of the name of the group for which you want to create a SAP® ERP action. Use pattern-matching characters if you are unsure of the complete name and want SAP® ERP to search for several RFCs with similar names. |
Reset | Reset the search. |
Apply | Apply the pattern or exact search. |
Function name | Lists the function names matching the pattern. |
Group name | Group name to which the matching functions belong. |
Description | Description of the matching functions. |
Request Field Selection | |
Name | Name of the input parameter. |
Type | Java data type of the input parameter. |
Reply Field Selection | |
Name | Name of the output parameter. |
Type | Java data type of the output parameter. |
Listeners
Create a new Document Type
Complete the following fields to create a new Document Type:
Field | Description |
---|---|
System ID and document | |
Name | Document Name. |
System ID type | System ID (SID) of the source SAP system. |
Document type | Document Type.
|
If the Document type selected is RFC:
Field | Description |
---|---|
Document details | |
RFC Structure | RFC structure name. |
If the Document type selected is IDoc:
Field | Description |
---|---|
Document details | |
IDoc type | Identifies the type of IDoc expected by the listener notification. |
CIM type | IDoc type extension (CIM type/customer extension type). |
SAP system release | IDoc release. |
Old IDoc type 2 (optional) |
|
DDIC Cache
The Data Dictionary Cache (DDIC) is a cache that holds information about SAP function modules, structure definitions, Business Objects, ALE mappings, and IDocs. SAP® ERP retrieves this information from an SAP system when it performs RFC, BAPI, or IDoc lookups. To improve performance, SAP® ERP caches information it receives about function modules and structure definitions.
SAP® ERP receives information about function modules and structure functions when:
- An RFC, BAPI, or IDoc lookup is requested.
- SAP® ERP executes a service that invokes an RFC or BAPI on an SAP system.
- An SAP system executes an RFC that invokes a service.
- An IDoc gets processed by SAP® ERP.
SAP® ERP keeps separate cached function modules, structure definitions, Business Objects, ALE mappings, and IDocs for each SAP system. When SAP® ERP requires specific data, it checks its DDIC cache for the specific SAP system to determine if the information it requires is in cache. If the required information is in the DDIC cache, SAP® ERP uses the cached information rather than retrieving it from the SAP system.
The DDIC cache is always active. There are no configuration tasks required to activate it. When you are developing services, there may be times when the information in the DDIC cache becomes outdated; for example, if you change an RFC signature on an SAP system. In these situations, you can use the DDIC cache screens to view the information in the cache and remove specific function modules or structure definitions from the cache as necessary.
Field | Description |
---|---|
System ID | Uniquely identifies an SAP system within a SAP domain. RFC connections using the same system
ID share the same cache. Note: If you have configured and enabled an RFC listener, you will also see
a Local entry in the System ID list. The cached elements of this System ID
cannot be deleted or modified.
|
Functions | Number of cached function modules for an SAP system. You can view the function module names by clicking on the number in the Functions field. You can clear the individual function module from the cache by clicking the Delete icon. |
Structures | Number of cached structure definitions for an SAP system. You can view the structure module names by clicking on the number in the Structures field. You can clear the individual structure module from the cache by clicking the Delete icon. |
Business objects | Number of cached business objects for an SAP system. You can view the business object names by clicking on the number in the Business objects field. You can clear the individual business object from the cache by clicking the Delete icon. |
ALE mappings | Number of cached BAPIs for an SAP system (for which ALE information of an SAP system has been checked and extracted). You can view the ALE mapping module names by clicking on the number in the ALE mappings field. You can clear the individual ALE mapping module from the cache by clicking the Delete icon. |
IDocs | Number of cached function IDocs for an SAP system. You can view the IDoc names, IDoc type extension, and release information by clicking on the number in the IDocs field. You can clear the individual IDoc from the cache by clicking the Delete icon. |
Transaction Store
SAP® ERP provides a transaction manager that allows you to monitor the transaction state for all messages associated with a transaction ID. The transaction ID uniquely identifies the transaction. The transaction ID can be up to 24 alpha numeric characters in length. If SAP® ERP receives a message without a transaction ID, it can create one for the message. The message is stored in the transaction store.
To view and manage the transactions that SAP® ERP records in its transaction store:
- Click the Profile icon.
- In the drop-down menu, click on Settings.
- In the menu, select Connectors Configuration > SAP® ERP > Transactions.
- The Transactions page appears. You can view and manage the transactions.
Viewing transactions
- You can view all the transactions or filter the transactions.
- Click Apply without entering any values in any of the fields to view all transactions.
- Enter a filter term in one of the following fields and click Apply to
filter the transactions based on the filter criteria.Note: Regular expressions are supported to allow flexible filter criteria matching.
Field Description Sender Sender SAP system. Receiver Receiver SAP system. Message Type Message Type as defined in the SAP system. TID Transaction ID. State States of the tRFC protocol. Possible values are: Created (Transaction is created), Rolledback (Transaction is rolled back), Committed (Transaction is committed), and Confirmed (Transaction is confirmed) Date and Time Range Restricts the transactions to a specific date and time interval.
Sorting the transactions
You can sort the transactions by the date and time of transactions, click the Sort icon to sort the transactions in ascending or descending order by date and time.
The transactions are sorted by date and time.
Searching for specific text in the transactions listed
You can search for a specific text in the transactions listed., type the text you want to search in the field and click Search.
The transactions containing the text are listed.
Deleting transactions
You can delete the selected transactions or delete the filtered transactions.
- Select the transactions you want to delete and click Delete selected transactions.
- Click Delete filtered transactions to delete all the filtered transactions.
The transactions are deleted.
Viewing selected transaction details
You can view the details of a transaction.
Field | Description |
---|---|
Audit log | |
Sender | Sender SAP system. |
Receiver | Receiver SAP system. |
Message Type | Message Type as defined in the SAP system. |
Date and Time Range | Restricts the transactions to a specific date and time interval. |
Current State | States of the tRFC protocol. Possible values are:
|
Audit timestamp | Record of the date and time of the audit. |
Audit log | Collection of all the previous transactions. |
Document | |
Document of transaction | Message body of the transaction. |
Monitoring SAP® ERP Connection Pool
Monitor the SAP® ERP repository connection pools, the SAP® ERP client connections, and the listener status from the Monitoring page. You may access a list of the size attributes of all currently active connection pools, as well as the attributes of all currently locked connections for a specific connection.
Go to Monitor > Connectors > SAP® ERP > Connection pool.
The Connection pool page appears. You can view the repository connection pools, client connections and listener status.
Repository connection pools
Repository connections are used to fetch metadata from SAP systems. The connection pools are shared by all the connections to the same SAP system and cannot be controlled or directly accessed by the user.
Go to Monitor > Connectors > SAP® ERP > Connection pool > Repository connection pools.
Field | Description |
---|---|
System ID | SAP System ID. |
Current size | Number of open repository connections currently held. |
Peak size | Maximum number of repository connections used simultaneously. |
Max size | Maximum number of repository connections per pool. |
Current used | Number of repository connections currently in use. |
You can sort the fields in ascending or descending order by clicking the Sort icon.
Client connections
Go to Monitor > Connectors > SAP® ERP > Connection pool > Client connections.
Field | Field | Description |
---|---|---|
Connection alias | SAP® ERP client connection alias. | |
Pools | Number of client connection pools. You can click on this value to see the details of the connection pools. | |
Name | Name of the JCoPool. | |
Current size | Number of client connections that are currently open in the pool. | |
Peak size | Maximum number of client connections that were used simultaneously. | |
Max size | Maximum number of client connections that can be used simultaneously. | |
Current used | Number of client connections currently in use. | |
Locked connections | A locked connection is an RFC connection that is locked to an Integration Server session so that it is always used for subsequent calls in the same session, which is required for multi-step SAP transactions. An RFC connection is locked by calling the public SAP® ERP service clientLockSession. You can click on this value to see the details of the locked connections. | |
SAP User | SAP username associated with the connection (empty if unavailable). | |
Client | Client number associated with the connection (empty if unavailable). | |
Language | Language associated with the connection (empty if unavailable). | |
Host | SAP host name used in the connection. | |
Conversation ID | Internal JCo conversation ID for the connection (empty if unavailable). | |
Session ID | ID of the Integration Server session to which this connection is locked. | |
IS user | Integration Server username associated with the connection (empty if unavailable). |
You can sort the fields in ascending or descending order by clicking the Sort icon.
Click on the link in the Pools to see the details.
Click on the link in the Locked connections to see the details.
Listener status
Go to Monitor > Connectors > SAP® ERP > Connection pool > Listener status.
Field | Description |
---|---|
Listener | Listener alias. |
Status | Listener status. Possible values are:
|
Threads | Maximum number of listener threads available. |
Active | Number of listener threads started. |
Busy | Number of listener threads currently in use. |
Max busy | Maximum number of listener threads that were used simultaneously. |
You can sort the fields in ascending or descending order by clicking the Sort icon.
Monitoring SAP® ERP Performance
Monitor the SAP® ERP performance, the SAP® response time summary, query requests and query components from the Monitoring page.
Go to Monitor > Connectors > SAP® ERP > Performance. The summary page appears.
Summary
You can monitor the SAP® response time summary.
Go to Monitor > Connectors > SAP® ERP > Performance > Summary.
Field | Description |
---|---|
Requests total | Total number of requests executed. |
Requests with errors | Number of failed requests. |
Requests ok | Number of successful requests. |
Components total | Number of components used in requests. |
Components per request | Average number of components per request. |
Total time (ms) | Execution time for all requests in milliseconds. |
Average time (ms) | Average execution time for a request in milliseconds. |
Request rate (1/s) | Requests per second since monitoring was enabled. |
You can refresh the data in the summary by clicking the Refresh icon.
Query requests
You can view the SAP® query requests details and can also filter for the Gross time range and Net time range fields.
Go to Monitor > Connectors > SAP® ERP > Performance > Query requests.
Field | Field | Description |
---|---|---|
Request | Query Request Name. For example: sync.rfc.invoke.UI_SAP_default. Click the collapsible dropdown list to view the request details. | |
Component name | Name of the component used during the request. | |
Gross time | Gross time in milliseconds executed in the component during the request. | |
Net time | Net time in milliseconds executed in the component during the request. | |
Level | Execution level of the component during the request. | |
User | Name of the user for which the request was executed. | |
Total components | Total number of components used to execute the request. | |
Gross time | Gross time in milliseconds to execute the request. | |
Start time | Start time of the request execution. | |
Status | Status of the request. Possible states are:
|
|
Largest net time | Name and net time in milliseconds of the component with the largest net execution time during the request. |
To sort the fields in ascending or descending order, click the Sort icon.
To refresh the data in the page, click the Refresh icon.
Click the ">" icon for a request to view the details.
To filter the query requests for the Gross time range and Net time range fields, choose the Filters option.
Query components
You can view the SAP® query requests details for a specific component.
Go to Monitor > Connectors > SAP® ERP > Performance > Query components.
Field | Description |
---|---|
Component Name | Name of the component. |
Gross time | Gross time in milliseconds to execute the query requests for the component. |
Average gross time | Average gross time in milliseconds to execute the query requests for the component. |
Net time | Net time in milliseconds to execute the query requests for the component. |
Average net time | Average net time in milliseconds to execute the query requests for the component. |
Calls | Number of calls or query requests executed for the component. |
Calls ok | Number of calls or query requests which were successfully executed for the component. |
To refresh the data in the page, click the Refresh icon.
To filter the query components for the Gross time range, Average gross time, Net time, and Average net time fields, choose the Filters option.
Lookup
SAP® ERP allows you to perform metadata lookups for IDocs, Business Objects, structures, tables, and function interfaces in specific SAP ABAP application servers.
Lookup Functions
You can view the RFC function module details in a specific SAP ABAP application servers and execute the selected function modules.
Go to Connector > Lookup. Select the Function tab.
Field | Description |
---|---|
System ID | Required. Select the system ID of the SAP system that hosts the function module. |
Function Name | Required. Name of the RFC function module. For example, enter Z_RFC* to search for all RFCs that begin with Z_RFC. |
Group Name (optional) | Optional. Name of the group to which the RFC function modules specified in the Function Name must belong. For example, enter Z_RFC* in the Function Name field and group Z000 in the Group Name field to search for all RFCs that begin with Z_RFC and belong to the group Z000. |
How to lookup functions?
-
Go to Connector > Lookup.
-
Go to the Function tab.
-
Provide values for the following fields:
- System ID - Select the system ID from the dropdown list. For example, W65.
- Function Name - Enter a specific function or a function name with * for matching the similarly named functions. For example, Z_rfg_*.
- Group Name - Enter the group name to filter the functions belonging to the group. For example, RFG
-
Click Apply to see the list of functions matching the criteria.
Filtering the function displays all functions whose names begin with Z_RFG.
Lookup function module signature
-
Go to Connector > Lookup.
-
Go to the Function tab.
-
Provide values for the following fields:
- System ID - Select the system ID from the dropdown list.
- Function Name - Enter a specific function or a function name with * for matching the similarly named functions.
- Group Name - Enter the group name to filter the functions belonging to the group.
-
Click Apply to see the list of functions matching the criteria.
-
Select the function to view. For example, select Z_RFC_ADD.
Field Description Class Class indicating the general type of the field. Possible values are: - I – Input (Import)
- C® – Changing (Import or Export)
- E – Output (Export)
- T – Table
- X – Exception
Parameter Parameter name. Table Table name. Type Data type allowed. Possible values are: - CHAR - Character
- INTx – Integer values of various length (INT, INT1, INT2, INT8)
- NUM – Numeric values
- BCD – Binary coded decimal values
- DATE – Date values (various types)
- TIME – Time values (various types)
- FLOAT – Floating-point values
- BYTE – Byte values
- STRING – String values
- XSTRING – String values (in raw bytes)
- ABAPOBJECT – ABAP objects
- STRUCTURE – Data structure of given type
- TABLE – Table structure of given type
- EXCEPTION – Exception string
Length Length of the field if applicable, else 0. Decimals Number of digits allowed after the decimal point. Used only for float or fixed-point numeric data types. Optional Indicator to show whether the field is mandatory or optional. Possible values are: - Yes
- No
Test Function Execute the function with given input parameters.
Testing a function
-
Go to Connector > Lookup.
-
Go to the Function tab.
-
Provide values for the following fields:
- System ID - Select the system ID from the dropdown list.
- Function Name - Enter a specific function or a function name with * for matching the similarly named functions. For example Z_RFC_ADD.
- Group Name - Enter the group name to filter the functions belonging to the group.
-
Click Apply.
-
Select the function to view. For example, select Z_RFC_ADD.
-
In the Function Module Signature page, add the values for the input fields. For example, in the signature for Z_RFC_ADD, add IP_VALUE1, IP_VALUE2, and IP_VALUE3.
-
Click Test. The sum of all the input fields is displayed in the output field EP_RESULT.
Testing a function using RFC XML
-
Go to Connector > Lookup.
-
Go to the Function tab.
-
Provide values for the following fields:
- System ID - Select the system ID from the dropdown list.
- Function Name - Enter a specific function or a function name with * for matching the similarly named functions. For example Z_RFC_ADD.
- Group Name - Enter the group name to filter the functions belonging to the group.
-
Click Apply.
-
In the Function Module Signature page, click Execute As > RFC XML.
The RFC XML template for the function appears.
-
In the RFC XML template for the function, add the values for the input fields. For example, in the signature for Z_RFC_ADD, add IP_VALUE1, IP_VALUE2, and IP_VALUE3.
-
Click Invoke on <<SYSTEM_ID>>. The sum of all the input fields is displayed in the output field EP_RESULT.
How to test a function using bXML?
-
Go to Connector > Lookup.
-
Go to the Function tab.
-
Provide values for the following fields:
- System ID - Select the system ID from the dropdown list.
- Function Name - Enter a specific function or a function name with * for matching the similarly named functions. For example Z_RFC_ADD.
- Group Name - Enter the group name to filter the functions belonging to the group.
-
Click Apply.
-
In the Function Module Signature page, click Execute As > bXML.
The bXML template for the function appears.
-
In the bXML template for the function, add the values for the input fields. For example, in the signature for Z_RFC_ADD, add IP_VALUE1, IP_VALUE2, and IP_VALUE3.
-
Click Invoke on <<SYSTEM_ID>>. The sum of all the input fields is displayed in the output field EP_RESULT.
Lookup Business Objects
You can view the RFC function module details in a specific SAP ABAP application servers and execute the selected function modules.
Go to Connector > Lookup. Select the Business Object tab.
Field | Description |
---|---|
System ID | Required. Select the system ID of the SAP system that hosts the business object. |
Business Object Name | Required. Name of the business object. For example, enter Company to search for all business objects that begin with Company. |
Lookup business object details
-
Go to Connector > Lookup.
-
Go to the Business Object tab.
-
Provide values for the following fields:
- System ID - Select the system ID from the dropdown list.
- Business Object Name - Enter a specific business object. A list of business objects starting with the name is provided. If the field is left blank (or an asterisk is entered), all existing Business Objects are displayed. For example Company.
-
Click Apply.
-
In the list of the business objects, select the business object to view the details.
- List of all the Keyfields of a business object. The Keyfields list is empty for business objects, which only provide instance-independent methods (static methods in programming languages like C or JAVA).
- List of all its BAPI methods. Optional. The list of BAPIs is empty for business objects that do not provide BAPIs.
- List of all Events. Optional. The list of Events is empty for business objects that do not provide events.
Lookup keyfields of the business object
-
Go to Connector > Lookup.
-
Go to the Business Object tab.
-
Provide values for the following fields:
- System ID - Select the system ID from the dropdown list.
- Business Object Name - Enter a specific business object. A list of business objects starting with the name is provided. If the field is left blank (or an asterisk is entered), all existing Business Objects are displayed. For example Company.
-
Click Apply.
-
In the list of the business objects, select the business object to view the details.
-
Go to the Keyfield tab.
Field Description Declaration object name Object name selected and the unique id to identify the object. For example, CompanyCode (BUS0002). Internal name Internal parameter name of the field. ABAP dictionary type Usually, a field of a structure inside the SAP Data Dictionary. Click the link to view the data type description used for this parameter. Note: Key fields are used with instance-dependent (non-static) methods and with factory methods. In calls to these methods, the key fields of the corresponding business object have to be specified as attributes of the business document root element.For example, using the key field CompanyCodeId in a call to the CompanyCode.GetDetail:<xml version="1.0" encoding="iso-8859-1"?> <biztalk_1 xmlns="urn:biztalk-org:biztalk:biztalk_1"> <header> …… </header> <body> <?doc:CompanyCode.GetDetail CompanyCodeId="0001" xmlns:doc="urn:sap-com:document:sap:business" xmlns=""> </doc:CompanyCode.GetDetail> </body> </biztalk_1>
Lookup BAPI methods of the business object
-
Go to Connector > Lookup.
-
Go to the Business Object tab.
-
Provide values for the following fields:
- System ID - Select the system ID from the dropdown list.
- Business Object Name - Enter a specific business object. A list of business objects starting with the name is provided. If the field is left blank (or an asterisk is entered), all existing Business Objects are displayed. For example Company.
-
Click Apply.
-
In the list of the business objects, select the business object to view the details.
-
Go to the BAPI(s) tab.
Field Description BAPIs BAPI method name. Click > to view the details: - Parameters - Name of the parameter of the underlying RFC.
- Direction - Usage direction of the parameter. Possible values are: Importing , Exporting, Changing (importing and exporting).
- Optional - Value is set to true, indicates thar you can omit this parameter in an XML message. Usually, the implementation inside the SAP system uses specific default values for optional parameters that are omitted.
- Table – Value is set to true, indicates that the parameter consists of several lines, where each line has the data type specified in the ABAP Dictionary Type field.
- ABAP Dictionary Type - Link to the data type description used for this parameter. The value can be a whole structure or just a field of a structure. Following the hyperlink to see the whole structure.
Static method Flag to indicate if the BAPI is an instance-independent method. Possible values are: - true. BAPI is an instance-independent method. You do not have to specify the business objects key fields when calling this method.
- false.
Dialog method Flag to indicate if the method is a dialog method. Possible values are: - true. Method is a dialog method. Dialog BAPIs require a SAPGui.
- false. Method is not using a dialog.
Factory method Flag to indicate if BAPI is used to create an object instance inside the SAP system. Possible values are: - true. BAPI is used to create an object instance inside the SAP system. Factory methods return the key fields of the business object.
- false.
Function module Message type that must be used to set up routing for synchronous calls coming from an SAP system. This is technically realized via RFC, so here the name of the corresponding RFC function module inside the SAP system is provided. Although it is possible, it is not recommended to call BAPIs directly via RFC-XML, as this would only be an implementation-dependent view of the BAPI. ALE message type Optional. IDoc type, if the BAPI has a mapping for the specific IDoc type. -
Click > icon to view the details.
-
Click the link on ABAP Dictionary Type to view the details:
Lookup events of the business object
-
Go to Connector > Lookup.
-
Go to the Business Object tab.
-
Provide values for the following fields:
- System ID - Select the system ID from the dropdown list.
- Business Object Name - Enter a specific business object. A list of business objects starting with the name is provided. If the field is left blank (or an asterisk is entered), all existing Business Objects are displayed. For example OrderBasedOnCU.
-
Click Apply.
-
In the list of the business objects, select the business object to view the details.
-
Go to the Event tab. A list of events is appears.
Field Description Events Optional. Name of the available for this Business Object. Declaration object name Business Object type name of this event. For example, OrderBasedOnCU (/CUM/ORDER) Internal name Internal SAP name of the event (Always upper-case).
Lookup Table
-
Go to Connector > Lookup.
-
Go to the Tables tab.
-
Provide values for the following fields:
- System ID - Select the system ID from the dropdown list.
- Table Name - Enter a specific table name. For example RFCFunc.
-
Click Apply.
Field Description Field Field Name which can consist of digits, letters, and underscores and must begin with a letter. Position Field position in the table in ascending order. Length Field length. Decimal Number of digits allowed after the decimal point. Used only for float or fixed-point numeric data types. Type Field data type. Possible values are: CHAR, TEXT, INTx, NUM, FLOAT, BCD, STRING, XSTRING, STRUCTURE, TABLE, ABAPOBJECT, EXCEPTION, DATE (various types), TIME (various types). Description Field description.
Lookup IDoc
-
Go to Connector > Lookup.
-
Go to the IDoc tab.
-
Provide values for the following fields:
- IDoc type - IDoc name. For example, MATMAS02.
- IDoc type extension (optional) - Optional. the IDoc type extension.
- Release (optional) - Optional. IDoc release number.
-
Click Apply.
-
Go to the Segments tab if applicable. Lists all the fields with the following details of each field:
Field Description Segment type Internal name of the segment, independent of the SAP release. Segments can include child segments and fields. Segment definition Release specific name of the segment or external name of the segment as seen by the partner system. Hierarchy level Hierarchy level of the segment in this IDoc type. Required Indicates if the segment type is mandatory. Possible values are yes and no. Min. occurrence Minimum number of times a segment must occur in the IDoc. Max. occurrence Maximum number of times a segment can occur in the IDoc. Qualified Indicates if the segment is qualified. Possible values are yes and no. Description Segment description. -
Go to the Fields tab if applicable. Lists all the fields with the following details of each field:
Field Description IDoc data type SAP data type of the field. Data dictionary type Internal DDIC name of the data type of the field. ISO code Possible values: - yes. If the field contains an ISO code.
- no.
Possible values Optional. List of value/description pairs for the field, if available - Value - Valid field value, or value range.
- Description - Description of the valid field value, or value range
Built-In Services
clientConnect
Establishes a connection to an SAP system.
Input Parameter
Field | Description |
---|---|
serverName | Alias of the SAP system to which the connection must be established. The name must match a configured RFC connection alias at SAP® ERP. |
$client | Optional. Client for the session. If no client is specified, the default client is used. |
$user | Optional. User name for the session. If no user is specified, the default user is used. |
$pass | Optional. Password for the session. If the password is not specified, then the user and password must be looked up in the SAP User store. |
$language | Optional. Language used during the session. If no language is specified, the default language is used. |
Return Values
Field | Description |
---|---|
result | Returns Ok if connection is established successfully. |
Example
Use clientConnect when you want to establish a connection to a target SAP system. This might be useful for creating a session pool. In the most common scenarios, it is not necessary to invoke this service explicitly, as it is invoked implicitly. For example, when a clientInvoke or clientInvokeTransaction is issued.
clientLockSession
Locks an RFC connection to your session so that you always exclusively use this RFC connection for subsequent calls.
Input Parameter
Field | Description |
---|---|
serverName | Alias of the SAP system to which the connection must be established. The name must match a configured RFC connection alias at SAP® ERP. |
$client | Optional. Client for the session. If no client is specified, the default client is used. |
$user | Optional. User name for the session. If no user is specified, the default user is used. |
$pass | Optional. Password for the session. If the password is not specified, then the user and password must be looked up in the SAP User store. |
$language | Optional. Language used during the session. If no language is specified, the default language is used. |
Return Values
None
Example
The data is not written to the database until the client triggers a commit work command. In order to call a BAPI that writes data, you must perform the following steps on IBM webMethods Integration:
- Call the clientLockSession service in order to get an exclusive connection to the SAP system.
- Perform the BAPI calls.
- Call the BAPIcommitor BAPIrollback service
- Call the clientReleaseSession service in order to release the exclusive connection to the SAP system and clean up used resources on IBM webMethods Integration.
clientReleaseSession
Releases a locked session on an SAP system.
Input Parameter
Field | Description |
---|---|
serverName | SAP system alias on which the locked session is located. The name must match a configured RFC connection alias at SAP® ERP. |
$client | Optional. Client for the session. If no client is specified, the client specified in the SAP system alias settings is used. |
$user | Optional. User name for the session. If no user is specified, the default user is used. |
$pass | Optional. Password for the session. If the password is not specified, then the user and password must be looked up in the SAP User store. |
$language | Optional. Language used during the session. If no language is specified, the default language is used. |
Return Values
None
Example 1
The service releases a session after a commit work or rollback work command is triggered inside the SAP system.
In order to call a BAPI that writes data, you must perform the following steps on IBM webMethods Integration:
- Call the clientLockSession service in order to get an exclusive connection to the SAP system.
- Perform the BAPI calls.
- Call the BAPIcommit or BAPIrollback service.
- Call the clientReleaseSession service in order to release the exclusive connection to the SAP system and clean up used resources on IBM webMethods Integration.
Example 2
You also need this service if you want to lock and change a certain database object. To do this, please proceed as follows:
-
Call the clientLockSession service in order to get an exclusive connection to an SAP system.
-
Lock an object by calling a BAPI_*_ENQUEUE.
-
Make your changes by invoking other BAPIs.
-
Release the object by calling a BAPI_*_DEQUEUE.
-
Call the clientReleaseSession service.
clientInvoke
Invokes an RFC function module in synchronous mode on a given SAP system.
Input Parameter
Field | Description |
---|---|
serverName | SAP system alias on which the function module is invoked. The name must match a configured RFC connection alias at SAP® ERP. |
$rfcnamep | Name of the function module to be invoked. |
$client | Optional. Client for the session. If no client is specified, the client specified in the SAP system alias settings is used. |
$user | Optional. User name for the session. If no user is specified, the default user is used. |
$pass | Optional. Password for the session. If the password is not specified, then the user and password is looked up in the SAP User store. |
$language | Optional. Language used during the session. If no language is specified, the default language is used. |
Return Values
This service returns the outputs (exports and tables) returned by the function module.
Field | Description |
---|---|
$rfctime | Time (ms) spent within the RFC library to complete the invocation. |
$runtime | Total invocation time (ms), including processing time within SAP® ERP. |
$encoding | MIME-compliant character set corresponding to the session's SAP code page. |
$call | Flag indicating whether pipeline represents a request or response of a function module.
Possible values are:
|
Example
This service is used when you are directly calling an RFC on an SAP system without creating an RFC adapter service. When an RFC adapter service is used, this service is invoked implicitly.
clientInvokeTransaction
Invokes a tRFC function module on a given SAP system.
Input Parameter
Field | Description |
---|---|
serverName | SAP system alias on which the function module is invoked. The name must match a configured RFC connection alias at SAP® ERP. |
$rfcnamep | Name of the function module to be invoked. |
$tid | Transaction this invoke is assigned to. |
$queueName | Optional. Name of the SAP system inbound queue. Specify a value in case of a qRFC scenario |
$client | Optional. Client for the session. If no client is specified, the client specified in the SAP system alias settings is used. |
$user | Optional. User name for the session. If no user is specified, the default user is used. |
$pass | Optional. Password for the session. If the password is not specified, then the user and password is looked up in the SAP User store. |
$language | Optional. Language used during the session. If no language is specified, the default language is used. |
Return Values
Field | Description |
---|---|
$runtime | Total invocation time (ms), including processing time within SAP® ERP. |
$rfctime | Time (ms) spent within the RFC library to complete the invocation. |
$encoding | MIME-compliant character set corresponding to the session's SAP code page. |
$call | Flag indicating whether pipeline represents a request or response of a function module.
Possible values are:
|
Example
This service is used in outbound flows and can handle both synchronous and transactional RFC calls. Therefore, it can be seen as a generic wrapper for clientInvoke, clientInvokeTransaction and clientConfirmTID.
clientCreateTID
Call this service if you want to obtain a transaction ID (TID; which is a GUID) that conforms to the format of SAP TIDs.
The obtained TID can be used as an input value for clientInvokeTransaction, clientSendIDoc, and clientConfirmTID.
Input Parameter
Field | Description |
---|---|
serverName | Alias of the SAP system that sends the TID. This name must match a configured RFC connection alias at SAP® ERP. |
$client | Optional. Client for the session. If no client is specified, the client specified in the SAP system alias settings is used. |
$user | Optional. User name for the session. If no user is specified, the default user is used. |
$pass | Optional. Password for the session. If the password is not specified, then the user and password is looked up in the SAP User store. |
$language | Optional. Language used during the session. If no language is specified, the default language is used. |
Return Values
Field | Description |
---|---|
$tid | Contains the TID. |
Example
This service is used in tRFC client scenarios, which require a transactional ID (TID) uniquely identifying the transaction. See also clientConfirmTID.
clientConfirmTID
Confirms the transaction specified by the TID on the specified SAP system.
This service must be called after a transactional invoke in order to complete a transaction on the target system.
Input Parameter
Field | Description |
---|---|
serverName | Alias of the SAP system that sends the TID. This name must match a configured RFC connection alias at SAP® ERP. |
$tid | Transaction ID to be confirmed. |
$client | Optional. Client for the session. If no client is specified, the client specified in the SAP system alias settings is used. |
$user | Optional. User name for the session. If no user is specified, the default user is used. |
$pass | Optional. Password for the session. If the password is not specified, then the user and password is looked up in the SAP User store. |
$language | Optional. Language used during the session. If no language is specified, the default language is used. |
Return Values
None.
Example
This service is used in tRFC client scenarios in order to confirm a transaction which is executed completely.
-
Invoke clientCreateTID. This service creates an SAP-conformant TID. It is necessary to have one, otherwise you cannot invoke the function module with clientInvokeTransaction. If you have already obtained a TID, you must use that one in order to guarantee that the transaction is executed only once.
-
Invoke clientInvokeTransaction. This service invokes the given function module as a tRFC on the SAP system specified by serverName. The TID is passed as a parameter on this call.
-
Invoke clientConfirmTID. Confirms that the transaction is completed. Pass the same serverName and $tid value on this call.
clientGetAttributes
Connects to the given SAP system and returns information specific to one RFC client connection session.
Input Parameter
Field | Description |
---|---|
serverName | Alias of the SAP system that sends the TID. This name must match a configured RFC connection alias at SAP® ERP. |
$client | Optional. Client for the session. If no client is specified, the client specified in the SAP system alias settings is used. |
$user | Optional. User name for the session. If no user is specified, the default user is used. |
$pass | Optional. Password for the session. If the password is not specified, then the user and password is looked up in the SAP User store. |
$language | Optional. Language used during the session. If no language is specified, the default language is used. |
Return Values
Field | Description |
---|---|
destination | String. Destination of the connection. |
ownHost | Hostname (or IP) of the machine IBM webMethods Integration is running on. |
partnerHost | Hostname (or IP) of the machine the SAP system is running on. |
systemNumber | System number of the SAP system. |
systemID | Unique three-letter-ID of SAP system (in local network). |
client | Client the session is connected to. |
user | SAP user that has connected with this session. |
language | Logon language. |
SOLanguage | ISO name for logon language. |
ownCodepage | SAP codepage this connection is using. |
partnerCodepage | SAP codepage the SAP system is running on. |
ownRelease | Version of the loaded RFC library used by SAP® ERP. |
partnerRelease | Release of the SAP system. |
kernelRelease | Kernel release of the SAP system. |
partnerType | RFC type of the partner; SAP ECC(3), R/2(2) or external RFC server(E). |
trace | Flag indicating whether trace is turned on (true) or off (false) for this connection. |
ownType | RFC type of {{< conref-local wspc-short >}} must always be E. |
rfcRole | Role of {{< conref-local wspc-short >}} in this call must always be C (for client). |
CPICConversationID | CPIC ID of the connection (low level protocol information). |
encoding | IANA-encoding that is equivalent to the SAP codepage used, for example: ISO-8859-1. |
charset | Charset that is equivalent to the SAP codepage used, for example: ISO8859_1 (used in Java constructors). |
ownType | RFC type of SAP® ERP must always be E. |
rfcRole | Role of SAP® ERP in this call must always be C (for client). |
CPICConversationID | CPIC ID of the connection (low level protocol information). |
encoding | IANA-encoding that is equivalent to the SAP codepage used, for example: ISO-8859-1. |
charset | Charset that is equivalent to the SAP codepage used, for example: ISO8859_1 (used in Java constructors). |
bytesPerChar | Number of maximum bytes used per char in the codepage. |
clientGetFunctionInterface
Looks up the function interface definition of an RFC function module in the given SAP system.
Input Parameter
Field | Description |
---|---|
$rfcname | Function module for which the interface definition is looked up. |
serverName | Alias of the SAP system on which the RFC function module is defined. The name must match a configured RFC connection alias at SAP® ERP. |
Return Values
Document list named params that contains all parameter-related information.
Field | Description |
---|---|
paramClass | Class of parameter; I (importing), E (exporting), T (table), X (exception). |
parameter | Name of the parameter in the function interface. |
tabName | Name of the table in the SAP system the parameter is referring to. |
type | Type of the parameter (for example: CHAR, STRUCTURE, TABLE, ...) |
length | Internal length in bytes of the parameter. |
decimals | Only relevant for decimal types; number of decimals used. |
optional | Flag indicating whether parameter is optional. |
clientGetStructureDefinition
Looks up the structure definition of an SAP structure in the given SAP system.
Input Parameter
Field | Description |
---|---|
structName | Structure name for which the definition is looked up. |
serverName | Alias of the SAP system on which the RFC function module is defined. The name must match a configured RFC connection alias at SAP® ERP. |
Return Values
Document list named params that contains all parameter-related information:
Field | Description | |
---|---|---|
tabLength | Length of the structure when used in a table. This might differ from the sum of all field lengths, as the number types have to be aligned to memory segments. | |
fields | ||
fieldName | Name of the field. | |
tabName | Optional. Name of the table/structure in the SAP system the field is referring to. | |
position | Position within structure. | |
offset | Offset in bytes to this field. | |
length | Internal length in bytes. | |
decimals | Only relevant for decimal types; number of decimals used. | |
type | Type of the field (for example: CHAR, STRUCTURE, TABLE, ...). |
clientGetThroughput
Returns the performance throughput value of the connection since the adapter startup or the last reset to zero
Input Parameter
Field | Description |
---|---|
serverName | Alias for the SAP system from which you want to receive the RFC connection specific attributes. The name must match a configured RFC connection alias at SAP® ERP. Optional. Set to true to reset the performance throughput values to zero. |
$client | Optional. Client for the session. If no client is specified, the client specified in the SAP system alias settings is used. |
$user | Optional. User name for the session. If no user is specified, the default user is used. |
$pass | Optional. Password for the session. If the password is not specified, then the user and password must be looked up in the SAP User store. |
$language | Optional. Language used during the session. If no language is specified, the default language is used. |
Return Values
Field | Description |
---|---|
numberOfCalls | Number of calls executed by the connection. |
numberOfBytesSent | Number of bytes sent by the connection. |
umberOfBytesReceived | Number of bytes received by the connection. |
marshallingTime | Time (ms) spent by the connection to convert pipeline data into RFC data. |
unmarshallingTime | Time (ms) spent by the connection to convert RFC data into pipeline data. |
timeForPreparation | Time (ms) spent by the connection for preparation and repository lookups. |
timeForMiddlewareCalls | Time (ms) spent by the connection during RFC network calls. |
timeForAdapterServiceCalls | Time spent by the connection for processing inbound or outbound requests in IBM webMethods Integration services. |
totalTime | Total time spent by the connection for processing inbound and outbound services. |
clientSendIDoc
Sends an IDoc list to a given SAP system. The IDocs in the list must be of the same IDoc type.
Input Parameter
Field | Description |
---|---|
serverName | Alias for the SAP system from which you want to receive the RFC connection specific attributes. The name must match a configured RFC connection alias at SAP® ERP. Optional. Set to true to reset the performance throughput values to zero. |
iDocList | Contains the IDoc(s) as object of the com.sap.conn.idoc.IDocDocumentList type. |
$tid | ID of the transaction under which the service is executed |
$queueName | Optional. Name of the SAP system IDoc inbound queue. Specify a value in case of an ALE queueing scenario. |
$client | Optional. Client for the session. If no client is specified, the client specified in the SAP system alias settings is used. |
$user | Optional. User name for the session. If no user is specified, the default user is used. |
$pass | Optional. Password for the session. If the password is not specified, then the user and password must be looked up in the SAP User store. |
$language | Optional. Language used during the session. If no language is specified, the default language is used. |
Return Values
Field | Description |
---|---|
$runtime | Total invocation time (ms), including processing time within SAP® ERP. |
$rfctime | Time (ms) spent within the RFC library to complete the invocation. |
$encoding | MIME-compliant character set corresponding to the session's SAP code page. |
$call | Flag indicating whether pipeline represents a request or response of a function module.
Possible values are:
|
clientSendIDocLists
Sends a heterogenous list of IDoc lists to a given SAP system. All the IDoc elements in an IDoc list must be of the same IDoc type, but the IDoc lists can contain different types. All IDocs can be processed in a single transaction.
Input Parameter
Field | Description |
---|---|
serverName | Alias for the SAP system from which you want to receive the RFC connection specific attributes. The name must match a configured RFC connection alias at SAP® ERP. Optional. Set to true to reset the performance throughput values to zero. |
iDocList | Contains the IDoc(s) as object of the com.sap.conn.idoc.IDocDocumentList type. |
$tid | ID of the transaction under which the service is executed |
$queueName | Optional. Name of the SAP system IDoc inbound queue. Specify a value in case of an ALE queueing scenario. |
$client | Optional. Client for the session. If no client is specified, the client specified in the SAP system alias settings is used. |
$user | Optional. User name for the session. If no user is specified, the default user is used. |
$pass | Optional. Password for the session. If the password is not specified, then the user and password must be looked up in the SAP User store. |
$language | Optional. Language used during the session. If no language is specified, the default language is used. |
Return Values
Field | Description |
---|---|
$runtime | Total invocation time (ms), including processing time within SAP® ERP. |
$rfctime | Time (ms) spent within the RFC library to complete the invocation. |
$encoding | MIME-compliant character set corresponding to the session's SAP code page. |
$call | Flag indicating whether pipeline represents a request or response of a function module.
Possible values are:
|
clientPing
Checks the response time of an SAP system.
Input Parameter
Field | Description |
---|---|
serverName | Alias for the SAP system from which you want to receive the RFC connection specific attributes. The name must match a configured RFC connection alias at SAP® ERP. Optional. Set to true to reset the performance throughput values to zero. |
$client | Optional. Client for the session. If no client is specified, the client specified in the SAP system alias settings is used. |
$user | Optional. User name for the session. If no user is specified, the default user is used. |
$pass | Optional. Password for the session. If the password is not specified, then the user and password must be looked up in the SAP User store. |
$language | Optional. Language used during the session. If no language is specified, the default language is used. |
Return Values
Field | Description |
---|---|
responseTime | Response time of the SAP system. |
RFCdecode
Converts an RFC-XML (XRFC) string into the pipeline so that is in a format that can be passed to an SAP system.
Input Parameter
Field | Description |
---|---|
xmlData | String. An RFC-XML message. |
bytes | Optional. Byte array that contains the data to be decoded as XRFC. |
node | Optional. XML object that represents the XRFC data. For example, you get a node when putting an XML file via FTP with a .xml extension. The service checks in that order if an input document is available: xmlData, bytes, node. |
Return Values
Field | Description |
---|---|
$encoding | Optional. Specifies the encoding used in the input document's XML header, for example, iso-8859-1 if $encoding is not included in the pipeline before. |
Example
This service can be used when an RFC-XML document is posted to IBM webMethods Integration in a variable.
RFCencode
Converts an RFC call stored in the pipeline to an XML string in a format specified by the SAP RFC-XML (XRFC) specification.
Input Parameter
This service needs the RFC calls in Values representation as input.
Field | Description |
---|---|
serverName | SAP system used as a repository. This name must match a configured RFC connection alias at SAP® ERP. |
$encoding | Optional. Specifies the encoding used in the output document's XML header, for example, iso-8859-1 |
$call | Optional. Flag indicating whether the pipeline is interpreted as a call or as a response.
Possible values are:
|
$envelope | Optional. XRFC, bXML, or SOAP. Specifies the type of document generated. |
Return Values
Field | Description |
---|---|
xmlData | String. Contains the RFC-XML representation of the RFC. |
contentType | Content type associated with the generated document, for example, application/x-sap.rfc. |
Example
Use this service to create RFC-XML corresponding to the pipeline and perhaps forward it to another server, for example, via HTTP. This is done in the XML transport's Outbound Process for function modules.
RFCcreateTemplate
Creates an RFC-XML (XRFC) template for the specified function module.
Input Parameter
Field | Description |
---|---|
serverName | SAP system used as a repository. This name must match a configured RFC connection alias at SAP® ERP. |
$rfcname | Optional. Function module for which you want to create the template. |
$encoding | Optional. Specifies the encoding used in the output document's XML header,for example, iso-8859-1 |
$call | Optional. Flag indicating whether the pipeline is interpreted as a call or as a response.
Possible values are:
|
$envelope | Optional. XRFC, bXML, or SOAP. Specifies the type of document generated. |
Return Values
Field | Description |
---|---|
xmlData | String. Contains the XML template that represents the RFC. |
Example
Use this service to create templates for testing purposes.
IDocDecodeSDATA
Converts the SDATA field from a String object to a Document object and immediately converts the whole list of IDocs to a com.sap.conn.idoc.IDocDocumentList object for further processing.
The IDocDecodeSDATA service is only required if you receive an IDoc in the tables representation from a sending system. That is, you have created an RFC listener notification for function module IDOC_INBOUND_ASYNCHRONOUS or INBOUND_IDOC_PROCESS.
Input Parameter
Field | Description |
---|---|
serverName | SAP system alias which is used as repository for structure information about the IDoc. The name must match a configured RFC connection alias at SAP® ERP. |
IDOC_CONTROLIDOC_DATA-OR -IDOC_CONTROL_REC_40IDOC_DATA_REC_40 | Both keys are Document lists (Tables) containing the control and data tables for the IDoc.
The SDATA field is a Document object containing the keys and values from the segment table.
The name of the segment table is specified by the SEGNAM field. Note: This service handles
both IDoc versions 2 and 3. The difference between the two is that, for IDocs version 2, the service
looks for IDOC_CONTROL and IDOC_DATA in the pipeline. For IDocs version 3, it looks for
IDOC_CONTROL_REC_40 and IDOC_DATA_REC_40.
|
$encoding | Optional. Specifies the encoding used in the output document's XML header, for example, iso-8859-1. |
Return Values
Field | Description |
---|---|
iDocList | Contains the IDoc(s) as object of com.sap.conn.idoc.IDocDocumentList. |
IDocDecodeString
Decodes an IDoc from a String equivalent, the format that is used by the file port of an SAP system.
Input Parameter
Field | Description |
---|---|
serverName | SAP system alias which is used as repository for structure information about the IDoc. The name must match a configured RFC connection alias at SAP® ERP. |
iDocString | String. IDoc in the file port. |
$encoding | Optional. Specifies the encoding used in the output document's XML header, for example, iso-8859-1. |
Return Values
Field | Description |
---|---|
iDocList | Contains the IDoc(s) as object of com.sap.conn.idoc.IDocDocumentList. |
documentToIDoc
Converts a document to an object of type IDoc(s).
Input Parameter
Field | Description |
---|---|
document | IDoc in hierarchical structure. |
Return Values
Field | Description |
---|---|
iDocList | Contains the IDoc(s) as object of com.sap.conn.idoc.IDocDocumentList. |
IDocEncodeSDATA
Converts every SDATA field from a Document object to a String object.
This service is usually called prior to sending an IDoc to an SAP system via clientInvokeTransaction or by an RFC adapter service for function module IDOC_INBOUND_ASYNCHRONOUS or INBOUND_IDOC_PROCESS.
Input Parameter
Field | Description |
---|---|
serverName | SAP system alias which is used as repository for structure information about the IDoc. The name must match a configured RFC connection alias at SAP® ERP. |
$encoding | Optional. Specifies the encoding used in the output document's XML header, for example, iso-8859-1. |
iDocList - OR - | Contains the IDoc(s) as object of com.sap.conn.idoc.IDocDocumentList. |
IDOC_CONTROL IDOC_DATA - OR -IDOC_CONTROL_REC_40IDOC_DATA_REC_40 | Both keys are Document lists (Tables) containing the control and data tables for the IDoc.
The SDATA field is a Document object containing the keys and values from the segment table.
The name of the segment table is specified by the SEGNAM field. Note: This service handles
both IDoc versions 2 and 3. The difference between the two is that, for IDocs version 2, the service
looks for IDOC_CONTROL and IDOC_DATA in the pipeline. For IDocs version 3, it looks for
IDOC_CONTROL_REC_40 and IDOC_DATA_REC_40.
|
Return Values
Field | Description |
---|---|
IDOC_CONTROL IDOC_DATA - OR -IDOC_CONTROL_REC_40IDOC_DATA_REC_40 | Both keys are document lists (Tables) containing the control and data tables for the IDoc. The SDATA field is a 1000-byte field.At this point, the IDoc in the pipeline is ready to be sent to an SAP system via either clientInvokeTransaction or an adapter service for one of the function modules (IDOC_INBOUND_ASYNCHRONOUS” or “INBOUND_IDOC_PROCESS”). |
IDocEncodeString
Encodes an IDoc to a String equivalent, the format that is used by the file port of an SAP system.
The service first checks for the iDocList field, if that parameter is not present, it looks for the IDOC_* record lists.
Input Parameter
Field | Description |
---|---|
serverName | SAP system alias which is used as repository for structure information about the IDoc. The name must match a configured RFC connection alias at SAP® ERP. |
iDocRelease | Optional. SAP system release that the IDoc is sent to. |
$encoding | Optional. Specifies the encoding used in the output document's XML header, for example, iso-8859-1. |
iDocList- OR - | Contains the IDoc(s) as object of com.sap.conn.idoc.IDocDocumentList. |
IDOC_CONTROL IDOC_DATA - OR -IDOC_CONTROL_REC_40 IDOC_DATA_REC_40 | Both keys are Document lists (Tables) containing the control and data tables for the IDoc.
The SDATA field is a Document object containing the keys and values from the segment table.
The name of the segment table is specified by the SEGNAM field. Note: This service handles
both IDoc versions 2 and 3. The difference between the two is that, for IDocs version 2, the service
looks for IDOC_CONTROL and IDOC_DATA in the pipeline. For IDocs version 3, it looks for
IDOC_CONTROL_REC_40 and IDOC_DATA_REC_40.
|
Return Values
Field | Description |
---|---|
iDocString | String. IDoc in the file port. |
IDocToDocument
Generates a Document representation of an IDoc list to perform mappings in Flow service.
Input Parameter
Field | Description |
---|---|
iDocList | Contains the IDoc(s) as an object of the type com.sap.conn.idoc.IDocDocumentList. |
conformsTo | Name of the document structure of the IDoc. The document structure is used as a template to discriminate between documents and document lists. Without conformsTo parameter, all tables in the hierarchical structure are document lists. |
Return Values
Field | Description |
---|---|
document | IDoc in hierarchical structure. |
IDocToTables
Generates tables from an object of type IDoc(s).
Input Parameters
Field | Description |
---|---|
iDocList | Contains the IDoc(s) as object of com.sap.conn.idoc.IDocDocumentList. |
Return Values
Field | Description |
---|---|
IDOC_CONTROL IDOC_DATA- OR -IDOC_CONTROL_REC_40IDOC_DATA_REC_40 | Both keys are Document lists (Tables) containing the control and data tables for the IDoc.
The SDATA field is a Document object containing the keys and values from the segment table.
The name of the segment table is specified by the SEGNAM field). Note: This service handles
both IDoc versions 2 and 3. The difference between the two is that, for IDocs version 2, the service
looks for IDOC_CONTROL and IDOC_DATA in the pipeline. For IDocs version 3, it looks for
IDOC_CONTROL_REC_40 and IDOC_DATA_REC_40.
|
tablesToIDoc
Generates object of type IDoc(s) from tables.
Input Parameters
Field | Description |
---|---|
IDOC_CONTROL IDOC_DATA- OR -IDOC_CONTROL_REC_40IDOC_DATA_REC_40 | Both keys are Document lists (Tables) containing the control and data tables for the IDoc.
The SDATA field is a Document object containing the keys and values from the segment table
(the name of the segment table is specified by the SEGNAM field). Note: This service handles
both IDoc versions 2 and 3. The difference between the two is that, for IDocs version 2, the service
looks for IDOC_CONTROL and IDOC_DATA in the pipeline. For IDocs version 3, it looks for
IDOC_CONTROL_REC_40 and IDOC_DATA_REC_40.
|
Return Values
Field | Description |
---|---|
iDocList | Contains the IDoc(s) as object of com.sap.conn.idoc.IDocDocumentList. |
IDocEncode
Service that converts an IDoc list to an XML string in a format specified by the SAP IDoc-XML Specification.
Input Parameters
Field | Description |
---|---|
$encoding | Optional. Specifies the encoding used in the output document's XML header, for example, iso-8859-1 |
iDocList- OR - | Contains the IDoc(s) as object of the type com.sap.conn.idoc.IDocDocumentList. |
IDOC_CONTROL IDOC_DATA- OR -IDOC_CONTROL_REC_40IDOC_DATA_REC_40 | Both keys are Document lists (Tables) containing the control and data tables for the IDoc.
The SDATA field is a Document object containing the keys and values from the segment table.
The name of the segment table is specified by the SEGNAM field. Note: This service handles
both IDoc versions 2 and 3. The difference between the two is that, for IDocs version 2, the service
looks for IDOC_CONTROL and IDOC_DATA in the pipeline. For IDocs version 3, it looks for
IDOC_CONTROL_REC_40 and IDOC_DATA_REC_40.
|
Return Values
Field | Description |
---|---|
xmlData | String. IDoc in XML. The XML format is consistent with the SAP-XML specification. |
Example
This service is most often used when you want to receive an IDoc from an SAP system and convert it to XML.
- Invoke IDocEncode. This takes the pipeline containing the IDoc as input and converts it to an XML string. The XML string is accessible in the pipeline via the xmlData key.
IDocDecode
Service that converts an XML string in a format specified by the SAP IDoc-XML Specification into an IDoc that is of the type com.sap.conn.idoc.IDocDocumentList and necessary for an RFC call (using clientSendIDoc).
Input Parameters
Field | Description |
---|---|
bytes- OR - | Byte array. Contains the data to be decoded as IDocXML. |
node - OR - | XML Node object that represents the IDocXML data. For example, you get a node when putting an XML file via FTP with a .xml extension. The service checks in that order if an input document is available: xmlData, bytes, node. |
xmlData | String.. IDoc in XML. The XML format is consistent with the SAP IDoc-XML specification. |
Return Values
Field | Description |
---|---|
$encoding | Specifies the encoding from the input document's XML header, for example, iso-8859-1. |
iDocList | Contains the IDoc(s) as an object of the type com.sap.conn.idoc.IDocDocumentListcom.sap.conn.idoc.IDocDocumentList. |
Example
This service is the first service called when you want to send an IDoc-XML document to an SAP system. The following is a sequence of service calls that take an IDoc in XML format, convert it to a com.sap.conn.idoc.IDocDocumentListcom.sap.conn.idoc.IDocDocumentList object, then fire it into the SAP system:
-
Invoke this service (IDocDecode). This takes the input xmlData (the XML String) and creates an com.sap.conn.idoc.IDocDocumentList object that is in RFC-ready form. (This means that it matches the RFC call used to send an IDoc into the SAP system, and that the pipeline is almost in the required format).
-
Invoke clientCreateTID service. Use this service to request a transaction id from an SAP system that can be used for sending the IDoc to the SAP system.Note: Store this transaction ID, so that you can resend the IDoc in case of errors with the same ID.
-
Invoke clientSendIDoc.
IDocTrace
Internal service used to trace the status of certain IDocs back to either the sending SAP system or to a further processing .
This service is directly called from SAP systems.
Input Parameters
Field | Description |
---|---|
SELECTION_DATE | Date parameter passed to IDOC_DATE_TIME_GET on the sending SAP system. |
SOURCE_SYSTEM | Partner number of the sending SAP system. |
T_IDOCINFO | List of IDocs to be traced. |
Return Values
Field | Description |
---|---|
T_IDOCINFO | List of IDocs with updated trace information. |
swapSenderReceiverLS
Switches Sender and Receiver (logical systems) for a list of given ALEAUD01 IDocs.
Input Parameters
Field | Description |
---|---|
iDocList | List of ALEAUD01 IDocs to be switched. |
Return Values
Field | Description |
---|---|
iDocList | List of ALEAUD01 IDocs with switched RVCPRN and SNDPRN fields. |
SYSTAT01report
This service sends out SYSTAT01 IDocs to the sending SAP system for all IDocs that have been received in ‘Monitoring' mode.
Can be executed exactly once for the IDocs of a transaction.
Input Parameters
None.
Return Values
None.
BAPIdecode
Decodes bXML documents and generates a corresponding pipeline.
Input Parameters
Field | Description |
---|---|
xmlData- OR- | String. A document in bXML format. |
bytes- OR - | Byte array. Contains the data to be decoded as bXML. |
node | XML Node object that represents the bXML data. Ffor example, you get a node when putting an XML file via FTP with .xml extension . |
Return Values
Field | Description |
---|---|
$encoding | Optional. Specifies the encoding found in the bXML document, for example, iso-8859-1. |
BAPIencode
Converts a BAPI call represented in a pipeline to an XML string in a format specified by the SAP bXML specification.
Input Parameters
Field | Description |
---|---|
objectName | Name of the business object. |
bapiName | Name of the BAPI. |
$encoding | Optional. Specifies the encoding used in the output document's XML header, for example, iso-8859-1. |
$call | Optional. Flag indicating whether the pipeline is interpreted as a call or as a response.
Possible Values are:
|
$abapexception | Optional. If this object is in the pipeline, an exception document is created. |
$metabapi | Optional. Contains metadata information about the BAPI, that must be encoded. |
Return Values
Field | Description |
---|---|
xmlData | A document in bXML format as a string. |
BAPIcreateTemplate
Generates a bXML document template for the definition of a BAPI in an SAP system.
Input Parameters
Field | Description |
---|---|
serverName | SAP system alias for the SAP system that is used as a repository. The alias must match a configured RFC connection alias at SAP® ERP. |
objectName | Name of the business object to encode. |
bapiName | Name of the BAPI. |
$encoding | Optional. Specifies the encoding used in the output document's XML header, for example, iso-8859-1. |
$call | Optional. Flag indicating whether a call or a response is created. Possible Values are:
|
Return Values
Field | Description |
---|---|
xmlData | The bXML template for the BAPI as a string. |
BAPIcommit
Commits a transaction with a single or multiple BAPI calls.
<note> You need to use clientLockSession or clientReleaseSession to make sure to keep your connection in transaction scenarios as the transaction context is stored with the session in the SAP system. </note>
Input Parameters
Field | Description |
---|---|
serverName | Alias of the SAP system on which the transaction must be committed. This name must match an RFC connection alias at SAP® ERP. |
$client | Optional. Client for the session. If no client is specified, the default client is used. |
$user | Optional. User name for the session. If no user is specified, the default user is used. |
$pass | Optional. Password for the session. If the password is not specified, then the user and password is looked up in the SAP User store. |
$language | Optional. Language used during the session. If no language is specified, the default language is used. |
wait | Optional. Flag indicating if call must wait until data is really written to database. |
Return Values
Field | Description |
---|---|
Return | Return code in BAPI style keeping the success/failure of the commit. |
BAPIrollback
Rolls back a transaction with a single or multiple BAPI calls.
Input Parameters
Field | Description |
---|---|
serverName | Alias of the SAP system on which the transaction must be committed. This name must match an RFC connection alias at SAP® ERP. |
$client | Optional. Client for the session. If no client is specified, the default client is used. |
$user | Optional. User name for the session. If no user is specified, the default user is used. |
$pass | Optional. Password for the session. If the password is not specified, then the user and password is looked up in the SAP User store. |
$language | Optional. Language used during the session. If no language is specified, the default language is used. |
Return Values
Field | Description |
---|---|
Return | Return code in BAPI format including the success/failure of the commit. |
listTransactions
Returns a list of transactions from the transaction store that match the filter criteria. Regular expressions are supported to allow flexible filter criteria matching.
Input Parameters
Field | Description |
---|---|
endDate | Optional. Filter criteria: Last creation date of the transaction. . |
startDate | Optional. Filter criteria: Earliest creation date of the transaction. |
sender | Optional. Filter criteria: name of the sender of the transaction. |
receiver | Optional. Filter criteria: name of the receiver of the transaction. |
msgType | Optional. Filter criteria: name of the message type of the transaction. |
state | Optional. Filter criteria: state of the transaction. |
$tid | Optional. Filter criteria: TID of the transaction. |
$sortKey | Optional. Specifies the sort key. Valid values are:
|
$dir | Optional. Specifies the sort direction. Possible values:
|
Return Values
Field | Description |
---|---|
transactions | Optional. A Document List containing one document with detail information for each
transaction. The following keys are always included:
|
$sortKey | Optional. Specifies the sort key. Valid values are:
|
$dir | Optional. Specifies the sort direction. Possible values:
|
getTransaction
Returns detail information for a single transaction.
Input Parameters
Field | Description |
---|---|
$tid | The TID of the transaction. |
Return Values
Field | Description |
---|---|
sender | Optional. Name of the sender of this transaction. |
receiver | Optional. Name of the receiver of this transaction. |
msgType | Optional. Name of the message type of this transaction. |
state | Optional. Current state of this transaction. |
date | Optional. Creation date of this transaction. |
auditLog | Optional. A Document List containing the date and message that tracks of all events that occurred during processing of this transaction. |
getTransactionMessageBody
Returns the pipeline containing the actual message body.
<note> This service works if the storing of message bodies is not disabled. </note>
Input Parameters
Field | Description |
---|---|
$tid | The TID of the transaction. |
Return Values
None.
getTransactionLog
Adds a new audit log entry to the given transaction, and optionally changes the transaction status to the given new state.
Input Parameters
Field | Description |
---|---|
$tid | The TID of the transaction. |
msg | Optional. Message string to be logged. |
state | Optional. String. Valid values are:
|
Return Values
None.
setTransactionCacheParameter
This service sets new runtime parameters for the cache of the transaction store.
Input Parameters
Field | Description |
---|---|
writeCache | Optional. State of the write cache. Possible values are:
|
cacheTimeToLive | Optional. This value sets the maximum time-to-live for a cache entry (value in seconds). Valid range: 0-500. |
cachFlushPeriod | Optional. This value sets the time period after which unmodified cache entries are flushed (value in seconds). Valid range: 0-100. |
Return Values
None.
storeTransactionConfig
Returns the current configuration and cache parameter of the transaction store.
Input Parameters
None.
Return Values
Field | Description |
---|---|
storeType | SQL Transaction Store. |
writeCache | State of the cache. Possible values are:
|
cacheSize | Number of entries currently held in the transaction cache. |
cacheTimeToLive | Current maximum time-to-live period for a cache entry (in seconds). |
cacheFlushPeriod | Current period after which unmodified cache entries are flushed (in seconds). |
deleteTransaction
Deletes one transaction from the transaction store.
Input Parameters
Field | Description |
---|---|
$tid | TID of the transaction. |
Return Values
None.
deleteAllTransactions
Deletes the entire transaction store. Exercise care if you choose to use this.
Input Parameters
None.
Return Values
Field | Description |
---|---|
deletedEntries | Total number of deleted transactions that matched the filter criteria. |
sweepTransactions
This service can be used to cleanup the transaction store that matches the given filter criteria.
For example, set it up in the Scheduler as follows:
-
Create a Flow Service, which invokes sweepTransactions.
-
In the Flow Service, define the inputs using Set Value.
-
Create a scheduler job that executes the Flow Service.
Input Parameters
Field | Description |
---|---|
elapsedTime | Filter criteria: time in minutes since the transaction has been modified the last time. |
maxTrxCount | Optional. Maximum number of transactions to be deleted in one execution of the Service. |
sender | Optional. Filter criteria: name of the sender of the transaction. |
receiver | Optional. Filter criteria: name of the receiver of the transaction. |
msgType | Optional. Filter criteria: name of the message type of the transaction. |
state | Optional. Filter criteria: state of the transaction. Valid values are:
|
Return Values
Field | Description |
---|---|
deletedEntries | Total number of deleted transactions that matched the filter criteria. |
ALEinboundProcess
Receives an IDoc and forwards it to the routing listener.
Input Parameters
Field | Description |
---|---|
iDocList | Contains the IDoc(s) as an object of the type com.sap.conn.idoc.IDocDocumentList. |
$tid | Optional. TID of the transaction. |
$action | Optional. One of the following transaction codes:
|
Return Values
None.
ALEoutboundProcess
Receives an IDoc and forwards it to the routing listener.
Input Parameters
Field | Description |
---|---|
iDocList | Contains the IDoc(s) as an object of the type com.sap.conn.idoc.IDocDocumentList. |
$tid | Optional. TID of the transaction. |
$action | Optional. One of the following transaction codes:
|
Return Values
None.
ALEgetRoutingInfo_Default
Default service to retrieve routing information from a list of IDocs.
Input Parameters
Field | Description |
---|---|
iDocList | Contains the IDoc(s) as an object of the type com.sap.conn.idoc.IDocDocumentList. |
Return Values
Field | Description |
---|---|
iDocList | Contains the IDoc(s) as an object of the type com.sap.conn.idoc.IDocDocumentList. |
sender | Retrieved from sender partner number from the header of the first IDoc. |
receiver | Retrieved from receiver partner number from the header of the first IDoc. |
msgType | Retrieved from message type from the header of the first IDoc. |
ISinboundProcess
Receives a message from a remote IBM webMethods Integration and forwards it to the routing listener, which determines the routing notification to use to route the message based on the sender, receiver, and message type specified in the input parameters.
After determining the routing notification to use, it invokes the flow service that processes the matching routing notification. This can be called with an arbitrary message to pass it on to the routing listener.
Input Parameters
In addition to the parameters specified below, the input parameters must also include the message to be routed through SAP® ERP. Use a key for the message that the outbound transport expects.
Field | Description |
---|---|
sender | Sender of a message. |
receiver | Receiver of the message. |
msgType | Message type of the message. |
$tid | Optional. The TID of the transaction. |
$action | Optional. One of the following transaction codes:
|
Return Values
Depends on transaction and invoked routing notification.
RFCinboundProcess
Invokes an RFC on an SAP system.
This service can handle both RFC and tRFC calls.
Input Parameters
Field | Description |
---|---|
serverName | Optional. Alias of the SAP system to which the connection must be established. The name must match a configured RFC connection alias at SAP® ERP. If serverName is set, it overrides the value of serverName in transportParams. |
transportParams | A document with the following key/value pair:
|
$tid | Optional. TID of the transaction. If you want to process the RFC call asynchronously using tRFC, specify the transaction ID. If you want to perform a synchronous RFC call, do not specify this parameter. |
$action | Optional. Transaction state. Specify one of the following codes:
|
$rfcname | Optional. RFC that must be called. |
$queueName | Optional. Name of the SAP system inbound queue. Specify a value in case of a qRFC scenario. |
Field | Description |
---|---|
$runtime | Total invocation time (ms), including processing time within SAP® ERP. |
$rfctime | Time (ms) spent within the RFC library to complete the invocation. |
$encoding | MIME-compliant character set corresponding to the session’s SAP code page. |
$call | Flag indicating whether pipeline represents a request or response of a function module.
Possible values are:
|
RFCoutboundProcess
Invokes an RFC on an SAP system.
This service can handle both RFC and tRFC calls.
Field | Description |
---|---|
serverName | Optional. Alias of the SAP system to which the connection must be established. The name must match a configured RFC connection alias at SAP® ERP. If serverName is set, it overrides the value of serverName in transportParams. |
transportParams | A document with the following key/value pair:
|
$tid | Optional. TID of the transaction. If you want to process the RFC call asynchronously using tRFC, specify the transaction ID. If you want to perform a synchronous RFC call, do not specify this parameter. |
$action | Optional. Transaction state. Specify one of the following codes:
|
$rfcname | Optional. RFC that must be called. |
$queueName | Optional. Name of the SAP system inbound queue. Specify a value in case of a qRFC scenario. |
Field | Description |
---|---|
$runtime | Total invocation time (ms), including processing time within SAP® ERP. |
$rfctime | Time (ms) spent within the RFC library to complete the invocation. |
$encoding | MIME-compliant character set corresponding to the session’s SAP code page. |
$call | Flag indicating whether pipeline represents a request or response of a function module.
Possible values are:
|
XMLinboundProcess
Can be called \for example, using HTTP post with arbitrary XML documents to pass them on to the routing listener.
Input Parameters
Field | Description |
---|---|
node | XML Node object that can be generated by calling XML:xmlStringToXMLNode and is automatically generated when posting an XML document via HTTP (using text/xml). |
$tid | Optional. TID of the transaction. |
$action | Optional. Transaction state. Specify one of the following codes:
|
Return Values
Depends on transaction and invoked routing notification.
XMLoutboundProcess
Use this service to post an XML document to a specified URL. The XML transport is basically used for posting XML documents to external Web servers.
Input Parameters
Field | Description |
---|---|
transportParams | A document with the following key/value pair.
|
xmlData | Optional. An XML document as string, only used if transportParams/xmlType is Arbitrary XML. |
$encoding | Optional. Encoding used by the XML request document. |
$tid | Optional. Transaction ID. Specify a transaction ID if the document must be sent as a transaction. |
$action | Optional. Transaction state. Specify one of the following codes:
|
Return Values
The return values depend on the document that is posted. The return value is a Values object representation of the answer to the posted document.
BAPIinboundProcess
When posting bXML documents representing a BAPI of a Business Object to this service, it takes care of passing the document to the routing listener.
Field | Description |
---|---|
sbcHeader | Document that contains the key/value pairs with routing information is generated by the bXML parser. |
objectName | Optional. Name of the business object that is represented in the pipeline. |
bapiName | Optional. Name of the BAPI that is represented in the pipeline. |
$action | Optional. The transaction state. Specify one of the following codes:
|
$tid | Optional. TID of the transaction. |
Return Values
Depends on transaction and invoked routing notification.
BAPIoutboundProcess
Executes a BAPI in an SAP system. This transport service can handle both asynchronous and synchronous execution of a BAPI.
Input Parameters
Field | Description |
---|---|
serverName | Optional. Alias of the SAP system to which the connection must be established. The name must match a configured RFC connection alias at SAP® ERP. If serverName is set, it overrides the value of transportParams/serverName. |
transportParams | A document with the following key/value pair:
|
$tid | Optional. TID of the transaction. |
$action | Optional. Transaction state. Specify one of the following codes:
|
$queueName | Optional. Name of the SAP system inbound queue. Specify a value in case of a qRFC scenario. |
objectName | Optional. Name of the business object. |
bapiName | Optional. Name of the BAPI method. |
Return Values
A pipeline that represents the response or an exception of the executed BAPI.
Field | Description |
---|---|
$metabapi | Optional. Document created if the BAPI was executed. Contains the BAPI metdata (for example, the internal name, the external name, and the RFC name). It also contains information about whether it is static (yes/no), dialog (yes/no), or factory BAPI (yes/no). |
$abapexception | Optional. Document created if the execution of the BAPI caused one or more ABAP exceptions with severity of 3 or higher. The document contains the name, the severity, and the message attributes of the general BAPI failure. It also contains the document attributes that contain the complete collection of all exceptions that have occurred during execution of the BAPI, with a detailed description and the message attributes for each exception. |
$runtime | Total invocation time (ms), including processing time within SAP® ERP. |
$rfctime | Time (ms) spent within the RFC library to complete the invocation. |
$encoding | MIME-compliant character set corresponding to the session’s SAP code page. |
$call | Flag indicating whether pipeline represents a request or response of a function module.
Possible values are:
|
Builtin Services Specifications
ALE Routing Info Default
To allow content based routing for all IDocs, the user might provide a service that implements this specification.
This service is called prior to selecting the right routing notification by the routing listener.
Input Parameters
Field | Description |
---|---|
iDocList | Contains the IDoc(s) as an object of the type com.sap.conn.idoc.IDocDocumentList. |
Return Values
Fields | Description |
---|---|
iDocList | Contains the IDoc(s) as an object of the type com.sap.conn.idoc.IDocDocumentList. |
sender | Contains the sender value as determined by this ALE default routing info service. |
receiver | Contains the receiver value as determined by this ALE default routing info service. |
msgType | Contains the message type value as determined by this ALE default routing info service. |
ALE Routing Info
To allow message type specific content based routing, the user might provide a service that implements this specification.
This service is called prior to selecting the right routing notification by the routing listener but after the default ALE routing info service was called.
Input Parameters
Field | Description |
---|---|
iDocList | Contains the IDoc(s) as an object of the type com.sap.conn.idoc.IDocDocumentList. |
sender | Contains the sender value as determined by this ALE default routing info service. |
receiver | Contains the receiver value as determined by this ALE default routing info service. |
msgType | Contains the message type value as determined by this ALE default routing info service. |
Return Values
Fields | Description |
---|---|
iDocList | Contains the IDoc(s) as an object of the type com.sap.conn.idoc.IDocDocumentList. |
sender | Contains the sender value as determined by this ALE default routing info service. |
receiver | Contains the receiver value as determined by this ALE default routing info service. |
msgType | Contains the message type value as determined by this ALE default routing info service. |
ALE Mapping Info
To allow message type specific mapping for IDocs, the user might provide a service that implements this specification.
This service is called prior to sending an IDoc to an SAP system using the pub.sap.transport.ALE:OutboundProcess service but after the default ALE mapping info service is called.
Input Parameters
Field | Description |
---|---|
iDocList | Contains the IDoc(s) as an object of the type com.sap.conn.idoc.IDocDocumentList. |
msgType | Contains the message type value as determined by this ALE default routing info service. |
Return Values
Fields | Description |
---|---|
iDocList | Contains the IDoc(s) as an object of the type com.sap.conn.idoc.IDocDocumentList. |
ALE Mapping Info Default
To allow mapping for all IDocs, the user might provide a service that implements this specification.
This service is called prior to sending an IDoc to an SAP system using the pub.sap.transport.ALE:OutboundProcess service.
Input Parameters
Field | Description |
---|---|
iDocList | Contains the IDoc(s) as an object of the type com.sap.conn.idoc.IDocDocumentList. |
Return Values
Fields | Description |
---|---|
iDocList | Contains the IDoc(s) as an object of the type com.sap.conn.idoc.IDocDocumentList. |
msgType | Contains the message type value as determined by this ALE default routing info service. |
XML Routing Info
To allow routing for incoming XML documents, the user must provide a service that implements this specification.
This service is called prior to selecting the right routing notification by the routing listener.
Input Parameters
Field | Description |
---|---|
node - OR - | XML Node object that can be generated by calling XML:xmlStringToXMLNode and is automatically generated when posting an XML document via HTTP (using text/xml). |
document | XML in hierarchical structure. |
Return Values
Fields | Description |
---|---|
document | XML in hierarchical structure. |
sender | Contains the sender value as determined by this XML routing info service. |
receiver | Contains the receiver value as determined by this XML routing info service. |
msgType | Contains the message type value as determined by this XML routing info service. |
$tid | TID of the transaction as determined by this XML routing info service. |
$action | Optional. The transaction state as determined by this XML routing info service. One of the
following codes:
|
createTIDOffline
Call this service if you want to obtain a transaction ID (TID; which is a GUID) that conforms to the format of SAP TIDs even when not connected to a SAP system. The Transaction ID is based on a randomly created UUID Version 4.
The obtained TID can be used as an input value for clientInvokeTransaction, clientSendIDoc, and clientConfirmTID.
Input Parameters
None.
Return Values
Fields | Description |
---|---|
$tid | Contains the TID. |
Example
This service is used in tRFC client scenarios, which require a transactional ID (TID) uniquely identifying the transaction. See also clientConfirmTID.
getListenerRuntimeStatus
Call this service if you want to obtain the current runtime state and configuration of an enabled RFC listener instance.
Input Parameters
Field | Description |
---|---|
alias | Node name of the RFC listener instance for which you want to obtain the runtime state. |
Return Values
Fields | Description |
---|---|
runtimeState | Describes the current runtime state of the selected RFC listener. Possible values are:
|
pingMessage | Result of the ping test from the SAP Gateway to the RFC listener instance. |
pingLatency | Ping latency (milliseconds), if the ping test was successful. |
activeThreads | Number of listener threads currently available, if the RFC listener instance is enabled. |
busyThreads | Number of listener threads currently busy, if the RFC listener instance is enabled. |
maxBusyThreads | Maximum number of listener threads which have been concurrently busy, if the RFC listener instance is enabled. |
$error | Error message:
|
$warning | Additional information in the case of error, along with hints to fix it. |
Common Questions
How to create the SAP® ERP Account
To create a SAP® ERP Account, follow the steps given below:
-
Select Connectors from the menu.
-
Search and select the SAP® ERP from the Available Connectors section. This will take you to the Add account configuration screen.
-
Provide the following details:
- Connection alias - Provide a suitable name for the account you want to add.
- User name - Provide the SAP registered user name.
- Password - Provide the password for the SAP registered user.
- Client - Provide the 3-digit SAP client number.
- Repository user name (Optional) - Provide the repository user name.
- Repository password (Optional) - Provide the password of the repository user.
- SAP router string (Optional) - Provide the SAP router string.
- Language - Select the supported language from the drop-down list.
- Description (Optional) - Provide the description. .
Click Next.
-
Select Connection mode setting selection. Click Next.
-
Provide the details in the Connection mode.
-
If you selected Standard (Default) as the connection mode, provide the following details:
Field Description Application server Provide a SAP application server name. System number Provide a SAP system number (00-99). -
If you selected Load Balancing as the connection mode, provide the following details:
Field Description Logon group Provide the name of the group you want to login. Message server host Provide a host name or IP address of the message server. Message server service Provide a SAP message server service. System Id Provide a SAP system number (00-99).
Click Next.
-
-
Verify the connection details. Click Add account.
-
Select Done.
You will see the configured custom account.
How to create a Document Type for SAP
To create a SAP® ERP Account, do the following:
-
Select Configurations > Flow service > Document types.
-
Click Add Document Type.
-
In the Add new Document type screen, select SAP®. Click Ok.
-
In the System ID and document screen, provide the following details:
- Save As - Provide a suitable name for the Document Type you want to add.
- System ID - Type or select System ID (SID) of the source SAP system.
- Document type - Select the document type RFC or IDoc.
- Description - Optional. Provide a description for the document type.
Click Next.
-
In the Document details screen, provide the following details:
- If you selected RFC as the Document type, provide RFC structure - Select the RFC structure from the dropdown list of cached names. If cached names are not available, you must type the RFC structure name.
- If you selected IDoc as the Document type, provide the following details:
Field Description IDoc type Select the IDoc type expected by the listener notification from the dropdown list of cached names. If cached names are not available, you must type the IDoc type. CIM type(optional) Provide a IDoc type extension (CIM type / customer extension type). SAP system release(optional) Provide the IDoc release. Old IDoc type 2 (optional) Checked for old version 2 IDocs and Unchecked for a new version 3 IDoc
Click Save and continue.
-
In the Overview screen, verify the details and click Done.
A new Document Type is created in the Document Types page.