不再具有这两个属性。
2.3 VO数组记录的配置规则
VO数组记录描述了NC系统中ValueObject类型数组的信息。该记录的字段定义是该记录相应数组元素的类型ValueObject类所有属性的字段定义,也就是说其字段定义描述的是其元素的属性内容。
图3.2.3.1 VO数组类型的数据结构
假设我们有如图3.2.3.1所示的VO类CustomerVO,其含有对另一个VO类PersonVO的多重关联,并且在Java中我们用一个数组来实现这个多重关联。这时候的persons字段是一个复杂字段,我们需要在校验文件中为之单独定义一个记录。根据这样的VO结构,我们自动生成的校验文件如图3.2.3.2所示。
图3.2.3.2 根据内部数据结构自动生成的校验文件
对于billhead记录的persons字段的属性项定义,我们需要注意的是【数据类型】属性项的值默认设为了“复杂类型”,【该字段在外系统中的位置】属性项的值设置为复杂字段描述记录的表定义名称,而且系统为这个复杂字段定义好了名为persons的VO记录。另外,假设我们有如图3.2.3.3所示的外系统数据文件,因为复杂字段元素的标签名为
我们再来看名为persons的VO数组类型的记录定义。
【复杂字段对应的类名称】属性项填写此记录对应的数据对象的类名,因为此记录是VO数组类型的记录,应该填写VO数组类名的全称,此处是“pfxx.example4.PersonVO[]”。
【内嵌结构数据类型】属性项指定该内嵌结构记录的具体类型。Persons记
第 33 页
录是个“VO数组”类型的记录。
图3.2.3.3 数据文件中的VO数组类型的复杂字段元素
【表类型】一共有“表头”、“表体”和“内嵌结构”三种类型值。对于描述复杂字段的记录,都应该是“内嵌结构”型。用户也不必修改这个属性值。
【表定义名称】该记录的名称,如果用户为某个记录修改了名称,而又有复杂字段要参照这个记录,则需要同时修改复杂字段的【该字段对应的表结构定义】属性值。
【实体元素外系统标签名】这个属性项只有在VO数组类型和VO集合类型的表记录中才会定义。在VO数组类型的记录中,【实体元素外系统标签名】指的是VO数组类型的复杂字段元素(VO数组记录元素)中每个实体元素(数组元素)的根标签名。因此需要将这个属性值设置为“person_EX”。
【实体元素NC系统标签名】NC系统生成标准数据文件时使用的标签名,用户一般不需要修改。
图3.2.3.4 默认生成的VO数组类型的记录定义
第 34 页
图3.2.3.5 配置修改后的VO数组类型的记录定义
【转换后标准的表标签】和【外系统定义的表标签】这两个属性在VO集合类型的记录定义中没有意义,50版外部交换平台在生成这种类型的记录定义时不再具有这两个属性。
2.4 简单集合记录的配置规则
简单集合记录描述了NC系统中数据类型为基本数据类型集合的数据结构的信息。该记录的字段定义有且仅有一个,描述的是集合的元素信息。
图3.2.4.1 简单集合类型的数据结构
假设我们有如图3.2.4.1所示的VO类CustomerVO,其含有对字符串类型的多重引用,并且在Java中我们用一个List来实现这个多重关联。Customer类代码类似于下图。
图3.2.4.2 集合类型数据结构的Java代码实现
这时候的persons字段是一个复杂字段,我们需要在校验文件中为之单独定义一个记录。根据这样的VO结构,系统自动生成的校验文件如图3.2.4.3所示。
第 35 页
图3.2.4.3 根据内部数据结构自动生成的校验文件
对于billhead记录的persons字段的属性项定义,我们需要注意的是【数据类型】属性项的值默认设为了“复杂类型”,【该字段在外系统中的位置】属性项的值设置为复杂字段描述记录的表定义名称,而且系统为这个复杂字段定义好了名为persons的VO记录。另外,假设我们有如图3.2.4.4所示的外系统数据文件,因为复杂字段元素的标签名为
图3.2.4.4包含简单集合类型的复杂字段元素的外系统数据
我们再来看名为persons的记录的属性设置。
图3.2.4.5 默认生成的简单集合类型的记录定义
【复杂字段对应的类名称】属性项的默认值是“java.util.List”,因为在CustomerVO类的申明中persons属性的类型是List接口而不是具体List实现类,在这儿需要填写List接口的具体实现类。如将该属性项的值设置为“java.util.ArrayList”。
第 36 页
图3.2.4.6 配置修改后的简单集合类型的记录定义
【内嵌结构数据类型】填写复杂字段的具体类型,有“简单数组”,“VO数组”,“VO类型”,“集合”四种类型的值。在这儿系统默认生成的是“集合”,用户不必修改。
【表类型】一共有“表头”、“表体”和“内嵌结构”三种类型值。对于描述复杂字段的记录,都应该是“内嵌结构”型。用户也不必修改这个属性值。
【表定义名称】该记录的名称,如果用户为某个记录修改了名称,而又有复杂字段要参照这个记录,则需要同时修改复杂字段的【该字段对应的表结构定义】属性值。
【Collection内部元素的数据类型】和【Collection内部元素对应的类名】两属性项分别设置集合内部元素的数据类型和类名,如前所述,系统在自动生成校验文件时将persons记录的【Collection内部元素的数据类型】属性项值设置为基本类型,【Collection内部元素对应的类名】属性项的值设置为“java.lang.String”。我们的例子中集合的元素类型是字符串,所以这个默认设置恰好符合要求,则不必再作修改,但如果集合的元素类型是整型,则需要将【Collection内部元素对应的类名】属性项的值设置为“java.lang.Integer”。
【转换后标准的表标签】和【外系统定义的表标签】这两个属性在VO集合类型的记录定义中没有意义,50版外部交换平台在生成这种类型的记录定义时不再具有这两个属性。
2.5 VO集合记录的配置规则
ValueObject集合记录描述了NC系统中数据类型为ValueObject集合的信息。它的字段定义描述的是集合元素的ValueObject类型的属性。
图3.2.5.1 VO集合类型的数据结构
假设我们有如图3.2.5.1所示的VO类CustomerVO,其含有对另一个VO类PersonVO的多重关联,并且在Java中我们用一个List来实现这个多重关联。Customer类代码类似于图3.5.2.2。
第 37 页
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库NCV5-外部交换平台技术红皮书(8)在线全文阅读。
相关推荐: