none
Many to Many mapping problem

    Question

  • I have a scenario where I need to replace some elements in an existing message with the contents of another message. Message #2 (the existing message) looks like this:

    <Root>
       <Loop2300>
          <Loop2400>
             <LXSegment>
                <LX01_AssignedNumber>1</LX01_AssignedNumber>
             </LXSegment>
             <HCPSegment>
                <HCP02_Amount>0</HCP02_Amount>
             </HCPSegment>
          </Loop2400>
          <Loop2400>
             <LXSegment>
                <LX01_AssignedNumber>2</LX01_AssignedNumber>
             </LXSegment>
             <HCPSegment>
                <HCP02_Amount>0</HCP02_Amount>
             </HCPSegment>
          </Loop2400>
       </Loop2300>
    </Root>

    And message #1 (the new data) looks like this:


    <Root>
       <Header>
          <Detail>
             <ServiceLine>1</ServiceLine>
             <Amount>10.4</Amount>
          </Detail>
          <Detail>
             <ServiceLine>2</ServiceLine>
             <Amount>1.2</Amount>
          </Detail>
       </Header>
    </Root>

    I want to match up the LX01_AssignedNumber in the first message to the ServiceLine in the second message, and replace the appropriate amounts, so that the output winds up looking like this:

    <Root>
       <Loop2300>
          <Loop2400>
             <LXSegment>
                <LX01_AssignedNumber>1</LX01_AssignedNumber>
             </LXSegment>
             <HCPSegment>
                <HCP02_Amount>10.4</HCP02_Amount>
             </HCPSegment>
          </Loop2400>
          <Loop2400>
             <LXSegment>
                <LX01_AssignedNumber>2</LX01_AssignedNumber>
             </LXSegment>
             <HCPSegment>
                <HCP02_Amount>1.2</HCP02_Amount>
             </HCPSegment>
          </Loop2400>
       </Loop2300>
    </Root>

    I thought I could just use an Equal functoid and compare Service Line to LX01_AssignedNumber, then a Value Mapping functoid, but I wind up with 10.4 for both of them. How would I solve this?

    Thanks!

    Wednesday, October 27, 2010 3:56 PM

Answers

  • Hi Bousch,

     

    I see you using a claims XML document to fill the service lines.

     

    Please use the table looping functoid to set the root to scope and the rest of values to what required.

    It should be pretty much solvable with Table Looping Functoid and Table Extractor.

     

     

    Thanks....

    SPN


    Thanks... SPN
    Thursday, October 28, 2010 1:05 AM

All replies

  • In my opinion just write the XSLT for it yourself in a scripting shape. 
    Wednesday, October 27, 2010 8:19 PM
  • Hi Bousch,

     

    I see you using a claims XML document to fill the service lines.

     

    Please use the table looping functoid to set the root to scope and the rest of values to what required.

    It should be pretty much solvable with Table Looping Functoid and Table Extractor.

     

     

    Thanks....

    SPN


    Thanks... SPN
    Thursday, October 28, 2010 1:05 AM