XML to X12 for a 852 Inventory Report getting raise botslib.MappingRootError(

550 views
Skip to first unread message

Brent Holtsclaw

unread,
Apr 17, 2017, 4:48:49 PM4/17/17
to Bots Open Source EDI Translator


Hello,

I am trying to create a X12 852 from XML data for the first time. 

Worked thru all my errors until this one, and just have not came accross any answer, that helps me understand what is wrong.

I am not strong programmer in phython, but have been able to get by until now.

I am getting this, and can not get past it, to get an output file.

 File "C:\Python27\lib\site-packages\bots\node.py", line 412, in put
    raise botslib.MappingRootError(_(u'Error in root put "%(mpath)s".'),{'mpath':mpaths[0]})
MappingRootError: Error in root put "{'BOTSIDnr': u'1', 'BOTSID': u'ST'}".".

I have attached what I believe is needed to recreate the problem.  
VK852.XML is the Data File.  




VK852.XML
VK852_xml2x12.py
852004010.py
VK_Inventory.py

henk-jan ebbers

unread,
Apr 17, 2017, 4:59:18 PM4/17/17
to bots...@googlegroups.com
hi Brent,

you have:

#docdtm = transform.datemask(docdtm,'CCYY-MM-DD','CCYYMMDD')
out.put({'BOTSID':'ST'},{'BOTSID':'XQ','XQ01':'H','XQ02':docdtm})

try this (added one line)

#docdtm = transform.datemask(docdtm,'CCYY-MM-DD','CCYYMMDD')
out.put({'BOTSID':'ST','ST01':'856','ST02':out.ta_info['reference'].zfill(4)})

out.put({'BOTSID':'ST'},{'BOTSID':'XQ','XQ01':'H','XQ02':docdtm})

think the first 'put' needs root segment only (ST).
In general, this error means bots does not know where to do the additions in the already build tree, it goes wrong when it tries the find the root.
The error is indeed somewhat hard to understand.

hope that helps,
henk-jan
> --
> You received this message because you are subscribed to the Google Groups "Bots Open Source EDI Translator" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to botsmail+u...@googlegroups.com <mailto:botsmail+u...@googlegroups.com>.
> Visit this group at https://groups.google.com/group/botsmail.
> For more options, visit https://groups.google.com/d/optout.

Brent Holtsclaw

unread,
Apr 17, 2017, 5:17:57 PM4/17/17
to Bots Open Source EDI Translator
I added that line, and I still get that same error.

Thanks again!

henk-jan ebbers

unread,
Apr 17, 2017, 5:35:43 PM4/17/17
to bots...@googlegroups.com
ok, try again.
/ get this error (in bots.ini, debug is True):/
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/bots/transform.py", line 111, in _translate_one_file
doalttranslation = botslib.runscript(translationscript,scriptfilename,'main',inn=inn_splitup,out=out_translated)
File "/usr/local/lib/python2.7/dist-packages/bots/botslib.py", line 492, in runscript
raise ScriptError(_(u'Userscript "%(modulefile)s": "%(txt)s".'),{'modulefile':modulefile,'txt':txt})
ScriptError: Userscript "/usr/local/lib/python2.7/dist-packages/bots/usersys/mappings/xml/VK852_xml2x12": "Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/bots/botslib.py", line 489, in runscript
return functiontorun(**argv)
File "/usr/local/lib/python2.7/dist-packages/bots/usersys/mappings/xml/VK852_xml2x12.py", line 31, in main
dou.put({'BOTSID':'ST'},{'BOTSID':'LIN'},{'BOTSID':'ZA','ZA01':'QE','ZA02':'QE'[3:3]})
File "/usr/local/lib/python2.7/dist-packages/bots/node.py", line 401, in put
raise botslib.MappingRootError(_(u'Error in root put "%(mpath)s".'),{'mpath':mpaths[0]}) MappingRootError: Error in root put "{'BOTSIDnr': u'1', 'BOTSID': u'ST'}". ".

That give the lien in the mappign script with the error (line 31).

kind regards,
henk-jan

henk-jan ebbers

unread,
Apr 17, 2017, 5:44:21 PM4/17/17
to bots...@googlegroups.com
try this mapping code (still errors, but much better);;
#mapping-script
#~ from x12lib import get_art_num #import x12 specifc helper function
import bots.transform as transform #import div bots helper functions

def main(inn,out):

docnum = inn.get({'BOTSID':'message','docdtm':None})
inn.ta_info['botskey']=docnum
out.ta_info['botskey']=docnum

#convert dates to right internal format
docdtm = inn.get({'BOTSID':'message','docdtm':None})
#docdtm = transform.datemask(docdtm,'CCYY-MM-DD','CCYYMMDD')
out.put({'BOTSID':'ST','ST01':'856','ST02':out.ta_info['reference'].zfill(4)})
out.put({'BOTSID':'ST'},{'BOTSID':'XQ','XQ01':'H','XQ02':docdtm})

#loop over partys
for party in inn.getloop({'BOTSID':'message'},{'BOTSID':'partys'},{'BOTSID':'party'}):
pou = out.putloop({'BOTSID':'ST'},{'BOTSID':'N1'})
pou.put({'BOTSID':'N1','N101':party.get({'BOTSID':'party','qual':None})})

#loop over lines
for po1 in inn.getloop({'BOTSID':'message'},{'BOTSID':'lines'},{'BOTSID':'line'}):
lou = out.putloop({'BOTSID':'ST'},{'BOTSID':'LIN','LIN02':'UP','LIN03':'LIN'})
#~ lou = out.putloop({'BOTSID':'ST'},{'BOTSID':'N9','N901':'ZZ','N902':'Product'}) #no idea what this should do
offset = 6
gtin = po1.get({'BOTSID':'line','gtin':None})
if gtin:
#loop over detail
for detail in inn.getloop({'BOTSID':'message'},{'BOTSID':'lines'},{'BOTSID':'line'},{'BOTSID':'details'}):
dou = out.putloop({'BOTSID':'ST'},{'BOTSID':'LIN'},{'BOTSID':'ZA'})
dou.put({'BOTSID':'ZA','ZA01':'QE','ZA02':'QE'[3:3]})

out.put({'BOTSID':'ST'},{'BOTSID':'CTT','CTT01':out.getcountoccurrences({'BOTSID':'ST'},{'BOTSID':'PO1'}) }) #bots counts line items
out.put({'BOTSID':'ST'},{'BOTSID':'SE','SE01':out.getcount()+1,'SE02':out.ta_info['reference'].zfill(4)}) #SE01: bots counts the segments produced in the X12 message.



On 04/17/2017 11:17 PM, Brent Holtsclaw wrote:

Brent Holtsclaw

unread,
Apr 19, 2017, 1:03:15 PM4/19/17
to Bots Open Source EDI Translator
Hello, 

Thanks for your help Henk-Jan, It did help me get passed the problem and I have learned much in the last few days, related to bots and python.

I am again stuck, with no more ideas on how to proceed.  Now I am getting MessageError: [S03]: Record "ST-LIN-ZA" occurs 0 times, min is 1.
I have tried many things, but none have helped.  I changed my xml tags for ZA segment details from capitals like QE to lowercase qe thinking that It might be a problem having QE in the Input and QE in the output.   I do not understand  what the [3:3] does in line 25 of the mapping script.  I have included the three files I have made changes to.  I never got an answer to, Is there is a way to view output up to the error point. Thanks greatly for anything that helps me learn what I  am doing wrong.  I love Bots and hope I can some day master it.     

Brent


On Monday, April 17, 2017 at 3:48:49 PM UTC-5, Brent Holtsclaw wrote:
VK852.XML
VK852_xml2x12.py
VK_Inventory.py

henk-jan ebbers

unread,
Apr 19, 2017, 1:13:21 PM4/19/17
to bots...@googlegroups.com


On 04/19/2017 07:03 PM, Brent Holtsclaw wrote:
> Hello,
>
> Thanks for your help Henk-Jan, It did help me get passed the problem and I have learned much in the last few days, related to bots and python.
>
> I am again stuck, with no more ideas on how to proceed. Now I am getting MessageError: [S03]: Record "ST-LIN-ZA" occurs 0 times, min is 1.
the ZA segment (nested under LIN, LIN is nested under ST) is not there, should be there at least one time.
You wil lhave to write that in mappign script.
> I have tried many things, but none have helped. I changed my xml tags for ZA segment details from capitals like QE to lowercase qe thinking that It might be a problem having QE in the Input and QE
> in the output. I do not understand what the [3:3] does in line 25 of the mapping script.
neither do I....it was already there.
> I have included the three files I have made changes to. I never got an answer to, Is there is a way to view output up to the error point.
at end of mapping put:
out.root.display()
that will 'print' the stuff you have written to the outgoing file.

kind regards,
henk-jan

> Thanks greatly for anything that helps me learn what I am doing wrong. I love Bots and hope I can some day master it.
>
> Brent
>
> On Monday, April 17, 2017 at 3:48:49 PM UTC-5, Brent Holtsclaw wrote:
>
>
>
> Hello,
>
> I am trying to create a X12 852 from XML data for the first time.
>
> Worked thru all my errors until this one, and just have not came accross any answer, that helps me understand what is wrong.
>
> I am not strong programmer in phython, but have been able to get by until now.
>
> I am getting this, and can not get past it, to get an output file.
>
> File "C:\Python27\lib\site-packages\bots\node.py", line 412, in put
> raise botslib.MappingRootError(_(u'Error in root put "%(mpath)s".'),{'mpath':mpaths[0]})
> MappingRootError: Error in root put "{'BOTSIDnr': u'1', 'BOTSID': u'ST'}".".
>
> I have attached what I believe is needed to recreate the problem.
> VK852.XML is the Data File.
> VK_Inventory.py is the xml Grammar file.
> 852004010.py is the X12 Grammar file.
> VK852_xml2x12.py is my mapping script.
>
> Also is there any way to view the output up to error point?
>
> I have a feeling it has something to do with hierarchy of the input file to hierarchy of output file.
>
> Thanks to anyone that can help me with this.
>
> Brent Holtsclaw
>

Brent Holtsclaw

unread,
Apr 19, 2017, 3:01:16 PM4/19/17
to Bots Open Source EDI Translator
Hello,

I thought this these lines in the mapping script where to handle the ZA segment:

        for dou in inn.getloop({'BOTSID':'message'},{'BOTSID':'lines'},{'BOTSID':'line'},{'BOTSID':'details'}): 
            dou = out.putloop({'BOTSID':'ST'},{'BOTSID':'LIN'},{'BOTSID':'ZA'})  
            dou.put({'BOTSID':'ZA','ZA01':'QE','ZA02':'qe'})as  dou.put({'BOTSID':'ZA','ZA01':'QE','ZA02':'qe'})

Putting "    out.root.display()" at the end of my script.

did not get me an output file.

Thanks very much for your help.

Brent

On Monday, April 17, 2017 at 3:48:49 PM UTC-5, Brent Holtsclaw wrote:

henk-jan ebbers

unread,
Apr 20, 2017, 7:30:55 AM4/20/17
to bots...@googlegroups.com


On 04/19/2017 09:01 PM, Brent Holtsclaw wrote:
> Hello,
>
> I thought this these lines in the mapping script where to handle the ZA segment:
>
> for dou in inn.getloop({'BOTSID':'message'},{'BOTSID':'lines'},{'BOTSID':'line'},{'BOTSID':'details'}):
> dou = out.putloop({'BOTSID':'ST'},{'BOTSID':'LIN'},{'BOTSID':'ZA'})
> dou.put({'BOTSID':'ZA','ZA01':'QE','ZA02':'qe'})as dou.put({'BOTSID':'ZA','ZA01':'QE','ZA02':'qe'})
>
> Putting " out.root.display()" at the end of my script.
>
> did not get me an output file.
that displays only what is written, so you can see what the written content.
you can check that way if there ZA segments are written.

another thing that might help is set in bots.ini:
get_checklevel = 2

that checks the get and getloop statements with the grammar (for inbound files).
(set to 1 again in production, slows down in production if many files or large files )

kind regards,
henk-jan

>
> Thanks very much for your help.
>
> Brent
>
> On Monday, April 17, 2017 at 3:48:49 PM UTC-5, Brent Holtsclaw wrote:
>
>
>
> Hello,
>
> I am trying to create a X12 852 from XML data for the first time.
>
> Worked thru all my errors until this one, and just have not came accross any answer, that helps me understand what is wrong.
>
> I am not strong programmer in phython, but have been able to get by until now.
>
> I am getting this, and can not get past it, to get an output file.
>
> File "C:\Python27\lib\site-packages\bots\node.py", line 412, in put
> raise botslib.MappingRootError(_(u'Error in root put "%(mpath)s".'),{'mpath':mpaths[0]})
> MappingRootError: Error in root put "{'BOTSIDnr': u'1', 'BOTSID': u'ST'}".".
>
> I have attached what I believe is needed to recreate the problem.
> VK852.XML is the Data File.
> VK_Inventory.py is the xml Grammar file.
> 852004010.py is the X12 Grammar file.
> VK852_xml2x12.py is my mapping script.
>
> Also is there any way to view the output up to error point?
>
> I have a feeling it has something to do with hierarchy of the input file to hierarchy of output file.
>
> Thanks to anyone that can help me with this.
>
> Brent Holtsclaw
>

Brent Holtsclaw

unread,
Apr 25, 2017, 3:56:29 PM4/25/17
to Bots Open Source EDI Translator
Hello,

I am not making any progress, I have  the get_checklevel = 2 set in my bots.ini , and it has not help me understand what I am doing wrong.

Anybody got any ideas for me?

Thanks,
Brent 

henk-jan ebbers

unread,
Apr 25, 2017, 4:09:01 PM4/25/17
to bots...@googlegroups.com
hi Brent,


I can not help you that way. you will have to be specific.

what is the error you get (and where); and what is your intention with that code (the code that gives the error).


kind regards,

henk-jan
> > To unsubscribe from this group and stop receiving emails from it, send an email to botsmail+u...@googlegroups.com <javascript:> <mailto:botsmail+u...@googlegroups.com <javascript:>>.
> > Visit this group at https://groups.google.com/group/botsmail <https://groups.google.com/group/botsmail>.
> > For more options, visit https://groups.google.com/d/optout <https://groups.google.com/d/optout>.

Brent Holtsclaw

unread,
May 1, 2017, 1:12:59 PM5/1/17
to Bots Open Source EDI Translator
Hello,

I still struggling to figure this out.
 I am getting MessageError: [S03]: Record "ST-LIN-ZA" occurs 0 times, min is 1.


On Wednesday, April 19, 2017 at 2:01:16 PM UTC-5, Brent Holtsclaw wrote:
Hello,

I thought this these lines in the mapping script where to handle the ZA segment:

>>>First line loops thru the lines under details.
>>>Second line outputs the preceeding structure
>>>Third line outputs the ZA elements of ZA01 a literal 'QE', and ZA02 the value stored in 'qe'
Is that what they do?

henk-jan ebbers

unread,
May 1, 2017, 2:10:48 PM5/1/17
to bots...@googlegroups.com
hi Brent,

it means that nested under each LIN segemnt (the LIN segment itself is nested under the ST segment) is a required 'ZA' segment.

as it this is required, you will have to take care of filling this ZA segment with values (I do not know what the content should be, but it seems to be required).


kind regards,

henk-jan

Brent Holtsclaw

unread,
May 1, 2017, 2:58:53 PM5/1/17
to Bots Open Source EDI Translator
Hello,

I put [ST][LIN][ZA] at the end of the lines in this example data to show the nested levels.

<?xml version="1.0" encoding="utf-8" ?>
<message>     [ST]
    <sender>5157929962</sender>
    <receiver>?</receiver>
    <docdtm>20170412</docdtm>
    <partys>
        <party>
            <qual>ST</qual>
            <name1>NEWTON PROFESSIONAL PURCHASING</name1>
            <internalID>83888</internalID>
        </party>
    </partys>
    <lines>     [LIN]
          <line>
              <gtin>733905618079</gtin>
              <Product>VK1DAD85142+0050</Product>
              <details>
                  <QE>10</QE>     [ZA]
                  <QC>0</QC> 
....
Thanks,

henk-jan ebbers

unread,
May 1, 2017, 3:03:43 PM5/1/17
to bots...@googlegroups.com
so how do you map the details to segment ZA?


kind regards,

henk-jan
> > To unsubscribe from this group and stop receiving emails from it, send an email to botsmail+u...@googlegroups.com <javascript:> <mailto:botsmail+u...@googlegroups.com <javascript:>>.
> > Visit this group at https://groups.google.com/group/botsmail <https://groups.google.com/group/botsmail>.
> > For more options, visit https://groups.google.com/d/optout <https://groups.google.com/d/optout>.

Brent Holtsclaw

unread,
May 1, 2017, 3:15:28 PM5/1/17
to Bots Open Source EDI Translator
Loop thru input with the following for Loop:
for dou in inn.getloop({'BOTSID':'message'},{'BOTSID':'lines'},{'BOTSID':'line'},{'BOTSID':'details'}):

Then output to the ZA segment with:
    dou.put({'BOTSID':'ZA','ZA01':'QE','ZA02':'qe'})

Thanks you,
Brent

henk-jan ebbers

unread,
May 1, 2017, 3:22:42 PM5/1/17
to bots...@googlegroups.com

Brent Holtsclaw

unread,
May 1, 2017, 6:26:31 PM5/1/17
to Bots Open Source EDI Translator
henk-jan,

I thought I sent the mapping lines you wanted.

Brent

henk-jan ebbers

unread,
May 2, 2017, 9:34:15 AM5/2/17
to bots...@googlegroups.com
maybe once in past, but would be good to see them again.


kind regards,

henk-jan
> <https://groups.google.com/group/botsmail>> <https://groups.google.com/group/botsmail <https://groups.google.com/group/botsmail>

Brent Holtsclaw

unread,
May 3, 2017, 11:50:26 AM5/3/17
to Bots Open Source EDI Translator
henk-jan,

I am attaching my current data, xml input grammar, and mapping script files.
The output x12 852 grammar you most likely have, or it was attached in my first post.

I hope you can spot something to guide me in the right direction.
The sample edi file I was sent had the same order as my xml data file.
Message related segments, then product line segments, then the 19 details of product Inventory.
ZA01 element being Upper characters that I used in my xml tags e.g. <qe>.
ZA02 element being the quantity value between the xml tags.

If I have not made anything clear please ask.

Thanks for your help and guidance!

Sincerely,
Brent
VK_Inventory.py

Brent Holtsclaw

unread,
May 3, 2017, 4:40:21 PM5/3/17
to Bots Open Source EDI Translator

henk-jan,

 I just noticed that these where not attached.

Sorry,

Brent
VK852.xml
VK852_xml2x12.py

henk-jan ebbers

unread,
May 4, 2017, 4:32:28 AM5/4/17
to bots...@googlegroups.com
this one should work better.

(you mixed in and out objects; have a godo look at the loops)

#mapping-script
#~ from x12lib import get_art_num #import x12 specifc helper function
import bots.transform as transform #import div bots helper functions

def main(inn,out):
out.put({'BOTSID':'ST','ST01':'852','ST02':out.ta_info['reference'].zfill(4)})
docnum = inn.get({'BOTSID':'message','docdtm':None})
inn.ta_info['botskey']=docnum
out.ta_info['botskey']=docnum

#convert dates to right internal format
docdtm = inn.get({'BOTSID':'message','docdtm':None})
out.put({'BOTSID':'ST'},{'BOTSID':'XQ','XQ01':'H','XQ02':docdtm})

#loop over partys
for party in inn.getloop({'BOTSID':'message'},{'BOTSID':'partys'},{'BOTSID':'party'}):
pou = out.putloop({'BOTSID':'ST'},{'BOTSID':'N1'})
pou.put({'BOTSID':'N1','N101':'DS','N102':'name1'})
#loop over lines
for line in inn.getloop({'BOTSID':'message'},{'BOTSID':'lines'},{'BOTSID':'line'}):
lou = out.putloop({'BOTSID':'ST'},{'BOTSID':'LIN','LIN02':'UP','LIN03':'LIN'})
#loop over detail
for detail in line.getloop({'BOTSID':'line'},{'BOTSID':'details'}):
dou = lou.putloop({'BOTSID':'LIN'},{'BOTSID':'ZA'})
dou.put({'BOTSID':'ZA','ZA01':'QE','ZA02':'qe'}) #no idea why this 3:3] is there, makes no sense for me -> so I removed it
#dou.put({'BOTSID':'ZA','ZA01':'QC','ZA02':'qc'[3:3]})

out.put({'BOTSID':'ST'},{'BOTSID':'CTT','CTT01':out.getcountoccurrences({'BOTSID':'ST'},{'BOTSID':'PO1'}) }) #bots counts line items
out.put({'BOTSID':'ST'},{'BOTSID':'SE','SE01':out.getcount()+1,'SE02':out.ta_info['reference'].zfill(4)}) #SE01: bots counts the segments produced in the X12 message.


kind regards,

henk-jan
> > <https://groups.google.com/group/botsmail <https://groups.google.com/group/botsmail>>> <https://groups.google.com/group/botsmail <https://groups.google.com/group/botsmail>
> <https://groups.google.com/group/botsmail <https://groups.google.com/group/botsmail>>
> > > <https://groups.google.com/group/botsmail <https://groups.google.com/group/botsmail> <https://groups.google.com/group/botsmail <https://groups.google.com/group/botsmail>>>>.
> > > > > For more options, visit https://groups.google.com/d/optout <https://groups.google.com/d/optout> <https://groups.google.com/d/optout <https://groups.google.com/d/optout>>
> <https://groups.google.com/d/optout <https://groups.google.com/d/optout> <https://groups.google.com/d/optout <https://groups.google.com/d/optout>>>
> > <https://groups.google.com/d/optout <https://groups.google.com/d/optout> <https://groups.google.com/d/optout <https://groups.google.com/d/optout>> <https://groups.google.com/d/optout
> <https://groups.google.com/d/optout> <https://groups.google.com/d/optout <https://groups.google.com/d/optout>>>>.
> > > >
> > > > --
> > > > You received this message because you are subscribed to the Google Groups "Bots Open Source EDI Translator" group.
> > > > To unsubscribe from this group and stop receiving emails from it, send an email to botsmail+u...@googlegroups.com <javascript:> <mailto:botsmail+u...@googlegroups.com
> <javascript:>>.
> > > > Visit this group at https://groups.google.com/group/botsmail <https://groups.google.com/group/botsmail> <https://groups.google.com/group/botsmail
> <https://groups.google.com/group/botsmail>> <https://groups.google.com/group/botsmail <https://groups.google.com/group/botsmail>
> > <https://groups.google.com/group/botsmail <https://groups.google.com/group/botsmail>>>.
> > > > For more options, visit https://groups.google.com/d/optout <https://groups.google.com/d/optout> <https://groups.google.com/d/optout <https://groups.google.com/d/optout>>
> <https://groups.google.com/d/optout <https://groups.google.com/d/optout> <https://groups.google.com/d/optout <https://groups.google.com/d/optout>>>.
> > >
> > > --
> > > You received this message because you are subscribed to the Google Groups "Bots Open Source EDI Translator" group.
> > > To unsubscribe from this group and stop receiving emails from it, send an email to botsmail+u...@googlegroups.com <javascript:> <mailto:botsmail+u...@googlegroups.com <javascript:>>.
> > > Visit this group at https://groups.google.com/group/botsmail <https://groups.google.com/group/botsmail> <https://groups.google.com/group/botsmail
> <https://groups.google.com/group/botsmail>>.
> > > For more options, visit https://groups.google.com/d/optout <https://groups.google.com/d/optout> <https://groups.google.com/d/optout <https://groups.google.com/d/optout>>.
> >
> > --
> > You received this message because you are subscribed to the Google Groups "Bots Open Source EDI Translator" group.

Brent Holtsclaw

unread,
May 5, 2017, 3:23:50 PM5/5/17
to Bots Open Source EDI Translator
Henk-Jan,

Thanks so very much for pointing out my errors.

Now, I  am getting another error that does not reference a line:
 [F25]: Record "ST-LIN-ZA" field "ZA02" numerical format not valid: "qe".

Question#1: How do I find out what format it is expecting?

Question#2: Is that part of the incoming grammar or out going grammar?

Question#3: Is there a list of the possible Errors Codes, and descriptions of what the possible solutions are?

I can normally figure out the syntax errors, and indentation errors when it points me to a line of code,
but when a line is not referenced, it is harder to figure out what is wrong.

Question#4: How does the translation operation work?
Does it read the input file into a data structure and check it against the input grammar definition.
Then map the data in the input data structure, to an output data structure and check against the output grammar.
Then write the output data structure to the output file.

Or does it do everything in one pass line by line?

Question#5: Is there a way to output a literal string Value
Example:I am also getting this error: MessageError: [F02]: Record "ST-LIN-ZA" field "ZA01" is mandatory.
I believe it needs to be the two characters 'QE' but it does not seem to see a ZA01 element that is in my Mapping script .
How does it know that ZA01 is mandatory and ZA02 is not the proper numerical format?
It is not in the 852004010.py Grammar script.

Question#6:  Are there any debugging tips & tricks that would help me.
I have the debugging settings at full in my Testing & Development Bots.
Things that allow you to see variable values, or output up to the error, list of current variables, etc.

Thanks again for all your assistance, and have a great weekend there in Utrecht.

Brent

henk-jan ebbers

unread,
May 9, 2017, 12:55:58 PM5/9/17
to bots...@googlegroups.com


On 05/05/2017 09:23 PM, Brent Holtsclaw wrote:
> Henk-Jan,
>
> Thanks so very much for pointing out my errors.
>
> Now, I am getting another error that does not reference a line:
> [F25]: Record "ST-LIN-ZA" field "ZA02" numerical format not valid: "qe".
> Question#1: How do I find out what format it is expecting?
in the grammar, look at the format of field 'ZA02'. Or in the x12 documentation.

> Question#2: Is that part of the incoming grammar or out going grammar?
looks to me your are writing to x12 -> outgoing
> Question#3: Is there a list of the possible Errors Codes, and descriptions of what the possible solutions are?
no.
> I can normally figure out the syntax errors, and indentation errors when it points me to a line of code,
> but when a line is not referenced, it is harder to figure out what is wrong.
> Question#4: How does the translation operation work?
> Does it read the input file into a data structure and check it against the input grammar definition.
yes.
> Then map the data in the input data structure, to an output data structure and check against the output grammar.
yes..
> Then write the output data structure to the output file.
yes
> Or does it do everything in one pass line by line?
no
>
> Question#5: Is there a way to output a literal string Value
you are dong that all of the time.
> Example:I am also getting this error: MessageError: [F02]: Record "ST-LIN-ZA" field "ZA01" is mandatory.
> I believe it needs to be the two characters 'QE' but it does not seem to see a ZA01 element that is in my Mapping script .
> How does it know that ZA01 is mandatory
in the grammar.
> and ZA02 is not the proper numerical format?
in the grammar.
> It is not in the 852004010.py Grammar script.
grammar imports the recorddefs (import statement in the beginning of file). (these recorddefs are used in all x12 004010 version transactions.)
you can find the field formats in that file.
do not change those.
>
> Question#6: Are there any debugging tips & tricks that would help me.
> I have the debugging settings at full in my Testing & Development Bots.
> Things that allow you to see variable values, or output up to the error, list of current variables, etc.
about debugging: http://skilchen.github.io/bots/debugging/
often the best way in the mapping script is to use print statement:

print 'value',value

kind regards,
henk-jan
> > > To unsubscribe from this group and stop receiving emails from it, send an email to botsmail+u...@googlegroups.com <mailto:botsmail+u...@googlegroups.com>.
> > > Visit this group at https://groups.google.com/group/botsmail <https://groups.google.com/group/botsmail> <https://groups.google.com/group/botsmail
> <https://groups.google.com/group/botsmail>>.
> > > For more options, visit https://groups.google.com/d/optout <https://groups.google.com/d/optout> <https://groups.google.com/d/optout <https://groups.google.com/d/optout>>.
> >
> > --
> > You received this message because you are subscribed to the Google Groups "Bots Open Source EDI Translator" group.
> > To unsubscribe from this group and stop receiving emails from it, send an email to botsmail+u...@googlegroups.com <javascript:> <mailto:botsmail+u...@googlegroups.com <javascript:>>.

Brent Holtsclaw

unread,
May 10, 2017, 12:36:06 PM5/10/17
to Bots Open Source EDI Translator
Henk-Jan,

I have been learning a lot, thanks so much for answering my questions.

I am attaching a log file of my last run. Yesterday is the first time I have looked at one of these log files.

I notice that there are no errors in the file, but I get errors via Bots -Monitor.

Well, this kind of looks like an error. What does it mean?
20170509 17:50:56 DEBUG    engine : No import of module "C:\Python27\lib\site-packages\bots\usersys\routescripts\botsengine".

The following lines in the log look to me that my ZA record was read in from my xml data file.
20170509 17:50:57 DEBUG    engine : Record "details":
20170509 17:50:57 DEBUG    engine :     "qe" : "6.0"

These 2 lines looks like it mapped the values to the ZA segment.
20170509 17:50:57 DEBUG    engine.map : getloop ({'BOTSIDnr': u'1', 'BOTSID': 'line'}, {'BOTSIDnr': u'1', 'BOTSID': 'details'}) returns "{'BOTSIDnr': u'1', 'BOTSID': 'details', 'qe': '6.0'}".
20170509 17:50:57 DEBUG    engine.map : "True" for put ({'ZA02': u'details', 'ZA01': u'QE', 'BOTSID': u'ZA', 'BOTSIDnr': u'1'},)'details', 'qe': '6.0'}".

Why did the output have "details" and not '6.0'?
20170509 17:50:57 DEBUG    engine : Record "ZA":
20170509 17:50:57 DEBUG    engine :     "ZA01" : "QE"
20170509 17:50:57 DEBUG    engine :     "ZA02" : "details"

I now understand that there are other scripts that I was not aware of, that are part of the grammar.  like x12.py, records004010.py, envelope.py

Why does using the xml tag name work some times, but not here?  
Example:
docdtm = inn.get({'BOTSID':'message','docdtm':None}) 
    out.put({'BOTSID':'ST'},{'BOTSID':'XQ','XQ01':'H','XQ02':docdtm})

Any idea what concept am I missing? 

Thanks again greatly for your help,

Brent
engine.log

henk-jan ebbers

unread,
May 10, 2017, 12:47:41 PM5/10/17
to bots...@googlegroups.com


On 05/10/2017 06:36 PM, Brent Holtsclaw wrote:
> Henk-Jan,
>
> I have been learning a lot, thanks so much for answering my questions.
>
> I am attaching a log file of my last run. Yesterday is the first time I have looked at one of these log files.
>
> I notice that there are no errors in the file, but I get errors via Bots -Monitor.
>
> Well, this kind of looks like an error. What does it mean?
> 20170509 17:50:56 DEBUG engine : No import of module "C:\Python27\lib\site-packages\bots\usersys\routescripts\botsengine".
no, not an error; just information.
>
> The following lines in the log look to me that my ZA record was read in from my xml data file.
> 20170509 17:50:57 DEBUG engine : Record "details":
> 20170509 17:50:57 DEBUG engine : "qe" : "6.0"
>
> These 2 lines looks like it mapped the values to the ZA segment.
> 20170509 17:50:57 DEBUG engine.map : getloop ({'BOTSIDnr': u'1', 'BOTSID': 'line'}, {'BOTSIDnr': u'1', 'BOTSID': 'details'}) returns "{'BOTSIDnr': u'1', 'BOTSID': 'details', 'qe': '6.0'}".
that is the getloop
> 20170509 17:50:57 DEBUG engine.map : "True" for put ({'ZA02': u'details', 'ZA01': u'QE', 'BOTSID': u'ZA', 'BOTSIDnr': u'1'},)'details', 'qe': '6.0'}".
written as this has result "True"
>
> Why did the output have "details" and not '6.0'?
> 20170509 17:50:57 DEBUG engine : Record "ZA":
> 20170509 17:50:57 DEBUG engine : "ZA01" : "QE"
> 20170509 17:50:57 DEBUG engine : "ZA02" : "details"
>
> I now understand that there are other scripts that I was not aware of, that are part of the grammar. like x12.py, records004010.py, envelope.py
>
> Why does using the xml tag name work some times, but not here?
> Example:
> docdtm = inn.get({'BOTSID':'message','docdtm':None})
> out.put({'BOTSID':'ST'},{'BOTSID':'XQ','XQ01':'H','XQ02':docdtm})
if there is no field 'docdtm' in record 'message', variable docdtm gets value None.
(not found, not there)
the next put statement will not be written if docdtm is Noen.
result "False".
(In edi a lot is about data being there or not being there.)

kind regards,
henk-jan
> about debugging: http://skilchen.github.io/bots/debugging/ <http://skilchen.github.io/bots/debugging/>
> > > To unsubscribe from this group and stop receiving emails from it, send an email to botsmail+u...@googlegroups.com <javascript:> <mailto:botsmail+u...@googlegroups.com <javascript:>>.
> > > Visit this group at https://groups.google.com/group/botsmail <https://groups.google.com/group/botsmail> <https://groups.google.com/group/botsmail

Brent Holtsclaw

unread,
May 15, 2017, 12:49:48 PM5/15/17
to Bots Open Source EDI Translator
Henk-Jan,

Sorry that I am not getting this.  I did not see you replies until today on reviewing this post.

I am not connecting why my values are not being found.  I guess I do not understand what is happening in my code vs yours.

What you are saying, I am sure is correct, but it has not helped me see my mistakes.

I do not know if I have made mistakes in my xml grammar or mapping or both.

I can not think of the reason my code is not working.  please help me see it.

Many thanks for your patience!

On Wednesday, May 10, 2017 at 11:47:41 AM UTC-5, eppye wrote:


On 05/10/2017 06:36 PM, Brent Holtsclaw wrote:
> Henk-Jan,
>
> I have been learning a lot, thanks so much for answering my questions.
>
> I am attaching a log file of my last run. Yesterday is the first time I have looked at one of these log files.
>
> I notice that there are no errors in the file, but I get errors via Bots -Monitor.
>
> Well, this kind of looks like an error. What does it mean?
> 20170509 17:50:56 DEBUG    engine : No import of module "C:\Python27\lib\site-packages\bots\usersys\routescripts\botsengine".
no, not an error; just information.
>
> The following lines in the log look to me that my ZA record was read in from my xml data file.
> 20170509 17:50:57 DEBUG    engine : Record "details":
> 20170509 17:50:57 DEBUG    engine :     "qe" : "6.0"
>  
 It sees my values right above.

