5.0 Designing XML format in the Interface Repository
XML documents that are generated according to XML formats and are defined in the Interface Repository called as Business Documents.
Using XML formats for BAPI:
There are three different types of business documents for each BAPI:
A request Business Document for BAPI: The general structure of the request business document for BAPI is:
<doc:BusinessObjectName.MethodName
xmlns:doc="urn:sap-com:document:sap:business"
[Key1="…", Key2="…", …]>
<BOR_Parameter1>...</BOR_Parameter1>
</doc:BusinessObjectName.MethodName>
In Request Business Document the root element that identifies the Request business document carries the concatenation of the business object name and the BOR method name as its name.
A response Business Documents for BAPI: A Response Business Document is returned to the sender if the BAPI call could be processed without application errors and it contains Export Parameters of the BAPI call. The general structure of BAPI Response Business Document is specified in the following syntax:
<doc:BusinessObjectName.MethodName.Response
xmlns:doc="urn:sap-com:document:sap:business"
[Key1="…", Key2="…", …]>
<BOR_Parameter1>...</BOR_Parameter1>
...
</doc:BusinessObjectName.MethodName.Response>
In this case the root element carries the concatenation of the Business Object Name, the BOR method name and the Suffix.Response as its name.
An Exception Business Documents in BAPI: This is sent to the user if the BAPI call could not be processed without application errors i.e. the BAPI return parameter contains at least one message of the type Error (E) or Abort (A). In them the exception business document only contains error description that contain messages of type E represented by BAPI Error and the messages of type A represented by BAPI Abort. But the return structure of the Exception Business Document depends on whether the return parameter is a structure or a table.
Integrating XML for RFC’s
Similar to BAPI there are three different business documents for each RFC.
Request Business Document for RFC: The general structure for a request business document for RFC is:
<doc:FunctionModuleName
xmlns:doc="urn:sap-com:document:sap:business:rfc">
<FuMod_Parameter1>...</FuMod_Parameter1>
...
</doc:FunctionModuleName>
Response Business Documents for RFC: Whenever an RFC is executed without an exception, a response business document containing the export data of the function module is returned to the sender. The general structure for a request business document for RFC is:
<doc:FunctionModuleName.Response
xmlns:doc="urn:sap-com:document:sap:business:rfc">
<FuMod_Parameter1>...</FuMod_Parameter1>
...
</doc:FunctionModuleName.Response>
Exception Business Documents in RFC: When the function cannot be executed, the function ends with a function module exception and an exception business document is returned to the client describing only the error situation. In this case the export parameters of the function are not included and the exception business document is returned with following general structure:
<doc:FunctionModuleName.Response
xmlns:doc="urn:sap-com:document:sap:business:rfc">
<!--Representation of the serialized exception-->
Establishing XML formats to the IDOC
IDOC are exchanged between any two SAP systems to maintain an asynchronous communication. They can be defined in two different ways either manually or generated from an existing BAPI. Depending on the way in which IDOC’s are defined they are represented in XML in two different ways. When the IDOC is generated by BAPI, the system communicates with the various components by using BAPI interfaces within its processing model. In this case, the exchanged business documents are created from the corresponding BAPI and therefore IDOC itself is not visible at the XML level.
Setting Routing Table for the XML Transportation
SAP Business Connector Routing Tool is used to dispatch the inbound messages in the BAPI-based XML format. And for each BAPI sent via XML format to the gateway manager, a corresponding entry should exist in the routing table. If no such entry exists then the message will not be executed, and the SAP BC automatically generates a routing rule for this message that is to be completed and activated. These newly generated routing rules are differentiated from the already existing routing rules by the red symbol in the Status column. To complete this routing rule Edit is to be selected for this new routing rule from the routing tab in the SAP BC administration web page. Then to choose the XML transport, select XML in the transport field and enter a URL as the destination of the XML call.
RFC based XML messages using IFR format
SAP BC provides an add-on package to generate XML calls for RFC XML function module that is based on IFR XML format. To get this XML dialects select SAP IFR b XML and deselect the Use BAPI format option.
Checking the Dynamic routing Process using IFR Format
In SAP BC it is not always necessary to specify routing rules. It is possible to call a BAPI from an ABAP report in a SAP system by adding SBCHEADER parameter to the function module. The main feature of this parameter is that it can be filled with key-value pairs that can be used to describe in detail how the message is to be routed. At present it can only be used to route BAPI-calls to XML transport.