秤砣原創—ALV-REUSE_ALV_GRID_DISPLAY_LVC詳細參數屬性


  在SAP的HCM開發中經常會用到ALV,剛開始的時候只知道用 REUSE_ALV_GRID_DISPLAY_LVC這個Function就可以把數據顯示出來(這里只說grid),但是這個Function里面的參數屬性卻一直糊里糊塗的,所以到后來報表開發越來越復雜的時候,就發現懂得Function里面參數的用法非常關鍵,比如說ALV的分類小計要用到IT_SORT這個參數,列寬等ALV布局要用到IS_LAYOUT參數等等。你要是不知道這些參數的存在或者是不知道它們的用法的話你根本就沒辦法做。基於自己的這種艱苦的摸爬滾打歲月,就把我知道的ALV參數屬性作下總結。

  LVC_S_FCAT:ALV 控制字段目錄說明

 

ALV_S_FCAT說明:字段類別 (用於 LVC 和 KKBLO)

 

 

INCLUDE <cl_alv_control>的說明:里面有好多ALV布局的屬性,中文意思跟英文單詞意思同樣理解

 

***INCLUDE <CL_ALV_CONTROL> .
CONSTANTS:
* Style 1
 ALV_STYLE_COLOR_BACKGROUND(4)                  TYPE VALUE '00000001',
 ALV_STYLE_COLOR_HEADING(4)                     TYPE VALUE '00000002',
 ALV_STYLE_COLOR_NORMAL(4)                      TYPE VALUE '00000003',
 ALV_STYLE_COLOR_TOTAL(4)                       TYPE VALUE '00000004',
 ALV_STYLE_COLOR_KEY(4)                         TYPE VALUE '00000005',
 ALV_STYLE_COLOR_POSITIVE(4)                    TYPE VALUE '00000006',
 ALV_STYLE_COLOR_NEGATIVE(4)                    TYPE VALUE '00000007',
 ALV_STYLE_COLOR_GROUP(4)                       TYPE VALUE '00000008',
 ALV_STYLE_COLOR_INT_BACKGROUND(4)              TYPE VALUE '00000009',
 ALV_STYLE_COLOR_INT_HEADING(4)                 TYPE VALUE '0000000A',
 ALV_STYLE_COLOR_INT_NORMAL(4)                  TYPE VALUE '0000000B',
 ALV_STYLE_COLOR_INT_TOTAL(4)                   TYPE VALUE '0000000C',
 ALV_STYLE_COLOR_INT_KEY(4)                     TYPE VALUE '0000000D',
 ALV_STYLE_COLOR_INT_POSITIVE(4)                TYPE VALUE '0000000E',
 ALV_STYLE_COLOR_INT_NEGATIVE(4)                TYPE VALUE '0000000F',
 ALV_STYLE_COLOR_INT_GROUP(4)                   TYPE VALUE '00000010',
 ALV_STYLE_COLOR_INV_BACKGROUND(4)              TYPE VALUE '00000011',
 ALV_STYLE_COLOR_INV_HEADING(4)                 TYPE VALUE '00000012',
 ALV_STYLE_COLOR_INV_NORMAL(4)                  TYPE VALUE '00000013',
 ALV_STYLE_COLOR_INV_TOTAL(4)                   TYPE VALUE '00000014',
 ALV_STYLE_COLOR_INV_KEY(4)                     TYPE VALUE '00000015',
 ALV_STYLE_COLOR_INV_POSITIVE(4)                TYPE VALUE '00000016',
 ALV_STYLE_COLOR_INV_NEGATIVE(4)                TYPE VALUE '00000017',
 ALV_STYLE_COLOR_INV_GROUP(4)                   TYPE VALUE '00000018',

 ALV_STYLE_FONT_BOLD(4)                         TYPE VALUE '00000020',
 ALV_STYLE_FONT_BOLD_NO(4)                      TYPE VALUE '00000040',

 ALV_STYLE_FONT_ITALIC(4)                       TYPE VALUE '00000080',
 ALV_STYLE_FONT_ITALIC_NO(4)                    TYPE VALUE '00000100',

 ALV_STYLE_FONT_UNDERLINED(4)                   TYPE VALUE '00000200',
 ALV_STYLE_FONT_UNDERLINED_NO(4)                TYPE VALUE '00000400',

 ALV_STYLE_ALIGN_LEFT_TOP(4)                    TYPE VALUE '00000800',
 ALV_STYLE_ALIGN_CENTER_TOP(4)                  TYPE VALUE '00001000',
 ALV_STYLE_ALIGN_RIGHT_TOP(4)                   TYPE VALUE '00001800',
 ALV_STYLE_ALIGN_LEFT_CENTER(4)                 TYPE VALUE '00002000',
 ALV_STYLE_ALIGN_CENTER_CENTER(4)               TYPE VALUE '00002800',
 ALV_STYLE_ALIGN_RIGHT_CENTER(4)                TYPE VALUE '00003000',
 ALV_STYLE_ALIGN_LEFT_BOTTOM(4)                 TYPE VALUE '00003800',
 ALV_STYLE_ALIGN_CENTER_BOTTOM(4)               TYPE VALUE '00004000',
 ALV_STYLE_ALIGN_RIGHT_BOTTOM(4)                TYPE VALUE '00004800',

 ALV_STYLE_FONT_SYMBOL(4)                       TYPE VALUE '00008000',
 ALV_STYLE_FONT_SYMBOL_NO(4)                    TYPE VALUE '00010000',

 ALV_STYLE_CHECKBOX_NOT_CHECKED(4)              TYPE VALUE '00020000',
 ALV_STYLE_CHECKBOX_CHECKED(4)                  TYPE VALUE '00040000',
 ALV_STYLE_CHECKBOX_NO(4)                       TYPE VALUE '00060000',

 ALV_STYLE_ENABLED(4)                           TYPE VALUE '00080000',
 ALV_STYLE_DISABLED(4)                          TYPE VALUE '00100000',

 ALV_STYLE_SINGLE_CLK_EVENT(4)                  TYPE VALUE '00200000',
 ALV_STYLE_SINGLE_CLK_EVENT_NO(4)               TYPE VALUE '00400000',

 ALV_STYLE_RADIO_NOT_CHECKED(4)                 TYPE VALUE '00800000',
 ALV_STYLE_RADIO_CHECKED(4)                     TYPE VALUE '01000000',
 ALV_STYLE_RADIO_NO(4)                          TYPE VALUE '01800000',

 ALV_STYLE_F4(4)                                TYPE VALUE '02000000',
 ALV_STYLE_F4_NO(4)                             TYPE VALUE '04000000',

 ALV_STYLE_IMAGE(4)                             TYPE VALUE '08000000',

 ALV_STYLE_NO_DELETE_ROW(4)                     TYPE VALUE '10000000',

 ALV_STYLE_BUTTON(4)                            TYPE VALUE '20000000',
 ALV_STYLE_BUTTON_NO(4)                         TYPE VALUE '40000000',


