Monday 19 June 2017

A list of some “magic” tables and reports I collect in my daily work for ABAP development

During my daily work I get to know the existence of some magic tables and reports which can enable me to achieve some work more efficiently and conveniently. Now I shared them with you.

  • Magic tables

    • CUS_IMGACH – IMG Activities
Suppose I know the BAdI definition CRM_PRODIL_ADD_DATA and I would like to find the customizing path in SPRO where I can also manipulate it. Unfortunately the where used list in SE18 does not support to search BAdI definition by customizing activities.

ABAP Development, ABAP Testing and Analysis,

Instead, I can query against IMG activity header table with field ATTRIBUTES = BAdI definition name, and I get the IMG activity description: BAdI: Maintenance of Additional Data in Product BOL.

ABAP Development, ABAP Testing and Analysis,

Now go to SPRO, I can use keyword function there now:

ABAP Development, ABAP Testing and Analysis,

And this is just what I am looking for:

ABAP Development, ABAP Testing and Analysis,
    • RFCATTRIB – Administration table for RFC destinations
I would like to search all RFC destinations created or modified by me, unfortunately the search attribute there does not support “created by” or “changed by”.

ABAP Development, ABAP Testing and Analysis,

Such information is maintained in table RFCATTRIB,
as a result I write a simple report to search in that table.
Specify the user name:

ABAP Development, ABAP Testing and Analysis,

And it will return all RFC destinations created or changed by that user.

ABAP Development, ABAP Testing and Analysis,
    • SEOSUBCO – Class/interface subcomponent
Suppose I only know there is one method which has a parameter named “it_ibintx_tab”. I would like to know which class/interface has such methods with this parameter defined in their signature.
Again the Repository information system for Method query does not support to query against method signature parameter name:

ABAP Development, ABAP Testing and Analysis,

In this case simply query table SEOSUBCO with field SCONAME = IT_IBINTX_TAB, then we get result that the method CHANGE_BEFORE_UPDATE defined in interface IF_EX_IBASE_SAVE has defined this parameter in its signature.

ABAP Development, ABAP Testing and Analysis,
    • TVIMF – User routines called from view maintenance
Suppose I am a newbie for table maintenance generator, and I am now responsible to develop a validation logic defined in view event 01- Before saving the data in the database.
I would like to find a standard one done in system as example.
In this case query table TVIMF:

ABAP Development, ABAP Testing and Analysis,

Then I plan to study the source code in subrountine CHECK_ACTV_ACCOUNT for reference.

ABAP Development, ABAP Testing and Analysis,

In tcode SE54 I can find the function group for table CRMC_BUAG_ACTV is CRM_BUPA_BUAG_CD, and in that function group I can find the subroutine CHECK_ACTV_ACCOUNT.

ABAP Development, ABAP Testing and Analysis,

  • Magic reports

    • RADPROTA – Display DDIC activation log
For example, check all activation log with type Error:

ABAP Development, ABAP Testing and Analysis,

Double click on a row in result list and detail reason for activation error is displayed:

ABAP Development, ABAP Testing and Analysis,
    • RSTABLESIZE – Determining Table Sizes
If you need to have a overview of the number of table entries for a series of tables, you don’t need to check them one by one in SE16 manually.
Instead, run this report:

ABAP Development, ABAP Testing and Analysis,

Result is listed with number of lines and total memory consumption for each table:

ABAP Development, ABAP Testing and Analysis,
    • RSSDOCTB – export transparent table definition locally
Suppose I need to export the definition information for table COMM_PRODUCT:

ABAP Development, ABAP Testing and Analysis,

The information is then displayed and could be saved locally via your preferred file format:

ABAP Development, ABAP Testing and Analysis,
    • A simple HTTP test tool RSICFCLTST01
In Fiori development I tend to use Chrome extension postman or SAP gateway client ( tcode /IWFND/GW_CLIENT ).And there is also a more lightweight HTTP test tool:
Execute the report, create a new session:

ABAP Development, ABAP Testing and Analysis,

Select the created session, click Details tab,then execute send method.

ABAP Development, ABAP Testing and Analysis,

After send method is successfully executed, choose Receive method from drop down list and execute it as well.

ABAP Development, ABAP Testing and Analysis,

ABAP Development, ABAP Testing and Analysis,

ABAP Development, ABAP Testing and Analysis,

ABAP Development, ABAP Testing and Analysis,

No comments:

Post a Comment