SAP® ERP

Note: SAP® ERP Connector access is restricted and is not publicly available. For more information, contact IBM® support.

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

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.

  • 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:
  • Standard (Default)
  • Load balancing

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.
Note: Connection name must be unique across projects.

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:
  • RFC Invocation. Invokes an RFC on the SAP® ERP system.
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.

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.
  • RFC
  • IDoc

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)
  • Checked for old version 2 IDocs.
  • Unchecked for a new version 3 IDoc.

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

  1. 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.

Select a specific TID. In the transaction details page, the following fields are displayed:
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:
  • Created-Transaction is created.
  • Rolledback-Transaction is rolledback.
  • Committed-Transaction is committed.
  • Confirmed-Transaction is confirmed.
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:
  • ALIVE. Flag which indicates that the SAP Listener has successfully started and is listening to inbound requests.
  • DEAD. Flag which indicates that the connections of the SAP Listener could not be registered, or all are broken. The SAP Listener must be restarted.
  • HA_BROKEN. Flag which indicates that the SAP Listener was started in high availability mode, but not all SAP Gateways are successfully connected.
  • STARTED. Flag which indicates that the SAP Listener is starting.
  • STOPPED. Flag which indicates that the SAP Listener is stopped.
  • STOPPING. Flag which indicates that the SAP Listener is stopping.
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:
  • OK
  • Not all components are closed
  • Request closed because of too many components
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?

  1. Go to Connector > Lookup.

  2. Go to the Function tab.

  3. 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
  4. 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

  1. Go to Connector > Lookup.

  2. Go to the Function tab.

  3. 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.
  4. Click Apply to see the list of functions matching the criteria.

  5. 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

  1. Go to Connector > Lookup.

  2. Go to the Function tab.

  3. 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.
  4. Click Apply.

  5. Select the function to view. For example, select Z_RFC_ADD.

  6. 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.

  7. Click Test. The sum of all the input fields is displayed in the output field EP_RESULT.

Testing a function using RFC XML

  1. Go to Connector > Lookup.

  2. Go to the Function tab.

  3. 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.
  4. Click Apply.

  5. In the Function Module Signature page, click Execute As > RFC XML.

    The RFC XML template for the function appears.

  6. 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.

  7. 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?

  1. Go to Connector > Lookup.

  2. Go to the Function tab.

  3. 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.
  4. Click Apply.

  5. In the Function Module Signature page, click Execute As > bXML.

    The bXML template for the function appears.

  6. 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.

  7. 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

  1. Go to Connector > Lookup.

  2. Go to the Business Object tab.

  3. 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.
  4. Click Apply.

  5. In the list of the business objects, select the business object to view the details.

The detailed information of a business object consists of a
  1. 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).
  2. List of all its BAPI methods. Optional. The list of BAPIs is empty for business objects that do not provide BAPIs.
  3. 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
  1. Go to Connector > Lookup.

  2. Go to the Business Object tab.

  3. 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.
  4. Click Apply.

  5. In the list of the business objects, select the business object to view the details.

  6. 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
  1. Go to Connector > Lookup.

  2. Go to the Business Object tab.

  3. 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.
  4. Click Apply.

  5. In the list of the business objects, select the business object to view the details.

  6. 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.
  7. Click > icon to view the details.

  8. Click the link on ABAP Dictionary Type to view the details:

Lookup events of the business object
  1. Go to Connector > Lookup.

  2. Go to the Business Object tab.

  3. 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.
  4. Click Apply.

  5. In the list of the business objects, select the business object to view the details.

  6. 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

  1. Go to Connector > Lookup.

  2. Go to the Tables tab.

  3. 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.
  4. 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

  1. Go to Connector > Lookup.

  2. Go to the IDoc tab.

  3. 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.
  4. Click Apply.

  5. 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.
  6. 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

Note: This service locks a session to trigger a commit work command inside the SAP system. This causes a database commit. This service only works with SAP systems version 4.0A and higher because BAPIs do not write data directly to the database but use the posting engine inside the SAP system and the start of the processing of posted data.

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:

  1. Call the clientLockSession service in order to get an exclusive connection to the SAP system.
  2. Perform the BAPI calls.
  3. Call the BAPIcommitor BAPIrollback service
  4. 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.

Note: This service only works with SAP systems version 4.0A and higher because BAPIs do not write data directly to the database but use the posting engine inside the SAP system.