* Style 2
 ALV_STYLE2_NO_BORDER_LEFT(4)                   TYPE VALUE '00010000',
 ALV_STYLE2_NO_BORDER_RIGHT(4)                  TYPE VALUE '00020000',
 ALV_STYLE2_NO_BORDER_TOP(4)                    TYPE VALUE '00040000',
 ALV_STYLE2_NO_BORDER_BOTTOM(4)                 TYPE VALUE '00080000',

* Style 3 ( WEBSTYLES ).


* Style 4
 ALV_STYLE4_ZEBRA_ROW(4)                        TYPE VALUE '00000001',
 ALV_STYLE4_STOP_MERGE(4)                       TYPE VALUE '00000002',

 ALV_STYLE4_LINK(4)                             TYPE VALUE '00000004',
 ALV_STYLE4_LINK_NO(4)                          TYPE VALUE '00000008',


* Column Styles
ALV_COL_STYLE_SORT_UP(4)                        TYPE VALUE '00000001',
ALV_COL_STYLE_SORT_DOWN(4)                      TYPE VALUE '00000002',
ALV_COL_STYLE_FILTER(4)                         TYPE VALUE '00000004',
ALV_COL_STYLE_TOTAL(4)                          TYPE VALUE '00000008',
ALV_COL_STYLE_SUBTOTAL(4)                       TYPE VALUE '00000010',
ALV_COL_STYLE_CHARACTERISTIC(4)                 TYPE VALUE '00000020',
ALV_COL_STYLE_KEYFIGURE(4)                      TYPE VALUE '00000040',
ALV_COL_STYLE_KEY(4)                            TYPE VALUE '00000080',
ALV_COL_STYLE_EXCEPTION(4)                      TYPE VALUE '00000100',
ALV_COL_STYLE_SIGNED_KEYFIGURE(4)               TYPE VALUE '00000200',
ALV_COL_STYLE_MERGE(4)                          TYPE VALUE '00000400',
ALV_COL_STYLE_FIXED(4)                          TYPE VALUE '00000800',
ALV_COL_STYLE_AUTO_VALUE(4)                     TYPE VALUE '00001000',
ALV_COL_STYLE_NO_DISP(4)                        TYPE VALUE '00002000',
ALV_COL_STYLE_HASREF(4)                         TYPE VALUE '00004000',
ALV_COL_STYLE_AVERAGE(4)                        TYPE VALUE '00008000',
ALV_COL_STYLE_MIN(4)                            TYPE VALUE '00010000',
ALV_COL_STYLE_MAX(4)                            TYPE VALUE '00020000'.

 

附上一個網上找到的例子(可直接運行),改例子是關於設置ALV單元格內字體格式的,比如說粗體,其它ALV控制的操作可以看我博客SAP-ALV分類的其它文章。

 FS:該例子由原作者保留版權

*&---------------------------------------------------------------------*
*& Report  ZALV_FONT_STYLE_TEST
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  ZALV_FONT_STYLE_TEST.
* Include for all style values
INCLUDE <cl_alv_control>." Internal table for final output data
DATAi_flight TYPE STANDARD TABLE OF sflight." Internal table for field catalog info
DATAi_fields TYPE lvc_t_fcat." Field symbol for field catalog
FIELD-SYMBOLS<wa_fields> TYPE lvc_s_fcat.
* Select data
SELECT FROM sflight
INTO TABLE i_flight
UP TO 100 ROWS.IF sy-subrc 0." Get field catalog
  CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
   EXPORTING
      i_structure_name             'SFLIGHT'
    CHANGING
      ct_fieldcat                  i_fields
   EXCEPTIONS
     inconsistent_interface       1
     program_error                2
     OTHERS                       3
            .
  IF sy-subrc 0."   Changing the style of field catalog
    LOOP AT i_fields ASSIGNING <wa_fields>.
      IF sy-tabix > 4.
        <wa_fields>-style  =  ALV_STYLE_FONT_ITALIC.
      ELSE.
        <wa_fields>-style  =  ALV_STYLE_FONT_BOLD."ALV_STYLE_FONT_BOLD.
      ENDIF.
    ENDLOOP.  ENDIF." Calling the FM to display ALV report
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
    EXPORTING
      i_structure_name 'SFLIGHT'
      i_grid_title     'Style demo'(001)
      it_fieldcat_lvc  i_fields
    TABLES
      t_outtab         i_flight
    EXCEPTIONS
      program_error    1
      OTHERS           2.
  IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.

ENDIF.

程序輸出結果:

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM