NCC数据交换管理功能介绍1、引言信息交换平台主要用于外部系统和NCCloud系统进行集成。利用信息交换平台,可以将外系统的基本档案和业务数据发送到NCCloud系统中,并进行相关的业务操作,如审批、弃审,也可以通过发送XML格式的查询条件导出NCCloud系统的数据(需业务插件支持),导出的数据可以附着在回执文件中,也可以直接向外部系统回发HTTP请求。2、应用场景及问题描述信息交换平台属于产品集成平台中的数据交换管理模块,涉及到应用节点有外部系统信息设置、辅助信息配置、检验文件管理、基础数据对照表、手动加载界面、交换平台日志、输入流监控、ID对照表、翻译器配置。3、解决方案3.1外部系统信息设置外部系统要和UAP平台上产品交换数据,彼此间必须相互可以识别,外部系统信息配置就是用来配置系统可识别的外部系统。根据交换平台规则,发送的数据文件格式属性头中必然包括sender字段,配置外系统为sender字段内容后,系统便可以识别该外系统文件,并根据随后配置的匹配规则、辅助信息、基础数据对照表及交换规则对文件进行处理,通过UAP平台提供的数据交换功能翻译转化成UAP平台上各产品中的数据。【外部系统编码、名称】:根据实际业务设置即可。此处可以增加多个外部系统,每个系统可以设置不同的匹配规则。在待导入数据对应的配置文件(XML)中有sender字段,将该字段值设置为需要进行匹配的外部系统编码,数据导入时系统会根据sender字段值匹配出外部系统,然后根据此外部系统下设置的档案匹配规则进行档案翻译。【默认匹配规则】:分为“仅按对照表”、“按PK”、“按编码”、“按名称”四类。用来配置数据文件中需参照基本档案翻译字段的翻译规则,其优先级低于基础数据对照表中配置的对照关系。配置匹配规则是为了免去用户逐条配置基础数据对照表的繁琐,提高易用性,请用户根据自身实际情况灵活使用。默认匹配规则一般看数据文件中需参照基本档案的字段多数和NC系统中基本档案的编码或名称哪项一致,即设置成依据哪项默认匹配,其他档案在表体中设成按其他规则匹配,都不一致的就只能增加对照表。【基础档案匹配规则】:表体中基础档案匹配规则优先级高于表头的默认匹配规则。3.2辅助信息配置利用交换平台做数据交互时,业务数据一般都放在具体的XML文档中,但是发送过程中往往还有一些数据并不需要也不能写到每个具体的XML文档里,这些数据,用户往往需要根据当前的发送方、接收方、单据类型及具体的业务场景进行设定。对于存货基本档案、客商基本档案、项目基本档案等在集团增加可分配到下级公司的档案,支持导入到集团的同时分配给公司,只需在辅助信息中配置。对于存货管理档案,可分配到库存组织。对于凭证,配置凭证各字段是否允许修改、删除。对于银行对账单,配置对账单的对账账户和业务类型信息。1)打开【集成平台】->【数据交换管理】->【辅助信息配置】,增加客商档案、存货档案、项目档案的分配关系、凭证的修改和删除权限及银行对账单的业务信息。2)在配置时客商、项目档案的接收组织为集团,在表体中增加要分配到的公司,在导入档案到集团的同时,系统自动把基本档案分配到辅助信息中配置的组织。客商、项目的接收组织不能为公司,没有意义。3)存货档案可以分三种形式导入:存货基本档案(简称基本档案)、存货基本档案+管理档案(简称管理档案)、存货基本档案+管理档案+物料生产档案(简称综合档案)。4)存货基本档案有两种发送方式:集团(不分配给公司)、集团(分配给公司),如果选择导入集团同时分配给公司,则需要在辅助信息设置界面设定待分配的公司,并且单据类型要选择invbas。5)管理档案也有三种发送方式:集团(不分配给公司)、公司、集团(分配给公司),如要分配给公司,同样需要配置辅助信息,只是配置辅助信息时单据类型要选择bsinvbas。看出管理档案发送到集团并分配给公司时和基本档案差不多,只是可以在数据文件中默认带一些管理档案的信息。6)综合档案有两种发送方式:公司(不分配给多库存组织,此时物料生产档案直接增加到数据文件中定义的库存组织)、公司(分配给多库存组织,可以在辅助信息界面配置待分配的库存组织及相应的主仓库,配置辅助信息时单据类型要选择bsinvbas)。3.3检验文件管理外部系统数据文件的格式和内容差异性很大,要转化UAP平台各产品可识别的数据才可导入,就需要在校验文件管理节点定义数据的校验规则、转换规则、导出格式等。【该字段在UAP对应产品中的名称】:这个字段在UAP的数据结构中的名称,这个名称是由UAP各产品的元数据决定的,由校验文件自动生成时自动填充,用户一般不需要修改它。该字段在外系统中的名称:表示字段元素的标签名。数据交换的本质是数据映射,让一个系统中有意义的数据变为另一个系统中同样有意义的数据,但两者的名称可能不一样。在这里我们要正确填写外系统数据文件中跟NC中某字段对应的字段元素的标签名,否则就会丢失信息。如表体记录定义的字段exsystemcode,默认的外系统名称为‹exsystemcode›,与数据文件中相应字段元素的标签名‹excode›不一致,需要将该字段的这个属性值设置为相应字段元素的标签名“excode”,否则在转换过程中就会丢失这个字段的值。【字段描述】:对字段的详细描述,使易于理解。校验文件管理界面左侧树上的字段节点的名称显示为字段描述设置的值。【数据类型】:字段在UAP平台数据结构中的数据类型,在转换过程中用于校验外系统数据。可以设置的值包括字符串、整型、UFBoolean、UFDouble、日期、时间戳等等,通过元数据自动生成。【允许为空】:在插件检查前交换平台会先根据交换规则检查必输字段内容是否已输入,一般情况下不需要修改,用户也可根据自身需要修改各字段是否必输。【最大长度】:字段值的最大长度,在转换过程中用于校验外系统数据的合法性。通过元数据自动生成,一般不用修改。【默认值】:通过该属性为字段定义一个默认值,当外系统数据文件中没有该字段的值时,那么就取此默认值导入到UAP系统中。适合于UAP产品内的非空字段,但外系统不具备相应字段元素值的情形,比如导入U860的部门档案、会计科目时,U860相应数据文件均没有公司字段元素,所以需要修改数据文件,或者在校验文件中设置默认值,相对来说,在校验文件中设置默认值显得一劳永逸一些。【是否需要导出】:数据导出时是否导出该字段。【字段在外系统中的位置】:该项用于指定当前字段元素在整个单据元素中的位置,一般情况下,字段元素都是其父元素即实体元素的子元素,然而当该字段元素没有遵循这个常规,如在某些情况下字段元素是其实体元素的兄弟结点,或者在是其他节点的子节点,这时候就需要设置这个属性。设置字段位置时可以用相对路径(相对路径的默认起点是当前字段元素的父元素),也可以使用绝对路径(绝对路径必须以_root开头,_root表示当前单据元素节点,而不是元素节点)。路径由外系统元素标签名或者符号“^”构成,之间用记号“|”分隔,标签名表示找子元素,“^”符号表示寻找父元素。如“^|a”表示先找到当前实体元素(即当前字段元素的父元素)的父元素,然后再在其下找名为a的元素。【举例】:简单字段元素并不是简单实体元素的子元素,而是它的兄弟元素,是单据元素的子元素。这种情况下我们就需要设置字段deftranslator的【字段在外系统中的位置】项。因为字段deftranslator对应的字段元素并不是实体元素(此处也是单据表头元素)的子元素节点,而是其兄弟节点,所以将【字段在外系统中的位置】项值设置为“^”,这样就会从实体元素的父元素(此处也是单据元素)取得该字段元素。【参照的元数据实体】:该元素定义了当前字段属于何种基本档案。因为如果当前字段是基础档案数据,那么和UAP系统交换时需要进行翻译,将外系统值翻译成UAP各产品系统基础档案的PK值。如对于部门,为“部门档案”,人员则为“人员档案”等等,具体编辑时根据参照选择即可。通过元数据自动生成,在元数据中表现为REF字段。【自定义翻译器】:当该前字段的翻译不能通过默认的翻译器进行翻译时,需要自定义翻译器进行翻译。只要在“自定义翻译器注册”界面中注册自己的翻译器,并在此处选择对应的翻译器即可。【自定义翻译器变量参数列表】:自定义翻译器中可能需要特定的变量值用于翻译,如集团,组织等等信息,此处将需要在上下文中使用的变量名按“;”分隔的方式填写,就可以将定义的变量供翻译器使用。此处填写的变量名称,必须是当前字段之前已经翻译的字段,即在左侧树中当前字段上部的字段。【基础数据对照依赖的组织变量名称】:在进行数据翻译时,需要根据基础数据对照表中的数据进行翻译(参照基础数据对照节点),其中要求根据不同的组织设置不同的对照关系,所以此处需要设定组织变量名称,根据不同的组织进行对照翻译。将组织字段定义为变量,并将变量名称填写在此处,则在翻译的时候就可以根据不同的组织进行数据对照翻译了【枚举类型】:该元素定义了当前字段属于何种枚举类型。通过元数据自动生成,在元数据中表现为枚举字段。【变量名称定义】:将当前字段设置为变量,用于自定义翻译器使用,只有设置为变量的数据才能供翻译器的上下文使用。【简单对照规则】:用于外系统和UAP系统数据间的简单映射,比如“False=0;True=1”,表示如果外系统当前字段的值为False,那么导入到UAP系统产品的值为0,如果当前字段的值为True,那么导入到UAP系统产品的值为1;导出时则恰好相反。【导入公式】:在导入数据时,外部系统的XML文件首先被转换为符合UAP标准数据格式的XML文件,此XML文件紧接着再被转换为UAP系统内部的数据结构VO。导入公式主要用于标准XML文件到VO这一过程中对字段的取值做进一步的处理。【导出公式】:当把VO形式的UAP系统各产品单据导出为外部XML文件时,会根据该字段的导出公式对VO中的数据进行转换,以导出需要的数据。3.4基础数据对照表如果要导入的单据数据需要作基础数据对照(对于需要参照基本档案的字段,如果其值不能按名称或者编码自动翻译过来的话,在导入过程中系统会自动提示必须为该值做基础数据对照),在“基础数据对照”界面根据需要参照的外部系统、需要参照的基本档案、组织为需要对照的值做基础数据对照。基础数据对照表增加包括自动增加和文件导入两种增加方式。1)选择外系统和基础数据分类后,点击【基础数据自动增加】按钮,选择按编码或名称导入,系统会自动增加该基础数据类型表中所有数据,“外部系统值”同基础数据的编码或名称。用户可以在此基础上修改部分“外部系统值”,达到快速增加对照关系的目的。2)【基础数据文件导入】支持Excel文件和XML文件导入。Excel文件导入时,其中第一列为外系统值,第二列为外部系统描述,之后是UAP产品中所对应的值。系统自动取文件的第一列添入“外部系统值”中,取第二列并校验其是否系统合法值,合法则填充;XML文件导入时,系统根据用户指定按编码或名称导入取编码或名称值添入“外部系统值”中。用户自行选择对应的基础数据,对于没有输入基础数据的"外部系统值",系统将自动按照外系统的默认数据匹配规则进行翻译转换。3.5手动加载界面数据交换平台的异步发送方式有两种,手动加载方式和预警加载方式,在手动加载界面完成对外系统文件的加载。【数据文件目录】:要发送的数据文件所在的目录。【查看回执文件】:数据导入的结果信息在点击发送完之后会下载在本地,可以选择并打开相应回执文件。【回执文件最大数目】:回执目录中允许存在的最大回执文件数量,不勾选则不限制回执目录中的文件数量,勾选则当回执目录中的文件数量达到此处设置的数值则自动删除已存在的回执数据。【回执文件命名规则】:生成的回执文件的命名格式。【单篇传输上限(KB)】:单个XML文件的大小的极限值。【是否压缩传输】:支持压缩传输与非压缩传输两种传输模式,如果机器性能较差但网络状况很好(比如局域网内),可以采用非压缩传输,相反,则采用压缩传输,在远程传输较大的数据文件时,压缩传输能大大提高传输效率。【目标URL地址】:这些信息项目按照是否必设置可以分为三类:必须设置的属性、根据Servlet的URL参数设置决定是否必设的属性和根据需要决定是否设置的属性。在外系统的单据数据的导入过程中需要用到一些初始化信息,如帐套、接收集团、数据所属外部系统(发送方)、单据类型等。这部分数据可以在Servlet的URL地址的参数中指定,也可以在XML数据文件的文档头属性中指定,但是在Servlet的URL地址的参数中指定的信息比在XML数据文件的文档头属性中指定的信息有更高的优先级别。account属性:要将数据导入至NC系统的哪个帐套。【https】:勾选https后目标URL中http自动变换为https,按照https格式进行传输。3.6交换平台日志在每次发送数据文件返回回执的同时,信息交换平台会生成平台日志,在该节点可进行日志的查询、删除等操作。通过查看后台日志可以准确定位一些常见的错误和问题。【单据类型】:发送文档上的单据类型。【发送方】:外部系统。【接收方】:接收公司。【单据编码】:文档id,取xml文件中的filename值,如配置文件中filename值为空则系统字段生成一个单据编码。【发送文件名】:发送文件的标识。【是否成功接收】:否表示失败;是表示成功。【描述】:发送文件的处理结果描述信息。【业务单据返回值】:业务插件返回的值。【文档编码】:对应单据在ID对照表中的记录的id。【原始文档】:点击可查看到原始导入的文档。【原始文档存放路径】:存放于文件服务器上,对应路径是/pfxx/pfxxtemp/indocs/【翻译后文档】:点击可查看信息交换平台翻译后的文档;【翻译后文档存储路径】:存放于文件服务器上,对应路径是/pfxx/pfxxtemp/translated/【日志统计】:统计导入的xml文件总单据数量、成功单据数量、失败单据数量信息。【系统默认帐套】:决定外部数据导入时默认导入到哪个帐套里。在“手动加载界面”的目标url地址的account参数和导入文档的根属性account中均可指定导入的帐套值,此处设置的该参数只有当url中的account参数值和导入文档的根属性account均未设置时才起作用。三个参数的优先级:url中的acount值>导入文档的根属性account值>参数设置的外部系统默认帐套。【最大单篇传输上限】:每个待导入xml文件的最大值。【导入过程中记录中间文件】:用于控制所导入文档的每张单据是否在文件服务器上做备份记录,主要做两次备份,分别是原始单据备份和转换翻译后单据的备份。前者备份至文件服务器目录/pfxx/pfxxtemp/indocs/下,后者备份至文件服务器目录/pfxx/pfxxtemp/translated/下。【记录输入流】:勾选则启用输入流监控,启用后所有通过信息交换平台传输的数据将会被记录到此处。不勾选则不启用输入流监控。记录输入流影响系统性能,因此不支持同时勾选大文件模式与记录输入流。【回执文件后台备份】:参数控制是否后台备份回执文件。对于导入的每一张单据,信息交换平台都会给客户端或者发送方一个回执信息即一个XML格式的,如果勾选此参数,则会在文件服务器目录/pfxx/pfxxtemp/responses/中再备份一份回执文件。【大文件模式传输】:通的传输方式对xml文件大小限制为10M,当勾选打文件模式时导入xml文件大小将没有限制。此外当使用大文件模式导入文件时,由于单据数据会特别多前台若返回日志将特别乱,因此前台将不再返回回执,只能到后台查看导入日志来确定单据是否导入成功。【保留大文件模式临时文件】:勾选该选项时,在使用大文件传输模式进行数据传输的时候可以在文件服务器目录/pfxx/pfxxtemp/_work_temp_/目录下查看导入的大文件是否正确被传送到后台。【回执和导出文件编码格式】:用户控制信息交换平台导出的XML数据文件或者单据回执文件的编码格式可配置,默认系统默认回执和导出文件的编码格式是UTF-8,信息交换平台同时支持UTF-8和gb2312格式文件的导入。【单据导入规则设置】:分为“同一文档里的所有单据批量处理”和“同一文档里的每张单据单独处理”。当选择“同一文档里的所有单据批量处理”时,则导入时同一文档内的数据一个导入不成功则所有数据处理失败;当选择“同一文档里的每张单据单独处理”时,统一文档内一张单据导入失败不影响其他单据的导入。【最大线程数】:允许多少个线程同时导入数据,0表示不限制。3.7输入流监控输入流监控将文件导入过程的日志分为4类:输入流正常、一般业务校验错误、文档本身不符合XML格式、输入流因为网络问题而出错。从细化文件导入的错误类型角度记录导入过程的日志,以便于更有效的定位和解决文件导入时出现的问题。【启用输入流监控】:在交换平台日志界面的上方点击“参数设置”后勾选“记录输入流”即可,此后所有通过信息交换平台传输的数据将会被记录到此处。3.8ID对照表ID指的是发送的xml文件bill标签的ID属性.外部交换平台是根据这个ID来判断单据的导入是新增还是更新,所以如果此前导入的时候没有定义ID,之后又想修改这条数据,那么就可以从这个节点找到对应的记录,将ID字段填写到需要更新的单据的bill标签的ID属性上,从而实现档案或者单据的更新操作。3.9翻译器配置翻译器主要是外系统导入NCCloud系统时涉及到的某些字段需要通过特殊处理,从而才能翻译成正确的数据,这时候就需要配置翻译器,这个节点存放了当前系统可用的所有翻译器信息,无论是进行客开或者需要配置交换规则,都可以从这里增加翻译器实现自己的需求。