ITERATE on an outbound variant

Homepage Clovertech Forums Read Only Archives Cloverleaf Cloverleaf ITERATE on an outbound variant

  • Creator
    Topic
  • #53942
    Jim Lohe
    Participant

    This is something I could have sworn I did in the past, but now can

Viewing 6 reply threads
  • Author
    Replies
    • #79620
      bill bearden
      Participant

      Pretty sure the answer is that you can’t iterate on the outbound side. I remember trying it and I thought I had asked the question on Clovertech but I can’t find it. Here is where someone else asked.

      http://clovertech.infor.com/viewtopic.php?t=4154

    • #79621
      Jim Kosloskey
      Participant

      No you cannot iterate using an outbound element.

      However, if you are on a release of Cloverleaf which supports Xlate Chaining then you can chain two Xlates, one that does the original ITERATE and then asecond one which now can ITERATE over the output of the first Xlate.

      If you are not on such a release, then a method that can be used is to have two instances of the ITERATE, the first builds the outbound, the second is a complement over the inbound which simulates what would have been built to decide how to proceeed. I have done this in the past for various reasons.

      While the multiple ITERATE in one Xlate can get the job done, the process is convoluted and difficult to maintain.

      Now that we are on Cloverleaf 6.0 I would try the chaining if the need arises again.

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

    • #79622
      Jim Lohe
      Participant

      Jim Kosloskey wrote:

      No you cannot iterate using an outbound element.

      However, if you are on a release of Cloverleaf which supports Xlate Chaining then you can chain two Xlates, one that does the original ITERATE and then asecond one which now can ITERATE over the output of the first Xlate.

      If you are not on such a release, then a method that can be used is to have two instances of the ITERATE, the first builds the outbound, the second is a complement over the inbound which simulates what would have been built to decide how to proceeed. I have done this in the past for various reasons.

      While the multiple ITERATE in one Xlate can get the job done, the process is convoluted and difficult to maintain.

      Now that we are on Cloverleaf 6.0 I would try the chaining if the need arises again.

      I hadn’t thought to do that – that would do the trick, but yes it would be messy to maintain.    We are not yet on V6.0.

      Funny though, that cloverleaf allows you to set it up using point and click in the gui, and then simply doesn’t execute it.

    • #79623
      Bob Richardson
      Participant

      One and All,

      Running Cloverleaf Integrator 5.8.6.0 on AIX 6.1 TL 7 virtualized.

      We have done a chained xlate to solve the exact problem that you describe in your post, that is, take the output from an xlate and use it

      as input in a chained or following xlate.  Works fine!

      If you look in the process log you should find error messages about

      invalid (illegal) references for your looping attempts (iterates) on

      output groups.  The xlate will not fail only not work!

      But then we have not experimented with the option to elevate warnings to error levels for threads.

      Hope this helps to support a neat feature of xlate chaining.

      Enjoy.

    • #79624
      Jim Kosloskey
      Participant

      Jim,

      What release of Cloverleaf are you on?

      Xlate chaining was introduced post 5.6 but I am not sure what release exactly.

      Maybe you are on a release which provides chaining.

      Another method is to send the message after the first Xlate to aa thread which does an ‘OVER’ (to get the message on the inbound side of that thread) then routes that to the real target. In this second thread routing one could apply a second Xlate which would ITERATE overf the ‘outbound’ of the first Xlate.

      There may be others as well – but for my money chaining offers the best alternative I think.

      In some of the cases where I have had to use the multiple ITERATEs it actually was not too bad – it all depends on what the need is.

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

    • #79625
      Jim Kosloskey
      Participant

      Jim,

      The Xlate Configurator will also allow you to use anything you want in an address path other than an Iteration counter (%xn) like this 0.1(@variable).NTE… but it won’t work.

      Who knows maybe some day they will allow iteraion over outbound just as someday we may be able to use anything in the address path like other fields, temp variables. This has been requested but so far not provided.

      I can get that to work (using temp variables in address pathing anyway) by using Tcl so it should not be too hard for the developers.

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

    • #79626
      Jim Lohe
      Participant

      Jim

      We are on 5.7.    Thanks for all the advice and alternatives.    I had a solution for my particular issue, but was just curious if it was do-able to iterate on the outbound variant.

      Since I had a minimum of 2 OBX and a  max limit of 3 OBX’s (for a blood pressure vital),  I ended up simply doing an ITERATE on a list where the list was 0 1 2, then used the %l1 as the index to the outbound variant.    

      Thanks everyone.

      Jim

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

Forum Statistics

Registered Users
5,117
Forums
28
Topics
9,292
Replies
34,435
Topic Tags
286
Empty Topic Tags
10