ABAP学习-杂项
选择画面
1.PARAMETERS
PARAMETERS定义用户可以输入值的输入字段。用下面语句定义变量。
PARAMETERS<p>[(<length>)]<type>[<decimals>].
2.SELECT-OPTIONS
PARAMETERS是只能接受一个值的INPUT字段,与之相反,SELECT-OPTIONS可以通过2个INPUT字段接受多种条件值。
SELECT-OPTIONS <seltab> FOR <F>.
eg:SELECT-OPTIONS carrid(自定义参数名) FOR sflight-carrid(内表字段).
3.SELECTION-SCREEN
使用SELECTION-SCREEN语句可调节系统自动生成的画面。
程序结构— List Process事件
1.TOP-OF-PAGE
TOP-OF-PAGE 在新一页输出第一条数据之前执行。
2.END-OF-PAGE
END-OF-PAGE 是当前页页脚触发的事件,如以下代码所示,若明确指定Line-count,则当前页行数超过Line-count时即可执行。代码中LINE-COUNT 10(2)的数字 10 代表一页的总行数,(2)代表页脚中要显示的行数。
REPORT ZTRAIN03 LINE-COUNT 10(2).
TOP-OF-PAGE.
WRITE: 'Top of Page'.
ULINE AT /(60).
END-OF-PAGE.
ULINE.
WRITE: /30 'Page no :', sy-pagno.
START-OF-SELECTION.
DO 20 TIMES.
WRITE / sy-index.
ENDDO.
LINE-COUNT 10(2):10指ZTRAIN03到Page no 7行加上 下划线 3条;
3.AT LINE-SELECTION
当双击报表的一行或按 F2 键时触发的事件。此时发生的 SY-UCOMM 系统变量中被分配 ‘PICK’ 值。
REPORT ZTRAIN03.
START-OF-SELECTION.
WRITE 'First list'.
WRITE /'Secondary list'.
AT LINE-SELECTION.
WRITE:'Click List Get This List',
/'sy-ucomm=',SY-UCOMM.
图一
图二
4.AT USER-COMMAND
在程序中执行用 Function 定义的功能,是当选择菜单栏的功能及单机按钮时触发的事件。
BDC程序
一般把 Batch Input 程序称为BDC(Batch Data Communication)程序,其中 Batch Input 是一种从源系统中抽取数据后生成符合 SAP 格式的数据传送到 SAP 中的方法,BDC与其说是ABAP程序,到不如说是一种工具。
1.为什么要使用BDC
在T-CODE:SE11 中可以直接修改表数据,是不是就没必要创建BDC等程序输入数据?其实不然,在SAP中使用的数据是以关系型DB为基准的,因此考虑到数据特性,数据分散保存在多个表中。当修改其中一个表的数据时,很难判断给其他关系型表造成的影响。
BDC程序有两种方法:1.生成Batch Input 会话执行的方法。
2.在程序内使用CALL TRANSACTPON 语句。
2.CALL TRANSACTION
3.录屏及创建BDC程序
ALV程序
了解ALV结构与实现,找一个模版后续使用即可。
REPORT ZTRAIN04.
DATA: gt_itab TYPE TABLE OF sflight.
SELECT * FROM sflight INTO TABLE gt_itab UP TO 20 ROWS.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
*CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' 以网格的形式展示。
EXPORTING
i_structure_name = 'sflight'
TABLES
t_outtab = gt_itab.
1.详细了解Function ALV 函数
调用ALV方法时要参照 ABAP 数据字典结构或者需要自定义字段目录。前者是指参照前面实例中的EXPORTING I_STRUCTURE_NAME = ‘SFLIGHT’ 一样参照 SFLIGHT 表等结构的方法,后者是指利用代码直接构成 ALV 的方法。
1.1ALV函数的字段目录中经常使用的属性如下。
1.2 is_layout 参数与ALV布局。