• ALV 報表顯示表頭


    1、先定義變量

    DATA: W_EVENTS LIKE LINE OF IT_EVENTS, 

          IT_EVENTS   TYPE SLIS_T_EVENT. 

    2、給變量賦值

    " Display Header in ALV Report

      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

        EXPORTING

          I_LIST_TYPE = 0

        IMPORTING

          ET_EVENTS   = IT_EVENTS.

     

      READ TABLE IT_EVENTS WITH KEY NAME = 'TOP_OF_PAGE' INTO W_EVENTS.

      IF SY-SUBRC = 0.

        MOVE 'HEADER' TO W_EVENTS-FORM.

        MODIFY IT_EVENTS FROM W_EVENTS INDEX SY-TABIX.

      ENDIF.

    3、表頭子程序

    "ALV上一行四列顯示

    FORM header.

    DATA: GT_TX_REMARK LIKE TLINE OCCURS 0 WITH HEADER LINE.

     

      DATA:LR_CONTENT     TYPE REF TO CL_SALV_FORM_ELEMENT

          ,LR_ROWS        TYPE REF TO CL_SALV_FORM_LAYOUT_GRID

          ,LR_ROW         TYPE REF TO CL_SALV_FORM_LAYOUT_FLOW

          ,LR_GRID_STATUS TYPE REF TO CL_SALV_FORM_LAYOUT_GRID

          .

      CREATE OBJECT LR_ROWS.

      LR_CONTENT = LR_ROWS.

      LR_ROW = LR_ROWS->ADD_ROW( ).

      LR_GRID_STATUS = LR_ROW->CREATE_GRID( ).

     

    "第二行是中英文說明

      ADD 1 TO LI_ROW.

     

     

    *    , LC_Z1088         TYPE ZAUSP-Z1084  " 客戶型號

    *     , LC_Z1083         TYPE ZAUSP-Z1083  "公司型號

    *  LC_Z1089         TYPE ZAUSP-Z1089  "投產情況

     

      IF SY-LANGU = '1' OR SY-LANGU = 'M'.

        CONCATENATE '英文說明             : ' LC_MAKTX_EN INTO LC_INFO SEPARATED 

     

    BY SPACE.

      ELSE.

        CONCATENATE 'Description(EN)      : ' LC_MAKTX_EN INTO LC_INFO SEPARATED 

     

    BY SPACE.

      ENDIF.

     

      LR_GRID_STATUS->CREATE_TEXT(

                 ROW    = LI_ROW

                 COLUMN = 1

                 TEXT   = LC_INFO ).

     

      IF SY-LANGU = '1' OR SY-LANGU = 'M'.

        CONCATENATE '客戶型號         :'  LC_Z1088 INTO LC_INFO SEPARATED BY 

     

    SPACE.

      ELSE.

        CONCATENATE 'CUSTOM_MODEL     :'  LC_Z1088 INTO LC_INFO SEPARATED BY 

     

    SPACE.

      ENDIF.

     

      LR_GRID_STATUS->CREATE_TEXT(

       ROW    = LI_ROW

       COLUMN = 3

       TEXT   = LC_INFO ).

     

      "文本第二行

      CLEAR GT_TX_REMARK.

      READ TABLE GT_TX_REMARK INDEX 2.

      LR_GRID_STATUS->CREATE_TEXT(

        ROW    = LI_ROW

        COLUMN = 4

        TEXT   = GT_TX_REMARK-TDLINE ).

     

    ENDFORM.  

    4、顯示ALV

    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

        EXPORTING

          I_CALLBACK_PROGRAM       = G_REPID

          IT_FIELDCAT              = GT_FIELDCAT[]

          I_CALLBACK_PF_STATUS_SET = G_STATUS

          I_CALLBACK_USER_COMMAND  = 'USER_COMMAND'

          IS_LAYOUT                = X_LAYOUT

          IT_EVENTS                = IT_EVENTS "此處的事件代碼就是顯示ALV表頭

          IS_VARIANT               = G_VARIANT

          I_SAVE                   = G_SAVE      " A = All => Standard & User

        TABLES

          T_OUTTAB                 = INTAB

        EXCEPTIONS

          PROGRAM_ERROR            = 1

          OTHERS                   = 2.

    路漫漫其修遠兮,唔將上下而求索!
  • 相关阅读:
    Java课程设计---实现登录(2)
    Java课程设计---项目数据库设计(含实体类)
    Java课程设计---学生信息管理系统需求分析及总体设计
    Java课程设计---索引
    【软件测试】基础-概念篇
    【计算机网络】定义、作用、特点计算机网络
    【计算机网络】趣谈网络协议-测试习题
    【Java】Java注释
    【Java】一个简单的Java应用程序
    【Java】Java关键字、含义
  • 原文地址:https://www.cnblogs.com/yanglikun/p/4078527.html
Copyright © 2020-2023  润新知