Tuesday 22 June 2010

SAP - Debugging middleware - OSS Note 847964

Just for my note and quick reference :)

UPDATE: Quick note on ABAP to recreate BDOCis called CRM_START_REQUEST_FROM_CRM.
                         FM: CRM_SRV_R3_LOGISTIC_UPLOAD is called to update PREQ etc.

Symptom

You want to debug the data exchange between CRM and R3 for service documents.

Reason and Prerequisites

Data is sent to the R3 system via the CRM Middleware. The data is sent asynchronously

Solution

Before you save the service document, enter /h and set a breakpoint in
the function module CRM_UPLOAD_BTMBDOC_START_FLOW
Go into the first method, CALL METHOD cl_smw_mflow=>process_outbound (line 33), and set ls_header-dbg_mode to X (line 37). With F8, you'll return to the service order.
Now click on the Doc_flow. You'll see an outbund BDOC with the date BUS_TRANS_MSG and D01.
(If you can't see the BDOC, set the user parameter CRM_USER_LEVEL to 9 in your user parameters).
Double click the BDOC.

Enter /h and set a breakpoint at one of the following function modules:
CRM_R3_ACCOUNTING_UPLOAD passes Controlling information for service contracts and service orders
CRM_R3_SERVICECONF_UPLOAD passes Controlling information for service confirmations
CRM_R3_SRV_RESERVATION_UPLOAD is called for material reservations
CRM_R3_SALESDOCUMENT_UPLOAD is called for sales relevant information (for example, if you have sales items in a service document)
CRM_R3_SERVICE_BILLING_UPLOAD for billing of service orders in R3 (only available with the SIE add-on).
Reprocess the BDOC.
Set a breakpoint at the line IF lv_synchronous_call IS INITIAL or IF gv_synchronous_call IS INITIAL. F8 brings you to this breakpoint.
Set lv_synchronous_call/gv_synchronous_call to X and with F5 you'll enter R3 debugging. Make sure that the RFC user used for communicating between the systems is defined as a dialog user.

--
CRM_SRV_R3_LOGISTIC_UPLOAD
Y_E_CRM_R3_SRV_MVT_UPLOAD

No comments:

Calling MS SQL Stored Procedure from ABAP

One of the few things sometime coming up in your ticket request. Calling stored procedure from ABAP to remote SQL server.  How do we send th...