henk-jan ebbers

unread,
May 15, 2017, 1:10:21 PM5/15/17
to bots...@googlegroups.com
docdtm = inn.get({'BOTSID':'message','docdtm':None})

you are fetching field 'docdtm' from record 'message'.
the content of that field goes into variabel 'docdtm'.
in case field 'message' has not content (field is not there) 'docdtm' will have value None.
Test this by adding statement:
print docdtm

now you want to write to outgoing message.
you want to write record 'XQ', filling fields 'XQ01' and 'XQ02'
out.put({'BOTSID':'ST'},{'BOTSID':'XQ','XQ01':'H','XQ02':docdtm})

if 'docdtm' has a value, record 'XQ' will be written indeed.
if 'docdtm' has no value (thus is None), record 'XQ' will not be written.
This is by design.

kind regards,
henk-jan
> > about debugging: http://skilchen.github.io/bots/debugging/ <http://skilchen.github.io/bots/debugging/> <http://skilchen.github.io/bots/debugging/ <http://skilchen.github.io/bots/debugging/>>
> > > > > To unsubscribe from this group and stop receiving emails from it, send an email to botsmail+u...@googlegroups.com <mailto:botsmail+u...@googlegroups.com>.
> > > > > Visit this group at https://groups.google.com/group/botsmail <https://groups.google.com/group/botsmail> <https://groups.google.com/group/botsmail
> <https://groups.google.com/group/botsmail>> <https://groups.google.com/group/botsmail <https://groups.google.com/group/botsmail>
> > <https://groups.google.com/group/botsmail <https://groups.google.com/group/botsmail>>> <https://groups.google.com/group/botsmail <https://groups.google.com/group/botsmail>
> <https://groups.google.com/group/botsmail <https://groups.google.com/group/botsmail>>
> > > <https://groups.google.com/group/botsmail <https://groups.google.com/group/botsmail> <https://groups.google.com/group/botsmail <https://groups.google.com/group/botsmail>>>>.
> > > > > For more options, visit https://groups.google.com/d/optout <https://groups.google.com/d/optout> <https://groups.google.com/d/optout <https://groups.google.com/d/optout>>
> <https://groups.google.com/d/optout <https://groups.google.com/d/optout> <https://groups.google.com/d/optout <https://groups.google.com/d/optout>>>
> > <https://groups.google.com/d/optout <https://groups.google.com/d/optout> <https://groups.google.com/d/optout <https://groups.google.com/d/optout>> <https://groups.google.com/d/optout
> <https://groups.google.com/d/optout> <https://groups.google.com/d/optout <https://groups.google.com/d/optout>>>>.
> > > >
> > > > --
> > > > You received this message because you are subscribed to the Google Groups "Bots Open Source EDI Translator" group.

