cancel
Showing results for 
Search instead for 
Did you mean: 

Receiver determination condition for checking the node not exist

Former Member
0 Kudos

Hi PI experts,

Could you please let me the xpath condition for checking the node not exist case.

Whenever E1EDP01 ->E1EDPT1 TDID - VAL and EEDPT2 segment not exist - data should send to receiver.

How to check this condition in receiver determination level.

Regards,

Karthiga

Accepted Solutions (0)

Answers (1)

Answers (1)

azharshaikh
Active Contributor
0 Kudos

Hi,

You can mention the condition on following lines:

Refer:

Xpath Condition in Receiver Determination - Process Integration - SCN Wiki

Node Not Exits :

If I want to send some files if node is not exits .How to use Xpath?

Below one will help to send the file to receiver.

 
Name is Not exits in the source file then the file will send to the receiver.

Regards,

Azhar

Former Member
0 Kudos

Hi Azhar,

Invoice Idoc is coming from source.How to add condition for above E1EDPT2 segment not exist?

azharshaikh
Active Contributor
0 Kudos

Hi,

Can you share the exact XPath for these fields (from MM...right click on the field and do copy path )

Regards,

Azhar

Former Member
0 Kudos

Hi Azhar,

/INVOIC02/IDOC/E1EDP01/E1EDPT1/TDID = VAL and

/INVOIC02/IDOC/E1EDP01/E1EDPT1/E1EDPT2 --> not exist then send to receiver

How to achieve this in ID condition level?

Regards,

Karthiga

Former Member
0 Kudos

Hello,

Try this -

/INVOIC02/IDOC/E1EDP01[E1EDPT1/TDID = "VAL"  and count(E1EDPT1/E1EDPT2) =0 ] EX

Thanks

Amit Srivastava

Former Member
0 Kudos

Hi Amit,

I tried this ,but the data is supressing at receiver determination pipeline step.it is not passing to receiver at all.

Regards,

Karthiga

Former Member
0 Kudos

Try as below

/INVOIC02/IDOC/E1EDP01/E1EDPT1/TDID =VAL

AND

/INVOIC02/IDOC/E1EDP01/E1EDPT1[count(E1EDPT2) =0 ] EX

Former Member
0 Kudos

Hi Ram,

This condition is also not working..It is filtering at PI and not sent to receiver.

Regards,

Karthiga

Former Member
0 Kudos

Hi Amit,

The condition which you have provided is working.But I need to check one more condition along with that.When EDI_DC40/RCVPRN = "XXX" and then send to receiver.

When I add this condition along with the above it is supressing at receiver level.

Could you please help.

Regards

Karthiga

Former Member
0 Kudos

Hi Amit,

The condition which you provided is working fine when only one E!EDPT1 TDID val and no E1EDPT2 seg exist..But in my case ECC is sending Idoc with multiple E1EDPT1 TDID as different value and E1EDPT2 segment exist for that..In that case this condition is not working properly.Could you please help.

Regards,

Karthiga

manoj_khavatkopp
Active Contributor
0 Kudos

When you are keeping Xpath condition their is option called 'Multline' try checking that check box .

Then you are bale to check condition for multiple elements.

Former Member
0 Kudos


Hi Manoj,

Multiline is already enabled...Inside E1EDP01 -> multiple E1EDPT1/E1EDPT2 segment exist ..out of that i need to check TDID = val and E1EDPT2 not exist then pass to receiver.

Regards,

Karthiga

Former Member
0 Kudos

Hello Karthiga ,

WHy dont you to try to achieve this in message mapping , as you are having 3-4 conditions and that too multiple. You can put the condition at top node of mapping whether to map or not or use enhanced receiver determination in mapping.

Just my thought if this is achievable.

Thanks

Former Member
0 Kudos

Hi Gaurav,

In the receiver side structure I am using message type rather than external definition.Is it possible to chnage the occurence at receiver side structure.If I change the Occurence in signature tab,then i need to redo the complete mapping .Any other option available?

Regards,

Karthiga

Former Member
0 Kudos


Hello Karthiga ,

You do not have to change the occurence. If the data will be comign multiple times then ideally you should not chnage the occurence.

My point is try acheiving your conditions at mapping level or use enhanced receiver determination concept.

Thanks

Former Member
0 Kudos

Hi,

I have already implemented all required logic at mapping level.suppose if in an Idoc ,one one item exist and that is invalid item - In that case PI is generating the XML with rootnode content and sents to end system and hence I wants that condition to be added in receiver determination level.

Regards,

Karthiga

Former Member
0 Kudos

You can apply your logic on the root node itself so that it will not get created.

Or more proper way is using enhanced receiver determination mapping before the mian mapping.

Thanks