Application-specific information (ASI) in business object definitions provides the BAPI Module with application-dependent instructions on how to process business objects. These instructions are specified at the following levels:
The business object-level ASI should be set for each type of object as described in Table 14.
Object type | Application specific information |
---|---|
Objects representing single BAPI calls | type=bapi |
Objects representing BAPI transactions | type=bapi_txn |
Objects representing BAPI ResultSets | type=bapi_resultset |
The verb-level ASI should be set for each type of object as described in Table 15.
Object type | Verb ASI |
---|---|
Objects representing single BAPI calls | verb ASI=NameOfBAPI |
Objects representing BAPI transactions | verb ASI=NameOfBAPI1;NameOfBAPI2;NameOfBAPI3 |
Objects representing custom business object handlers | CBOH=bapi.client.customBOHandlerName |
Note that the connector supports verb ASI formats of business objects from earlier releases, where the value of the AppSpecific property captures the classname of the BAPI-specific business object handler (verb ASI= bapi.client.BOHandlerName, where bapi.client is the WebSphere Business Integration qualifier of the BAPI-specific business object handler name and BOHandlerName is the name of the class). You must include the value client before the business object handler name to identify that the business object handler acts as a client. Note that while the connector supports these earlier formats, SAPODA does not automatically generate them and therefore you must explicitly specify them by name in the verb ASI.
For example, if you are supporting the SALES_ORDER_CREATEFROMDAT2 BAPI from an earlier release, then the application-specific information is as follows:
AppSpecificInfo = bapi.client.sales_order_createfrom dat2
For custom business object handlers, the verb ASI should be explicitly set (since it is not generated by SAPODA) and fully qualified with the package name, where bapi.client represents the package name.
The connector uses the value of an attribute's application-specific information to determine which importing, exporting, and table parameters to use. The value of this property contains the prefix I (for importing parameters) or E (for exporting parameters). The prefix indicates whether the attribute value is used to pass data into or out from the SAP application.
Because structure parameters can be either importing or exporting, they use either an I or an E before the parameter value. Because table parameters can pass data to and return data from a BAPI, they can have both I and E parameter values.
Figure 49 illustrates the correspondence between a business object and an example BAPI named BAPI_EXAMPLE. In the example, the simple attributes (Attribute_1, Attribute_2, and Attribute_3) specify only an importing or exporting parameter. The attribute that represents a child business object (Child_1) corresponds to an exporting structure parameter. The attribute that represents an array of child business objects (Child_2) corresponds to a table parameter.
Each child business object has a simple attribute that corresponds to a field of the corresponding structure or table (Attribute_11 and Attribute_14, respectively). You can find these fields by looking at the details of the BAPI.
Table 16 identifies the format of the application-specific information for specific kinds of attributes.
AppSpecificInfo Format | Attribute Type |
---|---|
IParameterName:EParameterName | Simple |
ITableName:ETableName | Represents a child business object mapped to a table parameter |
IStructureName:EStructureName | Represents a child business object mapped to a structure parameter |
IFieldName:EFieldName | Represents an attribute of a child business object mapped to a field in a table or structure parameter |
SAPODA automatically generates the appropriate application-specific information for the business object definition. It is recommended that you do not change the parameter names of the generated application-specific information.