cancel
Showing results for 
Search instead for 
Did you mean: 

Synchronous Message Interface problem.

Former Member
0 Kudos

Hi all,

I am working on the scenario like IDoc to DataBase through SAP XI. I created two interfaces for source and target and selected asynchrounous option. It is Working fine with asynchrounous. Idoc is successfully being sent to the data base.

But I need to get back a response to the SAP R/3 system. For this I implemented reverse map like database to Idoc. I selected options synchrounous also. But in interface mapping i am not getting any response option to implement response map.

Can anybody plz suggest me whether i am going to right way or not? and also plz suggest is there any option to get back the response from data base to SAP R/3 System.

Regards ,

sekhar.

Accepted Solutions (0)

Answers (2)

Answers (2)

bhaskar_ghandikota
Participant
0 Kudos

Hi All,

one quick question.

We have a similar scenario but a slightly different one (I posted the error message on Feb 17th evening also earlier but yet to get a reply on that).

What we are trying to is;

Send an IDoc from r/3 to XI and then to SQL databsae (all Asynchronous). Then get back a response and send it back to R/3 again using IDoc - all asynchronous of course.

But we get a message in SXMB_MONI saying that only ASYNCHRONOUS processing is supported when using Idoc . To say one more time, at no point did we use Synchronous in our design.

I am not sure what is wrong.

Can you please advise?

Thanks,

Bhaskar Ghandikota

Former Member
0 Kudos

Hi,

what is the quality of service you use and what type of adapter you use for sending the information from the database to XI to R/3?

Cheers

Stefan

bhaskar_ghandikota
Participant
0 Kudos

Hi Stefan,

we are using R/3 --> IDOC Adapter --> Xi --> JDBC Adapter --> SQL Database.

SQL Database --> JDBC Adapter > XI --> IDOc Adapter > R/3

Quality of Servie - We tried bothe Exactly Once as well as Best effort.

Thanks,

Bhaskar

Former Member
0 Kudos

Hi Bhaskar,

Best effort is a sync call therefore once EO would work. I would suggest to use a file adapter instead of the IDOC Adapter for a test so see if it still brings the same error message. The other possibility is to send it to a ccBPM and see if you get the same issue. I have not used the SQL JDBC Adapter. Did you upgrade to the latest SPs etc. as I read in other threads that SAP fixed issues around the JDBC Adapter. Further did you search OSS otherwise open an OSS message and see what they come back with. I would look to me like an error, in any case they would tell you and post the answer back for other members.

Cheers

Stefan

bhaskar_ghandikota
Participant
0 Kudos

Thanks Stefan.

This solved the Synchronous issue.

-- Bhaskar

Former Member
0 Kudos

IDOC only supports asynchronous communication. If you need to do sync, you need write a RFC or BAPI.

Regards,

Hart

Former Member
0 Kudos

Hi,

as IDOCs are async you have to use XI 3.0 and the ccBPM to make this scenario work. Not chance with XI 2.0.

I am doing IDOC to XI to WS and WS to XI to IDOC. The ccBPM calls the DB and the response can be mapped back to another IDOC going back.

Cheers

Stefan

Former Member
0 Kudos

hi Stefan ,

Thanks for the response. I am using SAP XI 3.0. I am trying to search about the ccBPM calls. But I am unable to configure the steps.

Can u plz send me the configuration steps.

Thanks,

sekhar.

Former Member
0 Kudos

Hi Sekhar,

your interface for the call to the DB would be synch and you need to define a new message type which matches your return parameters. All this I would put into a ccBPM.

Therefore you need to create abstract interfaces.

Step 1 in the ccBPM would be a receive step, e.g. the IDOC from R/3

Step 2 transformation if you need to do any mapping

Step 3 is a sync send step to the DB

Step 4 transformation if you need to do any mapping for the response

Step 5 would be another send step to send the response from Step 3 via IDOC (may be ALEAUD) back to R/3

Therefore you need one outbound async interface from R/3 (which you have defined), one inbound sync interface from the ccBPM to the DB, and one inbound async interface from the ccBPM to R/3

In the ccBPM you need an abstract outbound interface to match the outbound async from R/3, one abstract sync interface to match the sync call to the DB and one async abstract interface to match the response back to R/3

Take a look at the system patterns under the SAP Basis software component, there is an SynctoAsync scenario which is the otherway around, e.g. you don't open an S/A Bridge but gives you the basic idea.

I hope this helps

Stefan

Former Member
0 Kudos

Hi ,

You can take a look at the Sync/Async bridge documentation in help.sap.com and adapt to your scenario

(http://help.sap.com/saphelp_nw04/helpdata/en/14/80243b4a66ae0ce10000000a11402f/frameset.htm)

Steps:

1. Async from IDOC to ccBPM (receive async)

2. Sync from ccBPM to DB (send sync)

3. Async from ccBPM to IDOC (Send async)

step 1 :

Async message : Request = RequestMessage1

step2:

Sync message : Request = RequestMessage1, Response = ResponseMessage1

step3:

Async message : Request = ResponseMessage1.

Hope this clarifies?

Regards

Manish