cancel
Showing results for 
Search instead for 
Did you mean: 

IDOC to JDBC Scenario

mf_haq
Active Participant
0 Kudos

Hi Folks,

At present am working IDOC to JDBC interface. Suppose in SAP 1000 records are there and after execution of ZINT_ABC program, the all records coming in one IDOC and this IDOC contains COMPANY_CODE values 1000, 2000 and 3000 etc and all these records are sending to JDBC. But here I want to send COMPANY_CODE (1000) only.

Condition: If COMPANY_CODE other than 1000 i dont want to process the record. Want to process COMPANY_CODE 1000 records only

Please suggest any standard function available for this or UDF code for the above requirement.

Thanks in advance.

MFH

Accepted Solutions (0)

Answers (4)

Answers (4)

rajasekhar_reddy14
Active Contributor
0 Kudos

1)Write a condition in Receiver determination to send record when company code = 1000.

2)Write a mapping logic to statmenet segment in JDBC receiver like below

Company code -> equals (1000) --IfWithoutElse(constant--else) ---remove context---Statement.

Make sure that statement in JDBC receiver structure should be 0..1

Regards,

Raj

mf_haq
Active Participant
0 Kudos

Hi Raj,

Thanks for your reply. Its working in design and from RWB (singile record testing). But when run job target updating with the all the company codes.

Please have a look on condition that am using in Rx determination and suggest if any changes

Condition in receiver determination: (/ZEMPLOYEE/IDOC/ZEMP_MAST_BUKRS=1000)

Regards,

MFH

mf_haq
Active Participant
0 Kudos

Hi Raj,

Scenario: From SAP all created/changed/updated records (let us say 1000 records) sending as 1 IDOC to XI. I guess the above condition that you suggested wont work for this scenario.

It works on each record passing as 1 IDOC. Please revert with your comments on this topic.

Regards,

MFH

former_member200386
Active Participant
0 Kudos

Hi ,

We can handle it from PI end. apply the logic create if  compnay_code 1000 to the  access filed .

regards,

pavan

mf_haq
Active Participant
0 Kudos

Thanks for your quick response. but the requirement is should not process complete record for which COMPANY_CODE other than 1000. 

Former Member
0 Kudos

Hi,

You can use the same logic for fields also. Below logic will only map the fields inside the record where company code is 1000.

Company code ->equals(1000) --IfWithoutElse(Field1--else)---remove context-splitbyvalue--Targetfield

Thanks

Amit Srivastava

Former Member
0 Kudos

Hi,

U can easily handle this requirement at mapping level.

Something like this:

Company code -> equals (1000) --IfWithoutElse(constant--else) ---remove context---Target Node

Thanks

Amit Srivastava

MichalKrawczyk
Active Contributor
0 Kudos

Hi,

>>>Please suggest any standard function available for this or UDF code for the above requirement.

--> IF (standard function)

Regards,

Michal Krawczyk