Business object application-specific information

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:

Business object-level ASI

The business object-level ASI should be set for each type of object as described in Table 14.

Table 14. Business object-level ASI

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

Verb-level ASI

The verb-level ASI should be set for each type of object as described in Table 15. Note that there is no verb ASI for BAPI ResultSet business objects.

Table 15. Verb-level ASI

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

Backward compatibility for objects representing single BAPI calls

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

Verb ASI for objects representing custom business object handlers

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.

AppSpecificInfo for attributes

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.

Important:
Always use a colon (:) separator when you specify parameter values with I and E. If specifying only an importing value, the colon must follow the value. If specifying only an exporting value, the colon must precede the value. If specifying both values, the colon follows the importing value and precedes the exporting value.

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.

Figure 49. Correspondence between a business object and an example BAPI


Table 16 identifies the format of the ASI for specific kinds of attributes.

Table 16. ASI format 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.

Attribute-level ASI for BAPI ResultSets

As explained in Business object structure for BAPI ResultSets, a BAPI ResultSet is a wrapper object that contains two attributes of the object type: BAPI_Query and BAPI_Result. BAPI_Query represents the Get List BAPI, while BAPI_Result represents the Get Detail BAPI. The attribute-level ASI for these two attributes is described in Table 17.

Table 17. Attribute-level ASI for ResultSets

ResultSet attribute Application-specific information
BAPI_Query bapi=name_Of_GetListBAPI
BAPI_Result key=key_field;bapi=name_Of_GetDetailBAPI

The Key attribute of the BAPI_Result object is identified using the attribute-level ASI key=name_Of_KeyAttribute. The business object handler uses this information for performance optimization.

The Foreign Key attribute of the BAPI Result object captures the relationship between BAPI_Result and BAPI_Query objects. It is identified using the attribute level ASI FK=BAPI_Query:Name of child object of BAPI_Query that contains the key attribute:name of key attribute.

For example, FK=Query:sap_addressdata:Customer_number. The BAPI business object handler uses this information for setting key values from a BAPI query object into BAPI Result object key attributes, for then retrieving Detail Result objects for each key.

Copyright IBM Corp. 1997, 2004