Application Development Blog Posts
Learn and share on deeper, cross technology development topics such as integration and connectivity, automation, cloud extensibility, developing at scale, and security.
cancel
Showing results for 
Search instead for 
Did you mean: 
JerryWang
Advisor
Advisor




In SAP note 1230076 "Generation of ABAP loads: Tips for the analysis", a tool report RSDEPEND is introduced.


It is explained in the note "An ABAP program generally depends on many other repository objects. If an object like this changes (for example, an include or a DDIC type), the load of all dependent programs must be invalidated. The load of these programs is then regenerated with the next use, and valid loads are generated again."


In order to demonstrate the ABAP load invalidation logic, I create a very simple database table ZCRMM_CCTV_CHAL and write a simple report ZTESTLOAD to fetch all its data:



data: lt_table type STANDARD TABLE OF ZCRMM_CCTV_CHAL.
select * INTO TABLE lt_table FROM ZCRMM_CCTV_CHAL.


1. Create and activate the test report for the first time


Execute report RSDEPEND with ZTESTLOAD as program name = ZTESTLOAD.


it returns the result as below. In the first part we see the timestamp of ABAP load and ABAP source are both initial one when I activate the report.


In the second part we see our simple report has many dependencies on system includes like <REPINI> and <SYSINI>.


Those system includes are automatically inserted into the test program I have created, it is not necessary for application developers to manually include them, or else there would be compilation errors:



In the third part "Dependencies of Dictionary Types", we found the depended database table which was initially created on 10.21 in year 2013.




2. only change the depended database table description



Re-run RSDEPEND report:




  • The timestamp of ABAP load and ABAP source of the test report ZTESTLOAD remain unchanged;

  • The timestamp "last changed" of database table ZCRMM_CCTV_CHAL changed to the time when I change the table description;

  • The ABAP timestamp and Screen timestamp of database table ZCRMM_CCTV_CHAL remain unchanged;



3. Add a new column to database table



The execution result of RSDEPEND report:





  • The timestamp of ABAP load and ABAP source of the test report ZTESTLOAD remain unchanged;

  • The timestamp "last changed" of database table ZCRMM_CCTV_CHAL changed to the time when I change the table description;

  • The ABAP timestamp and Screen timestamp of database table ZCRMM_CCTV_CHAL also changed to the time when I change the table description;



4. Execute the test report ZTESTLOAD


The execution result of RSDEPEND report:





  • The timestamp of ABAP load and ABAP source of the test report ZTESTLOAD remain unchanged;

  • The timestamp "last changed" of database table ZCRMM_CCTV_CHAL changed to the time when I change the table description;

  • The ABAP timestamp and Screen timestamp of database table ZCRMM_CCTV_CHAL also changed to the time when I change the table description;



Further reading


For more detail about ABAP load please read this document SGEN- an Overview.