JDBC to RFC synchronous scenario
I have a scenario where I need to send data from a database to SAP. There are many new records in database. PI has fetched all records (ex 4records) at a time under one message. But RFC takes first record of the message and processes transaction in SAP and generates new SO number and give back the same SO number to PI. PI will update the SO number in Database against Stock Id. Nothing has done to remaining 3 records. Cant we pass record by record to RFC even PI fetches many records at a time by using written query in sender JDBC adapter? I have checked with both occurrences ( 1....1 and1... many) of sender data type. In both cases PI takes 4 records and executes only one record. I cant understand why PI has taken 4 records at a time even If I use 1...1 occurrence for sender data type. Any help would be great appreciated...
Thanks in advance,
You cannot use a JDBC Sender Channel to build a synchronous scenario.
The sender channel uses an update statement to set the records processed.
As a workaround you can go for the following approach:
JDBC sender channel --> PI Mapping
Use RFC Lookup function to create sales order via RFC and receive SO numbers
PI Mapping --> JDBC receiver channel
Basically this would mean, that the sender and the receiver would be your Database.