文件导入参数控制体系.doc
7页程序逻辑主程序:While:根据batchno(第一次数据导入还是第二次数据导入(BTM专门设计)),以及当前日期(Loadtime)需要进行的File->Table导入begin 对于每个File->Table导入 读入行导入控制表到内存 While:读入File的每一行 begin While:对于行导入控制表chkflg(用来判断是否修改)=1的域 begin 计算数据域的值; 判断该行是否导入/修改; end While:对于行导入控制表Ukflg(用来判断是否关键字)=1的域 begin 计算数据域的值; end 判断Unique Index是否存在;及存在的记录数 如果文件导入mapping表的keyflag是 “存在1条情况才修改”或“存在0条1条情况才修改”, 检查记录数是否符合条件,看是否继续 While:对于行导入控制表Updflg(用来判断是否修改)=1的域 begin 计算数据域的值; end Insert/Update 数据库 endend函数:计算数据域的值:参数:行的全部内容,行导入控制表结构内容,文件导入mapping的相关参数逻辑:调用采集文件字段函数得到字段1的结果数据;调用数据转换函数进行字段1的数据转换;调用采集文件字段函数得到字段2的结果数据;调用数据转换函数进行字段2的数据转换;调用采集文件字段函数得到字段3的结果数据;调用数据转换函数进行字段3的数据转换;调用数据转换函数2进行字段1字段2字段3进行最终数据转换;函数:文件字段函数:参数:行的全部内容,文件导入mapping的相关参数逻辑:(不再赘述)函数:数据转换函数:参数:数据值(文件字段),mapway,4个参数(n1,n2,c1,c2) 逻辑:switch(mapway){case功能1原样返回(char型)从原来的字符中取从n1开始n2个字符。
2转化为number后+/-/乘/除n1,根据n2和c1定义的返回格式返回c1定义的返回格式:01-直接number返回02-以长度为n2的字符返回,左对齐03-以长度为n2的字符返回,前补004-以长度为n2的字符返回,右对齐(+/-/乘/除存放在c2中)3输入的[1,n2],以n1为mappingtype读通用datamapping表4账号转为客户名称5客户号转为客户名称6账号转为机构代码7客户号转为机构代码8在n1和n2间,返回c1,否则c29在c1[1,n1]和c1[n1+1,2n1]间,返回c2[1,n2],否则c2[n2,2n2]10按照c1和c2到数据字典中查找,返回得到的字符串11输入字符串中,c1中包含的字符全部清除12返回固定值,n1=1,取c2,n1=2,取n213金额是否为n1的整数倍,是返回c1,否返回c214输入账号检查余额(折算成美圆),是否小于等于参数n1,是返回c1,否返回c215两位国家代码转为三位16帐户转换为客户号17输入的[1,n2],以n1为mappingtype读通用datamapping表,如果匹配不到,返回原值18取字段的[n1,n2]判断是奇数还是偶数,如果为基数返回c1, 否则返回c219取出指定字段的值从指定的表中,条件为另一个字段的值为输入的值,查不到则返回空例如:客户号转化为证件类型 , c1填: persionidtype|custompf|customno客户号转化为证件号码, c1填: personid|custompf|customno即c1的格式为: 目标字段名|表名|源字段名如果找到多条记录则只取第一条的目标字段名另外如果c2不为空,则条件为另一个字段的值为c21001三菱客户化函数: 帐户转换为客户号(取Fillter1)}函数:数据转换函数2:类似数据转换函数,输入项多2个。
case功能1取某个字段(1,2或3),参数:n1n1=1,取字段1的输入依次类推2取计算结果n1=1,如果:字段1=c1,返回c2[1,n2]否则返回c2[n2+1,2*n2]n1=2,如果:字段1=c1,返回字0段2否则返回c2[1,n2]n1=3,如果:字段1=c1,返回字段2否则返回字段3n1=4,如果:字段1=c1[1,n2]且字段2=c1[n2+1,2*n2]返回‘1’ ,否则返回‘0’n1=5,如果:字段1=c1[1,n2]或字段2=c1[n2+1,2*n2] 返回‘1’ ,否则返回‘0’n1=6,如果:字段1=c1[1,n2]且字段2=c1[n2+1,2*n2] 且字段3=c1[2*n2+1,3*n2]返回‘1’ ,否则返回‘0’n1=7,如果:字段1=c1[1,n2]或字段2=c1[n2+1,2*n2] 或字段3=c1[2*n2+1,3*n2]返回‘1’ ,否则返回‘0’n1=8,如果:字段1=c1[1,n2]且字段2=c1[n2+1,2*n2],返回字段3,否则返回字段c2n1=9,如果:字段1=c1[1,n2]或字段2=c1[n2+1,2*n2],返回 字段3,否则返回c2。
3以某种格式拼接3个字段:格式定义在c1中体现(如:c1= “%s-%s-%s”,则输出“字段1-字段2-字段3”)4字段1为币种,字段2为金额,折算为c1币种的金额,以n1为长度,前补05以某种格式拼接3个字段:格式定义在c1中体现(如:c1= “%s%s%s”,则输出“字段1字段2字段3”)输入的[1,n2],以n1为mappingtype读通用datamapping表6对字段1转化为number后+、-、*、\ n1,根据n2和c1定义的格式返回c1定义的返回格式:01-直接number返回02-以长度为n2的字符返回,左对齐03-以长度为n2的字符返回,前补004-以长度为n2的字符返回,右对齐(+/-/乘/除存放在c2中)7德字段1=c1,且字段2不等于c2,满足条件的返回字段3,否则返回n1其中c2的值支持穷举,值之间以’|”分割, 如aa|bb|cc|8巴字段1转化为number后>、< 、>=、<= n1,(<,>,>=.<=存放在c1中) 且字段2=c2, 返回字段3,否则返回空9函数:判断该行是否导入/修改:参数:file,table,field,field值查找行导入过滤控制表,判断结果。
其他更细的函数不再描述)数据表结构描述文件导入mapping表字段类型说明其他FileChar(60)文件名称P.K.TableChar(20)倒入数据表名称P.K.FormatTypeChar(1)文件类型1-列固定长度2-以特殊字符分割closepchar(1)分隔字符batchnoNumber(1)1-第一次2-第二次(为BTM专门设计)SeqnoNumber(5)倒入顺序批量导入的顺序SubseqnoNumber(5)倒入子顺序如果可以支持多文件同时导入,此字段有用不用)LoadtimeChar(2)导入时机10-日11-月末12-年末(参照日期维护定义)keyflagNumber(1)键值存在修改方法1-存在的情况下全部修改2-存在1条情况才修改3-存在0条1条情况才修改行导入控制表字段类型说明其他FileChar(60)文件名称P.K.TableChar(20)倒入数据表名称P.K.FieldChar(20)数据表字段P.K.Pointer1typeChar(1)采集字段1方法:0-不用1-常规2-导入行当前行号Bgpointer1Number(5)字段1采集偏移起始位Edpointer1Number(5)字段1采集偏移终止位Mapway1Number(5)字段1数据转换方法Mw1np1Number(15)字段1转换方法n型参数1Mw1np2Number(15)字段1转换方法n型参数2Mw1cp1Char(60)字段1转换方法c型参数1Mw1cp2Char(60)字段1转换方法c型参数2pointer1datatypechar(1)字段1数据类型1-number2-charPointer2typeChar(1)采集字段2方法:0-不用1-常规2-导入行当前行号Bgpointer2Number(5)字段2采集偏移起始位Edpointer2Number(5)字段2采集偏移终止位Mapway2Number(5)字段2数据转换方法Mw2np1Number(15)字段2转换方法n型参数1Mw2np2Number(15)字段2转换方法n型参数2Mw2cp1Char(60)字段2转换方法c型参数1Mw2cp2Char(60)字段2转换方法c型参数2pointer2datatypechar(1)字段2数据类型1-number2-charPointer3typeChar(1)采集字段3方法:0-不用1-常规2-导入行当前行号Bgpointer3Number(5)字段3采集偏移起始位Edpointer3Number(5)字段3采集偏移终止位Mapway3Number(5)字段3数据转换方法Mw3np1Number(15)字段3转换方法n型参数1Mw3np2Number(15)字段3转换方法n型参数2Mw3cp1Char(60)字段3转换方法c型参数1Mw3cp2Char(60)字段3转换方法c型参数2pointer3datatypechar(1)字段3数据类型1-number2-charUmapwayNumber(5)最终数据转换方法Umwnp1Number(15)最终转换方法n型参数1Umwnp2Number(15)最终转换方法n型参数2Umwcp1Char(60)最终转换方法c型参数1Umwcp2Char(60)最终转换方法c型参数2Udatatypechar(1)最终字段数据类型1-number2-charUpdwayChar(1)结果数据对于字段的修改方法1-覆盖,2-累加UkflagChar(1)关键字0-否,1-是UpdflagChar(1)修改0-否,1-是ChkflagChar(1)用来判断是否修改0-否,1-是行导。

卡西欧5800p使用说明书资料.ppt
锂金属电池界面稳定化-全面剖析.docx
SG3525斩控式单相交流调压电路设计要点.doc
话剧《枕头人》剧本.docx
重视家风建设全面从严治党治家应成为领导干部必修课PPT模板.pptx
黄渤海区拖网渔具综合调查分析.docx
2024年一级造价工程师考试《建设工程技术与计量(交通运输工程)-公路篇》真题及答案.docx
【课件】Unit+3+Reading+and+Thinking公开课课件人教版(2019)必修第一册.pptx
嵌入式软件开发流程566841551.doc
生命密码PPT课件.ppt
爱与责任-师德之魂.ppt
制冷空调装置自动控制技术讲义.ppt


