• ABAP Help Document(6):2.1ABAP程序类型


    2.Program structure

    2.1ABAP程序类型

    1. Executable program,可执行程序,使用SUBMIT,dynpro,使用Tcode执行selection screen,不能再Function Module中使用;

    2. Class pool,类,使用Call,只能在Method中使用;

    3. Function group or function pool,使用CALL FUNCTION执行;

    4. Interface pool,接口;

    5. Module pool,使用Tcode执行的dynpro;

    6. Subroutine pool,子程序;

    7. Type group or type pool,数据类型;

       

    程序类型声明

    1. REPORT;

    2.PROGRAM;

    3.FUNCTION POOL;

    4.CLASS POOL;

    5.INTERFACE POOL;

    6. TYPE POOL;

    示例1:

    "function pool
    FORM f_program_type_function.
      "Function Group
      "Function Pool命名规则
      "LXXXTOP,定义数据
      "LXXXDxx,定义本地class
      "LXXXUxx,function module实现;
      "LXXXPxx,本地class,method实现;
      "LXXXOxx,PBOmodule;
      "LXXXIxx,PAImodule;
      "LXXXExx,Event block;
      "LXXXFxx,子程序subroutine;
        
    * Function group SAPLABAP_DOCU is structured from include programs. 
    *
    * *&---------------------------------------------------------------------* 
    **&  Function Group SAPLABAP_DOCU 
    **&---------------------------------------------------------------------* 
    *
    *INCLUDE labap_docutop.               " Global Declarations 
    *
    *INCLUDE labap_docue00.               " Load of Program 
    *
    *INCLUDE labap_docuuxx.               " Function Modules 
    *
    *INCLUDE labap_docuo01.               " PBO Modules 
    *
    *INCLUDE labap_docui01.               " PAI Modules 
    *
    *INCLUDE labap_docue01.               " Handling of Runtime-Events</ 
    *
    *INCLUDE labap_docup01.               " Class implementations 
    *INCLUDE labap_docup02. 
    *INCLUDE labap_docup03. 
    *INCLUDE labap_docup04.  
    *
    *The function group includes the top include in the first place; it contains the FUNCTION-POOL statement and other include programs for data and class declarations: 
    *
    * *&---------------------------------------------------------------------* 
    **&  Include           LABAP_DOCUTOP 
    **&---------------------------------------------------------------------* 
    *
    *FUNCTION-POOL abap_docu. 
    *
    *INCLUDE labap_docud00.               " Global Data for Screens 
    *
    *INCLUDE labap_docud01.               " Classes for Docu Display 
    
    ENDFORM.

    示例2:

    "程序类型
    FORM f_program_type_report.
      "Report程序
      "语法:
    *  REPORT rep [list_options]
    *           [MESSAGE-ID mid]
    *           [DEFINING DATABASE ldb]
    *           [REDUCED FUNCTIONALITY].
      "[list_options]
      "[NO STANDARD PAGE HEADING],系统变量:sy-wtitl = 'N';
      "[LINE-SIZE width],系统变量:sy-linsz,最大值1023,默认为0;
      "[LINE-COUNT page_lines[(footer_lines)]],系统变量:sy-linct,0~60000;
      "示例:REPORT z_report LINE-COUNT 65(8) LINE-SIZE 132.
    
      "DEFINING DATABASE ldb
      "定义逻辑数据库
      "MESSAGE-ID mid
      "message id,指定程序使用message,message class表:T100
      "REDUCED FUNCTIONALITY ,只用于subroutine pools,应用于PROGRAM
    
      "Program程序
      "语法:
    *  PROGRAM prog [list_options]
    *             [MESSAGE-ID mid]
    *             [REDUCED FUNCTIONALITY].
      "[list_options]忽略,[REDUCED FUNCTIONALITY]只在subroutine pools有效
    
    ENDFORM.

    示例3:

    "语法:
      "CLASS-POOL [MESSAGE-ID id]. 
      
      "语法:
      "INTERFACE-POOL. 

    示例4:

      "语法:
      "TYPE-POOL tpool.
  • 相关阅读:
    vue+springboot+element+vue-resource实现文件上传
    使用bfg快速清理git历史大文件
    git clone异常 【fatal: protocol error: bad line length character: Inte】
    excel 一次删除所有空行
    vim编辑器
    prometheus安装
    递归计算分波那契数列和阶乘
    如何理解线程安全?
    创建线程的方式
    为什么说一个对象是线程安全的?
  • 原文地址:https://www.cnblogs.com/tangToms/p/14686928.html
Copyright © 2020-2023  润新知