In order to call a BAPI that writes data, you must perform the following steps on IBM webMethods Integration:

  1. Call the clientLockSession service in order to get an exclusive connection to the SAP system.
  2. Perform the BAPI calls.
  3. Call the BAPIcommit or BAPIrollback service.
  4. 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:

  1. Call the clientLockSession service in order to get an exclusive connection to an SAP system.

  2. Lock an object by calling a BAPI_*_ENQUEUE.

  3. Make your changes by invoking other BAPIs.

  4. Release the object by calling a BAPI_*_DEQUEUE.

  5. 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:
  • true for request.
  • false for response.

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:
  • true for request.
  • false for response.

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.

Important: If no TID exists in the pipeline, then the ALEoutboundProcess service performs the function of both the clientCreateTID and clientInvokeTransaction services. For IDocs, it is recommended that you use either the ALEoutboundProcess service or the call sequence of clientCreateTID and clientSendIDoc.

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.

  1. 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.

  2. 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.

  3. 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:
  • true for request.
  • false for response.

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:
  • true for request.
  • false for response.

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:
  • true for call.
  • false for response.
$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:
  • true for call.
  • false for response.
$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.

Note: A client service ClientSendIDoc allows you to send the iDocList directly.

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.
Note: You can specify the iDocList or IDoc tables containing IDOC_CONTROL and IDOC_DATA or IDOC_CONTROL_REC_40 and IDOC_DATA_REC_40 in the input parameters.

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.

Note: When saving to a file, make sure that String is saved with correct encoding.

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.
Note: You can specify the iDocList or IDoc tables containing IDOC_CONTROL and IDOC_DATA or IDOC_CONTROL_REC_40 and IDOC_DATA_REC_40 in the input parameters.

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.
Note: You can specify the iDocList or IDoc tables containing IDOC_CONTROL and IDOC_DATA or IDOC_CONTROL_REC_40 and IDOC_DATA_REC_40 in the input parameters.

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.
Note: You can specify the bytes or node or xmlData in the input parameters.

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:

  1. 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).

  2. 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.
  3. 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 .
Note: The service checks in that order if an input document is available: xmlData, bytes, node.

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:
  • true for call.
  • false for response. Default.
$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:
  • true for call.
  • false for response. Default.

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.

Note: You need to use clientLockSession or clientReleaseSession to keep your connection in transaction scenarios because the transaction context is stored with the session in the SAP system.

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:
  • noSort. Default.
  • $tid
  • sender
  • receiver
  • msgType
  • date
  • state
The resulting transaction list is sorted by the given attribute.
$dir Optional. Specifies the sort direction. Possible values:
  • descending. Triggers a descending sort order.
  • Any value other than descending. Triggers ascending sort order.

Return Values

Field Description
transactions Optional. A Document List containing one document with detail information for each transaction. The following keys are always included:
  • $tid
  • sender
  • receiver
  • msgType
  • date. Date/time, when the state of this transactions was last changed, formatted in the usual "Log Timestamp Format"
  • state
$sortKey Optional. Specifies the sort key. Valid values are:
  • noSort. Default.
  • $tid
  • sender
  • receiver
  • msgType
  • date
  • state
The resulting transaction list is sorted by the given attribute.
$dir Optional. Specifies the sort direction. Possible values:
  • descending. Triggers a descending sort order.
  • Any value other than descending.
Triggers ascending sort order.

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:
  • Created
  • Executed
  • Committed
  • Rolledback
  • Confirmed

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:
  • On: Write cache of the transaction is switched on.
  • Any other value. Write cache of the transaction is switched off.
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:
  • On
  • Off
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:

  1. Create a Flow Service, which invokes sweepTransactions.

  2. In the Flow Service, define the inputs using Set Value.

  3. 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:
  • Created
  • Executed
  • Committed
  • Rolledback
  • Confirmed

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:
  • 1. Default. Execute.
  • 4. Confirm.

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:
  • 1. Default. Execute.
  • 4. Confirm.

Return Values

None.

ALEgetRoutingInfo_Default

Default service to retrieve routing information from a list of IDocs.

Note: This service can also handle IDOC_CONTROL and IDOC_DATA record lists (for IDocs version 3) or IDOC_CONTROL_REC_40 and IDOC_DATA_REC_40 record lists (for IDocs version 4) as IDoc input parameters instead of iDocList.

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.

Important: It is recommended that you use this service as the receiving point when you are connecting two IBM webMethods Integration’s.

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:
  • 1. Default. Execute.
  • 4. Confirm.

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

