2018-07-12.ABAP笔记

1、程序事件的概念

1)ABAP程序,不是完全顺序执行的,而是按照一定的顺序调用一定得代码块。

2)按照什么顺序调用哪些代码块,是由Abap Runtime预先定义好的。

3)在没有写代码块的时候,系统默认所有的代码都属于START-OF-SELECTION事件的代码块。

4)所有程序可以普遍性的分为三个代码块 数据定义,LOAD-OF-PROGRAM(INITIALIZATION),START-OF-SELECTION

              INITIALIZATION 数据初始化

2、TOP-OF-PAGE 事件,用于输出表头。翻页时,表头固定显示。

3、输出消息(反馈信息)

     se91   定义Message类与Message内容

     再在At selection screen 中输出Message

     Message[类型][序号]([类])

     Message对应文本值设定好,但行为由语句控制

     E类型 为 error  只要数据出错就过不去

     W类型 为warning 用户按回车还能过去

     AT SELECTION-SCREEN 检查用户输入

示例:

AT SELECTION-SCREEN ON SO_carr.     

      IF so-carr IS initial

        MESSAGE e000(ZBC_STEVE_MSG).                       message 文件名ZBC_STEVE_MSG,e类型.对应000设定的值

ENDIF.

4、子过程

1)子过程是一个程序内部的代码块,用来执行特定的任务,可以在代码中进行调用。

2)子过程可以调用多次

3)子过程可以使代码更加清晰,实现任务分解

示例:

FORM GET_DATA

      IF pa_int='x'.

      SELECTION * FROM spfli

     INTO CORRESPSNDING  FIELDS OF TABLE it_spfli.

      WHERE carrid IN so_carr.

ELSE

     SELECTION * FROM spfli

     INTO CORRESPSNDING  FIELDS OF TABLE it_spfli.

     WHERE carrid IN so_carr AND spfli~countryfr = spfli~countryto.

ENDIF.

ENDFORM.

调用:PERFORM GET_DATA

子程序可以访问外部数据,外部数据不能访问子程序变量。

5、Include程序的概念

1)Include程序,是指将某个程序文件中的内容包含在主程序文件中,相当于在主程序中输入include程序中的内容。

2)Include程序主要用于对程序结构的规整

3)Include程序还用于将大量预定义的数据对象包含进主程序

4)Include程序的语句会按照包含顺序编译。编译后的程序与不用include,直接录入的,效果是一样的

5)一般的报表程序里,通常分为三个include程序,一个用于数据定义,一个用作主程序的处理,一个用作subroutine的定义

猜你喜欢

转载自blog.csdn.net/LP_fxdy/article/details/81017495