ABAP ALV详细教程(一)

ABAP ALV详细教程(一)


第一步:第一步申明变量

TYPE-POOLS:slis.
       DATA : lt_fieldcat TYPE slis_t_fieldcat_alv,
              wt_fieldcat TYPE slis_fieldcat_alv,
              ls_layout TYPE slis_layout_alv.
              

第二步:定义内表

TYPES:BEGIN OF lt_xs,
  vbeln TYPE vbak-vbeln,
  matnr TYPE vbap-matnr,
  END OF lt_xs.
  DATA :gw_xs TYPE lt_xs,
        gt_xs TYPE TABLE OF lt_xs.

第三步:读取数据

SELECT vbak~vbeln matnr FROM vbak
      LEFT JOIN vbap
      on vbak~vbeln = vbap~vbeln
      INTO TABLE gt_xs.
      

第四步:ALV格式控制

  ls_layout-zebra = 'X'.
  ls_layout-detail_popup = 'X'.
  ls_layout-detail_titlebar = '详细信息'.
  ls_layout-f2code = '&ETA'.
  ls_layout-colwidth_optimize = 'X'.
   
  wt_fieldcat-fieldname = 'VBELN'.
  wt_fieldcat-col_pos  = '1'.
  wt_fieldcat-key = 'X'.
  wt_fieldcat-datatype = 'CHAR'.
  wt_fieldcat-outputlen = '10'.
  wt_fieldcat-seltext_m = '销售凭证'.
  APPEND wt_fieldcat TO lt_fieldcat.

  wt_fieldcat-fieldname = 'MATNR'.
  wt_fieldcat-col_pos  = '2'.
  wt_fieldcat-key = 'X'.
  wt_fieldcat-datatype = 'CHAR'.
  wt_fieldcat-outputlen = '18'.
  wt_fieldcat-seltext_m = '物料号'.
  APPEND wt_fieldcat TO lt_fieldcat.

第五步:ALV数据
显示

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
   EXPORTING
*     I_INTERFACE_CHECK                 = ' '
*     I_BYPASSING_BUFFER                = ' '
*     I_BUFFER_ACTIVE                   = ' '
*     I_CALLBACK_PROGRAM                = ' '
*     I_CALLBACK_PF_STATUS_SET          = ' '
*     I_CALLBACK_USER_COMMAND           = ' '
*     I_CALLBACK_TOP_OF_PAGE            = ' '
*     I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
*     I_CALLBACK_HTML_END_OF_LIST       = ' '
*     I_STRUCTURE_NAME                  =
*     I_BACKGROUND_ID                   = ' '
*     I_GRID_TITLE                      =
*     I_GRID_SETTINGS                   =
     IS_LAYOUT                         = ls_layout
     IT_FIELDCAT                       = lt_fieldcat
*     IT_EXCLUDING                      =
*     IT_SPECIAL_GROUPS                 =
*     IT_SORT                           =
*     IT_FILTER                         =
*     IS_SEL_HIDE                       =
*     I_DEFAULT                         = 'X'
*     I_SAVE                            = ' '
*     IS_VARIANT                        =
*     IT_EVENTS                         =
*     IT_EVENT_EXIT                     =
*     IS_PRINT                          =
*     IS_REPREP_ID                      =
*     I_SCREEN_START_COLUMN             = 0
*     I_SCREEN_START_LINE               = 0
*     I_SCREEN_END_COLUMN               = 0
*     I_SCREEN_END_LINE                 = 0
*     I_HTML_HEIGHT_TOP                 = 0
*     I_HTML_HEIGHT_END                 = 0
*     IT_ALV_GRAPHICS                   =
*     IT_HYPERLINK                      =
*     IT_ADD_FIELDCAT                   =
*     IT_EXCEPT_QINFO                   =
*     IR_SALV_FULLSCREEN_ADAPTER        =
*   IMPORTING
*     E_EXIT_CAUSED_BY_CALLER           =
*     ES_EXIT_CAUSED_BY_USER            =
    TABLES
      t_outtab                          = gt_xs
   EXCEPTIONS
     PROGRAM_ERROR                     = 1
     OTHERS                            = 2
            .
  IF sy-subrc <> 0.
