cancel
Showing results for 
Search instead for 
Did you mean: 

Idoc Java Stack - Supports ALE Audit ?

Former Member
0 Kudos

Hi All,

I am currently working this scenario

I would like to take your feedback if anybody tried the below scenario and your feedback:

3rd Party <---------> SAP PI <-------> SAP ECC

                     Soap                    Idoc with ALE audit

                   Synchronous

Can this be achieved as a synchronous scenario where SAP immediately replies with an acknowledgement which can be mapped to the 3rd Part Soap Response. Can this be achieved without BPM.

The SAP team wants to avoid RFC BAPI and ABAP Proxy, they want to use Idoc.

Also I have a scenario which is reverse like Idoc to Webservice synchronous.

Regards

Ravijeet

Accepted Solutions (1)

Accepted Solutions (1)

nabendu_sen
Active Contributor
0 Kudos

Hi Ravijeet,

Your question heading is not matching with the question content. I am referring to the content part.

ALE Audit is not a response message, its just a Functional acknowledgment. If you want to go for specific Synchronous Response, you need BPM.

Please find the below blog and discussions. It will help.

http://scn.sap.com/thread/1793283

http://scn.sap.com/people/saravanakumar.kuppusamy2/blog/2005/01/20/configuration-tips-for-a-business...

http://scn.sap.com/thread/1818552

http://www.scribd.com/doc/89978478/44/Acknowledgments-Supported-in-Adapters

Former Member
0 Kudos

Hi Nabendu,

If I am going with the BPM Sync Async bridge then my source is Sync and target Idoc is async.

I can design the sender as Sync to receive webservice call from 3rd Party and then at receiver call the IDoc. then have a separate receiver to check whether the IDoc was posted and pull some information and reply to the the sender soap request.

My concern is will a delay at SAP receiver could break the Sender SOAP thread.

Regards

Ravijeet

nabendu_sen
Active Contributor
0 Kudos

Hi Ravijeet,

No it will not, because BPM will wait for the Response. But you can always introduce Block step with Timeout exception. Which will go to error after that Timeout.

nabendu_sen
Active Contributor
0 Kudos

Hi Ravijeet,

Please find another solution in the below blog:

http://scn.sap.com/people/martin.dejl2/blog/2011/10/19/soap-for-idoc-demystified

Former Member
0 Kudos

Hi Nabendu,

Really interesting blog Any idea if this is scale-able and can be used in Productive environment.

You made my day

Also on the outbound side when it goes as below

SAP ECC <---------> SAP PI <-------> 3rd Party

          Idoc with ALE audit         Soap synchronous

                                       

Here also can the SOAP response be mapped to the ALE Audit or response back to ECC so that ECC system is aware of the success or failure on target webservice call.

I just wanted to avoid BPM as we are planning to move to SAP PO Single Java stack and didn't want to design any scenario on CC BPM which I later have to move to Netweaver BPM.

Thanks in advance

Ravijeet

nabendu_sen
Active Contributor
0 Kudos

Hi Ravijeet,

Yes this is a stable solution. For Synchronous communication the best approach if you go for Proxy, IDoc is not meant for Synchronous communication, thats why you have do lot of side works.

You should avoid ccBPM if you are planning to move into Single Stack.

Please find the below blog and all the links included in this to implement ALE Audit.

http://scn.sap.com/message/13137330

Former Member
0 Kudos

Hey Nabendu,

I went to the SAP ECC side and ran transaction SRTIDOC and moved the transport request to my development client. After that when I try to test my service in SICF it takes me to a browser screen with blank screen no values. Any suggestions what could be going wrong ?

Thx in advance

Ravijeet

nabendu_sen
Active Contributor
0 Kudos

Hi Ravijeet,

There could be a lot of reasons for this. First check whether the Service in SICF is active or not before performing Test. Also may be the Port is not open. Consult with the Basis team.

Using Transaction Code SICF, go to:

- In SICF homepage, select "SERVICE' for Hierarchy Type field then execute.

- In Virtual Hosts / Services Tree structure at the bottom of the next screen go to 'default_host --> sap --> bc --> srt --> xip --> sap --> "Your Webservice Name".

If it's grayed out then there service is still inactive, you right click on it & select activate from the context menu. Then try your test again.

Please find couple of blogs which you can check at your system:

http://scn.sap.com/message/8139954

http://scn.sap.com/thread/1627704

Former Member
0 Kudos

Hi Nabendu,

I was just checking out the Sender Idoc Adapter on Java Stack. Currently I am on SAP PI 7.31 Service pack 5.

When I am trying to send a Idoc out and my target system is a webservice which is synchronous and replies back with a success or failure response message. I was wondering if I can avoid BPM by using the RequestResponse Bean and ResponseOnewayBean in sender Java Idoc adapter and map the response either to a mail adapter on event of a error coming back from source or map the failure back to the source IDoc number through another receiver IDoc adapter.

My only choice to use BPM was for error handling and as my target webservice is a synchronous service I just don't want to ignore the response.

I was also looking into iFlows which can be used in SAP PI 7.31 and which can avoid ccBPM.

Waiting for your suggestions.

Regards

Ravijeet

nabendu_sen
Active Contributor
0 Kudos

Hi Ravijeet,

The best approach would be :

IDoc (Async)  --> SOAP Lookup (Sync) from UDF  --> Mail (Async).

SOAP Lookup is available from SAP PI 7.3 SP 14. As you already have EHP1, it should work.

Former Member
0 Kudos

Hi Nabendu,

I won't be able to put the Webservice update in my lookup as I am trying to do an interface for Customer interface. I am trying to update the 3rd party thgrough Webservice with the Customer updates on event of any SAP side change.

So to update the 3rd Party I have to first do a SOAP Webservice Login Lookup using my  user credentials and then use the Lookup response session id to do further SOAP Updates. Putting all these logic  as SOAP lookups will be like putting all the logic in UDF's.

So the plain approach would be to

IDoc (Async)  --> SOAP (Sync)  -----(Incase of errors)------> Mail (Async)

I was wondering if I can avoid BPM by using the RequestResponse Bean and ResponseOnewayBean in sender Java Idoc adapter.

Regards

Ravijeet

nabendu_sen
Active Contributor
0 Kudos

Hi Ravijeet,

IDoc (Async)  --> SOAP (Sync)  -----(Incase of errors)------> Mail (Async)

                                       VS

IDoc (Async)  --> SOAP Lookup (Sync) from UDF  --> Mail (Async).

I did not find the difference. For the 1st case you also need to define Response Mapping and Response Structure. You can not control like "Incase of errors". You must need to send back the response from SOAP to Mail Message Structure and must need to call Mail adapter to send email. Please provide some input if you have any idea to control this, means when its success it will not send emails and you will just stop from further processing.

With 2nd option, If you need to perform 2 different SOAP Lookups you can define 2 different Message Mappings under your Operation mapping, each will have SOAP Lookup from UDF.


I have not used RequestResponse bean with IDoc_AAE but it would be interesting. If you want to go ahead with the 1st approach, you can check with RequestResponse bean, from Technical perspective it should work.

http://wiki.sdn.sap.com/wiki/display/XI/Using+Request+Response+Bean+Module+in+FILE+Adapter

Answers (0)