コード例 #1
0
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})
コード例 #2
0
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']})
コード例 #3
0
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)
コード例 #4
0
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
コード例 #5
0
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']
    })
コード例 #6
0
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']})
コード例 #7
0
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
コード例 #8
0
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)
コード例 #9
0
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']
    })