Hi
The structure of the EDI is as follows:
NM1
REF
REF
The “REF” segments are situational.
The enumerated value for first REF is “AA” and for second “REF” is “BB”.
The records are created with the data dictionary with first REF as REF and second REF as REF_1 with their respective enumerated values.
A flat file schema is built with the record references from the data dictionary, and the structure looks as given above.
The problem is when the data is submitted with NM1 and only one REF with enumerated value of the second REF, it throws an error for the first REF indicating incorrect value for REF. But actually the conditions are valid as the REFs are situational, and the data has to parse correctly.
Unchecked the “Ordered” in schema for the NM1 but does not solve the problem.
As given in the “webMethods_Flat_File_Schema_Developers_Guide.pdf” for :
Ordered - Select the check box to require that the child records of this record appear in the flat file in the order that they appear in the flat file schema. This property applies only to records, not composites or fields.
Here REFs are records.
what may be the solution for this problem.
You can set up the flat file dictionary for the version of EDI that you are working with by using the wm.b2b.edi:SEFParse service, which is in the WmEDI package.
I created an 837 flat file schema for X12 v4010 by using that service.
NM1 is a record that loops. The REF record is a child of NM1. From the description that you gave, you are using only one data element (REF01), which is data element number 128. This can have numerous code values including “AA” and “BB”. REF01 is the only mandatory data element (field) in a REF record (segment).
You should end up with the following structure if you set up the flat file manually (if you don’t use SEFParse):
NM1 - Record that loops (max repeat=10, for the 837 that I set up) with “NM1” as the record identifier.
REF - Record (max repeat=2) with “REF” as the record identifier. This should be set up as a child of NM1 in the schema.
REF01 - Field under REF. REF01 is a mandatory field. Add REF02, REF03, REF04, if needed.
I am ignoring validation for the records and fields in this description. If you use SEFParse, the validation information is set up for you.
Hope this helps. Refer to the EDI documentation for more information on using WmEDI package services.
Regards,
-Phillip
I have a customer that is trading 3050 850 with us. They are sending the NTE segment in an unexpected place according to the specs. I created the X12 3050 850 using the parse SEF. Is there anyway to set the schema so that it will except the NTE in any order without service changes?
Example:
Wrong way sent to us Right way preferred
ST ST
BEG BEG
REF NTE
PER REF
N1 PER
NTE N1
Any help would be appreciated. I tried to change the ordered flag in the schema but it did not work.
Thanks
You have to un-select “Ordered” at the very top level of the schema. In other words, at the package.folder:schemaname level above the first record. The check box here may not be visible until you select one of the records. Select one of the records, then go back to the top level.
Regards,
-Phillip
I would offer these suggestions:
-
Make a uniquely named record for this vendor. Do not use/modify the standard definition directly.
-
Make a copy the standard 850 definition and modify that copy to have the segment order you desire.
-
Segment order is determined by the record structure not the schema.
Thanks Phillip. I tried that and it still doesn’t want to accept NTE segments in a different place than the standard specifies.
Thanks for the input! The only problem with this is, the customer believes that NTE can be sent anywhere in the document. So, then I would have to add it to wherever I think they might send it. I hope there is another way.
Hi
I hope you have created the structure of the schema in the following manner:
ST
BEG
NTE
REF
PER
…
and then set the ordered property for ST. It works.
Regards
Raja
Hi Raja,
I actually installed the 850 3050 ff schema and it is in the correct order per EDI standards which is the same that you said. But, when I try to check the ordered property on the ST, It hangs the system. I usually have to can the session. Any suggestions?
AStone
Hi AStone
increase the heap size for the developer.