*&---------------------------------------------------------------------*
*& 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-选择屏幕 Dynpros 基础 通过这个屏幕实例可以了解屏幕元素的构成,及屏幕事件。
ABAP - Keyword Documentation This documentation describes the syntax and meaning of the keywords of the ABAP language and its object-oriented part ABAP Objects. Alongside this, language frameworks ...
CD260-ABAP-in-Eclipse-开发-CN CD260-ABAP-in-Eclipse-开发-CNCD260-ABAP-in-Eclipse-开发-CNCD260-ABAP-in-Eclipse-开发-CN
ABAP-培训教材附录 ABAP-培训教材ABAP-培训教材ABAP-培训教材ABAP-培训教材
eclipse-abap-keywordcolors eclipse-abap-关键字颜色
ABAP-学习笔记-通用
ABAP-根据T-CODE找用户出口;ABAP-根据T-CODE找用户出口
SAP-ABAP-OO-实现-CL-SALV-TABLE
SAP ABAP-Dictionary_查询表结构和内容 实战技术
SAP方丈-ABAP-SAP增强应用实例
SAP-ABAP-Certification-Review.pdf
ABAP-数据类型学习笔记
ABAP-EXCEL编程 完整详细例子
ABAP-SAP的几种(代)出口类型 Web_dynpro-关于WEBDYNPRO的编程开发(一) ABAP-FOR ALL ENTRIES IN 注意点 ABAP-根据T-CODE找BADI ABAP-根据T-CODE找BAPI ABAP-UPLOAD文件时常用的数据转换 关于using和changing ...
SAP初探之ABAP-数据库对象 解释说明 在ABAP里面 面向对象的概念
1、解压后,支持直接导入ABAP 2、支持文本编辑器打开 3、如有不解之处,可以查阅文章:《金色传说:SAP-ABAP-IW21/IW22通知单保存增强:保存通知单时根据特殊条件创建新的事故通知单》或搜索公众号:SAPABAP金色传说
SAP中文教材全系列之:ABAP中文标准教材-BC400_ZH_Col63_FV_Part_A4 陆续更新中。
SAP资料集有ABAP-PP-MM-RFC-BAPI-JCO等.rar
ABAP-透明表学习笔记.py
ABAP-OLE[借鉴].pdf