Brent Holtsclaw

unread,
May 15, 2017, 1:35:01 PM5/15/17
to Bots Open Source EDI Translator
Henk-Jan,

I put print docdtm after docdtm = inn.get({'BOTSID':'message','docdtm':None}) and it printed 20170412 in my bots-engine run output.

How can I use that help with my ZA is mandatory issue?

Many Thanks,

Brent 

henk-jan ebbers

unread,
May 15, 2017, 1:43:30 PM5/15/17
to bots...@googlegroups.com

I am not sure what the question is.

please be clear in what the problem is, what you eexpect and what the actual result is.



kind regards,

henk-jan
> <http://skilchen.github.io/bots/debugging/>> <http://skilchen.github.io/bots/debugging/ <http://skilchen.github.io/bots/debugging/> <http://skilchen.github.io/bots/debugging/
> <https://groups.google.com/group <https://groups.google.com/group>
>
> --
> You received this message because you are subscribed to the Google Groups "Bots Open Source EDI Translator" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to botsmail+u...@googlegroups.com <mailto:botsmail+u...@googlegroups.com>.
> Visit this group at https://groups.google.com/group/botsmail.
> For more options, visit https://groups.google.com/d/optout.

Brent Holtsclaw

unread,
May 15, 2017, 2:36:04 PM5/15/17
to Bots Open Source EDI Translator
Henk-Jan,

