none
How to Generate EDFACT CONTRL with the correct version RRS feed

  • Question

  • With the routine configuraiton for EDIFACT in Biztalk 2010, we can generate CONTRL signals with version statement CONTRL:4:1:UN only.

    Any way out there to set the CONTRL's version automatically based on that of the incoming message? Say, CONTRL:D:97A:UN.

    Is it because there are some errors during incoming message validation?

     

    Thanks

    Gou Jun

    Tuesday, November 22, 2011 1:59 AM

Answers

  • No, by default the EDIReceive pipelines will only create 4.1 control messages.

    There is a control schema located in the EDIFACT Folder :CONTRL\EFACT_4.1_CONTRL.xsd

    You can manipulate the version number using the schema by changing the root element name, and also by overwriting the UNH segment.

    You will then need to map from the Efact_Contl_Root schema already deployed in the BizTalk EDI Application.

     

    Alternative: Create a pipeline component which can change version numbers by using regular expressions, and have them deployed on the send and/or receive side where you need to manipulate the version number in the control messages.

     

    Morten la Cour

    • Marked as answer by Jun Gou[MCTS] Wednesday, November 23, 2011 1:39 AM
    Tuesday, November 22, 2011 8:37 AM

All replies

  • No, by default the EDIReceive pipelines will only create 4.1 control messages.

    There is a control schema located in the EDIFACT Folder :CONTRL\EFACT_4.1_CONTRL.xsd

    You can manipulate the version number using the schema by changing the root element name, and also by overwriting the UNH segment.

    You will then need to map from the Efact_Contl_Root schema already deployed in the BizTalk EDI Application.

     

    Alternative: Create a pipeline component which can change version numbers by using regular expressions, and have them deployed on the send and/or receive side where you need to manipulate the version number in the control messages.

     

    Morten la Cour

    • Marked as answer by Jun Gou[MCTS] Wednesday, November 23, 2011 1:39 AM
    Tuesday, November 22, 2011 8:37 AM
  • Morten, appreciate your enlightenments in a row.

    By "You will then need to map from the Efact_Contl_Root schema already deployed in the BizTalk EDI Application", are you saying I need to deploy an extra mapping from Efact_Contl_Root to a custom CONTRL message?

    Just wondering why Biztalk would apply double standards to X12 and EDIFACT. 997 out of box is handy for use, as compared to CONTRL.

     

    Gou Jun

    Wednesday, November 23, 2011 1:50 AM
  • By reading this article, it seems to me that 997 and CONTRL has approx. the same functionality:

    http://msdn.microsoft.com/en-us/library/bb246077(v=bts.10).aspx


    But it does also state that Edifact_ContrlSchema cannot be altered and that the naming convention for the CONTRL schema is:

    The naming convention for this schema is EFACT_<Version number>_CONTRL.xsd

    So again I would assume that either making a new CONTRL schema or using string replace in a custom pipeline component is the only two options, but I could be wrong?

    Maybe a third option could be creating a map from Edifact_ContrlSchema to Edifact_ContrlSchema and then manipulating the UNH segment, but I haven't tried that.

    Morten la Cour

    Wednesday, November 23, 2011 6:41 AM
  • I believe you are correct.

    I was just complaining why we don't have to perform this additional awkward custom work in order to generate a 997 with correct version. Again, double standards for X12 and EDIFACT.

    Gou Jun

    Wednesday, November 23, 2011 7:49 AM