This service requires the following 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:
  • serverName. SAP system alias for the SAP system on which invoke the RFC. The alias must match a configured RFC connection alias at SAP® ERP.
$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:
  • 1. Default. Execute.
  • 4. Confirm.
$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.
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:
  • true for request.
  • false for response.

RFCoutboundProcess

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:
  • serverName. SAP system alias for the SAP system on which invoke the RFC. The alias must match a configured RFC connection alias at SAP® ERP.
$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:
  • 1. Default. Execute.
  • 4. Confirm.
$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.
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:
  • true for request.
  • false for response.

XMLinboundProcess

Can be called \for example, using HTTP post with arbitrary XML documents to pass them on to the routing listener.

Input Parameters

This service requires the following 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:
  • 1. Default. Execute.
  • 4. Confirm.

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

This service requires the following input parameters:
Field Description
transportParams A document with the following key/value pair.
  • url. URL to which to post the document.
  • xmlType. XML dialect to use. Specify Values-XML if you want the XML in IBM webMethods Integration native XML format.
    • Specify SAP-XML if you want the XML in a format that is compliant with the SAP XML specification. For an IDoc, IDoc-XML is used; for an RFC, RFCXML (XRFC) is used. Note that the IDoc must be available as input to this service.
    • Arbitrary XML allows to post any XML document.
    • SOAP XRFC can be selected as additional XML dialect. This equals to XRFC (RFC-XML) with a SOAP envelope (higher than SOAP 1.1).
  • useTextXml. Optional. Flag that overwrites the content-type of bXML, XRFC and IDoc-XML to text/xml. Possible values are:
    • true. Overwrites the content-type to text/xml.
    • false.
  • useUTF8. Optional. Flag that allows to force the XML rendering engines to use UTF-8 as encoding for the resulting documents. Possible values are:
    • true.
    • false.
  • httpUser. Optional. User name to supply for a user name and password authentication challenge.
  • httpPassword. Optional. Password to supply along with httpUser for a user name and password authentication challenge.
  • useBAPI. Possible values are:
    • ON. Pipeline is encoded using bXML for Business Objects.
    • OFF. Default.
  • objectName. Name of the business object, to which the call is mapped.
  • bapiName. Name of the BAPI method, to which the call is mapped.
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:
  • 1. Default. Execute.
  • 4. Confirm.

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.

Input Parameters
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:
  • 1. Default. Execute.
  • 4. Confirm.
$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:
  • serverName. The SAP system alias on which to execute the BAPI. The alias must match a configured RFC connection alias at SAP® ERP.
  • mode. Allows to restrict the way how the BAPI can be invoked. Possible values are:
    • no restrictions. Is executed as the client requested.
    • synchronous only. Only synchronous call is allowed, if client passes a $tid (indicating an asynchronous call) an exception is thrown.
    • asynchronous only. Only asynchronous call is allowed, if client does not pass a $tid (indicating a synchronous call) an exception is thrown.
$tid Optional. TID of the transaction.
$action Optional. Transaction state. Specify one of the following codes:
  • 1. Default. Execute.
  • 4. Confirm.
$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:
  • true for request.
  • false for response.

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.
Note: You can specify the node or document in the input parameters.

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:
  • 1. Default. Execute.
  • 4. Confirm.

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.

Note: RFC listener instance refers to the RFC listener on the SAP Server.

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:
  • Started
  • Stopping
  • Stopped
  • Alive
  • Alive, but ping failed
  • Dead
  • HA Broken
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:
  • If the RFC listener instance for the given alias input does not exist.
  • If the RFC listener instance is disabled.
  • If an error has occurred.
$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:

  1. Select Connectors from the menu.

  2. Search and select the SAP® ERP from the Available Connectors section. This will take you to the Add account configuration screen.

  3. 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.

  4. Select Connection mode setting selection. Click Next.

  5. 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.

  6. Verify the connection details. Click Add account.

  7. 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:

  1. Select Configurations > Flow service > Document types.

  2. Click Add Document Type.

  3. In the Add new Document type screen, select SAP®. Click Ok.

  4. 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.

  5. 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.

  6. In the Overview screen, verify the details and click Done.

    A new Document Type is created in the Document Types page.

Note: You can add, edit, delete, or copy a document type from the Document Types page. To edit an existing document type, on the Document Types page, click the Edit icon for the document type.