SAP-LIST 报表-实战

业务背景:

通过前期开发的学员录入考勤系统积累的学员信息、学员考勤信息。为了便于管理与统计,现需要实现学员卡片打印、学员考勤打印。(write方式)

功能分析:

1)为实现打印功能,需用write方式;开发学员卡片打印程序、学员考勤打印程序。
2)课堂上确认具体格式需求。

打印实现效果
代码实现

1.LIST报表属性绘制基本页面

*&---------------------------------------------------------------------*
*& Report ZHY01_HY101_20220627_02
*&---------------------------------------------------------------------*
*& Program Name         <程序名称>: ZHY01_HY101_20220627_02
*& Purpose              <程序用途>: LIST 作业
*& Project Name         <项目名称>: SAP_ABAP_01期间
*& Created by           <创 建 人>: HY101
*& Created on           <创建日期>: 20220627
*& FC Consultant        <功能顾问>: 鼠小倩
*& Description          <功能描述>: LIST 作业
*&---------------------------------------------------------------------*
*              Modification Log<程序修改日志>
*<日期>        <开发者>       <功能顾问>            <修改描述>
* 20220627     HY101       鼠小倩                S4HK909676
*&---------------------------------------------------------------------*
REPORT ZHY01_HY101_20220627_02 NO STANDARD PAGE HEADING LINE-SIZE 150.

*定义变量及初始化
   DATA: D_DATE    TYPE D,
         D_TIME    TYPE T.

*页眉
TOP-OF-PAGE.
WRITE '学员基本信息卡' COLOR COL_HEADING.

START-OF-SELECTION.
*首行
  ULINE AT 20(100).  "绘制横线
  WRITE: /20 SY-VLINE,119 SY-VLINE.  "位置20和位置120绘制竖线
  ULINE AT /20(100).

*左右外框+字
D_DATE = SY-DATUM.
D_TIME = SY-UZEIT.
WRITE: /20 SY-VLINE,'学员基本信息卡:'.
POSITION 95.
WRITE: (25) D_DATE USING EDIT MASK '查询日期:____年__月__日',119 SY-VLINE,
       /20 SY-VLINE,119 SY-VLINE.
POSITION 96.
WRITE: (25) D_TIME USING EDIT MASK '查询时间:__点__分__秒',119 SY-VLINE,
       /20 SY-VLINE,30'学号:',119 SY-VLINE,
       /20 SY-VLINE,30'姓名:',119 SY-VLINE,
       /20 SY-VLINE,30'性别:',119 SY-VLINE,
       /20 SY-VLINE,30'年龄:',119 SY-VLINE.
ULINE AT /20(100).

*页数
WRITE: /20 SY-VLINE,105 '共',107 sy-pagno,'页',119 SY-VLINE,
       /20 SY-VLINE,105 '第',107 sy-pagno,'页',119 SY-VLINE.

*热点-考勤记录
SKIP TO LINE 13.
*INCLUDE <LIST>.
FORMAT HOTSPOT on COLOR 6 INVERSE ON.
WRITE 23'考勤记录'.
FORMAT HOTSPOT OFF COLOR OFF.
*AT LINE-SELECTION.

*考勤记录外框:左右下
DO 21 TIMES.
WRITE: /20 SY-VLINE,119 SY-VLINE.  "位置20和位置120绘制竖线
ENDDO.
ULINE AT /20(100).

*考勤汇总-横线
SKIP TO LINE 30.
ULINE AT /80(40).

*考勤汇总-竖线
SKIP TO LINE 30.
DO 5 TIMES.
  WRITE: /80 SY-VLINE.
ENDDO.

*考勤汇总-字
SKIP TO LINE 31.
   POSITION 81.
   WRITE:  '考勤汇总',100 '5月',105'0次',
           /'',100 '6月',105'2次',
           /'',100 '7月',105'3次'.

*内表-横线
SKIP TO LINE 15.
DO 7 TIMES.
  ULINE AT 30(50).  "绘制横线
  write /.
  NEW-LINE.
ENDDO.

*内表-竖线
SKIP TO LINE 16.
  WRITE: /30 SY-VLINE,'考勤日期',54 SY-VLINE,'考勤时间',79 SY-VLINE.  "位置30和位置79绘制竖线
  write /.
SKIP TO LINE 18.
DO 6 TIMES.
  WRITE: /30 SY-VLINE,54 SY-VLINE,79 SY-VLINE.  "位置30和位置79绘制竖线
  write /.
ENDDO.
SKIP TO LINE 29.
ULINE AT 30(50).  "绘制横线

运行结果展示

2.动态获取数据库数据。

TABLES: ZTKT_XYXX,
        ZTKT_XYKQ.

*定义变量及初始化
   DATA: gs_index,
         gt_table TYPE TABLE OF ztkt_xyxx,
         gs_table TYPE  ztkt_xyxx,
         gt_edit TYPE TABLE OF ztkt_xykq,
         gs_edit TYPE  ztkt_xykq.

