none
BizTalk is not enforcing segment syntax rules RRS feed

  • General discussion

  •  

    Here is an example.  These are two LIN segment loops from a 4010 852 transaction inbound to BizTalk.

     

    LIN^^VC^STJN027-9|ZA^QA^^CS|

    ZA^QA^^EA|

    LIN^^VC^STJN028-3|
    ZA^QA^^CS|

    ZA^QA^^EA|
    LIN^^VC^STJN028-4|
    ZA^QA^8^CS|
    ZA^QA^^EA|

    Four of the five ZA segments in this excerpt are invalid.  The standard reads

     

    1 If either ZA02 or ZA03 is present, then the other is required.

    2 If either ZA04 or ZA05 is present, then the other is required.

     

    Each of the four invalid ZA segments contains a ZA03 but does not contain a ZA02.  The transaction should fail when parsed by the EDIReceive pipeline but does not. 

     

    Validation is on.

    Friday, June 27, 2008 4:05 PM

All replies

  • The cross field rules are driven off of the xsd annotion X12ConditionDesignator_Check in the schema. If this annotation is set to No, the above observation is by design. To enable the behavior you are trying to check for, edit the schema in notepad and set this annotation to Yes, deploy the schema, restart the host instance and try again. If it repros, I'll investigate further.

     

    Thanks

    Mohsin Kalam

    www.mohsink.com - Blog about Microsoft BizTalk R2 EDI

    Saturday, June 28, 2008 12:43 AM
  • Great answer, Mohsin.  At least you didn't say the schemas were sent out with default behavior that violated X12 standards.

     

    Seriously, your answer was very helpful.

     

     

    Tuesday, July 1, 2008 7:46 PM