none
Using K3 Segments RRS feed

  • Question

  • I am passing some proprietary information using the K3 segments. The schema has the Max Occurs set at 10. In my map, I look at the data within the K301 element to decide how it will be mapped.

    The first K3 segment is mapped fine. BizTalk doesn't seem to recognize any K3 segments beyond the first instance.

    The schema doesn't have the K3 segment inside a SubLoop. It's just by itself with a Max Occurs setting. How do I get the map to read through all repeating segments?

    Thank you.
    Brian
    Thursday, February 19, 2009 4:20 PM

Answers

  • There isn't enough information to be sure this will answer your question, but....

    You have a repeating segment

    K3....AA
    K3....BB
    K3....CC

    where each segment has a code or some value that allows you to distinguish it for mapping.

    Use the Value Mapping (Flattening) functoid.  This functoid pulls all instances of the segment.  Normally you would use a logical functoid to evaluate the contents of a node.  For example, if I wanted a value from the K3 node above where the code was BB, I would use a Logical Equals functoid to check for BB, and output the results to the Value Mapping (Flattening) functoid.  The Value Mapping (Flattening) functoid would evaluate all instances of K3.

    If this is not what you need, perhaps you can post an excerpt of your data.



    Jim -- Pro Mapping in BizTalk 2009, Apress Books, March 23, 2009
    Thursday, February 19, 2009 7:32 PM

All replies

  • There isn't enough information to be sure this will answer your question, but....

    You have a repeating segment

    K3....AA
    K3....BB
    K3....CC

    where each segment has a code or some value that allows you to distinguish it for mapping.

    Use the Value Mapping (Flattening) functoid.  This functoid pulls all instances of the segment.  Normally you would use a logical functoid to evaluate the contents of a node.  For example, if I wanted a value from the K3 node above where the code was BB, I would use a Logical Equals functoid to check for BB, and output the results to the Value Mapping (Flattening) functoid.  The Value Mapping (Flattening) functoid would evaluate all instances of K3.

    If this is not what you need, perhaps you can post an excerpt of your data.



    Jim -- Pro Mapping in BizTalk 2009, Apress Books, March 23, 2009
    Thursday, February 19, 2009 7:32 PM
  • Jim,

    You are understanding me perfectly. I must be doing something wrong. Even with the Value Mapping (Flattening) functoids, I only get the first instance of the K3 segment. I am mapping the first element of the K3 segment (K301) to a Left String. Based on that value, I map the K301 through the Value Mapping (Flattening) functiod to a field in my flat file. Just 3 functoids. Nothing complicated.

    Is there something basic that I'm missing?

    Thanks for your help.
    Brian

    Thursday, February 19, 2009 9:22 PM
  • Brian,

    Would you please provide a screenshot of your problematic map? Or you may send the repro files to me at: wjzhang@online.microsoft.com (please remove online.) for a check.

    Have a nice weekend.


    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Friday, February 27, 2009 10:33 AM
    Moderator