还剩5页未读,继续阅读
文本内容:
程序逻辑主程序While根据batchno第一次数据导入还是第二次数据导入(BTM专门设计),以及当前日期(Loadtime)需要进行的File-Table导入begin对于每个File-Table导入读入行导入控制表到内存While读入File的每一行beginWhile对于行导入控制表chk___用来判断是否修改=1的域begin计算数据域的值;判断该行是否导入/修改;endWhile对于行导入控制表Uk___用来判断是否关键字=1的域begin计算数据域的值;end判断UniqueIndex是否存在;及存在的记录数如果文件导入__pping表的keyflag是“存在1条情况才修改”或“存在0条1条情况才修改”,检查记录数是否符合条件,看是否继续While对于行导入控制表Upd___用来判断是否修改=1的域begin计算数据域的值;endInsert/Update数据库endend函数计算数据域的值参数行的全部内容,行导入控制表结构内容,文件导入__pping的相关参数逻辑调用采集文件字段函数得到字段1的结果数据;调用数据转换函数进行字段1的数据转换;调用采集文件字段函数得到字段2的结果数据;调用数据转换函数进行字段2的数据转换;调用采集文件字段函数得到字段3的结果数据;调用数据转换函数进行字段3的数据转换;调用数据转换函数2进行字段1字段2字段3进行最终数据转换;函数文件字段函数参数行的全部内容,文件导入__pping的相关参数逻辑(不再赘述)函数数据转换函数参数数据值(文件字段),__pway,4个参数(n1n2c1c2)逻辑switch__pway{case功能1原样返回char型从原来的字符中取从n1开始n2个字符2转化为number后+/-/乘/除n1,根据n2和c1定义的返回格式返回c1定义的返回格式01-直接number返回02-以长度为n2的字符返回,左对齐03-以长度为n2的字符返回,前补004-以长度为n2的字符返回,右对齐(+/-/乘/除存放在c2中)3输入的[1n2],以n1为__ppingtype读通用data__pping表4账号转为客户名称5客户号转为客户名称6账号转为机构代码7客户号转为机构代码8在n1和n2间,返回c1,否则c29在c1[1n1]和c1[n1+12n1]间,返回c2[1n2],否则c2[n22n2]10按照c1和c2到数据字典中查找,返回得到的字符串11输入字符串中,c1中包含的字符全部清除12返回固定值,n1=1,取c2,n1=2,取n213金额是否为n1的整数倍,是返回c1,否返回c214输入账号检查余额折算成美圆,是否小于等于参数n1,是返回c1,否返回c215两位国家代码转为三位16帐户转换为客户号17输入的[1n2],以n1为__ppingtype读通用data__pping表,如果匹配不到,返回原值18取字段的[n1n2]判断是奇数还是偶数,如果为基数返回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[1n2]否则返回c2[n2+12*n2]n1=2,如果字段1=c1,返回字0段2否则返回c2[1n2]n1=3,如果字段1=c1,返回字段2否则返回字段3n1=4,如果字段1=c1[1n2]且字段2=c1[n2+12*n2]返回‘1’,否则返回‘0’n1=5,如果字段1=c1[1n2]或字段2=c1[n2+12*n2]返回‘1’,否则返回‘0’n1=6,如果字段1=c1[1n2]且字段2=c1[n2+12*n2]且字段3=c1[2*n2+13*n2]返回‘1’,否则返回‘0’n1=7,如果字段1=c1[1n2]或字段2=c1[n2+12*n2]或字段3=c1[2*n2+13*n2]返回‘1’,否则返回‘0’n1=8,如果字段1=c1[1n2]且字段2=c1[n2+12*n2],返回字段3,否则返回字段c2n1=9,如果字段1=c1[1n2]或字段2=c1[n2+12*n2],返回字段3,否则返回c23以某种格式拼接3个字段格式定义在c1中体现(如c1=“%s-%s-%s”,则输出“字段1-字段2-字段3”)4字段1为币种,字段2为金额,折算为c1币种的金额以n1为长度,前补05以某种格式拼接3个字段格式定义在c1中体现(如c1=“%s%s%s”,则输出“字段1字段2字段3”)输入的[1n2],以n1为__ppingtype读通用data__pping表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函数判断该行是否导入/修改参数filetablefield,field值查找行导入过滤控制表,判断结果其他更细的函数不再描述数据表结构描述文件导入__pping表字段类型说明其他FileChar60文件名称P.K.TableChar20倒入数据表名称P.K.For__tTypeChar1文件类型1-列固定长度2-以特殊字符分割closepchar1分隔字符batchnoNumber11-第一次2-第二次(为BTM专门设计)SeqnoNumber5倒入顺序批量导入的顺序SubseqnoNumber5倒入子顺序如果可以支持多文件同时导入,此字段有用(不用)LoadtimeChar2导入时机10-日11-月末12-年末(参照日期维护定义)keyflagNumber1键值存在修改方法1-存在的情况下全部修改2-存在1条情况才修改3-存在0条1条情况才修改行导入控制表字段类型说明其他FileChar60文件名称P.K.TableChar20倒入数据表名称P.K.FieldChar20数据表字段P.K.Pointer1typeChar1采集字段1方法0-不用1-常规2-导入行当前行号Bgpointer1Number5字段1采集偏移起始位Edpointer1Number5字段1采集偏移终止位__pway1Number5字段1数据转换方法Mw1np1Number15字段1转换方法n型参数1Mw1np2Number15字段1转换方法n型参数2Mw1cp1Char60字段1转换方法c型参数1Mw1cp2Char60字段1转换方法c型参数2pointer1datatypechar1字段1数据类型1-number2-charPointer2typeChar1采集字段2方法0-不用1-常规2-导入行当前行号Bgpointer2Number5字段2采集偏移起始位Edpointer2Number5字段2采集偏移终止位__pway2Number5字段2数据转换方法Mw2np1Number15字段2转换方法n型参数1Mw2np2Number15字段2转换方法n型参数2Mw2cp1Char60字段2转换方法c型参数1Mw2cp2Char60字段2转换方法c型参数2pointer2datatypechar1字段2数据类型1-number2-charPointer3typeChar1采集字段3方法0-不用1-常规2-导入行当前行号Bgpointer3Number5字段3采集偏移起始位Edpointer3Number5字段3采集偏移终止位__pway3Number5字段3数据转换方法Mw3np1Number15字段3转换方法n型参数1Mw3np2Number15字段3转换方法n型参数2Mw3cp1Char60字段3转换方法c型参数1Mw3cp2Char60字段3转换方法c型参数2pointer3datatypechar1字段3数据类型1-number2-charU__pwayNumber5最终数据转换方法Umwnp1Number15最终转换方法n型参数1Umwnp2Number15最终转换方法n型参数2Umwcp1Char60最终转换方法c型参数1Umwcp2Char60最终转换方法c型参数2Udatatypechar1最终字段数据类型1-number2-charUpdwayChar1结果数据对于字段的修改方法1-覆盖,2-累加UkflagChar1关键字0-否,1-是UpdflagChar1修改0-否,1-是ChkflagChar1用来判断是否修改0-否,1-是行导入过滤控制表字段类型说明其他FileChar30文件名称P.K.TableChar20倒入数据表名称P.K.FieldChar20数据表字段P.K.DatatypeChar11-number2-charChkwayNumber5检查方法1-X参数1才导2-X=参数1才导3-参数1X参数24-参数1=X参数25-参数1X=参数26-参数1=X=参数2其他还没有想好chknp1Number15检查n型参数1chknp2Number15检查n型参数2chkcp1Char60检查c型参数1Chkcp2Char60检查c型参数1通用data__pping表字段类型说明其他MptypeNumber5__pping类型P.K.DatatypeChar10-缺省值1-正常情况P.K.InputKeyChar60输入P.K.OutputTypeChar11-number,2-charOutputNumNumber15N型输出OutputCharChar60C型输出。