SAP ABAP ALV报表(三)

  • 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”文件中

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

你可能感兴趣的:(SAP ABAP ALV报表(三))