* Implement suitable error handling here
  ENDIF.
  • 7
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 请参考以下代码:REPORT Z_ALV_REPORT_DEMO.TABLES: VBAK.DATA: BEGIN OF REPORT_DATA OCCURS 0, VBELN LIKE VBAK-VBELN, KUNNR LIKE VBAK-KUNNR, END OF REPORT_DATA.START-OF-SELECTION. SELECT VBELN KUNNR INTO CORRESPONDING FIELDS OF TABLE REPORT_DATA FROM VBAK.CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING I_CALLBACK_PROGRAM = SY-REPID I_STRUCTURE_NAME = 'REPORT_DATA' I_BACKGROUND_COLOR = 0 I_GRID_TITLE = '销售订单报表' I_GRID_DISPLAY = 'X' EXCEPTIONS PROGRAM_ERROR = 1 OTHERS = 2.IF SY-SUBRC <> 0. * Implement suitable error handling here ENDIF. ### 回答2: ABAP ALV报表是一种用于展示和处理数据的强大工具。以下是一个简单的示例代码,用于创建一个包含基本功能的ALV报表: 1. 数据定义和获取: 首先,我们需要定义和获取报表所需的数据。可以使用内部表、数据库表或函数模块来获取数据。假设数据存储在一个内部表IT_DATA中。 2. 创建ALV对象: 创建一个ALV对象,并设置所需的属性和事件。可以使用CL_SALV_TABLE类来创建和管理ALV对象。下面是一个示例代码: DATA: lo_alv TYPE REF TO cl_salv_table. CREATE OBJECT lo_alv. 3. 设置字段目录: 设置字段目录,即定义报表的列和标题。可以为每个列定义不同的属性,如类型,长度,对齐方式等。以下是一个示例代码: DATA: lt_field_catalog TYPE TABLE OF salv_fcatalog, ls_field_catalog TYPE salv_fcatalog. ls_field_catalog-fieldname = 'COLUMN1'. ls_field_catalog-seltext_l = 'Column 1'. APPEND ls_field_catalog TO lt_field_catalog. ls_field_catalog-fieldname = 'COLUMN2'. ls_field_catalog-seltext_l = 'Column 2'. APPEND ls_field_catalog TO lt_field_catalog. lo_alv->set_table_for_first_display( EXPORTING i_structure_name = 'IT_DATA' CHANGING it_outtab = it_data it_fieldcatalog = lt_field_catalog ). 4. 显示报表: 最后,调用DISPLAY方法来显示报表。这将在屏幕上展示并允许对数据进行操作。以下是一个示例代码: lo_alv->display( ). 这只是一个简单的示例,ABAP ALV报表有很多其他功能和设置可以使用。可以根据具体需求进行更多的自定义和配置。希望这能帮助你入门并了解如何编写ABAP ALV报表代码。 ### 回答3: 下面是一个简单的ABAP ALVABAP列表化显示)报表代码的示例: REPORT z_alv_demo. DATA: lt_data TYPE TABLE OF spfli, ls_data TYPE spfli. START-OF-SELECTION. SELECT * FROM spfli INTO TABLE lt_data. CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING i_callback_program = sy-repid i_callback_top_of_page = 'TOP-OF-PAGE' TABLES t_outtab = lt_data. FORM top-of-page. WRITE: / '飞机从', 20(20) '飞行到', 40(20) '目的地'. ULINE. ENDFORM. 在此示例中,我们使用SPFLI表的数据来显示一个简单的ALV报表。首先,我们在START-OF-SELECTION部分从SPFLI表中选择所有的行,并将其填充到内部表lt_data中。 然后,我们使用函数模块REUSE_ALV_GRID_DISPLAY来显示ALV表格。此函数需要传递参数i_callback_program,它指定了调用程序的名称(这里使用sy-repid表示当前程序的名称),以及i_callback_top_of_page,它指定了在每页的顶部显示的回调功能的名称。 在回调功能TOP-OF-PAGE中,我们使用WRITE语句来打印报表的标题,并使用ULINE语句在标题下方画一条线。 最后,在运行报表时,系统会根据SPFLI表的数据显示一个包含飞机飞行信息的ALV报表。 这只是一个简单的示例,您可以根据您的需求自定义和扩展代码来创建更复杂的报表。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值