Debugging OWB generated SAP ABAP code executed through RFC
By Anil Menon on Nov 15, 2011
Within OWB if you need to execute ABAP code using RFC you will have to use the SAP Function Module RFC_ABAP_INSTALL_AND_RUN. This function module is specified during the creation of the SAP source location. Usually in a Production environment a copy of this function module is used due to security restrictions.
When you execute the mapping by using this Function Module you can’t see the actual ABAP code that is passed on to the SAP system. In case you want to take a look at the code that will be executed on the SAP system you need to use a custom Function Module in SAP. The easiest way to do this is to make a copy of the Function Module RFC_ABAP_INSTALL_AND_RUN and call it say Z_TEST_FM. Then edit the code of the Function Module in SAP as below
FUNCTION Z_TEST_FM .DATA: BEGIN OF listobj OCCURS 20.
INCLUDE STRUCTURE abaplist.
DATA: END OF listobj.
DATA: line_length type I.
loop at program.
append program-line to WRITES.
Within OWB edit the SAP Location and use Z_TEST_FM as the “Execution Function Module” instead of RFC_ABAP_INSTALL_AND_RUN. Then register this location. The Mapping you want to debug will have to be deployed. After deployment you can right click the mapping and click on “Start”.
After clicking start the “Input Parameters” screen will be displayed. You can make changes here if you need to. Check that the parameter BACKGROUND is set to “TRUE”.
After Clicking “OK” the log for the execution will be displayed. The execution of Mappings will always fail when you use the above function module. Clicking on the icon “I” (information) the ABAP code will be displayed.
The ABAP code displayed is the code that is passed through the Function Module. You can also find the code by going through the log files on the server which hosts the OWB repository. The logs will be located under <OWB_HOME>/owb/log.
Patch #12951045 is recommended while using the SAP Connector with OWB 18.104.22.168. For recommended patches for other releases please check with Oracle Support at http://support.oracle.com