ABAP程序知识点

一, 首先介绍一下 ABAP 的程序的类型:
Program type(程序类型)
Introductory statement(类型描述)
报表)
1 REPORT(报表 报表
M PROGRAM(屏幕程序)
F FUNCTION-POOL(函数组)
K CLASS-POOL(类组)
J CLASS-POOL(接口组)
T TYPE-POOL(类型池)
二, 下面介绍报表中用到的事件以及作用:
1. LOAD-OF-PROGRAM:程序开始执行时候自动调用 这个事件在 SUBMIT,CALL TRANSACTION,PERFORM 等执行的时候系统会自动 调用这个事件。所以无需声明即可。
2. INITIALIZATION
(1).只能用于报表程序
(2).在选择屏幕出现之前执行,如果用逻辑数据库 数据库的话,这个是唯一能够修改选择 数据库 屏幕初始值的地方。
(3).通常的用法是在这里给选择屏幕中的字段赋值。
3. AT SelectION-SCREEN
(1).其实就像一个 FORM,所以在这个事件里声明的变量都是局部变量。
(2).根据 SY-UCOMM 这个系统变量可以判断用户的命令 。
(3).在这个事件里响应的是屏幕上选择条件中的事件,例如 CHECKBOX 的选择与 否,RADIOBUTTON 的选择,LISTBOX 的选择等等。所以分为以下几个方面:
  1. ... ON psel :在 PARAMETER 变化是触发的事件
  2. ... ON END OF sel :Select-OPTION 触发的事件
  3. ... ON VALUE-REQUEST FOR psel_low_high :选择的帮助(F4)
  4. ... ON HELP-REQUEST FOR psel_low_high :选择的帮助(F1)
  5. ... ON RADIOBUTTON GROUP radi :单选按钮事件
  6. ... ON BLOCK block :框架的触发事件
  7. ... OUTPUT :响应屏幕上的事件,修改选择屏幕的唯一方法
4. START-OF-SelectION 报表程序必须执行的事件,在进入第二屏幕之前触发。
5. GET 获得逻辑数据库的值。前提是必须首先声明逻辑数据库。
6. END-OF-SelectION 第二屏幕显示完毕,结束处理。
7. MODULE 这个是当你调用自己定义的屏幕时,响应屏幕事件的方法。
8. ENDMODULE
9. CHECK 只对逻辑数据库使用,检查是否取得数据。
10. REJECT 同样只对逻辑数据库使用,退出。
11. STOP 结束一个处理块。
12. RETURN 返回一个处理块。
三,附加说明:
1. SET PF-STATUS:
基本语法格式:SET PF-STATUS pfstat.
扩展: 1. ... EXCLUDING f oder ... EXCLUDING itab
       2. ... IMMEDIATELY
       3. ... OF PROGRAM progname 这个是设置屏幕菜单,命令行等的命令,详细地信息我会在后面关于菜单设计的时候说明。
2. SET TITLEBAR: 设置屏幕标题,在屏幕显示之前调用。
(1).Screen 设计
TABLES: SSCRFIELDS.
PARAMETERS: P_EBLEN LIKE VBRK-EBLEN DEFAULT ' '.
PARAMETERS: P_CK1 AS CHECKBOX DEFAULT 'X'.
PARAMETERS: P_CK2 AS CHECKBOX.
PARAMETERS: P_RAD1 RADIOBUTTON GROUP SG1 DEFAULT 'X'.
PARAMETERS: P_RAD2 RADIOBUTTON GROUP SG1 .
SELECT-OPTIONS: S_EBLEN FOR VBRK-EBLEN NO-EXTENSTION. “无后边的箭头
SELECT-OPTIONS: S_EBLEN FOR VBRK-EBLEN NO INTERVALS. ”无到后边的选项
SELECTION-SCREEN SKIP 1. "产生空行
SELECTION-SCREEN BEGIN OF LINE . "将元素排列到一行
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN ULINE. "画直线
SELECTION-SCREEN COMMENT 10(20) TEXT-001."屏幕上输出文本
SELECTION-SCREEN BEGIN OF BLOCK BK1 WITH FRAME TITLE TEXT-002.
SELECTION-SCREEN END OF BLOCK BK1.
SELECTION-SCREEN PUSHBUTTON 50(10) TEXT-003 USER-COMMAND BUT1. "产生按钮
SELECTION-SCREEN FUNCTION KEY 1. "工具条按钮 最多为 5 个.
PARAMETERS: <P> .... MEMORY ID <PID>. "从全局 SAP 内存(SPA/GPA 参数)使用缺省值
SET PARAMETERS ID 'HK' FIELD 'Test Parameters' "以'HK'为名称在全局 SAP 内存中存储值.
PARAMETERS: P_TEST(16) TYPE C MEMORY ID HK. "使用缺省值
GET PARAMETERS ID ' ' FIELD ' '.
INITIALIZATION.
SSCRFIELDS-FUNCTXT_01 = 'Button 1'.
SSCRFIELDS-UCOMM = 'FC01'.
(2).修改 Screen
 NAME 字段名称
 GROUP1 字段组1
 GROUP2 字段组2
 GROUP3 字段组3
 GROUP4 字段组4
 ACTIVE 可见并准备输入的字段
 REQUIRED 强制输入的字段
 INPUT 字段准备输入
 OUTPUT 字段仅用来显示
 INTENSIFIED 高亮显示字段
 INVISIBLE 字段不可见
 LENGTH 设置字段长度
 DISPLAY_3D 以三维框架显示字段
 VALUE_HELP 显示有值帮助的字段
在 PBO 模块中对字段进行属性修改
MODULE MODIFY_SCREEN OUTPUT.
LOOP AT SCREEN.
CHECK SCREEN-GROUP1 = 'MOD'.
SCREEN-INPUT = 0.
MODIFY SCREEN.
ENDLOOP.
ENDMODULE.
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ChampaignWolf

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值