`
Jack Wu
  • 浏览: 899959 次
  • 来自: ...
社区版块
存档分类
最新评论

如何在SAP的Screen中编写List报表

 
阅读更多

1、相关命令
LEAVE TO LIST-PROCESSING [AND RETURN TO SCREEN <nnnn>].

LEAVE LIST-PROCESSING.

2、使用说明

3、推荐设计思路
设计一个空屏幕,在需要调用list的屏幕的逻辑流中使用CALL SCREEN调用空屏幕。空屏幕的next  screen设置为0,不需要PAI,只需要在PBO中设计一个Module,这个module的具体步骤如下:

  1. 首先调用LEAVE TO LIST-PROCESSING AND RETURN TO SCREEN 0.
  2. 为list设置GUI status ;如:设置SPACE 或者为自己定义的.
  3. 使用下列语句使空屏幕不输出:

    SUPPRESS DIALOG.

    or

    LEAVE SCREEN. 
  4. 进行List输出和处理.

4、示例
REPORT demo_leave_to_list_processing .
TABLES sdyn_conn.
DATA: wa_spfli TYPE spfli,
      flightdate TYPE sflight-fldate.

CALL SCREEN 100.

MODULE status_0100 OUTPUT.
  SET PF-STATUS 'SCREEN_100'.
ENDMODULE.

MODULE cancel INPUT.
  LEAVE PROGRAM.
ENDMODULE.

MODULE user_command_0100.
  CALL SCREEN 500.
  SET SCREEN 100.
ENDMODULE.

MODULE call_list_500 OUTPUT.
  LEAVE TO LIST-PROCESSING AND RETURN TO SCREEN 0.
  SET PF-STATUS space.
  SUPPRESS DIALOG.
  SELECT  carrid connid cityfrom cityto
    FROM  spfli
    INTO  CORRESPONDING FIELDS OF wa_spfli
    WHERE carrid = sdyn_conn-carrid.
    WRITE: / wa_spfli-carrid, wa_spfli-connid,
             wa_spfli-cityfrom, wa_spfli-cityto.
    HIDE: wa_spfli-carrid, wa_spfli-connid.
  ENDSELECT.
  CLEAR: wa_spfli-carrid.
ENDMODULE.

TOP-OF-PAGE.
  WRITE text-001 COLOR COL_HEADING.
  ULINE.

TOP-OF-PAGE DURING LINE-SELECTION.
  WRITE sy-lisel COLOR COL_HEADING.
  ULINE.

AT LINE-SELECTION.
  CHECK not wa_spfli-carrid is initial.
  SELECT  fldate
    FROM  sflight
    INTO  flightdate
    WHERE carrid = wa_spfli-carrid AND
          connid = wa_spfli-connid.
     WRITE / flightdate.
  ENDSELECT.
  CLEAR: wa_spfli-carrid.

该示例屏幕100只包含一个输入字段(SDYN_CONN-CARRID ),在屏幕100的逻辑流中会调用list处理.屏幕100的逻辑流如下:

PROCESS BEFORE OUTPUT.
  MODULE STATUS_0100.

PROCESS AFTER INPUT.
  MODULE CANCEL AT EXIT-COMMAND.
  MODULE USER_COMMAND_0100.

在屏幕100的PAI的module USER_COMMAND_100 将使用CALL SCREEN调用屏幕500。屏幕500的逻辑流中封装了所有List处理,屏幕500的逻辑流如下:

PROCESS BEFORE OUTPUT.
  MODULE CALL_LIST_500.

PROCESS AFTER INPUT.

屏幕500的PBO的module CALL_LIST_500定义了list处理代码。另外由于屏幕500的屏幕流设置为0,该程序从List处理返回时到屏幕100的USER_COMMAND_100的调用CALL SCREEN 500的语句之后.

该程序会在list处理时显示一个明细List,具体代码参见AT LINE-SELECTION、TOP-OF-PAGE 和 TOP-OF-PAGE DURING LINE-SELECTION事件代码.



分享到:
评论

相关推荐

    实战SAP程序开发——从实例学SAP ABAP编程.rar

    8. **报表开发**:SAP ABAP报表用于生成各类报告,如LIST REPORT和ALV(Application List Viewer)。掌握如何生成自定义报表将极大地提升工作效率。 9. **对话模块和屏幕流**:在ABAP中,用户界面的创建涉及对话...

    sap_abap 典型实例

    SAP ABAP提供了多种输出技术,如SCREEN(屏幕输出)、WRITE语句(屏幕文本输出)、SMARTFORMS(复杂格式化输出)和ALV(ABAP List Viewer,用于报表生成)。在“基础到报表”的实例中,ALV报表生成是重要一环,它...

    绝版-实战SAP程序开发—从实例学SAP ABAP编程.zip

    深入探讨SAP ABAP中的Form编程,包括内部表处理、逻辑控制和与屏幕交互,是SAP报表开发的重要部分。 10. **第十三章 程序权限设定**: 讲解如何在SAP系统中进行权限分配和安全管理,确保程序符合企业的安全策略,...

    ABAP 开发技巧

    `SELECT-SCREEN`是ABAP报表编程中处理屏幕输入和输出的重要部分,可以定义屏幕布局和用户输入的处理逻辑。通过RFC(Remote Function Call),ABAP能够调用其他系统或组件的功能,实现跨系统通信。 ABAP的面向对象...

    实战SAP程序开发(1-12)

    这通常是学习任何编程语言的第一步,它涵盖了如何在SAP环境中编写简单的"Hello, World!"程序。通过这个过程,初学者可以了解SAP ABAP的工作原理,以及如何在SAP开发工具中创建、编辑和执行源代码。 "第四章 数据...

    實戰SAP程序開發-從實例學SAP+ABAP編程

    4. ABAP表单和屏幕设计:掌握创建用户界面的方法,包括使用ABAP Screen Painter设计屏幕布局,以及使用ALV(ABAP List Viewer)生成表格视图。 5. 数据库交互:ABAP提供了一系列的数据库通信命令,如SELECT、INSERT...

    实战sap程序开发

    3. SCREEN:在SAP系统中,SCREEN编程主要用于用户界面的设计。开发者可以通过定义屏幕区域、输入字段、按钮等元素,创建交互式的工作流界面。SAP提供了屏幕事件处理机制,如屏幕输入检查、按钮点击事件等,使得用户...

    ALV报表 abap报表

    ALV报表.abap报表 ALV(Application List Viewer)是一种常用的ABAP报表工具,通过它可以快速生成报表,具有良好的可读性和交互性...通过学习本文,读者可以快速地掌握ALV报表的编写技术,并将其应用于实际的开发中。

    SAP ABAP入门PPT

    SAP ABAP(Advanced Business Application Programming)是SAP系统中的一种编程语言,主要用于开发和定制企业级业务应用程序。本教程是一套由凯捷公司提供的SAP ABAP入门培训材料,包含五部分,分别对应五个不同阶段...

    从实例学SAP ABAP编程.7z

    在SAP系统中,标准列表报表是一种常见的数据展示方式。这部分将介绍如何创建标准列表报告,理解屏幕逻辑,以及如何使用SELECT-OPTIONS实现用户交互式的数据筛选。 4. **表控制Table Control设计.pdf**: Table ...

    sap fico q

    在SAP系统中,用户可以通过点击报表中的某个数据项,自动跳转到相应的明细页面或相关报表,实现数据的多层次浏览和分析。 ### ALV编程 ALV(Application List Viewer)是SAP系统中用于展示列表数据的一种界面控件,...

    实战sap开发(abap基础教材)

    ABAP(Advanced Business Application Programming),作为SAP的核心编程语言,在SAP系统中扮演着至关重要的角色。本教材旨在帮助初学者快速掌握ABAP的基本概念和技术要点,并提供丰富的实践案例。 ##### 1.1 ABAP...

    SAP ABAP迷你手册

    **SAP ABAP迷你手册**,作为一门专为SAP系统开发所设计的编程语言,ABAP(Advanced Business Application Programming)在企业信息化解决方案中扮演着重要角色。这本迷你手册,源自MiniSAP系统,旨在提供一个简洁而...

    实战ABAP程序开发

    6. **第六章 实战屏幕SCREEN设计**:在SAP系统中,用户界面的构建是通过定义屏幕来完成的。这一章将教你如何使用ABAP来设计和实现用户界面,包括字段、按钮、屏幕事件处理等。 7. **第七章 表控制Table Control设计...

    ZGR_MM_R_ZMM44.txt

    - 在报表中使用了包括ZMM_T_ZMM44, ZMM_T_DB_PICKING, lfm1和sscrfields在内的表。 - 这些表可能包含与报表逻辑和输出相关的数据。 6. 屏幕选择屏幕(SELECTION-SCREEN): - 这部分定义了用户交互界面的选择...

    财务三大报表开发之利润表.docx

    尽管SAP提供了多种内置功能来支持财务管理,但在实际应用中,许多用户发现现有的标准报表功能并不完全符合他们的需求。特别是针对利润表这类特定格式和内容的报表,用户往往需要定制化的解决方案。SAP虽然推出了一些...

    ABAP[采购信息记录查询]绝对好例子[归类].pdf

    标题中的“ABAP[采购信息记录查询]绝对好例子[归类].pdf”指的是一个使用ABAP编程语言编写的示例程序,该程序用于查询和...学习这个例子可以帮助开发者理解如何在SAP环境中构建业务报表并实现用户定制化的查询需求。

    abap trianing

    在"ABAP Training"中,我们主要关注两个关键领域:ALV(ABAP List Viewer)和Dialog Programming。 首先,让我们深入了解一下ABAP Dialog Programming。在SAP系统中,Dialog Programming是创建用户交互界面的主要...

    ABAP Program Tips

    - **Checkboxes in Reports**:报表中复选框的使用。 - **List Boxes on Selection Screens**:选择屏幕上列表框的使用。 - **At Line Selection**:行选择的处理方法。 - **Tabs on a Selection Screen**:选择屏幕...

    ABAP开发工具和技术概览

    - **QUERY**:适用于基本查询报表开发,虽无需深入ABAP知识,但支持编写ABAP代码,适用于无复杂逻辑的报表,开发工具为SQ01、SQ02、SQ03。 - **REPORT PAINTER**:专门用于FICO模块,功能强大但较少使用。 **2. ...

Global site tag (gtag.js) - Google Analytics