Skip to Content
avatar image
Former Member

RD - Condition on empty field - Idoc to file

Hi experts,

I need to put a condition in Receiver Determination : send Idoc if one specific field is empty.

The issue is that when the field is empty, it is not present in the Idoc, so I constantly have an error.

Do you know how to bypass this ?

Thanks a lot in advance,

Jamal

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

4 Answers

  • Best Answer
    avatar image
    Former Member
    Oct 27, 2009 at 12:33 PM

    Hi,

    Check in the mapping whether the field exists using the "exists" standard function. If it doesn't exist then populate it with some other data.

    Hope this helps.

    Regards,

    Anand Patil

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Oct 27, 2009 at 12:41 PM

    Hi,

    You have 2 options.

    1.Select the end message processing without error in receiver determination.

    2. Use the below xpath for empty node.(for Example)

    /p1:Xpath_Emp_Details/Emp_Details [not(Dep)] = EX.

    Regards,

    Prakasu.M

    Add comment
    10|10000 characters needed characters exceeded

  • Oct 27, 2009 at 12:01 PM

    Put an XPATh condition to count the number of occurances of that field and see if it is greater than 1 , Along with the condtion to check the values of that field.

    eg:

    (count(/Pip3A7PurchaseOrderUpdateNotification/toRole/PartnerRoleDescription/PartnerDescription/PhysicalAddress/GlobalLocationIdentifier) = 1)

    YOu can use your field XPATH in stead of what i have given as eg.

    Regards,

    Ravi Kanth Talagana

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Oct 27, 2009 at 12:08 PM

    Option 1:

    Ask the sender system to send some character in the field (instead of empty) which you could use in the Receiver determination.

    This is only if the field is an identifier or so and doesn't bear any business data.

    Option 2 (only if nothing else works)

    Worst case if there is no other way then have a graphical mapping with the idoc as sender and receiver.Use mapwithDefault function and put in some value in this field.

    Then you can use the assigned value in receiver determination.

    If this is the First sender , then have a dummy BPM with receive and send step.

    Send it to the BPM via mapping and the BPM should send it to the receiver system using conditional receiver determination.

    Add comment
    10|10000 characters needed characters exceeded