*获取数据库数据
SELECT *
  FROM ztkt_xyxx
  INTO  CORRESPONDING FIELDS OF TABLE gt_table
  WHERE zxh = 'HY101'.

  SELECT *
    FROM ztkt_xykq
    INTO CORRESPONDING FIELDS OF TABLE gt_edit
    FOR ALL ENTRIES IN gt_table WHERE zxh = gt_table-zxh.

    LOOP AT  gt_table INTO gs_table.
    ENDLOOP.
    LOOP AT gt_edit INTO gs_edit.
    gs_index = sy-tfill.
    ENDLOOP.

WRITE / '考勤记录查询' COLOR COL_HEADING.
WRITE: / '学号:',gs_table-zxh,
      / '姓名:',gs_table-Zxm,
      / '性别:',gs_table-Zxb,
      / '性别:',gs_table-Zxb,
      / '考勤日期',gs_edit-zrq,
      / '考勤时间',gs_edit-zkqsj.

运行结果

3.点击热点——“考勤记录”后的新页

*&---------------------------------------------------------------------*
*&点击热点后的新页
*&---------------------------------------------------------------------*
AT LINE-SELECTION.
WRITE / '考勤记录查询' COLOR COL_HEADING.
*首行
  ULINE AT 20(100).  "绘制横线
  WRITE: /20 SY-VLINE,119 SY-VLINE.  "位置20和位置120绘制竖线
  ULINE AT /20(100).
*左右外框+字
D_DATE = SY-DATUM.
D_TIME = SY-UZEIT.
WRITE: /20 SY-VLINE,'学员基本信息卡:'.
POSITION 95.
WRITE: (25) D_DATE USING EDIT MASK '查询日期:____年__月__日',119 SY-VLINE,
       /20 SY-VLINE,119 SY-VLINE.
POSITION 96.
WRITE: (25) D_TIME USING EDIT MASK '查询时间:__点__分__秒',119 SY-VLINE,
       /20 SY-VLINE,30'学号:',gs_table-zxh,119 SY-VLINE,
       /20 SY-VLINE,30'姓名:',gs_table-Zxm,119 SY-VLINE,
       /20 SY-VLINE,30'性别:',gs_table-Zxb,119 SY-VLINE,
       /20 SY-VLINE,30'性别:',gs_table-Zxb,119 SY-VLINE.
ULINE AT /20(100).

*页数
WRITE: /20 SY-VLINE,105 '共',107 sy-pagno,'页',119 SY-VLINE,
       /20 SY-VLINE,105 '第',107 sy-pagno,'页',119 SY-VLINE.

*考勤记录外框:左右下
DO 21 TIMES.
WRITE: /20 SY-VLINE,119 SY-VLINE.  "位置20和位置120绘制竖线
ENDDO.
ULINE AT /20(100).

*考勤汇总-横线
SKIP TO LINE 30.
ULINE AT /80(40).

*考勤汇总-竖线
SKIP TO LINE 30.
DO 5 TIMES.
  WRITE: /80 SY-VLINE.
ENDDO.

*考勤汇总-字
SKIP TO LINE 31.
   POSITION 81.
   WRITE:  '考勤汇总',100 '5月',105'0次',
           /'',100 '6月',105'2次',
           /'',100 '7月',105'3次'.
*内表-横线
SKIP TO LINE 15.
DO 7 TIMES.
  ULINE AT 30(50).  "绘制横线
  write /.
  NEW-LINE.
ENDDO.

*内表-竖线
SKIP TO LINE 16.
  WRITE: /30 SY-VLINE,'考勤日期',54 SY-VLINE,'考勤时间',79 SY-VLINE.  "位置30和位置79绘制竖线
*  write /.
SKIP TO LINE 18.
DO 6 TIMES.
  WRITE: /30 SY-VLINE,gs_edit-zrq,54 SY-VLINE,gs_edit-zkqsj,79 SY-VLINE.  "位置30和位置79绘制竖线
  write /.
ENDDO.
SKIP TO LINE 29.
ULINE AT 30(50).  "绘制横线

运行结果
点击热点

查询结果

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,236评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,867评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,715评论 0 340
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,899评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,895评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,733评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,085评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,722评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,025评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,696评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,816评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,447评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,057评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,254评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,204评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,561评论 2 343

推荐阅读更多精彩内容

  • 01-LIST报表功能介绍02-LIST报表开发技巧03-LIST报表开发实战 01-LIST报表功能介绍 列表是...
    鼠小倩阅读 694评论 0 3
  • 01 ALV报表功能介绍02 ALV报表开发步骤03 ALV报表开发实战 01 ALV报表功能介绍 AVL报表是A...
    鼠小倩阅读 4,047评论 2 2
  • ALV报表 获取表数据 ALV报表 添加默认值 设置ALV字段可修改 一、获取表数据 1.准备后台表: 学员信息表...
    鼠小倩阅读 1,027评论 0 2
  • 文章图片上传不正常,如需文档,可联系微信:1017429387 目录 1 安装... 4 1.1 配置探针... ...
    Mrhappy_a7eb阅读 6,284评论 0 5
  • 应广大学员的要求,将实用的Excel表格打包,并进行统一说明和讲解。 这是年底最后一大波福利了,请各位伙伴珍惜! ...
    陶泽昱阅读 2,267评论 3 5