业务对象属性特性

根据属性是表示简单值还是一个子业务对象或一组子业务对象,顶级业务对象属性的特性有所不同。

SAPODA 生成属性特性,如每个表中所述。

表 11. 简单属性特性:顶级业务对象
属性名 描述
Name 源自 BAPI 参数的描述。SAPODA 用下划线替换特殊字符(如句点、斜杠和空格)。
Type 指定数据的类型。SAPODA 将其值设置为 String
MaxLength 指定 BAPI 参数的字段长度。
IsKey

指定属性是否是键。业务对象的第一个简单属性缺省为键属性。对于单个 BAPI 对象,SAPODA 插入 Dummy_key 属性作为第一个属性,将它标记为键属性,然后设置适当的值。对于 BAPI 事务和 ResultSet,SAPODA 使用第一个属性作为键。 有关更多信息,请参阅"支持 BAPI"

IsForeignKey SAPODA 将其值设置为 false
IsRequired 指定属性是否必须包含值。SAPODA 将其值设置为 false
AppSpecificInfo 包含对应于相关属性的 BAPI 参数的名称。格式为:IABAPFieldName:EABAPFieldName。有关特定于应用程序的信息的详情,请参阅"特定于应用程序的业务对象信息"
DefaultValue 指定在没有运行时值时要赋予此属性的值。SAPODA 没有为此属性设置值。

表 12 列示并描述表示一个子业务对象或一组子业务对象的属性。SAPODA 生成下面描述的属性。

表 12. 表示一个或多个子代的属性的特性
属性名 描述
Name 此值是结构参数或表参数的名称。格式为:BOprefix_BAPIParameterName。业务对象名称中存在的所有特殊字符都将被替换为下划线字符 _。
Type 其值是子业务对象的类型;即类型为 BOprefix_BAPIParameterName
ContainedObjectVersion SAPODA 将其值设置为 3.0.0
Relationship SAPODA 将其值设置为 containment
IsKey

对于 BAPI 事务或 ResultSet,SAPODA 将第一个属性的值设置为 true,而将所有其它属性的值设置为 false

IsForeignKey SAPODA 将其值设置为 false
IsRequired 指定属性是否必须包含值。SAPODA 将其值设置为 false
AppSpecificInfo 包含对应于相关属性的 BAPI 参数的名称。格式为:IBAPIParameterName:EBAPIParameterName。有关特定于应用程序的信息的详情,请参阅"属性的 AppSpecificInfo"
Cardinality BAPI 结构参数具有单基数(1),而 BAPI 表参数具有多基数(n)。

重要提示:
简单属性可以具有两个特殊值:CxIgnoreCxBlank。当将业务对象作为服务调用请求发送至 BAPI 模块,并且业务对象具有设置为 CxIgnoreCxBlank 的简单属性时,这些属性对于 BAPI 模块好像是不可视的。但是,SAP 应用程序将此类属性初始化为其 ABAP 数据类型。BAPI 模块将所有返回的空白值转换为 CxIgnore

初始化属性值

SAP 中的每个字段都具有初始值。当连接器接收到服务调用请求时,业务对象处理程序使用表 13 中列示的值填充大多数 BAPI 接口参数。字符数据类型是一个例外。业务对象处理程序将业务对象属性中的 CxIgnore 转换为 SAP 字段中的空格。如果您想要将任何其它值转换为 CxIgnore ,则创建业务对象的组件必须执行该转换。例如,当 ICS 是集成代理程序时,修改映射以处理此转换。

表 13 提供由业务对象处理程序设置的初始值。

表 13. SAP 中的初始字段值
数据类型 描述 由业务对象处理程序设置的初始值
C 字符 空格
N 数字字符串 000...
D 日期(YYYYMMDD) 00000000
T 时间(HHMMSS) 000000
X 字节(十六进制) X00
I 整数 0
P 压缩数字 0
F 浮点数字 0.0

Copyright IBM Corp. 1997, 2004