ABAP ALV顯示前排序合並及布局顯示


有時候會有用戶要求顯示出來的ALV立即就是升序或者降序,或者是上下同一個字段值一樣的情況顯示一次,如

變為

 

 

 這個時候內表用SORT有時候會不好用,可以使用函數

REUSE_ALV_GRID_DISPLAY

自帶的排序屬性參數---》it_sort.  布局也是需要調用相關的參數i_save。

DATA:IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
     WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
     WA_LAYOUT   TYPE SLIS_LAYOUT_ALV,
     IT_SORT     TYPE SLIS_T_SORTINFO_ALV,
     WA_SORT     TYPE SLIS_SORTINFO_ALV.
SELECT * FROM EKPO INTO TABLE @DATA(IT_EKPO) UP TO 50 ROWS.
*SORT IT_EKPO BY EBELN.
*CL_DEMO_OUTPUT=>DISPLAY_DATA( IT_EKPO ).
WA_SORT-FIELDNAME = 'EBELN'.  "對需要排序的字段進行賦值
WA_SORT-UP = 'X'."up是升序,down是降序
APPEND WA_SORT TO IT_SORT.
CLEAR WA_SORT.
DATA:POS TYPE I.
POS = 1.
WA_FIELDCAT-COL_POS = POS.
WA_FIELDCAT-FIELDNAME = 'EBELN'.
WA_FIELDCAT-TABNAME = 'IT_EKPO'.
WA_FIELDCAT-SELTEXT_M = '采購訂單號'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
POS = POS + 1.
WA_FIELDCAT-COL_POS = POS.
WA_FIELDCAT-FIELDNAME = 'BUKRS'.
WA_FIELDCAT-TABNAME = 'IT_EKPO'.
WA_FIELDCAT-SELTEXT_M = '公司代碼'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
POS = POS + 1.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
  EXPORTING
    I_CALLBACK_PROGRAM = SY-REPID
    IS_LAYOUT          = WA_LAYOUT
    IT_FIELDCAT        = IT_FIELDCAT
    IT_SORT            = IT_SORT[] "這里不能忘記調用參數
    I_SAVE             = 'A'"這個是生成布局的參數
  TABLES
    T_OUTTAB           = IT_EKPO.

界面如下:

 


免責聲明!

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



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