连接器支持三种 BAPI 业务对象:单个 BAPI 调用的业务对象、BAPI 事务的业务对象和 BAPI ResultSet 对象。
单个 BAPI 调用的业务对象反映 BAPI 接口上的方法。业务对象使用 BAPI 业务对象处理程序来将每个业务对象属性映射至 BAPI 参数。连接器、每个业务对象和 BAPI 业务对象处理程序都是元数据驱动的。对于每个业务对象和业务对象处理程序的元数据中提供的特定于应用程序的信息,它允许您为新业务对象及业务对象处理程序添加连接器支持而不必修改连接器代码。实际上是:
业务对象处理程序支持业务对象之间的单基数和多基数关系。
基于 BAPI 的业务对象不能包含多于两个级别的层次结构。因此,所有 BAPI
简单参数都对应于顶级业务对象的属性,并且 BAPI
结构参数和表参数对应于子业务对象。
BAPI 接口参数 | SAP 的 WebSphere 业务对象 |
---|---|
简单字段 | 顶级业务对象的属性 |
结构 | 单基数子业务对象 |
表 | 多基数子业务对象 |
图 48 举例说明了业务对象和 BAPI 之间的关联。该图举例说明了 sap_bapi_salesorder_createfromdat2 业务对象的片段,该业务对象对应于 BAPI_SALESORDER_CREATEFROMDAT2 BAPI。
表示 BAPI 事务的业务对象是一个将多个 BAPI 对象作为子代的包装程序对象。包装程序 BAPI 事务对象中的每个子代 BAPI 对象都表示单个 BAPI 调用的参数。注意,SAPODA 始终会对 BAPI 事务对象名添加后缀 _txn。例如,sap_BAPI_salesorder_txn。
表示 BAPI ResultSet 的业务对象是一个用于对 DB2 Information Integrator 提供 ResultSet 支持的包装程序对象。当执行 RetrieveByContent 查询描述操作时,连接器会返回符合特定选择条件的多个结果业务对象。ResultSet 包装程序对象与这一组业务对象相对应。
包装程序业务对象包含对象类型的两种属性:BAPI_Query 和 BAPI_Result。BAPI_Query 属性表示 ASI 参数上的“获取列表 BAPI”。例如,bapi=BAPI_CUSTOMER_GETLIST。BAPI_Result 属性表示 ASI 参数上的“获取详细信息 BAPI”。注意,SAPODA 始终会对 BAPI_Query 和 BAPI_Result 的子业务对象的名称添加后缀 _rs。例如,sap_BAPI_addressdata_rs。
有关 BAPI ResultSet 对象的属性级别 ASI 的详细信息,请参阅BAPI ResultSet 的属性级别 ASI。