Process log error IF statement fetch produced multiple value

Homepage Clovertech Forums Read Only Archives Cloverleaf Cloverleaf Process log error IF statement fetch produced multiple value

  • Creator
    Topic
  • #52825
    Robert Denny
    Participant

    Any idea on what this error means? The translation has many if statements and I am wondering how we would narrow it down to just one?

    [xpm :xlt :WARN/0:softmed_xlate:11/30/2011 06:18:42] IF data fetch produced multiple values.

    [xlt :xlat:ERR /0:softmed_xlate:11/30/2011 06:18:42] [0.0.38727955] Xlate ‘softmed_centricity.es.xlt’ failed: Fetch failure on ‘{IF data fetch produced multiple values.}’

Viewing 6 reply threads
  • Author
    Replies
    • #75589
      Elizabeth Wilson
      Participant

      Try to deactivate one IF at the time and run the test. The last time it happened to me was when the return value in IF statement had ‘&’ in it.

    • #75590
      Vince Angulo
      Participant

      I agree that it’s likely an un-escaped ampersand.

      Should that be the issue, an alternative to isolating IF statements, is to check the inbound SMAT — the regexp

    • #75591
      Tom Rioux
      Participant

      You can also get that error when you use an IF statement on a field that has multiple subfields.  

      This error may occur if you reference the field in the IF statement like “..PID(0).#5” instead of “…PID(0).#5.[0]

      Tom

    • #75592
      Robert Denny
      Participant

      Thanks Tom,

      We are still having problems with this if statement. I notice that if I move the iteration variable listed in the long if statement, then the PARSE ERROR goes away, but we stop processing the message after the first OBX segment.

      Here is a screen dump of the translation portions of this iteration an if statement that is causing the errors.

    • #75593
      Robert Denny
      Participant

      I should have been more concise. When I move the iteration variable

      within the if statement from

      0(0).OBX(%s1).#5 to  0(0).OBX(0).#5(%s1)

      Then the ERROR goes away in the process error log. But we only process the first OBX line and then it stops.

      [xpm :xlt :WARN/0:softmed_xlate:12/30/2011 14:29:43] IF data fetch produced multiple values.

      [xlt :xlat:ERR /0:softmed_xlate:12/30/2011 14:29:43] [0.0.45357340] Xlate ‘escript_centricity.xlt’ failed: Fetch failure on ‘{IF data fetch produced multiple values.}’

      Any more suggestions? Is there more information I can provide such as the txt file of the translation?

    • #75594
      Jim Kosloskey
      Participant

      Robert,

      Make sure your inbound variant really has the OBX defined as a repeating segment – normally for ORM or ORU Message Types the OBX is a part of a repeating group not a repeating segment.

      If that is the case then you will only ITERATE once.

      Just to be sure you have multiple inbound OBX (either group or segment) and you want  all of the inbound OBX-5 fields to end up as one repeated OBX-5 field outbound.

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

    • #75595
      Robert Denny
      Participant

      It is a repeating segment on the inbound variant and the outbound variant.

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

Forum Statistics

Registered Users
5,129
Forums
28
Topics
9,301
Replies
34,447
Topic Tags
288
Empty Topic Tags
10