`
guanhuaing
  • 浏览: 1205329 次
文章分类
社区版块
存档分类
最新评论

ABAP--如何将查询结果显示在选择屏幕上的代码

 
阅读更多

*&---------------------------------------------------------------------*
*& Generates the ALV on the Selection Screen itself
*&
*&---------------------------------------------------------------------*
REPORT zalv_on_sel_screen.
*
*----------------------------------------------------------------------*
* Local class for report
*----------------------------------------------------------------------*
CLASS lcl_report DEFINITION.
PUBLIC SECTION.
DATA: t_data TYPE STANDARD TABLE OF sflight, " Output dat
r_carrid TYPE RANGE OF sflight-carrid. " Select Option
METHODS:
get_data,
generate_output.
ENDCLASS. "lcl_report DEFINITION

DATA: lo_report TYPE REF TO lcl_report.
DATA: w_carrid TYPE sflight-carrid.

** Selection Screen
SELECTION-SCREEN: BEGIN OF BLOCK blk1 WITH FRAME TITLE aaa.
SELECT-OPTIONS: s_carrid FOR w_carrid.
SELECTION-SCREEN: END OF BLOCK blk1.

** Initialization
INITIALIZATION.
aaa = 'Selection Criteria'.
* object for the report
CREATE OBJECT lo_report.
* generate output
lo_report->generate_output( ).
** Start of Selection
START-OF-SELECTION.
* Get data
lo_report->r_carrid = s_carrid[].
lo_report->get_data( ).
*----------------------------------------------------------------------*
* Local Class Implementation
*----------------------------------------------------------------------*
CLASS lcl_report IMPLEMENTATION.
METHOD get_data.
SELECT * FROM sflight
INTO TABLE me->t_data
WHERE carrid IN s_carrid.
IF sy-dbcnt IS INITIAL.
MESSAGE s398(00) WITH 'No data selected'.
ENDIF.
EXPORT data = me->t_data TO MEMORY ID sy-cprog.
ENDMETHOD. "get_data

METHOD generate_output.
DATA: lo_dock TYPE REF TO cl_gui_docking_container,
lo_cont TYPE REF TO cl_gui_container,
lt_fcat type lvc_t_fcat,
gr_grid_d1001 type ref to cl_gui_alv_grid.
IMPORT data = me->t_data FROM MEMORY ID sy-cprog.
FREE MEMORY ID sy-cprog.
CHECK me->t_data IS NOT INITIAL.
CHECK lo_dock IS INITIAL.
CREATE OBJECT lo_dock
EXPORTING
repid = sy-cprog
dynnr = sy-dynnr
ratio = 80
side = cl_gui_docking_container=>dock_at_bottom
name = 'DOCK_CONT'.
IF sy-subrc <> 0.
MESSAGE 'Error in the Docking control' TYPE 'S'.
ENDIF.
CHECK gr_grid_d1001 IS INITIAL.
lo_cont ?= lo_dock.
create object gr_grid_d1001
exporting i_parent = lo_cont.

call function 'LVC_FIELDCATALOG_MERGE'
exporting
i_buffer_active = space
i_structure_name = 'SFLIGHT'
i_client_never_display = 'X'
i_bypassing_buffer = space
changing
ct_fieldcat = lt_fcat
exceptions
inconsistent_interface = 1
program_error = 2
others = 3.

call method gr_grid_d1001->set_table_for_first_display
exporting
i_buffer_active = space
i_bypassing_buffer = space
changing
it_outtab = me->t_data
it_fieldcatalog = lt_fcat.
ENDMETHOD. "generate_output
ENDCLASS. "lcl_report IMPLEMENTATION

分享到:
评论

相关推荐

    abap 屏幕编程教程

    * FCODE:FCODE 是 ABAP 屏幕编程中的函数代码,用于实现具体的业务逻辑。 第三部分:ABAP 屏幕编程的开发步骤 ABAP 屏幕编程的开发步骤主要包括: * 创建 SCREEN 组件:创建 SCREEN 组件,用于定义屏幕的布局和...

    SAP初探之ABAP-数据库对象[归纳].pdf

    输入需要建立的搜索帮助名称,点击创建,然后选择基本搜索帮助,在字典维护界面,选择 Selection method-&gt; 选择搜索数据库表格,选择 zwf_test 表,选择参数,imp 是在录入数据的时候是否显示,exp 实在显示数据的...

    ABAP中文幫助文檔

     在“ABAP/4程序属性”屏幕上选择“转向-&gt;源代码”或“源代码”。选定“源代码”并选择“ABAP/4编辑器初始屏幕”上的“更改”。出现“ABAP/4编辑器编辑程序”屏幕。系统自动输入第一个ABAP/4 语句,如:REPORT...

    abap tablecontrol 控件动态显示列

    ABAP tablecontrol 控件动态显示列是指在ABAP编程中,使用tablecontrol控件动态地显示或隐藏表格中的列。下面将详细介绍实现这种功能的知识点。 首先,大家可能会想到使用LOOP AT SCREEN语句来实现列的隐藏或显示,...

    SAP ABAP视频班教学共21课-L13 选择屏幕.7z

    选择屏幕也是屏幕,这些屏幕是根据源代码中的声明语句生成的。 选择屏幕标准功能: 文本(选择文本)能够以多种语言进行维护 在运行时,文本会自动以用户的登录语言显示。 自动检查类型检查用户输入的内容与输入...

    ABAP常用函数

    13. SY-CUROW:屏幕上的行 14. SY-CUCOL:光标列 15. SY-CPAGE:列表的当前显示页 16. SY-STARO:真实行号 17. SY-LISEL:选择行的内容,长度为 255 18. SY-LINNO:当前行 19. SY-INDEX:做无条件循环是的次数值 20....

    SAP_ABAP编程规范V1.2

    编码规则是指在编写 SAP ABAP 代码时应该遵循的基本原则和约定。包括: * 程序命名规则:命名应该遵循一定的格式和约定,以便于代码的阅读和维护。 * 报表规则:报表的命名和格式应该遵循一定的约定,以便于报表的...

    ABAP中的Table Control编程

    它是一组屏幕元素在Screen上的重复出现,这与普通屏幕元素的区别。Table Control的每一行是跟工作区域wa交互的,与内表itab没有直接的关联。 设置TC的行数 在ABAP中,我们可以通过属性lines来设置Table Control的...

    CALL TRANSACTION USING... 参数祥解

    * "E":只有在出现错误时才显示屏幕,用户可以修正数据,修正后程序可以继续处理。 * "N":不显示屏幕的静默模式。如果到达被调用事务的断点,则系统处理终止,并设置一些系统字段。 * "P":不显示屏幕的调试模式。...

    SAP模块常用增强总结

    执行一个程序(源代码后附),在选择屏幕处输入你所需要增强的程序TCODE,执行後,就会出现一个列表,那里就有关于如何增强这个的绝大部分SMOD增强。 点击进去,自己手动寻找需要的增强。 这是第二代增强 方法二、...

Global site tag (gtag.js) - Google Analytics