cancel
Showing results for 
Search instead for 
Did you mean: 

Design question for asynchronous message error handling via PI 7.1

Former Member
0 Kudos

Hello SDN!!!!

We are implementing 7.1 and have come to a spot were any help or thoughts would be appreciated. We are trying to figure out what to do for errors that happen asynch with user data.

For example we expose an asynch service to update a work order from an outside system, there could be times that an data could be out of sync or an order is closed etc. When the user submits from handheld it comes to PI.

If an error happens we were trying to brainstorm what would be the most efficient way to handle possible errors we could recieve.

1. Use IDOC's this is good as the process can be rerun, but the user interface is hard to read etc and users might not really understand layout etc

2. Use Bapi's write a wrapper that would call the bapi and if an error code is returned open a BDC session for the user to try, thus saving the data and giving the user more of a user friendly ui

3. Use a wrapper and do a call transaction thus a BDC would always be created.

Has anyone faced this type of questions before and if so what did you do that made sense, any thoughts on the three options or others.

Thanks in advance and I do award points

Cheers

Devlin

Accepted Solutions (1)

Accepted Solutions (1)

VijayKonam
Active Contributor
0 Kudos

Counting on the BPM performance of 7.1, I would go with an Asyn-Sync-Asyn type of a scenario for this requirement.

USer will send data from the device asnchronously.. BPM will send sync (either bapi or proxy) get the success or failure info and then send it asynch to whatever system which keeps track of the failures/errors.

Looks logical for me.. !!

VJ

VijayKonam
Active Contributor
0 Kudos

If you want to avoid the BPM.. using some modules on the sender side.. you can complete this sceneario..!!

Just in case..

VJ

Answers (3)

Answers (3)

Former Member
0 Kudos
Former Member
0 Kudos

Sorry for the late response I did award some points.

I like your approach, our consultant (former SAP) was saying they are going away from BDC and IDOC and doing more through web dynpro components. Unfortunately I can't find anything related to this, that would not require tons of coding on our side. I think it would be good to stay with the new standards, but not as much is documented in this way. Is there something out there that handles this without all the code that will require much time and maintenance?

Cheers

Devlin

VijayKonam
Active Contributor
0 Kudos

Webdyn pro is nothing but ABAP exposed on to browser. Internal code is ABAP itself and proxies are the best way to implement this.once you develop a synchronous server proxy and have the WSDL for this (generated on R3 or Thru PI as an Outbound interface) you will use this WSDL on the WebDynpro to create automated screens on the Portal side.Simply boils down to Sync Proxy.

VJ

kkram
Contributor
0 Kudos

Devlin

I talked to a SAP employee while I was in TechEd and they were coming up with some sort of error handling scenario for interfaces but only for Webservices based integration. That means, only those interfaces between PI and ECC that will use WS-RM or WS, which could be done only from SP14 and above. Again, this error handling tool is not available with SP14 rather in the future enhancement packs.

Honestly, BDCs were great to build error handling procedures but it is too SAP centric and causes lots of issues with newer screen technologies and hence cannot be reliably used any more. IDOCs are great but again the GUI is awful. You are left with only custom options if you don't like the way BD87 works. Its up to you to decide between functionality and maintainence.

I have wondered why SAP hasn't come up with a out-of-box error handling tool but thinking twice, every customer's need would be different as far as presentation and some may even have controls around not allowing changing any data in the target system rather change it in the source system and resend. So SAP provides a bare bone tool to fix errors (why not for ABAP proxies, I don't know) and lets customers tweak them with APIs.

Hope this helps

KK

kkram
Contributor
0 Kudos

Devlin

I would suggest you use ABAP proxy within which you call a BAPI function module and in case of errors, make the proxy successful but create an IDOC. Yes, IDOCs are cumbersome to deal with but you can provide custom wrapper using ABAP web dynpro to reprocess the IDOCs. I have already developed a tool to display IDOC data in tabular format with table driven customizing and hope to publish it to SDN (will take a couple of weeks for sure).

If you want to stay away from IDOC, then for those LUWs that are in error, since you are using ABAP proxy, you can store them as XML stream in a 'Z' table and then display them as tabular data to users (again using ABAP webdynpro and some dynamic programing). Note that the transformation for converting XML to internal table and vice versa for ABAP proxies is stored in table SPROXSSL.

Hope this helps.

Thanks

KK