def main(inn, out): out.put( {'BOTSID': 'STX'} ) #for tradacoms: dummy root node is created (is not used!! for eg envelope) sender = inn.ta_info['frompartner'] out.ta_info['frompartner'] = sender receiver = inn.ta_info['topartner'] out.ta_info['topartner'] = receiver if 'testindicator' not in inn.ta_info: inn.ta_info['testindicator'] = '0' out.ta_info['testindicator'] = '0' messagecounter = 0 ordercounter = 0 isfirstmessage = True for mes in inn.getloop({'BOTSID': 'envelope'}, {'BOTSID': 'message'}): if isfirstmessage: #~ #do the ORDHDR isfirstmessage = False messagecounter += 1 ord = out.putloop({'BOTSID': 'STX'}, {'BOTSID': 'MHD'}) ord.put({ 'BOTSID': 'MHD', 'TYPE.01': 'ORDHDR', 'TYPE.02': '9', 'MSRF': messagecounter }) ord.put({'BOTSID': 'MHD'}, { 'BOTSID': 'TYP', 'TCDE': mes.get({ 'BOTSID': 'message', 'docsrt': None }) }) ord.put({'BOTSID': 'MHD'}, { 'BOTSID': 'TYP', 'TTYP': mes.get({ 'BOTSID': 'message', 'mesfunc': None }) }) ord.put({'BOTSID': 'MHD'}, { 'BOTSID': 'SDT', 'SIDN.01': mes.get({'BOTSID': 'message'}, {'BOTSID': 'partys'}, { 'BOTSID': 'party', 'qual': 'SU', 'gln': None }) }) ord.put({'BOTSID': 'MHD'}, { 'BOTSID': 'SDT', 'SIDN.02': mes.get({'BOTSID': 'message'}, {'BOTSID': 'partys'}, { 'BOTSID': 'party', 'qual': 'SU', 'bilnum': None }) }) ord.put({'BOTSID': 'MHD'}, { 'BOTSID': 'SDT', 'SNAM': mes.get({'BOTSID': 'message'}, {'BOTSID': 'partys'}, { 'BOTSID': 'party', 'qual': 'SU', 'name': None }) }) ord.put({'BOTSID': 'MHD'}, { 'BOTSID': 'SDT', 'SADD.01': mes.get({'BOTSID': 'message'}, {'BOTSID': 'partys'}, { 'BOTSID': 'party', 'qual': 'SU', 'addressline1': None }) }) ord.put({'BOTSID': 'MHD'}, { 'BOTSID': 'SDT', 'SADD.02': mes.get({'BOTSID': 'message'}, {'BOTSID': 'partys'}, { 'BOTSID': 'party', 'qual': 'SU', 'addressline2': None }) }) ord.put({'BOTSID': 'MHD'}, { 'BOTSID': 'SDT', 'SADD.03': mes.get({'BOTSID': 'message'}, {'BOTSID': 'partys'}, { 'BOTSID': 'party', 'qual': 'SU', 'addressline3': None }) }) ord.put({'BOTSID': 'MHD'}, { 'BOTSID': 'SDT', 'SADD.04': mes.get({'BOTSID': 'message'}, {'BOTSID': 'partys'}, { 'BOTSID': 'party', 'qual': 'SU', 'addressline4': None }) }) ord.put({'BOTSID': 'MHD'}, { 'BOTSID': 'SDT', 'SADD.05': mes.get({'BOTSID': 'message'}, {'BOTSID': 'partys'}, { 'BOTSID': 'party', 'qual': 'SU', 'pcode': None }) }) ord.put({'BOTSID': 'MHD'}, { 'BOTSID': 'SDT', 'VATN.02': mes.get({'BOTSID': 'message'}, {'BOTSID': 'partys'}, { 'BOTSID': 'party', 'qual': 'SU', 'vatnum': None }) }) ord.put({'BOTSID': 'MHD'}, { 'BOTSID': 'CDT', 'CIDN.01': mes.get({'BOTSID': 'message'}, {'BOTSID': 'partys'}, { 'BOTSID': 'party', 'qual': 'BY', 'gln': None }) }) ord.put({'BOTSID': 'MHD'}, { 'BOTSID': 'CDT', 'CIDN.02': mes.get({'BOTSID': 'message'}, {'BOTSID': 'partys'}, { 'BOTSID': 'party', 'qual': 'BY', 'bilnum': None }) }) ord.put({'BOTSID': 'MHD'}, { 'BOTSID': 'CDT', 'CNAM': mes.get({'BOTSID': 'message'}, {'BOTSID': 'partys'}, { 'BOTSID': 'party', 'qual': 'BY', 'name': None }) }) ord.put({'BOTSID': 'MHD'}, { 'BOTSID': 'CDT', 'CADD.01': mes.get({'BOTSID': 'message'}, {'BOTSID': 'partys'}, { 'BOTSID': 'party', 'qual': 'BY', 'addressline1': None }) }) ord.put({'BOTSID': 'MHD'}, { 'BOTSID': 'CDT', 'CADD.02': mes.get({'BOTSID': 'message'}, {'BOTSID': 'partys'}, { 'BOTSID': 'party', 'qual': 'BY', 'addressline2': None }) }) ord.put({'BOTSID': 'MHD'}, { 'BOTSID': 'CDT', 'CADD.03': mes.get({'BOTSID': 'message'}, {'BOTSID': 'partys'}, { 'BOTSID': 'party', 'qual': 'BY', 'addressline3': None }) }) ord.put({'BOTSID': 'MHD'}, { 'BOTSID': 'CDT', 'CADD.04': mes.get({'BOTSID': 'message'}, {'BOTSID': 'partys'}, { 'BOTSID': 'party', 'qual': 'BY', 'addressline4': None }) }) ord.put({'BOTSID': 'MHD'}, { 'BOTSID': 'CDT', 'CADD.05': mes.get({'BOTSID': 'message'}, {'BOTSID': 'partys'}, { 'BOTSID': 'party', 'qual': 'BY', 'pcode': None }) }) ord.put({'BOTSID': 'MHD'}, { 'BOTSID': 'CDT', 'VATR.02': mes.get({'BOTSID': 'message'}, {'BOTSID': 'partys'}, { 'BOTSID': 'party', 'qual': 'BY', 'vatnum': None }) }) ord.put( {'BOTSID': 'MHD'}, { 'BOTSID': 'FIL', 'FLVN': '1', 'FLDT': transform.strftime('%y%m%d'), 'FLGN': transform.unique('ORDHDR' + inn.ta_info['topartner']) }) ord.put({'BOTSID': 'MHD'}, { 'BOTSID': 'MTR', 'NOSG': ord.getcount() + 1 }) #~ #do the ORDERS messagecounter += 1 ordercounter += 1 ord = out.putloop({'BOTSID': 'STX'}, {'BOTSID': 'MHD'}) ord.put({ 'BOTSID': 'MHD', 'TYPE.01': 'ORDERS', 'TYPE.02': '9', 'MSRF': messagecounter }) ord.put({'BOTSID': 'MHD'}, { 'BOTSID': 'CLO', 'CLOC.01': mes.get({'BOTSID': 'message'}, {'BOTSID': 'partys'}, { 'BOTSID': 'party', 'qual': 'DP', 'gln': None }) }) ord.put({'BOTSID': 'MHD'}, { 'BOTSID': 'CLO', 'CLOC.02': mes.get({'BOTSID': 'message'}, {'BOTSID': 'partys'}, { 'BOTSID': 'party', 'qual': 'DP', 'bilnum': None }) }) ord.put({'BOTSID': 'MHD'}, { 'BOTSID': 'CLO', 'CLOC.03': mes.get({'BOTSID': 'message'}, {'BOTSID': 'partys'}, { 'BOTSID': 'party', 'qual': 'DP', 'intcustomernum': None }) }) ord.put({'BOTSID': 'MHD'}, { 'BOTSID': 'CLO', 'CNAM': mes.get({'BOTSID': 'message'}, {'BOTSID': 'partys'}, { 'BOTSID': 'party', 'qual': 'DP', 'name': None }) }) ord.put({'BOTSID': 'MHD'}, { 'BOTSID': 'CLO', 'CADD.01': mes.get({'BOTSID': 'message'}, {'BOTSID': 'partys'}, { 'BOTSID': 'party', 'qual': 'DP', 'addressline1': None }) }) ord.put({'BOTSID': 'MHD'}, { 'BOTSID': 'CLO', 'CADD.02': mes.get({'BOTSID': 'message'}, {'BOTSID': 'partys'}, { 'BOTSID': 'party', 'qual': 'DP', 'addressline2': None }) }) ord.put({'BOTSID': 'MHD'}, { 'BOTSID': 'CLO', 'CADD.03': mes.get({'BOTSID': 'message'}, {'BOTSID': 'partys'}, { 'BOTSID': 'party', 'qual': 'DP', 'addressline3': None }) }) ord.put({'BOTSID': 'MHD'}, { 'BOTSID': 'CLO', 'CADD.04': mes.get({'BOTSID': 'message'}, {'BOTSID': 'partys'}, { 'BOTSID': 'party', 'qual': 'DP', 'addressline4': None }) }) ord.put({'BOTSID': 'MHD'}, { 'BOTSID': 'CLO', 'CADD.05': mes.get({'BOTSID': 'message'}, {'BOTSID': 'partys'}, { 'BOTSID': 'party', 'qual': 'DP', 'pcode': None }) }) ord.put({'BOTSID': 'MHD'}, { 'BOTSID': 'ORD', 'ORNO.01': mes.get({ 'BOTSID': 'message', 'docnum': None }) }) ord.put({'BOTSID': 'MHD'}, { 'BOTSID': 'ORD', 'ORNO.02': mes.get({ 'BOTSID': 'message', 'docnumvv': None }) }) ord.put({'BOTSID': 'MHD'}, { 'BOTSID': 'ORD', 'ORNO.03': datewithoutcc(mes.get({ 'BOTSID': 'message', 'docdtm': None })) }) ord.put({'BOTSID': 'MHD'}, { 'BOTSID': 'ORD', 'ORNO.04': datewithoutcc(mes.get({ 'BOTSID': 'message', 'docdtmvv': None })) }) ord.put({'BOTSID': 'MHD'}, { 'BOTSID': 'ORD', 'CLAS': mes.get({ 'BOTSID': 'message', 'classification': None }) }) ord.put({'BOTSID': 'MHD'}, { 'BOTSID': 'ORD', 'ORCD': mes.get({ 'BOTSID': 'message', 'orcd': None }) }) ord.put({'BOTSID': 'MHD'}, { 'BOTSID': 'ORD', 'SCRF.01': mes.get({ 'BOTSID': 'message', 'projectnum': None }) }) ord.put({'BOTSID': 'MHD'}, { 'BOTSID': 'ORD', 'SCRF.02': mes.get({ 'BOTSID': 'message', 'contractnum': None }) }) ord.put({'BOTSID': 'MHD'}, { 'BOTSID': 'DIN', 'EDAT': datewithoutcc(mes.get({ 'BOTSID': 'message', 'earldeldtm': None })) }) ord.put({'BOTSID': 'MHD'}, { 'BOTSID': 'DIN', 'LDAT': datewithoutcc(mes.get({ 'BOTSID': 'message', 'latedeldtm': None })) }) ord.put({'BOTSID': 'MHD'}, { 'BOTSID': 'DIN', 'RATM.01': mes.get({ 'BOTSID': 'message', 'deltimefrom': None }) }) ord.put({'BOTSID': 'MHD'}, { 'BOTSID': 'DIN', 'RATM.02': mes.get({ 'BOTSID': 'message', 'deltimetill': None }) }) count = 0 for deltxt in mes.getloop({'BOTSID': 'message'}, {'BOTSID': 'txts'}, { 'BOTSID': 'txt', 'qual': 'DEL' }): count += 1 ord.put({'BOTSID': 'MHD'}, { 'BOTSID': 'DIN', 'DINS.0' + str(count): deltxt.get({ 'BOTSID': 'txt', 'val': None }) }) linecounter = 0 for lin in mes.getloop({'BOTSID': 'message'}, {'BOTSID': 'lines'}, {'BOTSID': 'line'}): linecounter += 1 xlin = ord.putloop({'BOTSID': 'MHD'}, {'BOTSID': 'OLD'}) xlin.put({'BOTSID': 'OLD', 'SEQA': linecounter}) xlin.put({ 'BOTSID': 'OLD', 'SPRO.01': lin.get({ 'BOTSID': 'line', 'gtin': None }) }) xlin.put({ 'BOTSID': 'OLD', 'SPRO.02': lin.get({ 'BOTSID': 'line', 'suart': None }) }) xlin.put({ 'BOTSID': 'OLD', 'CPRO.02': lin.get({ 'BOTSID': 'line', 'byart': None }) }) xlin.put({ 'BOTSID': 'OLD', 'SACU': lin.get({ 'BOTSID': 'line', 'gtincu': None }) }) xlin.put({ 'BOTSID': 'OLD', 'UNOR.01': lin.get({ 'BOTSID': 'line', 'numbergtincu': None }) }) xlin.put({ 'BOTSID': 'OLD', 'UNOR.02': lin.get({ 'BOTSID': 'line', 'ordqua': None }) }) xlin.put({ 'BOTSID': 'OLD', 'UNOR.03': lin.get({ 'BOTSID': 'line', 'ordunit': None }) }) xlin.put({ 'BOTSID': 'OLD', 'OQTY.03': lin.get({ 'BOTSID': 'line', 'ordunit': None }) }) xlin.put({ 'BOTSID': 'OLD', 'OQTY.01': lin.get({ 'BOTSID': 'line', 'num': None }) }) xlin.put({ 'BOTSID': 'OLD', 'TDES.01': lin.get({ 'BOTSID': 'line', 'desc': None }) }) xlin.put({ 'BOTSID': 'OLD', 'SPIND': lin.get({ 'BOTSID': 'line', 'pdnum': None }) }) xlin.put({ 'BOTSID': 'OLD', 'SCRF.02': lin.get({ 'BOTSID': 'line', 'contractnum': None }) }) ord.put({'BOTSID': 'MHD'}, {'BOTSID': 'OTR', 'LORD': linecounter}) ord.put({'BOTSID': 'MHD'}, { 'BOTSID': 'MTR', 'NOSG': ord.getcount() + 1 }) #~ #do the ORDTLR messagecounter += 1 ord = out.putloop({'BOTSID': 'STX'}, {'BOTSID': 'MHD'}) ord.put({ 'BOTSID': 'MHD', 'TYPE.01': 'ORDTLR', 'TYPE.02': '9', 'MSRF': messagecounter }) ord.put({'BOTSID': 'MHD'}, {'BOTSID': 'OFT', 'FTOR': ordercounter}) ord.put({'BOTSID': 'MHD'}, {'BOTSID': 'MTR', 'NOSG': ord.getcount() + 1})
def main(inn,out): out.put({'BOTSID':'UNH'},{'BOTSID':'UNS','0081':'S'}) out.put({'BOTSID':'UNH','0062':out.ta_info['reference'],'S009.0065':'INVOIC','S009.0052':'D','S009.0054':'96A','S009.0051':'UN','S009.0057':'EAN008'}) out.put({'BOTSID':'UNH'},{'BOTSID':'BGM','1225':'9','1004':inn.get({'BOTSID':'HEA','FACTUURNUMMER':None})}) out.put({'BOTSID':'UNH'},{'BOTSID':'BGM','C002.1001':inn.get({'BOTSID':'HEA','SOORTFACTUUR':None})}) out.put({'BOTSID':'UNH'},{'BOTSID':'BGM','4343':inn.get({'BOTSID':'HEA','ACCIJNSVRIJ':None})}) LEVERDATUM = inn.get({'BOTSID':'HEA','LEVERDATUM':None}) out.put({'BOTSID':'UNH'},{'BOTSID':'DTM','C507.2005':'35','C507.2380':LEVERDATUM,'C507.2379':transform.dateformat(LEVERDATUM)}) out.put({'BOTSID':'UNH'},{'BOTSID':'DTM','C507.2005':'137','C507.2379':'102','C507.2380':transform.strftime('%Y%m%d')}) if out.put({'BOTSID':'UNH'},{'BOTSID':'NAD','3035':'BY','C082.3055':'9','C082.3039':inn.get({'BOTSID':'HEA','EANAFNEMER':None})}): out.put({'BOTSID':'UNH'},{'BOTSID':'NAD','3035':'BY'},{'BOTSID':'RFF','C506.1153':'VA','C506.1154':inn.get({'BOTSID':'HEA','BTWAFNEMER':None})}) if out.put({'BOTSID':'UNH'},{'BOTSID':'NAD','3035':'SU','C082.3055':'9','C082.3039':inn.get({'BOTSID':'HEA','EANLEVERANCIER':None})}): out.put({'BOTSID':'UNH'},{'BOTSID':'NAD','3035':'SU'},{'BOTSID':'RFF','C506.1153':'VA','C506.1154':inn.get({'BOTSID':'HEA','BTWLEVERANCIER':None})}) out.put({'BOTSID':'UNH'},{'BOTSID':'NAD','3035':'DP','C082.3055':'9','C082.3039':inn.get({'BOTSID':'HEA','EANAFLEVER':None})}) out.put({'BOTSID':'UNH'},{'BOTSID':'NAD','3035':'SF','C082.3055':'9','C082.3039':inn.get({'BOTSID':'HEA','EANHAALADRES':None})}) out.put({'BOTSID':'UNH'},{'BOTSID':'NAD','3035':'UC','C082.3055':'9','C082.3039':inn.get({'BOTSID':'HEA','EANEINDBESTEMMING':None})}) if out.put({'BOTSID':'UNH'},{'BOTSID':'NAD','3035':'IV','C082.3055':'9','C082.3039':inn.get({'BOTSID':'HEA','EANFACTUUR':None})}): out.put({'BOTSID':'UNH'},{'BOTSID':'NAD','3035':'IV'},{'BOTSID':'RFF','C506.1153':'VA','C506.1154':inn.get({'BOTSID':'HEA','BTWFACTUUR':None})}) out.put({'BOTSID':'UNH'},{'BOTSID':'NAD','3035':'PE','C082.3055':'9','C082.3039':inn.get({'BOTSID':'HEA','EANBONTVANGER':None})}) out.put({'BOTSID':'UNH'},{'BOTSID':'CUX','C504#1.6347':'2','C504#1.6343':'4','C504#1.6345':inn.get({'BOTSID':'HEA','VALUTA':None})}) out.put({'BOTSID':'UNH'},{'BOTSID':'RFF','C506.1153':'AAK','C506.1154':inn.get({'BOTSID':'HEA','VERZENDBERICHTNUMMER':None})}) out.put({'BOTSID':'UNH'},{'BOTSID':'RFF','C506.1153':'ON','C506.1154':inn.get({'BOTSID':'HEA','ORDERNUMMERAFNEMER':None})}) out.put({'BOTSID':'UNH'},{'BOTSID':'RFF','C506.1153':'IV','C506.1154':inn.get({'BOTSID':'HEA','CORFACTUURNUMMER':None})}) #charges/allowances on invoice level for alc in inn.getloop({'BOTSID':'HEA'},{'BOTSID':'HAL'}): hal = out.putloop({'BOTSID':'UNH'},{'BOTSID':'ALC'}) hal.put({'BOTSID':'ALC','5463':alc.get({'BOTSID':'HAL','KORTINGTOESLAG':None})}) hal.put({'BOTSID':'ALC','C214.7161':alc.get({'BOTSID':'HAL','SOORTKORTING':None})}) hal.put({'BOTSID':'ALC'},{'BOTSID':'MOA','C516.5025':'8','C516.5004':alc.get({'BOTSID':'HAL','KORTINGSBEDRAG':None})}) hal.put({'BOTSID':'ALC'},{'BOTSID':'TAX','5283':'7','C241.5153':'VAT','C243.5278':alc.get({'BOTSID':'HAL','BTWPERCENTAGE':None})}) hal.put({'BOTSID':'ALC'},{'BOTSID':'TAX','5283':'7','C241.5153':'VAT','5305':alc.get({'BOTSID':'HAL','BTWTARIEF':None})}) #lines for lin in inn.getloop({'BOTSID':'HEA'},{'BOTSID':'LIN'}): lou = out.putloop({'BOTSID':'UNH'},{'BOTSID':'LIN'}) lou.put({'BOTSID':'LIN','1082':lin.get({'BOTSID':'LIN','REGEL':None})}) lou.put({'BOTSID':'LIN','C212.7143':'EN','C212.7140':lin.get({'BOTSID':'LIN','ARTIKEL':None})}) lou.put({'BOTSID':'LIN'},{'BOTSID':'QTY','C186.6063':'47','C186.6060':lin.get({'BOTSID':'LIN','GEFACTAANTAL':None})}) lou.put({'BOTSID':'LIN'},{'BOTSID':'QTY','C186.6063':'12','C186.6060':lin.get({'BOTSID':'LIN','GELEVERDAANTAL':None})}) lou.put({'BOTSID':'LIN'},{'BOTSID':'RFF','C506.1153':'PD','C506.1154':lin.get({'BOTSID':'LIN','PROMOTIECODE':None})}) lou.put({'BOTSID':'LIN'},{'BOTSID':'IMD','C960.4294':lin.get({'BOTSID':'LIN','ARTIKELOMSCHRIJVING':None})}) lou.put({'BOTSID':'LIN'},{'BOTSID':'MOA','C516.5025':'203','C516.5004':lin.get({'BOTSID':'LIN','NETTOREGELBEDRAG':None})}) if lou.put({'BOTSID':'LIN'},{'BOTSID':'PRI','C509.5125':'INV','C509.5118':lin.get({'BOTSID':'LIN','PRIJS':None})}): lou.put({'BOTSID':'LIN'},{'BOTSID':'PRI','C509.5125':'INV','C509.5284':lin.getnozero({'BOTSID':'LIN','AANTALPRIJSBASIS':None})}) lou.put({'BOTSID':'LIN'},{'BOTSID':'PRI','C509.5125':'INV','C509.6411':lin.get({'BOTSID':'LIN','EENHEIDPRIJSBASIS':None})}) if lou.put({'BOTSID':'LIN'},{'BOTSID':'TAX','5283':'7','C241.5153':'VAT','5305':lin.get({'BOTSID':'LIN','BTWTARIEF':None})}): lou.put({'BOTSID':'LIN'},{'BOTSID':'TAX','5283':'7','C241.5153':'VAT','C243.5278':lin.get({'BOTSID':'LIN','BTWPERCENTAGE':None})}) #charges/allowances on line level for alc in lin.getloop({'BOTSID':'LIN'},{'BOTSID':'LAL'}): lal = lou.putloop({'BOTSID':'LIN'},{'BOTSID':'ALC'}) lal.put({'BOTSID':'ALC','5463':alc.get({'BOTSID':'LAL','KORTINGTOESLAG':None})}) lal.put({'BOTSID':'ALC','C214.7161':alc.get({'BOTSID':'LAL','SOORTKORTING':None})}) lal.put({'BOTSID':'ALC'},{'BOTSID':'MOA','C516.5025':'8','C516.5004':alc.get({'BOTSID':'LAL','KORTINGSBEDRAG':None})}) if lal.put({'BOTSID':'ALC'},{'BOTSID':'TAX','5283':'7','C241.5153':'VAT','5305':alc.get({'BOTSID':'LAL','BTWTARIEF':None})}): lal.put({'BOTSID':'ALC'},{'BOTSID':'TAX','5283':'7','C241.5153':'VAT','C243.5278':alc.get({'BOTSID':'LAL','BTWPERCENTAGE':None})}) out.put({'BOTSID':'UNH'},{'BOTSID':'UNS','0081':'S'}) #amounts in 'trailer' out.put({'BOTSID':'UNH'},{'BOTSID':'MOA','C516.5025':'79','C516.5004':inn.get({'BOTSID':'HEA'},{'BOTSID':'TOT','TOTAALREGEL':None})}) out.put({'BOTSID':'UNH'},{'BOTSID':'MOA','C516.5025':'131','C516.5004':inn.getnozero({'BOTSID':'HEA'},{'BOTSID':'TOT','TOTAALFACTUURKORTING':None})}) out.put({'BOTSID':'UNH'},{'BOTSID':'MOA','C516.5025':'176','C516.5004':inn.get({'BOTSID':'HEA'},{'BOTSID':'TOT','TOTAALBTW':None})}) out.put({'BOTSID':'UNH'},{'BOTSID':'MOA','C516.5025':'77','C516.5004':inn.get({'BOTSID':'HEA'},{'BOTSID':'TOT','TOTAALFACTUUR':None})}) out.put({'BOTSID':'UNH'},{'BOTSID':'MOA','C516.5025':'129','C516.5004':inn.getnozero({'BOTSID':'HEA'},{'BOTSID':'TOT','GRONDSLAGBETKORTING':None})}) #use BOTSIDnr here because UNH-TAX is mroe than once in branching diagram (use 2nd one) out.put({'BOTSID':'UNH'},{'BOTSID':'TAX','BOTSIDnr':'2','5283':'7','C241.5153':'VAT','5305':inn.get({'BOTSID':'HEA'},{'BOTSID':'TOT','BTWTARIEF1':None})}) out.put({'BOTSID':'UNH'},{'BOTSID':'TAX','BOTSIDnr':'2','5283':'7','C241.5153':'VAT','C243.5278':inn.get({'BOTSID':'HEA'},{'BOTSID':'TOT','BTWPERCENTAGE1':None})}) out.put({'BOTSID':'UNH'},{'BOTSID':'TAX','BOTSIDnr':'2','5283':'7','C241.5153':'VAT'},{'BOTSID':'MOA','C516.5025':'125','C516.5004':inn.get({'BOTSID':'HEA'},{'BOTSID':'TOT','BTWGRONDSLAG1':None})}) out.put({'BOTSID':'UNH'},{'BOTSID':'TAX','BOTSIDnr':'2','5283':'7','C241.5153':'VAT'},{'BOTSID':'MOA','C516.5025':'124','C516.5004':inn.get({'BOTSID':'HEA'},{'BOTSID':'TOT','BTWBEDRAG1':None})}) out.put({'BOTSID':'UNH'},{'BOTSID':'UNT','0074':out.getcount()+1,'0062':out.ta_info['reference']})
def main(inn, out): out.ta_info['frompartner'] = '8712345678906' out.ta_info['topartner'] = '8712345678913' out.put({ 'BOTSID': 'UNH', '0062': out.ta_info['reference'], 'S009.0065': 'PRICAT', 'S009.0052': 'D', 'S009.0054': '96A', 'S009.0051': 'UN', 'S009.0057': 'EAN006' }) out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'BGM', 'C002.1001': '9', '1004': out.ta_info['reference'] }) out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'DTM', 'C507.2005': '137', 'C507.2379': '102', 'C507.2380': transform.strftime('%Y%m%d') }) out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'RFF', 'C506.1153': 'CT', 'C506.1154': '1' }) out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'NAD', '3035': 'BY', 'C082.3055': '9', 'C082.3039': out.ta_info['topartner'] }) out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'NAD', '3035': 'SU', 'C082.3055': '9', 'C082.3039': out.ta_info['frompartner'] }) out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'CUX', 'C504#1.6347': '2', 'C504#1.6343': '8', 'C504#1.6345': 'EUR' }) out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'TAX', '5283': '7', 'C241.5153': 'VAT', 'C243.5278': '19', '5305': 'S' }) out.put({'BOTSID': 'UNH'}, {'BOTSID': 'PGI', '5379': '2'}) linecounter = 0 for artikel in inn.getloop({'BOTSID': 'PRI'}): lou = out.putloop({'BOTSID': 'UNH'}, {'BOTSID': 'PGI'}, {'BOTSID': 'LIN'}) linecounter += 1 lou.put({ 'BOTSID': 'LIN', '1082': linecounter, '1229': '1', 'C212.7143': 'EN', 'C212.7140': artikel.get({ 'BOTSID': 'PRI', 'EANARTIKEL': None }) }) lou.put( {'BOTSID': 'LIN'}, { 'BOTSID': 'PIA', '4347': '5', 'C212#1.7143': 'SA', 'C212#1.7140': artikel.get({ 'BOTSID': 'PRI', 'SUARTIKEL': None }) }) lou.put( {'BOTSID': 'LIN'}, { 'BOTSID': 'IMD', '7077': 'A', 'C273.7008#1': artikel.get({ 'BOTSID': 'PRI', 'OMSCHRIJVING': None }) }) lou.put({'BOTSID': 'LIN'}, { 'BOTSID': 'IMD', '7077': 'C', '7081': '98', 'C273.7009': artikel.get({ 'BOTSID': 'PRI', 'MAAT': None }) }) lou.put({'BOTSID': 'LIN'}, { 'BOTSID': 'IMD', '7077': 'C', '7081': '35', 'C273.7009': artikel.get({ 'BOTSID': 'PRI', 'KLEUR': None }) }) lou.put({'BOTSID': 'LIN'}, { 'BOTSID': 'PIA', '4347': '1', 'C212#1.7143': 'GB', 'C212#1.7140': artikel.get({ 'BOTSID': 'PRI', 'BUYERPRODUCTGROUP': None }) }) lou.put({'BOTSID': 'LIN'}, { 'BOTSID': 'DTM', 'C507.2005': '157', 'C507.2379': '102', 'C507.2380': artikel.get({ 'BOTSID': 'PRI', 'DATUMVANAF': None }) }) lou.put( {'BOTSID': 'LIN'}, { 'BOTSID': 'PRI', 'C509.5125': 'NTP', 'C509.5387': 'PRP', 'C509.5118': artikel.getnozero({ 'BOTSID': 'PRI', 'PROPRI': None }) }) lou.put({'BOTSID': 'LIN'}, { 'BOTSID': 'PRI', 'C509.5125': 'NTP' }, { 'BOTSID': 'DTM', 'C507.2005': '206', 'C507.2379': '102', 'C507.2380': artikel.get({ 'BOTSID': 'PRI', 'DATUMTOT': None }) }) lou.put({'BOTSID': 'LIN'}, { 'BOTSID': 'PRI', 'C509.5125': 'NTP', 'C509.5387': 'RTP', 'C509.5118': artikel.get({ 'BOTSID': 'PRI', 'VERKPRI': None }) }) out.put( {'BOTSID': 'UNH'}, { 'BOTSID': 'UNT', '0074': out.getcount() + 1, '0062': out.ta_info['reference'] } ) #last line (counts the segments produced in out-message, add 1 for UNT itself)
def main(inn, out): #process the lines in a loop (of course) headerwritten = False for lin in inn.getloop({'BOTSID': 'HEA'}): if not headerwritten: out.ta_info['frompartner'] = lin.get({ 'BOTSID': 'HEA', 'EANZENDER': None }) out.ta_info['topartner'] = lin.get({ 'BOTSID': 'HEA', 'EANONTVANGER': None }) out.put({ 'BOTSID': 'UNH', '0062': out.ta_info['reference'], 'S009.0065': 'ORDERS', 'S009.0052': 'D', 'S009.0054': '96A', 'S009.0051': 'UN', 'S009.0057': 'EAN008' }) out.put({'BOTSID': 'UNH'}, {'BOTSID': 'UNS', '0081': 'S'}) out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'BGM', '1004': lin.get({ 'BOTSID': 'HEA', 'ORDERNUMMER': None }) }) out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'BGM', 'C002.1001': lin.get({ 'BOTSID': 'HEA', 'SOORTORDER': None }) }) out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'RFF', 'C506.1153': 'BO', 'C506.1154': lin.get({ 'BOTSID': 'HEA', 'RAAMORDERNUMMER': None }) }) out.put( {'BOTSID': 'UNH'}, { 'BOTSID': 'RFF', 'C506.1153': 'PD', 'C506.1154': lin.get({ 'BOTSID': 'HEA', 'ACTIENUMMER': None }) }) out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'NAD', '3035': 'BY', 'C082.3055': '9', 'C082.3039': lin.get({ 'BOTSID': 'HEA', 'EANAFNEMER': None }) }) out.put( {'BOTSID': 'UNH'}, { 'BOTSID': 'NAD', '3035': 'SU', 'C082.3055': '9', 'C082.3039': lin.get({ 'BOTSID': 'HEA', 'EANLEVERANCIER': None }) }) out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'NAD', '3035': 'DP', 'C082.3055': '9', 'C082.3039': lin.get({ 'BOTSID': 'HEA', 'EANAFLEVER': None }) }) out.put( {'BOTSID': 'UNH'}, { 'BOTSID': 'NAD', '3035': 'SF', 'C082.3055': '9', 'C082.3039': lin.get({ 'BOTSID': 'HEA', 'EANHAALADRES': None }) }) out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'NAD', '3035': 'UC', 'C082.3055': '9', 'C082.3039': lin.get({ 'BOTSID': 'HEA', 'EANEINDBESTEMMING': None }) }) out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'NAD', '3035': 'IV', 'C082.3055': '9', 'C082.3039': lin.get({ 'BOTSID': 'HEA', 'EANFACTUUR': None }) }) out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'DTM', 'C507.2005': '137', 'C507.2379': '102', 'C507.2380': transform.strftime('%Y%m%d') }) date = lin.get({'BOTSID': 'HEA', 'LEVERDATUM': None}) out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'DTM', 'C507.2005': '2', 'C507.2379': transform.dateformat(date), 'C507.2380': date }) date = lin.get({'BOTSID': 'HEA', 'VLEVERDATUM': None}) out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'DTM', 'C507.2005': '64', 'C507.2379': transform.dateformat(date), 'C507.2380': date }) date = lin.get({'BOTSID': 'HEA', 'LLEVERDATUM': None}) out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'DTM', 'C507.2005': '63', 'C507.2379': transform.dateformat(date), 'C507.2380': date }) headerwritten = True lou = out.putloop({'BOTSID': 'UNH'}, {'BOTSID': 'LIN'}) lou.put({ 'BOTSID': 'LIN', '1082': lin.get({ 'BOTSID': 'HEA', 'REGEL': None }) }) lou.put({ 'BOTSID': 'LIN', 'C212.7143': 'EN', 'C212.7140': lin.get({ 'BOTSID': 'HEA', 'ARTIKEL': None }) }) lou.put({'BOTSID': 'LIN'}, { 'BOTSID': 'QTY', 'C186.6063': '21', 'C186.6060': lin.get({ 'BOTSID': 'HEA', 'BESTELDAANTAL': None }) }) lou.put({'BOTSID': 'LIN'}, { 'BOTSID': 'RFF', 'C506.1153': 'PD', 'C506.1154': lin.get({ 'BOTSID': 'HEA', 'PROMOTIECODE': None }) }) lou.put({'BOTSID': 'LIN'}, { 'BOTSID': 'IMD', 'C273.7008#1': lin.get({ 'BOTSID': 'HEA', 'ARTIKELOMSCHRIJVING': None }) }) out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'UNT', '0074': out.getcount() + 1, '0062': out.ta_info['reference'] }) #last line (counts the segments produced in out-message
def main(inn, out): out.put({'BOTSID': 'UNH'}, {'BOTSID': 'UNS', '0081': 'S'}) out.put({ 'BOTSID': 'UNH', '0062': out.ta_info['reference'], 'S009.0065': 'INVOIC', 'S009.0052': 'D', 'S009.0054': '96A', 'S009.0051': 'UN', 'S009.0057': 'EAN008' }) out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'BGM', '1225': '9', '1004': inn.get({ 'BOTSID': 'HEA', 'FACTUURNUMMER': None }) }) out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'BGM', 'C002.1001': inn.get({ 'BOTSID': 'HEA', 'SOORTFACTUUR': None }) }) out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'BGM', '4343': inn.get({ 'BOTSID': 'HEA', 'ACCIJNSVRIJ': None }) }) date = inn.get({'BOTSID': 'HEA', 'LEVERDATUM': None}) out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'DTM', 'C507.2005': '35', 'C507.2379': transform.dateformat(date), 'C507.2380': date }) out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'DTM', 'C507.2005': '137', 'C507.2379': '102', 'C507.2380': transform.strftime('%Y%m%d') }) out.put( {'BOTSID': 'UNH'}, { 'BOTSID': 'RFF', 'C506.1153': 'AAK', 'C506.1154': inn.get({ 'BOTSID': 'HEA', 'VERZENDBERICHTNUMMER': None }) }) out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'RFF', 'C506.1153': 'ON', 'C506.1154': inn.get({ 'BOTSID': 'HEA', 'ORDERNUMMERAFNEMER': None }) }) out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'RFF', 'C506.1153': 'IV', 'C506.1154': inn.get({ 'BOTSID': 'HEA', 'CORFACTUURNUMMER': None }) }) if out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'NAD', '3035': 'BY', 'C082.3055': '9', 'C082.3039': inn.get({ 'BOTSID': 'HEA', 'EANAFNEMER': None }) }): out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'NAD', '3035': 'BY' }, { 'BOTSID': 'RFF', 'C506.1153': 'VA', 'C506.1154': inn.get({ 'BOTSID': 'HEA', 'BTWAFNEMER': None }) }) if out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'NAD', '3035': 'SU', 'C082.3055': '9', 'C082.3039': inn.get({ 'BOTSID': 'HEA', 'EANLEVERANCIER': None }) }): out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'NAD', '3035': 'SU' }, { 'BOTSID': 'RFF', 'C506.1153': 'VA', 'C506.1154': inn.get({ 'BOTSID': 'HEA', 'BTWLEVERANCIER': None }) }) out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'NAD', '3035': 'DP', 'C082.3055': '9', 'C082.3039': inn.get({ 'BOTSID': 'HEA', 'EANAFLEVER': None }) }) out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'NAD', '3035': 'SF', 'C082.3055': '9', 'C082.3039': inn.get({ 'BOTSID': 'HEA', 'EANHAALADRES': None }) }) out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'NAD', '3035': 'UC', 'C082.3055': '9', 'C082.3039': inn.get({ 'BOTSID': 'HEA', 'EANEINDBESTEMMING': None }) }) if out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'NAD', '3035': 'IV', 'C082.3055': '9', 'C082.3039': inn.get({ 'BOTSID': 'HEA', 'EANFACTUUR': None }) }): out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'NAD', '3035': 'IV' }, { 'BOTSID': 'RFF', 'C506.1153': 'VA', 'C506.1154': inn.get({ 'BOTSID': 'HEA', 'BTWFACTUUR': None }) }) out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'NAD', '3035': 'PE', 'C082.3055': '9', 'C082.3039': inn.get({ 'BOTSID': 'HEA', 'EANBONTVANGER': None }) }) out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'CUX', 'C504#1.6347': '2', 'C504#1.6343': '4', 'C504#1.6345': inn.get({ 'BOTSID': 'HEA', 'VALUTA': None }) }) for alc in inn.getloop({'BOTSID': 'HEA'}, {'BOTSID': 'HAL'}): hal = out.putloop({'BOTSID': 'UNH'}, {'BOTSID': 'ALC'}) hal.put({ 'BOTSID': 'ALC', '5463': alc.get({ 'BOTSID': 'HAL', 'KORTINGTOESLAG': None }) }) hal.put({ 'BOTSID': 'ALC', 'C214.7161': alc.get({ 'BOTSID': 'HAL', 'SOORTKORTING': None }) }) hal.put({'BOTSID': 'ALC'}, { 'BOTSID': 'MOA', 'C516.5025': '8', 'C516.5004': alc.get({ 'BOTSID': 'HAL', 'KORTINGSBEDRAG': None }) }) hal.put({'BOTSID': 'ALC'}, { 'BOTSID': 'TAX', '5283': '7', 'C241.5153': 'VAT', 'C243.5278': alc.get({ 'BOTSID': 'HAL', 'BTWPERCENTAGE': None }) }) hal.put({'BOTSID': 'ALC'}, { 'BOTSID': 'TAX', '5283': '7', 'C241.5153': 'VAT', '5305': alc.get({ 'BOTSID': 'HAL', 'BTWTARIEF': None }) }) for lin in inn.getloop({'BOTSID': 'HEA'}, {'BOTSID': 'LIN'}): lou = out.putloop({'BOTSID': 'UNH'}, {'BOTSID': 'LIN'}) lou.put({ 'BOTSID': 'LIN', '1082': lin.get({ 'BOTSID': 'LIN', 'REGEL': None }) }) lou.put({ 'BOTSID': 'LIN', 'C212.7143': 'EN', 'C212.7140': lin.get({ 'BOTSID': 'LIN', 'ARTIKEL': None }) }) lou.put({'BOTSID': 'LIN'}, { 'BOTSID': 'QTY', 'C186.6063': '47', 'C186.6060': lin.get({ 'BOTSID': 'LIN', 'GEFACTAANTAL': None }) }) lou.put({'BOTSID': 'LIN'}, { 'BOTSID': 'QTY', 'C186.6063': '12', 'C186.6060': lin.get({ 'BOTSID': 'LIN', 'GELEVERDAANTAL': None }) }) lou.put({'BOTSID': 'LIN'}, { 'BOTSID': 'RFF', 'C506.1153': 'PD', 'C506.1154': lin.get({ 'BOTSID': 'LIN', 'PROMOTIECODE': None }) }) lou.put({'BOTSID': 'LIN'}, { 'BOTSID': 'IMD', 'C960.4294': lin.get({ 'BOTSID': 'LIN', 'ARTIKELOMSCHRIJVING': None }) }) lou.put( {'BOTSID': 'LIN'}, { 'BOTSID': 'MOA', 'C516.5025': '203', 'C516.5004': lin.get({ 'BOTSID': 'LIN', 'NETTOREGELBEDRAG': None }) }) if lou.put({'BOTSID': 'LIN'}, { 'BOTSID': 'PRI', 'C509.5125': 'INV', 'C509.5118': lin.get({ 'BOTSID': 'LIN', 'PRIJS': None }) }): lou.put({'BOTSID': 'LIN'}, { 'BOTSID': 'PRI', 'C509.5125': 'INV', 'C509.5284': lin.getnozero({ 'BOTSID': 'LIN', 'AANTALPRIJSBASIS': None }) }) lou.put({'BOTSID': 'LIN'}, { 'BOTSID': 'PRI', 'C509.5125': 'INV', 'C509.6411': lin.get({ 'BOTSID': 'LIN', 'EENHEIDPRIJSBASIS': None }) }) if lou.put({'BOTSID': 'LIN'}, { 'BOTSID': 'TAX', '5283': '7', 'C241.5153': 'VAT', '5305': lin.get({ 'BOTSID': 'LIN', 'BTWTARIEF': None }) }): lou.put( {'BOTSID': 'LIN'}, { 'BOTSID': 'TAX', '5283': '7', 'C241.5153': 'VAT', 'C243.5278': lin.get({ 'BOTSID': 'LIN', 'BTWPERCENTAGE': None }) }) for alc in lin.getloop({'BOTSID': 'LIN'}, {'BOTSID': 'LAL'}): lal = lou.putloop({'BOTSID': 'LIN'}, {'BOTSID': 'ALC'}) lal.put({ 'BOTSID': 'ALC', '5463': alc.get({ 'BOTSID': 'LAL', 'KORTINGTOESLAG': None }) }) lal.put({ 'BOTSID': 'ALC', 'C214.7161': alc.get({ 'BOTSID': 'LAL', 'SOORTKORTING': None }) }) lal.put( {'BOTSID': 'ALC'}, { 'BOTSID': 'MOA', 'C516.5025': '8', 'C516.5004': alc.get({ 'BOTSID': 'LAL', 'KORTINGSBEDRAG': None }) }) if lal.put({'BOTSID': 'ALC'}, { 'BOTSID': 'TAX', '5283': '7', 'C241.5153': 'VAT', '5305': alc.get({ 'BOTSID': 'LAL', 'BTWTARIEF': None }) }): lal.put({'BOTSID': 'ALC'}, { 'BOTSID': 'TAX', '5283': '7', 'C241.5153': 'VAT', 'C243.5278': alc.get({ 'BOTSID': 'LAL', 'BTWPERCENTAGE': None }) }) out.put({'BOTSID': 'UNH'}, {'BOTSID': 'UNS', '0081': 'S'}) out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'MOA', 'C516.5025': '79', 'C516.5004': inn.get({'BOTSID': 'HEA'}, { 'BOTSID': 'TOT', 'TOTAALREGEL': None }) }) out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'MOA', 'C516.5025': '131', 'C516.5004': inn.getnozero({'BOTSID': 'HEA'}, { 'BOTSID': 'TOT', 'TOTAALFACTUURKORTING': None }) }) out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'MOA', 'C516.5025': '176', 'C516.5004': inn.get({'BOTSID': 'HEA'}, { 'BOTSID': 'TOT', 'TOTAALBTW': None }) }) out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'MOA', 'C516.5025': '77', 'C516.5004': inn.get({'BOTSID': 'HEA'}, { 'BOTSID': 'TOT', 'TOTAALFACTUUR': None }) }) out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'MOA', 'C516.5025': '129', 'C516.5004': inn.getnozero({'BOTSID': 'HEA'}, { 'BOTSID': 'TOT', 'GRONDSLAGBETKORTING': None }) }) out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'TAX', 'BOTSIDnr': '2', '5283': '7', 'C241.5153': 'VAT', '5305': inn.get({'BOTSID': 'HEA'}, { 'BOTSID': 'TOT', 'BTWTARIEF1': None }) }) out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'TAX', 'BOTSIDnr': '2', '5283': '7', 'C241.5153': 'VAT', 'C243.5278': inn.get({'BOTSID': 'HEA'}, { 'BOTSID': 'TOT', 'BTWPERCENTAGE1': None }) }) out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'TAX', 'BOTSIDnr': '2', '5283': '7', 'C241.5153': 'VAT' }, { 'BOTSID': 'MOA', 'C516.5025': '125', 'C516.5004': inn.get({'BOTSID': 'HEA'}, { 'BOTSID': 'TOT', 'BTWGRONDSLAG1': None }) }) out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'TAX', 'BOTSIDnr': '2', '5283': '7', 'C241.5153': 'VAT' }, { 'BOTSID': 'MOA', 'C516.5025': '124', 'C516.5004': inn.get({'BOTSID': 'HEA'}, { 'BOTSID': 'TOT', 'BTWBEDRAG1': None }) }) out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'UNT', '0074': out.getcount() + 1, '0062': out.ta_info['reference'] })
def main(inn,out): #swap sender/receiver out.ta_info['topartner'] = inn.ta_info['frompartner'] out.ta_info['frompartner'] = inn.ta_info['topartner'] out.ta_info['testindicator'] = inn.ta_info['testindicator'] out.put({'BOTSID':'UNH','0062':out.ta_info['reference'],'S009.0065':'APERAK','S009.0052':'D','S009.0054':'96A','S009.0051':'UN'}) out.put({'BOTSID':'UNH'},{'BOTSID':'BGM','1004':out.ta_info['reference']}) out.put({'BOTSID':'UNH'},{'BOTSID':'DTM','C507.2005':'137','C507.2379':'203','C507.2380':transform.strftime('%Y%m%d%H%M')}) srtmes = inn.get({'BOTSID':'UNH'},{'BOTSID':'BGM','C002.1001':None}) srtmes_converted = transform.ccode('aperakrff2qualifer',srtmes) mesdate = inn.get({'BOTSID':'UNH'},{'BOTSID':'DTM','C507.2005':'137','C507.2380':None}) mesformat = inn.get({'BOTSID':'UNH'},{'BOTSID':'DTM','C507.2005':'137','C507.2379':None}) out.put({'BOTSID':'UNH'},{'BOTSID':'RFF','C506.1153':srtmes_converted,'C506.1154':inn.get({'BOTSID':'UNH'},{'BOTSID':'BGM','1004':None})}) out.put({'BOTSID':'UNH'},{'BOTSID':'RFF','C506.1153':srtmes_converted},{'BOTSID':'DTM','C507.2005':'171','C507.2379':mesformat,'C507.2380':mesdate}) #return same parties/NAD as in received message for nad in inn.getloop({'BOTSID':'UNH'},{'BOTSID':'NAD'}): nad2 = out.putloop({'BOTSID':'UNH'},{'BOTSID':'NAD'}) nad2.put({'BOTSID':'NAD','3035':nad.get({'BOTSID':'NAD','3035':None})}) nad2.put({'BOTSID':'NAD','C082.3039':nad.get({'BOTSID':'NAD','C082.3039':None})}) nad2.put({'BOTSID':'NAD','C082.3055':nad.get({'BOTSID':'NAD','C082.3055':None})}) out.put({'BOTSID':'UNH'},{'BOTSID':'UNT','0074':out.getcount()+1,'0062':out.ta_info['reference']})
def main(inn,out): out.put({'BOTSID':'UNH','0062':out.ta_info['reference'],'S009.0065':'DESADV','S009.0052':'D','S009.0054':'96A','S009.0051':'UN','S009.0057':'EAN005'}) out.put({'BOTSID':'UNH'},{'BOTSID':'BGM','1004':inn.get({'BOTSID':'HEA','BERICHTNUMMER':None})}) out.put({'BOTSID':'UNH'},{'BOTSID':'BGM','C002.1001':'351','1225':'9'}) out.put({'BOTSID':'UNH'},{'BOTSID':'DTM','C507.2005':'137','C507.2379':'102','C507.2380':transform.strftime('%Y%m%d')}) LEVERDATUM = inn.get({'BOTSID':'HEA','LEVERDATUM':None}) out.put({'BOTSID':'UNH'},{'BOTSID':'DTM','C507.2005':'17','C507.2380':LEVERDATUM,'C507.2379':transform.dateformat(LEVERDATUM)}) out.put({'BOTSID':'UNH'},{'BOTSID':'RFF','C506.1153':'ON','C506.1154':inn.get({'BOTSID':'HEA','ORDERNUMMERAFNEMER':None})}) out.put({'BOTSID':'UNH'},{'BOTSID':'RFF','C506.1153':'ZZZ','C506.1154':'EANNL1'}) out.put({'BOTSID':'UNH'},{'BOTSID':'NAD','3035':'BY','C082.3055':'9','C082.3039':inn.get({'BOTSID':'HEA','EANAFNEMER':None})}) out.put({'BOTSID':'UNH'},{'BOTSID':'NAD','3035':'SU','C082.3055':'9','C082.3039':inn.get({'BOTSID':'HEA','EANLEVERANCIER':None})}) out.put({'BOTSID':'UNH'},{'BOTSID':'NAD','3035':'DP','C082.3055':'9','C082.3039':inn.get({'BOTSID':'HEA','EANAFLEVER':None})}) out.put({'BOTSID':'UNH'},{'BOTSID':'NAD','3035':'SF','C082.3055':'9','C082.3039':inn.get({'BOTSID':'HEA','EANHAALADRES':None})}) out.put({'BOTSID':'UNH'},{'BOTSID':'NAD','3035':'UC','C082.3055':'9','C082.3039':inn.get({'BOTSID':'HEA','EANEINDBESTEMMING':None})}) if inn.get({'BOTSID':'HEA','BACKHAULING':None}): out.put({'BOTSID':'UNH'},{'BOTSID':'TOD','4055':'4'}) #write CPS (assume there are always lines in inhouse file) out.put({'BOTSID':'UNH'},{'BOTSID':'CPS','7164':'1'}) #handle lines for regel in inn.getloop({'BOTSID':'HEA'},{'BOTSID':'LIN'}): lou = out.putloop({'BOTSID':'UNH'},{'BOTSID':'CPS'},{'BOTSID':'LIN'}) lou.put({'BOTSID':'LIN','1082':regel.get({'BOTSID':'LIN','REGEL':None})}) lou.put({'BOTSID':'LIN','C212.7143':'EN','C212.7140':regel.get({'BOTSID':'LIN','ARTIKEL':None})}) lou.put({'BOTSID':'LIN'},{'BOTSID':'QTY','C186.6063':'12','C186.6060':regel.get({'BOTSID':'LIN','AANTAL':None})}) lou.put({'BOTSID':'LIN'},{'BOTSID':'IMD','C960.4294':regel.get({'BOTSID':'LIN','ARTIKELOMSCHRIJVING':None})}) out.put({'BOTSID':'UNH'},{'BOTSID':'UNT','0074':out.getcount()+1,'0062':out.ta_info['reference']}) #last line (counts the segments produced in out-out
def main(inn, out): #~ print 'in WPLUU2pricat' for edidc in inn.getloop({'BOTSID': 'EDI_DC40'}): #~ lou = out.putloop({'BOTSID':'UNH'},{'BOTSID':'PGI'},{'BOTSID':'LIN'}) out.put({ 'BOTSID': 'UNH', '0062': out.ta_info['reference'], 'S009.0065': 'PRICAT', 'S009.0052': 'D', 'S009.0054': '96A', 'S009.0051': 'UN', 'S009.0057': 'EAN005' }) out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'BGM', 'C002.1001': '9', '1004': edidc.get({ 'BOTSID': 'EDI_DC40', 'DOCNUM': None }) }) out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'DTM', 'C507.2005': '137', 'C507.2379': '102', 'C507.2380': transform.strftime('%Y%m%d') }) out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'NAD', '3035': 'BY', 'C082.3055': '9', 'C082.3039': inn.ta_info['frompartner'] }) out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'NAD', '3035': 'SU', 'C082.3055': '9', 'C082.3039': inn.ta_info['topartner'] }) out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'CUX', 'C504#1.6347': '2', 'C504#1.6343': '8', 'C504#1.6345': edidc.get({'BOTSID': 'EDI_DC40'}, {'BOTSID': 'E2WPA01'}, {'BOTSID': 'E2WPA04'}, { 'BOTSID': 'E2WPA05002', 'CURRENCY': None }) }) out.put({'BOTSID': 'UNH'}, {'BOTSID': 'PGI', '5379': '2'}) linecounter = 0 for artikel in edidc.getloop({'BOTSID': 'EDI_DC40'}, {'BOTSID': 'E2WPA01'}): lou = out.putloop({'BOTSID': 'UNH'}, {'BOTSID': 'PGI'}, {'BOTSID': 'LIN'}) linecounter += 1 lou.put({'BOTSID': 'LIN', '1082': linecounter}) artikelcode = artikel.get({ 'BOTSID': 'E2WPA01', 'HAUPTEAN': None })[:10] artikelcode = transform.addeancheckdigit('16' + artikelcode) lou.put({ 'BOTSID': 'LIN', 'C212.7143': 'EN', 'C212.7140': artikelcode }) lou.put({'BOTSID': 'LIN'}, { 'BOTSID': 'PIA', '4347': '5', 'C212#1.7143': 'SA', 'C212#1.7140': artikel.get({ 'BOTSID': 'E2WPA01', 'ARTIKELNR': None }) }) lou.put({'BOTSID': 'LIN'}, { 'BOTSID': 'PIA', '4347': '1', 'C212#1.7143': 'GU', 'C212#1.7140': artikel.get({'BOTSID': 'E2WPA01'}, { 'BOTSID': 'E2WPA02002', 'WARENGR': None }) }) lou.put({'BOTSID': 'LIN'}, { 'BOTSID': 'IMD', '7077': 'A', 'C273.7008#1': artikel.get({'BOTSID': 'E2WPA01'}, { 'BOTSID': 'E2WPA03', 'QUALARTTXT': 'LTXT', 'TEXT': None })[:35] }) lou.put({'BOTSID': 'LIN'}, { 'BOTSID': 'DTM', 'C507.2005': '157', 'C507.2379': '102', 'C507.2380': artikel.get({ 'BOTSID': 'E2WPA01', 'AKTIVDATUM': None }) }) lou.put({'BOTSID': 'LIN'}, { 'BOTSID': 'PRI', 'C509.5125': 'NTP', 'C509.5387': 'SRP', 'C509.5118': artikel.get({'BOTSID': 'E2WPA01'}, { 'BOTSID': 'E2WPA04', 'KONDART': 'VKP0' }, { 'BOTSID': 'E2WPA05002', 'KONDWERT': None }) }) out.put( {'BOTSID': 'UNH'}, { 'BOTSID': 'UNT', '0074': out.getcount() + 1, '0062': out.ta_info['reference'] } ) #last line (counts the segments produced in out-message, add 1 for UNT itself)
def main(inn, out): #swap sender/receiver out.ta_info['topartner'] = inn.ta_info['frompartner'] out.ta_info['frompartner'] = inn.ta_info['topartner'] out.ta_info['testindicator'] = inn.ta_info['testindicator'] out.put({ 'BOTSID': 'UNH', '0062': out.ta_info['reference'], 'S009.0065': 'APERAK', 'S009.0052': 'D', 'S009.0054': '96A', 'S009.0051': 'UN' }) out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'BGM', '1004': out.ta_info['reference'] }) out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'DTM', 'C507.2005': '137', 'C507.2379': '203', 'C507.2380': transform.strftime('%Y%m%d%H%M') }) srtmes = inn.get({'BOTSID': 'UNH'}, {'BOTSID': 'BGM', 'C002.1001': None}) srtmes_converted = transform.ccode('aperakrff2qualifer', srtmes) mesdate = inn.get({'BOTSID': 'UNH'}, { 'BOTSID': 'DTM', 'C507.2005': '137', 'C507.2380': None }) mesformat = inn.get({'BOTSID': 'UNH'}, { 'BOTSID': 'DTM', 'C507.2005': '137', 'C507.2379': None }) out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'RFF', 'C506.1153': srtmes_converted, 'C506.1154': inn.get({'BOTSID': 'UNH'}, { 'BOTSID': 'BGM', '1004': None }) }) out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'RFF', 'C506.1153': srtmes_converted }, { 'BOTSID': 'DTM', 'C507.2005': '171', 'C507.2379': mesformat, 'C507.2380': mesdate }) #return same parties/NAD as in received message for nad in inn.getloop({'BOTSID': 'UNH'}, {'BOTSID': 'NAD'}): nad2 = out.putloop({'BOTSID': 'UNH'}, {'BOTSID': 'NAD'}) nad2.put({ 'BOTSID': 'NAD', '3035': nad.get({ 'BOTSID': 'NAD', '3035': None }) }) nad2.put({ 'BOTSID': 'NAD', 'C082.3039': nad.get({ 'BOTSID': 'NAD', 'C082.3039': None }) }) nad2.put({ 'BOTSID': 'NAD', 'C082.3055': nad.get({ 'BOTSID': 'NAD', 'C082.3055': None }) }) out.put({'BOTSID': 'UNH'}, { 'BOTSID': 'UNT', '0074': out.getcount() + 1, '0062': out.ta_info['reference'] })