当处理多个 IDoc 时,ALE 模块需要一个包装程序业务对象作为顶级业务对象。多个 IDoc 包装程序业务对象包含一个表示一组 IDoc 父包装程序业务对象的属性。
对于每个父包装程序业务对象,SAPODA 都会生成“创建”、“检索”、“更新”和“删除”查询描述。对于其中每个查询描述,它都会生成以下 AppSpecificInfo 值:
sap.sapalemodule.VSapALEBOHandler,MsgType=;MsgCode=;MsgFunction=
图 54 举例说明了顶级包装程序对象与其子 IDoc 业务对象之间的关系。
以下是一个多 IDoc 包装程序业务对象的样本定义:
[BusinessObjectDefinition] Name = sap_alereq01_wrapper Version = 1.0.0 AppSpecificInfo = [Attribute] Name = Dummy_key Type = String Cardinality = 1 MaxLength = 1 IsKey = true IsForeignKey = false IsRequired = true AppSpecificInfo = DummyKey DefaultValue = [End] [Attribute] Name = TransactionId Type = String Cardinality = 1 MaxLength = 1 IsKey = false IsForeignKey = false IsRequired = false AppSpecificInfo = CrossWorlds TID DefaultValue = [End] [Attribute] Name = sap_alereq01 Type = sap_alereq01 ContainedObjectVersion = 1.0.0 Relationship = Containment Cardinality = n MaxLength = 255 IsKey = false IsForeignKey = false IsRequired = false AppSpecificInfo = DefaultValue = [End] [Verb] Name = Create AppSpecificInfo = sap.sapalemodule.VSapALEBOHandler,MsgType=;MsgCode=;MsgFunction= [End] [Verb] Name = Retrieve AppSpecificInfo = sap.sapalemodule.VSapALEBOHandler,MsgType=;MsgCode=;MsgFunction= [End] [Verb] Name = Update AppSpecificInfo = sap.sapalemodule.VSapALEBOHandler,MsgType=;MsgCode=;MsgFunction= [End] [Verb] Name = Delete AppSpecificInfo = sap.sapalemodule.VSapALEBOHandler,MsgType=;MsgCode=;MsgFunction= [End]
表 28 列示并描述了表示多 IDoc
包装程序业务对象中子业务对象的属性的特性。
属性名 | 描述 |
---|---|
Name | 将其值设置为由 SAPODA 生成的父业务对象的名称。 |
Type | 将其值设置为由 SAPODA 生成的父业务对象的名称。 |
ContainedObjectVersion | 将其值设置为 1.0.0。 |
Relationship | 子业务对象由父业务对象包含,因此,其值为 containment。 |
IsKey | 将其值设置为 false。 |
IsForeignKey | 将其值设置为 false。 |
IsRequired | 将其值设置为 false。 |
AppSpecificInfo | 此属性不用于表示 ALE 模块中子业务对象的属性。 |
Cardinality | 将表示 IDoc 父业务对象的顶级包装程序业务对象中的属性值设置为基数 n。 |