Subject:Mapping to EDIFACT ORDERS UNT01 Author:Thomas Dorgan Date:11 Dec 2006 08:58 AM Originally Posted: 11 Dec 2006 08:26 AM
I need to generate the value for UNT01-NumberOfSegmentsInTheMessage. Can you give me a sample of the method for calculating that value in Stylus Studio 2007 xslt stylesheet?
Subject:Mapping to EDIFACT ORDERS UNT01 Author:Tony Lavinio Date:11 Dec 2006 12:35 PM
It really depends on your input; although if you were using XSLT 2
or some node-set extensions to XSLT 1, I suppose you could save your
entire set of results to a tree and count the second-level nodes,
and then subtract out the UNA (if you used it) and UNZ values...
Subject:Mapping to EDIFACT ORDERS UNT01 Author:Thomas Dorgan Date:12 Dec 2006 04:57 PM
The input is an xml file, but there is no set relationship between the node in the input to the segments in the output. This is the xml file created by the Stylus Studio map (attached). I would think you would have come up with a way to do this as it is standard to every EDI and EDIFACT output file.
Subject:Mapping to EDIFACT ORDERS UNT01 Author:Tony Lavinio Date:13 Dec 2006 12:05 PM
We've relied on the one doing the mapping to have that data set
properly in the input EDI, or have it available during the transform.
You could rely on the fact that in EDIFACT all of the segments have
a length of three, so something like
"count(//[string-length(local-name(.)) = 3]) - 1"
might work.
Would it be useful if we just went and calculated the number for you
and stuffed it into the UNT segment, perhaps when no value was supplied?
Subject:Mapping to EDIFACT ORDERS UNT01 Author:Thomas Dorgan Date:13 Dec 2006 01:33 PM
Yes, it would be helpful to have a default value for UNT01 and CTT01 in x12. We can depend on EDIFACT segments having 3 digit tags, but x12 has a mix of 2 and 3 digit tags. I suppose that you could use a command that counts elements with a name length of 2 or 3.
Subject:Mapping to EDIFACT ORDERS UNT01 Author:Thomas Dorgan Date:15 Dec 2006 12:16 PM
Yes, it would be helpful to have a default value for UNT01 and CTT01 in x12. We can depend on EDIFACT segments having 3 digit tags, but x12 has a mix of 2 and 3 digit tags. I suppose that you could use a command that counts elements with a name length of 2 or 3.
Subject:Mapping to EDIFACT ORDERS UNT01 Author:Oddbjørn Overskott Date:26 Jan 2007 04:54 AM Originally Posted: 26 Jan 2007 04:55 AM
I have the exact same problem. I'd appreciate a more elaborated description of how to get a quick-and-dirty count going, but the real solution to this issue would be that the adapter itself counted the segments and put the count in the UNT.
Subject:Mapping to EDIFACT ORDERS UNT01 Author:Tony Lavinio Date:13 Feb 2007 01:22 PM
UNT and UNZ are certainly possible, as are GE and IEA for X12.
There is a strong possibility that there will be a new option on
the URL called auto= that can be used to do automatic filling of
these and some other fields.
CTT is a little harder, since it's dependent on which message
is being processed. But we'll see...