cancel
Showing results for 
Search instead for 
Did you mean: 

SAP(Idoc) <=> XI <=> ThirdPart(WebService)

Former Member
0 Kudos

Hello friends!

I have a problem with development of acknowledgement system with SAP(Idoc) <=> XI <=> ThirdPart(WebService) scenario.

My case:

Scenario looks like:

SAP(Idoc) <=>(Idoc adapter) XI (SOAP adapter)<=> ThirdPart(WebService)

It must work this way:

SAP system send IDOC, then XI map it and send it via SOAP-adapter to third part webservice. Then webservice answer to XI with structure сontains "TRUE" or "FALSE",

and then XI must inform SAP ALE/IDOC system if current information from idoc was successfully added to webservice or not.

But how can I get it? As far as I understand ALE/IDOC system I have to create ALEAUD by myself, put status of idoc depends on webservice return and send ALEAUD idoc to SAP.

I'am right?

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member
0 Kudos

Alexander

In order to avoid BPM you can use following solution -->

Create wrapper RFC above your IDOC in SAP R/3 system, with this the whole scenario will become synchronous & easy to implement..

Let me know, what you think about this.

- Lalit -

Former Member
0 Kudos

Create wrapper RFC above your IDOC in SAP R/3 system, with this the whole scenario will become synchronous & easy to implement..

Let me know, what you think about this.

I think that it is out of scope of my case. I have to work with Idocs only. But creating RFC-wrapper may be is one of solutions in other cases.

Former Member
0 Kudos

Hi,

You can use BPM for this Idoc--Soap Sync Process

Design objects:

Data type & Message Type

1) Import the IDOC and Later you import the Idoc, doble click on it a export it to your driver, next import it as External Definition for reason becouse if not, you wont be able to create a MI type synch with IDOC and genericResponse structure

2) Create data type for your Response Type of IDOC

3) Import the WSDL File For Request and the Response Type

4) Create the Message types according to the Data types which we created

Messgae Interface:

1) Outbound synchronous:

output message will be ur idoc external definition file

input message will be ur message type that u have created.

2) Abstract Outbound Synchronous:

use the same as in Outbound Synchronous

3) Inbound Synchronous:

input message will be ur request message of RFC/WebService

output message will be ur response message of RFC/Webservice

4)Abstract Inbound Sunchronous:

input message will be ur request message of RFC/WebService

output message will be ur response message of RFC/Webservice

Mapping

Request Message Mapping:

b/w ur idoc external definiton and request message of RFC/WS

response Message Mapping:

b/w ur Response message of RFC/WS and ur message type

Interface Mapping

Import MI(abstract) of IDOC

Import MI of WS

select the mapping for request and response Tab

BPM

1) In container window define a variable named IDoc_ABS with category abstract interface and

type (select the MI of IDOC alone)

define a variable named GenericRespnse_abs with category abstract interface and type (select

MI of genericResponse alone)

2) Create a Recieve Step --> in property message select the container you define before of idoc.

3) Define a Send Step--> mode synchronous

select MI type abstract and sync (idoc and genericResponse)

for property request message selects container Idoc_ABS

for property response message selects container GenericRespnse_abs.

Save your Changes and thats all for BPM

*Configuration *

1) Create scenario

Assign BS and create comunication channels with QoS (quality of service) type BE

2) Import your BPM

Create a Receiver Determination

-->in the target service select the BPM. Save

-->In overview windown at foot windowns select MI IDoc_abs only. nothing else

Create a Receiver Determination

-->here the system who send data is BPM

-->in the target service select the BS of receiver system.Save

-->In overview windown at foot windowns select interface mapping and assing communication channel

what we do here. the flow is next

1) Receive data from sender system and send it to BPM

2) BPM call bs of target system (WS). how? because in interface determination you selected

before the interface mapping

Regards

Seshagiri

prateek
Active Contributor
0 Kudos

XI must inform SAP ALE/IDOC system if current information from idoc was successfully added to webservice or not.

ALEAUD is an application ack which means that the data is received by the webservice properly. U cannot use ALEAUD as a response message. The webservice response cannot be mapped to ALEAUD without BPM.

As far as I understand ALE/IDOC system I have to create ALEAUD by myself

The ack received from receiver is converted into ALEAUD at XI idoc adapter.

Regards,

Prateek

Former Member
0 Kudos

As fas as I understand - if I will use BPM, I will have to switch off ALEAUD in IDXNOALE table and then create ALEAUD by myself - put status in it and send to SAP ERP.

Is it right way?

I don't know exactly how to switch off ALEAUD - give some links please!

Thanks in advance,

Alexandr.

Former Member
0 Kudos

Hi,

You can consider mapping the return response to ALEAUD IDoc and send it to SAP system via another interface or you can club the interfaces via BPM.

Regards,

Riyaz