none
Header (ISA Segment) not visible in 5010 999 BizTalk 2010 Schema RRS feed

  • Question

  • I am creating a BizTalk 2010 solution to handle InBound 999's from one of our vendors. I am trying but so far am unable to locate the ISA segment, which is critical since I need to map to one of the fields for my process. Where do I go to see this? I downloaded the X12_00501_999.xsd schema but do not see it there. Please advise--and of course I have a tight deadline.

    Thanks--

    Thursday, June 27, 2013 7:29 PM

Answers

  • So....yes, it would be easier for a programmer, C# and xml, to help you out, especially since the xpath function requires an xpath statement to location the field you have to update.*

    Accessing the message contest is pretty easy, here's an example:

    MyIncomingMessage(EDI.ISASegment)

    will access the entire ISA Segment as a string.

    If your value appears on this list: http://msdn.microsoft.com/en-us/library/bb226554.aspx

    you can get it directly, MyIncomingMessage(EDI.ISA06), for example.  Anything else, you'll have to parse out of the EDI.ISASegment value.

    *A Distinguished Field is indeed an option provided FileID appears only once in the schema, ie MaxOccures=1 for it and all it's ancestors.

    Previous post edited for correction and clarity.

    • Proposed as answer by Johns-305MVP Monday, July 1, 2013 1:18 PM
    • Marked as answer by Pengzhen Song Thursday, July 4, 2013 10:20 AM
    Thursday, June 27, 2013 8:56 PM

All replies

  • You can define your ISA segment values in the party and agreement settings of BizTalk.
    You can find more information here: http://msdn.microsoft.com/en-us/library/bb259967%28v=bts.20%29.aspx

    Also when receiving an X12 message, some header values from your X12 message will be available in your context. More information on what properties will be available can be found here http://msdn.microsoft.com/en-us/library/bb226554.aspx


    Glenn Colpaert - MCTS BizTalk Server - Blog : http://blog.codit.eu

    Thursday, June 27, 2013 7:50 PM
  • Glenn:

    Thanks for the prompt reply----I do appreciate that!

    What you sent me talks about mostly outbound transactions, as well as what sounds like static setup for one of the fields I need, specifically the ISA8. The hurdles I have are as follow:

    1. In the file we are receiving, the ISA8 is the name of the 837 file we sent the vendor, so it is changing every time we receive a 999.

    2. I also need the ISA9 & ISA10 fields, which per the links you sent me do not appear to be visible.

    3. Lastly, I need to be able to map to these fields in my schema; is this possible? In the past I have tried manually hacking the schema to add the fields for the ISA but predictably that wasn't received well by BizTalk.

    Again, thanks for any assistance you can offer.

    Thursday, June 27, 2013 8:04 PM
  • Message and Schema wise, BizTalk EDI views ST...SE as the message.  ISA & GS are header segments.

    Since you're using the 999 message schema, you will not have ISA and GS as part of the message.

    However, the disassembler will promote a number of ISA and GS properties to the context, in the EDI namespace, including the entire segments as-received so the data you're looking for is there, just [edit] not just directly accessible in the Map.

    Since you're in a crunch, route the 999 to an Orchestration and apply the map there.  In the Map, use an otherwise bogus value, "TEMPRECID" for example, to create the destination element.

    Then, in a Message Assignment Shape, you can use the xpath function to set the value of that field.  If it's not one of the first class EDI properties, you'll have to pars it out of ISASegment yourself.

    *If* you only receive 999's on this port, you can use Preserve Interchange to get all the values in Xml.



    • Edited by Johns-305MVP Thursday, June 27, 2013 8:48 PM Edit for clarity
    Thursday, June 27, 2013 8:07 PM
  • Am I correct in assuming that in your sentence "...as-received so the data you're looking for is there, just just directly accessible in the Map..." you meant "...just not directly accessible in the Map.."?

    Right now I have the 999 heading into an Orchestration and a destination element "FileID" as the end parking slot for the ISA8 value.

    I am not a programmer, so I apologize if I am re-asking the same question. My questions are:

    1. How do I access the context from within the map/transform portion of the process? Is it something that will appear if the xpath Funxtoid is applied? if so, how do I apply this? Is this getting into Distinguished Fields?

    2. Do I need .Net or C+ code to expose these? While that is beyond my kung fu, I am surrounded by bright people who are amenable to assisting me if necessary. The Message Assignment looks like it is begging for some code.

    thanks in advance---

    Thursday, June 27, 2013 8:44 PM
  • So....yes, it would be easier for a programmer, C# and xml, to help you out, especially since the xpath function requires an xpath statement to location the field you have to update.*

    Accessing the message contest is pretty easy, here's an example:

    MyIncomingMessage(EDI.ISASegment)

    will access the entire ISA Segment as a string.

    If your value appears on this list: http://msdn.microsoft.com/en-us/library/bb226554.aspx

    you can get it directly, MyIncomingMessage(EDI.ISA06), for example.  Anything else, you'll have to parse out of the EDI.ISASegment value.

    *A Distinguished Field is indeed an option provided FileID appears only once in the schema, ie MaxOccures=1 for it and all it's ancestors.

    Previous post edited for correction and clarity.

    • Proposed as answer by Johns-305MVP Monday, July 1, 2013 1:18 PM
    • Marked as answer by Pengzhen Song Thursday, July 4, 2013 10:20 AM
    Thursday, June 27, 2013 8:56 PM
  • Ok...Thanks--I have a DEV resource who is going to help me out tomorrow. I will post results (either success or bug you more) tomorrow. Thanks again for all the help!
    Thursday, June 27, 2013 9:45 PM