You are on page 1of 19

1100000338 –

BBP_BACKEND_DETAIL-DEST_DIALOG , Enter your user id there

First keep break point at function module


From bbp_function_map – system picks up function module name based on release type for
SRM7.02
YOU CAN ALSO put break point in B46B_DPO_TRANSFER
http://wiki.scn.sap.com/wiki/pages/viewpage.action?pageId=340264144

Debugging Guide for SRM PO transfer (Extended


Classic Scenario)
Skip to end of metadata

 Page restrictions apply


 Attachments:9
 Added by Viktor Acs, last edited by Viktor Acs on Aug 23, 2013 (view change)
 show comment
Go to start of metadata

Title:
Debugging Guide for SRM PO transfer (Extended Classic Scenario)

Purpose:
 You can check the transfer errors for SRM Purchaser Orders (coming from your ECC system)
 Content of the LT_BAPI_RETURN local table can be added to your OSS message before you send it for SAP
Support
 Extended Classic is the most common scenario based on the amount of customer messages

Overview:
 Extended Classic Scenario's Function Module (FM): BBP_PD_PO_TRANSFER_EXEC
 Important FM-s and BADI-s you can check
 Debugging steps with a Purchase Order example

Content:

Extended Classic Scenario's Function Module: BBP_PD_PO_TRANSFER_EXEC

From the SRM Shopping Cart is a local SRM Purchase Order created and replicated to the ERP Back End system. As a
consequence you can find the PO in the transaction BBP_PD on the SRM side.
Important FM-s and BADI-s you can check

SRM 550:

 BBP_PD_PO_TRANSFER_EXEC
 B46B_DPO_TRANSFER
 BBP_PO_INBOUND (ECC)
 BAPI_PO_CREATE1 (ECC)
 BAPI_PO_CHANGE (ECC)

SRM 700:

 BBP_PD_PO_CREATE
 BBP_PD_PO_UPDATE
 BBP_PD_PO_GETDETAIL
 BBP_PD_PO_TRANSFER_EXEC
 B46B_DPO_TRANSFER
 BBP_PO_INBOUND (ECC)
 BAPI_PO_CREATE1 (ECC)
 BAPI_PO_CHANGE (ECC)

BAdIs which may affect the transfer process of the PO:

PO transfer:

 BBP_ECS_PO_OUT_BADI

Within R/3 Plug-ins:

 BBP_MAP_BEFORE_BAPI
 BBP_MAP_AFTER_BAPI

Debugging steps with an example

1. Check the PO’s GUID in BBP_PD and take a note from it. As you can see this PO has been created
automatically from a Shopping Cart. Confirmation and Invoice from the vendor are expected:
2. Set a session breakpoint in META_BAPI_DISPATCH or META_DPO_TRANSFER (SE37):
3. Start SE37 again and enter the FM-s name (BBP_PD_PO_TRANFER_EXEC). Enter the PO’s GUID as the
parameter of the Function Module. Hit Execute (F8). Debugging session starts:

4. Relevant FM is selected from the table BBP_FUNCTION_MAP based on the Back End system release. In our
example this is B46B_DPO_TRANSFER. Please consider that BAdI-s can be called before accessing the Back End
system (for example: BBP_ECS_PO_OUT_BADI):
5. Navigate in the relevant FM (in our case B46B_DPO_TRANSFER) to the function BBP_PO_INBOUND:

CALL FUNCTION ‘BBP_PO_INBOUND’


Please make sure that you have dialog connection and user, so that you can access the Back End and check the
source code in the ECC system. You can directly set another breakpoint at the relevant part (B46B_DPO_TRANSFER
-> CALL FUNCTION ‘BBP_PO_INBOUND’). If you have done that before starting the debugger session, just press F8
(Continue) and the debugger will directly jump to this part:
6. On the screenshot you can see that we have entered the BBP_PO_INBOUND function and with the help of an
RFC call we are in the ECC system:

7. BAPI_PO_GETDETAIL is called in the ECC system, system checks whether this is a PO change or not. If this
is not a change process, the PO will be created with a BAPI (BAPI_PO_CREATE1 will be called in the FM
CREATE_PO):

8. After the BAPI has been called and processed, possible error messages are returned in the local table
LT_BAPI_RETURN. Please take a screenshot from it or copy the content of the table and attach it to your OSS
message before sending it for SAP:

Remark:

You can debug the Classic Scenario this way as well by the FM: BBP_PD_SC_TRANSFER. The parameter is here the
number (GUID) of the Shopping Cart of course.

You might also like