特定于应用程序的业务对象信息

业务对象定义中特定于应用程序的信息对连接器提供关于如何处理业务对象的应用程序相关指示信息。此信息包括:

如果您扩展或修改特定于应用程序的业务对象,则确保业务对象定义中特定于应用程序的信息与连接器期望的语法匹配。

以下各节更详细地讨论了此功能。

特定于应用程序的顶级业务对象查询描述信息

顶级业务对象的查询描述指定 vDynRetBOH 业务对象处理程序的类。此特定于应用程序的信息应始终是以下内容:

sap.bapi.vDynRetBOH
 

简单属性的特定于应用程序的信息

属性的特定于应用程序的信息指定以下信息:

特定于应用程序的信息格式由 4 个名称-值参数组成,每个参数包括参数名及其值。将用冒号(:)定界设置的每个参数。

特定于应用程序的属性信息的格式如下所示。方括号([ ])括起可选参数。垂直条(|)分隔一组选项的成员。保留冒号作为定界符。

TN=TableName:CN=ColumnName:[FK=[..]fk_attributeName]:[OP=GT|GE|EQ|NE|LE|LT|LIKE]
 

图 60 描述每个名称-值参数。

表 36. 特定于应用程序的属性信息中的名称-值参数
参数 描述
TN=TableName 数据库表的名称
CN=ColumnName 数据库表列(字段)的名称
FK=[..]fk_attribute Name 此属性的值取决于外键关系是存储在父业务对象中还是存储在当前业务对象中:

如果属性不是外键,则不要在特定于应用程序的信息中包括此参数。

OP=GT|GE|EQ|NE|LE|LT| LIKE 操作数选项为:
  • GT - 大于
  • GE - 大于或等于
  • EQ - 等于(缺省选项)
  • NE - 不等于
  • LE - 小于或等于
  • LT - 小于
  • LIKE - 类似

建议您指定 EQ 以使性能达到最高。如果未指定操作数,则连接器使用 EQ

每个简单属性的必需参数是表名和列名。操作数缺省为 EQ(等于)。以下示例举例说明了基本格式:

TN=KNA1:CN=KUNNR
 

重要提示:
当为这些参数指定值时,大小写是有意义的。

允许业务对象内的简单属性不具有对特定于应用程序的信息字段指定的值(即 0 长度)。连接器忽略这样属性。这是最方便的方法,确保连接器不处理用来分隔相邻组的子业务对象的占位符属性。

如果业务对象的任何属性中没有任何特定于应用程序的信息来为连接器构建或执行查询提供足够的信息,则连接器返回故障。

示例:当前业务对象存储外键

图 63 提供了一个具有两个外键的 WebSphere 业务对象示例,这两个外键引用业务对象内的属性。在这种情况下,业务对象在两个表中表示数据,一个表包含地址数据,另一个表包含州/省和国家或地区缩写的查找数据。为了处理此数据,连接器执行两次读表操作。

图 63. 示例:当前业务对象存储外键


属性信息

表 37 在示例 SAP_Address 中描述了每个属性的表名、列名、键和外键记录:

表 37. 示例业务对象属性的描述
属性 表名 列名 外键 缺省值
address_id ADRC ADDRNUMBER true

city ADRC CITY1 false

state ADRC REGION false

country ADRC LAND1 false

language T005U SPRAS true
E
fk_country T005U LAND1 false FK=country
fk_state T005U BLAND false FK=state
state_description T005U BEZEI false

特定于应用程序的属性信息

如果给出表 37 中的信息,则 fk_state 属性的特定于应用程序的信息是:

TN=T005U:CN=BLAND:FK=state
 

fk_country 属性的特定于应用程序的信息是:

TN=T005U:CN=LAND1:FK=country
 

SQL 查询

以下 SELECT 语句举例说明了 WHERE 子句,连接器构建该子句以从由 SAP_Address 表示的表中检索数据:

SELECT * FROM ADRC WHERE ADDRNUMBER = address_idValue
 SELECT * FROM T005U WHERE SPRAS = 'E' AND LAND1 = countryValue 
 AND BLAND = stateValue
 

Copyright IBM Corp. 1997, 2004