The errors I am trying to resolve are:
MessageError: [F02]: Record "ST-LIN-ZA" field "ZA01" is mandatory. [F25]: Record "ST-LIN-ZA" field "ZA02" numerical format not valid: "qe".

20170515 10:54:20 DEBUG    engine.map : "True" for put ({'ZA02': u'qe', 'ZA01': u'QE', 'BOTSID': u'ZA', 'BOTSIDnr': u'1'},)

How can that be "True" and False?

I have sent my data, grammars, and mapping scripts in earlier posts and last sent my engine.log

I am sorry I have confused you. This post has gotten long, should I start a new one?

Thanks always,

Brent

henk-jan ebbers

unread,
May 15, 2017, 2:45:40 PM5/15/17
to bots...@googlegroups.com
(no, I am not going to collect everything you have send).


please send plugin.

plugins can be made via bots GUI.

(Config-> make plugins.

take care that the input files are in botssys/infiles

that way the input fiels will be in the plugin, so I can test directly.

(if not, please change your setup so that the input files are there, and channel points to right directory)


kind regards,

henk-jan
> > <http://skilchen.github.io/bots/debugging/ <http://skilchen.github.io/bots/debugging/>>> <http://skilchen.github.io/bots/debugging/ <http://skilchen.github.io/bots/debugging/>
> <https://groups.google.com/d/optout <https://groups.google.com/d/optout> <https://groups.google.com/d/optout <https://groups.google.com/d/optout>>>>>
> > <https://groups.google.com/d/optout <https://groups.google.com/d/optout> <https://groups.google.com/d/optout <https://groups.google.com/d/optout>> <https://groups.google.com/d/optout
> <https://groups.google.com/d/optout> <https://groups.google.com/d/optout <https://groups.google.com/d/optout>>> <https://groups.google.com/d/optout <https://groups.google.com/d/optout>
> > <https://groups.google.com/d/optout <https://groups.google.com/d/optout>>
> > > <https://groups.google.com/d/optout <https://groups.google.com/d/optout> <https://groups.google.com/d/optout <https://groups.google.com/d/optout>>>>
> <https://groups.google.com/d/optout <https://groups.google.com/d/optout> <https://groups.google.com/d/optout <https://groups.google.com/d/optout>> <https://groups.google.com/d/optout
> <https://groups.google.com/d/optout>
> > <https://groups.google.com/d/optout <https://groups.google.com/d/optout>>> <https://groups.google.com/d/optout <https://groups.google.com/d/optout> <https://groups.google.com/d/optout
> <https://groups.google.com/d/optout>> <https://groups.google.com/d/optout <https://groups.google.com/d/optout> <https://groups.google.com/d/optout <https://groups.google.com/d/optout>>>>>>>
> > > > > > <https://groups.google.com/d/optout <https://groups.google.com/d/optout> <https://groups.google.com/d/optout <https://groups.google.com/d/optout>>
> <https://groups.google.com/d/optout <https://groups.google.com/d/optout> <https://groups.google.com/d/optout <https://groups.google.com/d/optout>>>
> > <https://groups.google.com/d/optout <https://groups.google.com/d/optout> <https://groups.google.com/d/optout <https://groups.google.com/d/optout>> <https://groups.google.com/d/optout
> <https://groups.google.com/d/optout> <https://groups.google.com/d/optout <https://groups.google.com/d/optout>>>>
> > > <https://groups.google.com/d/optout <https://groups.google.com/d/optout> <https://groups.google.com/d/optout <https://groups.google.com/d/optout>> <https://groups.google.com/d/optout
> <https://groups.google.com/d/optout> <https://groups.google.com/d/optout <https://groups.google.com/d/optout>>> <https://groups.google.com/d/optout <https://groups.google.com/d/optout>
> > <https://groups.google.com/d/optout <https://groups.google.com/d/optout>> <https://groups.google.com/d/optout <https://groups.google.com/d/optout> <https://groups.google.com/d/optout
> <https://groups.google.com/d/optout>>>>>
> > > > <https://groups.google.com/d/optout <https://groups.google.com/d/optout> <https://groups.google.com/d/optout <https://groups.google.com/d/optout>>
> <https://groups.google.com/d/optout <https://groups.google.com/d/optout> <https://groups.google.com/d/optout <https://groups.google.com/d/optout>>> <https://groups.google.com/d/optout
> <https://groups.google.com/d/optout>
> > <https://groups.google.com/d/optout <https://groups.google.com/d/optout>> <https://groups.google.com/d/optout <https://groups.google.com/d/optout> <https://groups.google.com/d/optout
> <https://groups.google.com/d/optout>>>> <https://groups.google.com/d/optout <https://groups.google.com/d/optout> <https://groups.google.com/d/optout <https://groups.google.com/d/optout>>
> > > <https://groups.google.com/d/optout <https://groups.google.com/d/optout> <https://groups.google.com/d/optout <https://groups.google.com/d/optout>>>
> <https://groups.google.com/d/optout <https://groups.google.com/d/optout> <https://groups.google.com/d/optou <https://groups.google.com/d/optou>
>
> --
> You received this message because you are subscribed to the Google Groups "Bots Open Source EDI Translator" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to botsmail+u...@googlegroups.com <mailto:botsmail+u...@googlegroups.com>.
> Visit this group at https://groups.google.com/group/botsmail.
> For more options, visit https://groups.google.com/d/optout.

Brent Holtsclaw

unread,
May 16, 2017, 12:21:44 PM5/16/17
to Bots Open Source EDI Translator
Henk-Jan,

I decided to make some changes before getting your message to send you a plugin.

I changed my xml data file, and my input grammar script, and mapping, and seem to have more elements showing in my output in the engine.log

I had to do some re-configuring to put my input file where you asked for it.  I also did a few practice make plugin runs, to see what was going to be sent in the plugin, and do some cleanup of the data structures.

At this time, I still am hitting a wall on the details nested under the lines.

I have not been able to get any output mapping that 2nd if loop. 

Do you have any suggestions for me?

As always, much appreciation for your expertise, help, and patience,

Brent
plugin_20170516.zip

henk-jan ebbers

unread,
May 16, 2017, 12:30:13 PM5/16/17
to bots...@googlegroups.com
which one is the route I would need to run?

kind regards,

henk-jan
> > <https://groups.google.com/group/botsmail <https://groups.google.com/group/botsmail> <https://groups.google.com/group/botsmail <https://groups.google.com/group/botsmail>>
> --
> You received this message because you are subscribed to the Google Groups "Bots Open Source EDI Translator" group.

Brent Holtsclaw

unread,
May 16, 2017, 12:49:48 PM5/16/17
to Bots Open Source EDI Translator
Henk-Jan,

Sorry, It is named VK852.

Brent

henk-jan ebbers

unread,
May 16, 2017, 12:57:24 PM5/16/17
to bots...@googlegroups.com

this works:
for line in inn.getloop({'BOTSID':'message'},{'BOTSID':'lines'},{'BOTSID':'line'}):
lou = out.putloop({'BOTSID':'ST'},{'BOTSID':'LIN'})
gtin = line.get({'BOTSID':'line','gtin':None})
product = line.get({'BOTSID':'line','Product':None})
lou.put({'BOTSID':'LIN','LIN02':'UP','LIN03':gtin})
#~ line = out.putloop({'BOTSID':'ST'},{'BOTSID':'N9','N901':'ZZ','N902':product}) #no idea what that is.....N9 seems to be at header level, so why write at line level.

#loop over detail
for linedetail in line.getloop({'BOTSID':'line'},{'BOTSID':'details'}):
duo = lou.putloop({'BOTSID':'LIN'},{'BOTSID':'ZA'})
detail = linedetail.get({'BOTSID':'details','detail':None})
value = linedetail.get({'BOTSID':'details','value':None})
print 'results detail',detail, value
duo.put({'BOTSID':'ZA','ZA01':detail,'ZA02':value})

you seem to have bee shooting yourselves in the foot with variable names (the name 'detail' was used for different things)
...I did renames
think there where more errors.


result I have now:

ISA*00* *00* *01*test *01*test *170516*1851*^*00403*000000002*1*P*>~
GS*PD*test*test*20170516*1851*2*X*004010~
ST*852*0234~
XQ*H*20170412~
N1*DS*NEWTON PROFESSIONAL PURCHASING~
LIN**UP*733905618079~
ZA*QE*10.0~
LIN**UP*733905618086~
ZA*QE*6.0~
CTT*0~
SE*9*0234~
GE*1*2~
IEA*1*000000002~
which looks godo to me.
(had to add the partners though)

kind regards,
henk-jan

Brent Holtsclaw

unread,
May 17, 2017, 11:32:39 AM5/17/17
to Bots Open Source EDI Translator
Henk-Jan,

I think I made a mistake by sending a simplified data file.  I implemented what you sent and I finally got output.
Then I when on to generate a test file to be review by the partner and I did not get what I expected. 
I had to added back the extra details that I had stripped out, and it still ran and created output, but the output only had the last ZA value.
The 'TS' value is the last one for each product line.  I expected the 2nd For loop to output the ZA01 and ZA02 for each detail record.
I tried to fix it, but everything I try so far, just breaks it. 
I am attaching an updated plugin that has the complete sample data file for 2 items.
I have am including below, the sample EDI utput I am trying to emulate.
If you compare my sample input XML data file to the sample output you can see I have tried to match the structure.

ISA*00*          *00*          *12*SENDERID01     *ZZ*VTJJV11     *170105*0704*U*00401*060000039*0*P*>~
GS*PD*SENDERID*VTJJV11*20160105*0704*3217*X*004010~
ST*852*0001~
XQ*H*20160104*20160104~
N1*DS*LOCATION NAME*91*1234567~
LIN*1*UP*12345678901*IN*564852~
ZA*QA*11*PK~
ZA*QB*11*PK~
ZA*QC*0*PK~
ZA*QD*0*PK~
ZA*QE*11*PK~
ZA*QH*0*PK~
ZA*QI*0*PK~
ZA*QO*0*PK~
ZA*QP*0*PK~
ZA*QR*0*PK~
ZA*QS*0*PK~
ZA*QT*0*PK~
ZA*QU*0*PK~
ZA*QW*0*PK~
ZA*QZ*0*PK~
LIN*2*UP*12345678902*IN*569854~
ZA*QA*9*PK~
ZA*QB*9*PK~
ZA*QC*0*PK~
ZA*QD*0*PK~
ZA*QE*9*PK~
ZA*QH*0*PK~
ZA*QI*0*PK~
ZA*QO*0*PK~
ZA*QP*0*PK~
ZA*QR*0*PK~
ZA*QS*0*PK~
ZA*QT*0*PK~
ZA*QU*0*PK~
ZA*QW*0*PK~
ZA*QZ*0*PK~
CTT*2~
SE*37*0038~
GE*1*3217~
IPK*1*060000039~

Why does the 2nd FOR loop in the mapping just ouput the last detail and value?

If I was not clear on anything please let me know.

Thanks again as always,

Brent
plugin_20170517.zip

henk-jan ebbers

unread,
May 17, 2017, 11:52:00 AM5/17/17
to bots...@googlegroups.com
use xml that is better:

<details>
<detail>QE</detail>
<value>10.0</value>
</details>
<details>
<detail>QC</detail>
<value>0</value>
</details>
<details>
<detail>QR</detail>
<value>0</value>
</details>
<details>
<detail>QP</detail>
<value>0</value>
</details>
<details>
<detail>QS</detail>
<value>2</value>
</details>
<details>
<detail>QO</detail>
<value>0</value>
</details>
<details>
<detail>QB</detail>
<value>12</value>
</details>
<details>


kind regards,
henk-jan

Brent Holtsclaw

unread,
May 17, 2017, 12:50:51 PM5/17/17
to Bots Open Source EDI Translator
Henk-Jan,

I want to thank you again.  You where completely correct.

I made that change to my data file and the output was like I needed.

I have learned a lot thru these post and appreciate your patience.

Wishing you the best of luck,

Brent
Reply all
Reply to author
Forward
0 new messages