Multiple interates in a xlate & order of segments in var

Clovertech Forums Read Only Archives Cloverleaf Cloverleaf Multiple interates in a xlate & order of segments in var

  • Creator
    Topic
  • #53237
    Cynthia Briscoe
    Participant

      I have two ugly variants I have had to create to map a BAR^P05 to a ADT^A08.  I have one interate to copy the DG1 via a path copy but this will not allow me to put in another interate to copy the PR1 even though I set it to have a variant of %s2.  Also I am trying to do a straight path copy of a ZRG to a ZRV  and I get this message- PANIC: assertion ‘vsiDest != ((struct VvSegInfo *) 0)’ failed at Runtime.cpp/1794

      MESSAGE 1

      I have tried moving the ZRG and ZRV to different areas of the variant but nothing is working.  

      I also have a field in the DG1 that I need to copy to a custom segment ZD2 outbound both repeating segments and I cannot build an iterate for the outbound segment ZD2.  Help!

    Viewing 4 reply threads
    • Author
      Replies
      • #77002
        Jim Kosloskey
        Participant

          Cynthia,

          First off share with use the message structures for your inbound and outbound messages.

          You can just take a screen shot of the message strctures from the Messages Tab of the HL/7 Configurator GUI.

          That will what I would need first before determining how to proceed.

          Also insure the structure you have defined matches or can humor the structure the sending and receiving system vendors (I am assuming vendors here) claim is their message structure.

          email: jim.kosloskey@jim-kosloskey.com 29+ years Cloverleaf, 59 years IT - old fart.

        • #77003
          Cynthia Briscoe
          Participant

            I have attached screen shots of the xlate with the variants displayed and also pictures of the iterates I have created so far.  The DG1 to DG1 works fine.  From there it all goes wrong.  I cannot figure out how to map the field 26 in the DG1 to the custom ZD2 segment on the outbound side.  I have tried field iterate, group, segment etc, etc.  I am clueless.  I even took this out and went to the the ZRG to ZRV to try and get this to work and it created a panic message.  I also cannot get the second segment iterate to work at all for the PR1, it just ignores it when it isn’t panicking 🙂

          • #77004
            Gary Atkinson
            Participant

              I would take out the pathcopies, where you have multiple in one copy.  pathcopies always messed things up for me, so I did field by field copies  8)

            • #77005
              Cynthia Briscoe
              Participant

                well, when I changed the path copies to copy I got:

                [0:TEST] Unrecognized field name ‘Can’t locate field in path.  1(0).0(%s2).PR1’

                [0:TEST] Unable to compile OUT list ‘1(0).0(%s2).PR1’

                [0:TEST] Unrecognized field name ‘Can’t locate field in path.  1(0).1(0).0(%s2).PR1’

                [0:TEST] Unable to compile IN list ‘1(0).1(0).0(%s2).PR1’

                [0:TEST] Unable to compile statement ‘

                [0:TEST] Unrecognized field name ‘Can’t locate field in path.  1(0).0(0).ROL’

                [0:TEST] Unable to compile OUT list ‘1(0).0(0).ROL’

                [0:TEST] Unrecognized field name ‘Can’t locate field in path.  1(0).1(0).0(0).ROL(0)’

                [0:TEST] Unable to compile IN list ‘1(0).1(0).0(0).ROL(0)’

                [0:TEST] Unable to compile statement ‘

              • #77006
                Jim Kosloskey
                Participant

                  Cynthia,

                  OK I am going to assume (correct me if I am wrong) that your DG1 looks like this:

                  DG1

                    PR1

                    PR1

                    PR1

                     .

                     .

                  DG1

                    PR1

                    PR1

                    PR1

                     .

                     .

                  rather than:

                  DG1

                  DG1

                  PR1

                  PR1

                  .

                  .

                  If that is the case then your DG1 is a group not segment repetition as defined in the variant (both are actually defined but I think the repeating DG1 segment is in error).  So your DG1 ITERATE needs to change to have a correct basis and use a %g counter.

                  Then your other Actions need to use the %g counter in the address path.

                  Then your PR1 ITERATE is also a group repetition and the basis needs to not only point correctly but also needs to have the DG1 %g counter in the appropriate plae in the basis address path (assing a different %g counter to this ITERATE.

                  Then the Actions inside the PR1 group ITERATE have to have both %g counters appropriately placed in the address paths.

                  The above all describes how to navigate your inbound. As to how the counters should be placed in your outbound – I have not looked.

                  If you need to discuss this more please email me.

                  email: jim.kosloskey@jim-kosloskey.com 29+ years Cloverleaf, 59 years IT - old fart.

              Viewing 4 reply threads
              • The forum ‘Cloverleaf’ is closed to new topics and replies.