zoukankan      html  css  js  c++  java
  • SAP ABAP报表依赖设计原理详解

    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 and .
    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:

    a. The timestamp of ABAP load and ABAP source of the test report ZTESTLOAD remain unchanged;
    b. The timestamp “last changed” of database table ZCRMM_CCTV_CHAL changed to the time when I change the table description;
    c. 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:

    a. The timestamp of ABAP load and ABAP source of the test report ZTESTLOAD remain unchanged;
    b. The timestamp “last changed” of database table ZCRMM_CCTV_CHAL changed to the time when I change the table description;
    c. 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:

    a. The timestamp of ABAP load and ABAP source of the test report ZTESTLOAD remain unchanged;
    b. The timestamp “last changed” of database table ZCRMM_CCTV_CHAL changed to the time when I change the table description;
    c. 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.

    要获取更多Jerry的原创文章,请关注公众号"汪子熙":

  • 相关阅读:
    windows系统Redis客户端连接远程服务器
    Linux安装JDK1.8示例
    Nexus OrientDB数据库变为只读 storage is switched to 'read only' mode
    在SQL中有时候我们需要查看现在正在SQL Server执行的命令
    注册asp.net 到 iis时出错中的一种的 解决办法
    python 装饰器
    python 类调用实例的方法
    linux 命令大全
    python多态
    python扩展字典的功能
  • 原文地址:https://www.cnblogs.com/sap-jerry/p/13534403.html
Copyright © 2011-2022 走看看