Skip to Content
avatar image
Former Member

how to Take source value remove zero and use it In receiver Determination

Hi

I am working On IDOc to Soap channel.

In idoc Fields ,I am using EMPST field from IDOC and accordingly I am putting Condition in Receiver Determination.

IF EMPST 111 Then Revceive1

IF EMPST 222 Then Revceive2

IF EMPST 333 Then Revceive3

But sometimes values also Come as 000111 or 00111 or 0111 same for Others.

I have used follwong condition in Receiver Determination.

IDOC/E1EDK01/EMPST u2248 *111

But it working fime for leading zero.

But if values come as 8111 or 78111 it is also routing message to Revceive1.

same for others.

Can you plz suggest solution?

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

5 Answers

  • avatar image
    Former Member
    Apr 13, 2010 at 04:05 AM

    Hi,

    Since u have given

    IDOC/E1EDK01/EMPST u2248 *111 -->Receiver1

    then anything which contains 111 will route to Receiver1..... U know that duw this * in r.e.

    If u dont want to route 8111 or 78111 to receiver 1 then,

    Can u please try with this r.e,

    [0]*111

    Let us know the result...

    Babu

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Apr 13, 2010 at 04:17 AM

    you can use enhanced receiver determination ,, where you can specify your logic in the mapping

    http://wiki.sdn.sap.com/wiki/display/XI/EnhancedReceiverDeterminationinSAP+XI

    http://wiki.sdn.sap.com/wiki/display/SI/StepbyStepguidetoExplainEnhancedReceiver+Determination

    in the UDF you can write the logic to remove leading zeros if required:

    removing-leading-zeros

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Apr 13, 2010 at 04:23 AM

    Hi,

    If values are limited e.g. 000111 or 00111 or 0111 then you can directly configure them in Receiver determination using OR operator, by providing multiple conditions but if values are very high then this is not a feasible solution. A good solution could be asking source to remove zeroes before sending IDOC to PI. They can use User exist to code this at R/3 end.

    Another suggestion give as 0*111 may not work as if you get 08111, it would again fail.

    Regards

    Sushil

    Add comment
    10|10000 characters needed characters exceeded

  • Apr 13, 2010 at 04:30 AM

    You can try xpath function number with EX operator. The condition would be like

    IDOC/E1EDK01/[number(EMPST)] =111

    For details, pls refer to /people/shabarish.vijayakumar/blog/2006/06/07/customise-your-xpath-expressions-in-receiver-determination .

    Regards,

    Sunil Chandra

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Oct 12, 2010 at 08:42 AM

    Closing

    Add comment
    10|10000 characters needed characters exceeded