- ALV报表 获取表数据
- ALV报表 添加默认值
- 设置ALV字段可修改
一、获取表数据
1.准备后台表:
学员信息表“ZTKT_XYXX”

学员考勤表“ZTKT_XYKQ”

2."top"文件中,定义内表和结构
*&---------------------------------------------------------------------*
*& DESC:结构
*&---------------------------------------------------------------------*
DATA: BEGIN OF gs_item, "定义结构
* sel(1), "定义单值,选择条件被选中
zxm LIKE ztkt_xyxx-zxm, "学员姓名
zqdqj(4). "签到期间
INCLUDE STRUCTURE ztkt_xykq.
DATA: END OF gs_item.
*&---------------------------------------------------------------------*
*& DESC:内表
*&---------------------------------------------------------------------*
DATA: gt_item LIKE TABLE OF gs_item.
3.“main”函数文件中,创建获取数据的“perform”
**获取数据
PERFORM frm_get_data. ""PERFORM"获取数据的代码块
4."form"文件中引入表中数据,这里用到了两个表的连接。
*& Form frm_get_data
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM FRM_GET_DATA .
SELECT ZTKT_XYKQ~ZXH "学号
ZTKT_XYXX~ZXM "姓名
ZTKT_XYKQ~ZQJ "期间
ZTKT_XYKQ~ZRQ "日期
ZTKT_XYKQ~ZKQSJ "考勤时间
ZTKT_XYKQ~ZKQBS "考勤标识
INTO CORRESPONDING FIELDS OF TABLE GT_ITEM
FROM ZTKT_XYKQ
INNER JOIN ZTKT_XYXX
ON ZTKT_XYKQ~ZXH = ZTKT_XYXX~ZXH
AND ZTKT_XYKQ~ZBJ = ZTKT_XYXX~ZBJ
WHERE ZTKT_XYKQ~ZXH = P_ZXH "学号
AND ZTKT_XYKQ~ZRQ IN S_ZKQRQ. "考勤日期
SORT GT_ITEM BY ZXH
ZRQ
ZQJ
ZKQSJ.
ENDFORM.
5."screen"文件中,定义选择屏幕的字段
*&---------------------------------------------------------------------*
*& 包含 ZHY01_HY101_20220624_01_SCREEN
*&---------------------------------------------------------------------*
TABLES: ztkt_xyxx,
ztkt_xykq.
*&---------------------------------------------------------------------*
*& DESC: 定义初始屏幕
*&---------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK sb01 WITH FRAME TITLE TEXT-001."定义sb01块,抬头text文本
PARAMETERS: p_zxh LIKE ztkt_xyxx-zxh. "单值选择,引入数据库表 ztkt_xyxx-zxh 字段 学号
PARAMETERS: p_zbj LIKE ztkt_xyxx-zbj. "单值选择,引入数据库表 ztkt_xyxx-zxh 字段 班级
SELECT-OPTIONS: s_zkqrq FOR ztkt_xykq-zrq."范围选择,引入数据库表zhy01_xykq 字段考勤日期
SELECTION-SCREEN END OF BLOCK sb01.
PARAMETERS: p_zhy RADIOBUTTON GROUP gp01, "单选框
p_zqt RADIOBUTTON GROUP gp01.
PARAMETERS: p_zzs AS CHECKBOX, "复选框
p_zjf AS CHECKBOX.
6.运行结果展示
输入学号信息“HY101”

查询表的数据成功

二、表中添加默认值
“screen”文件中,参数字段添加 必输项和默认值的属性

运行结果查看
默认值

必输项

三、设置ALV字段可修改
“form”文件中

查看效果,这里的签到时间和签到日期可修改

网友评论