cancel
Showing results for 
Search instead for 
Did you mean: 

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

Former Member
0 Kudos

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?

Accepted Solutions (0)

Answers (5)

Answers (5)

Former Member
0 Kudos

Closing

sunilchandra007
Active Contributor
0 Kudos

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

Former Member
0 Kudos

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

former_member204873
Contributor
0 Kudos

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:

Former Member
0 Kudos

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