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的原创文章,请关注公众号"汪子熙":

  • 相关阅读:
    Nginx 笔记(四)nginx 原理与优化参数配置 与 nginx 搭建高可用集群
    Nginx 笔记(三)nginx 配置实例
    Nginx 笔记(二)nginx常用的命令和配置文件
    Nginx 笔记(一)nginx简介与安装
    分布式事务专题笔记(三)分布式事务解决方案之TCC(三阶段提交)
    分布式事务专题笔记(二)分布式事务解决方案之 2PC(两阶段提交)
    分布式事务专题笔记(一) 基础概念 与 CAP 理论
    面试题: hashset如何保证值不会被重复的
    DSP 程序的执行时间
    DSP 中关键字extern,cregister,Near ,Far,restrict,volatile
  • 原文地址:https://www.cnblogs.com/sap-jerry/p/13534403.html
Copyright © 2011-2022 走看看