메뉴 건너뛰기

SAP 한국 커뮤니티

다중 ALV Grid 사이즈 조절 Tip

꿀꿀윤뚱67 2019.11.27 13:57 조회 수 : 1983

MODULE PREPARE_ALV_GRID_0100 OUTPUT.
  G_CALL_ALV = '1'.
  PERFORM CREATE_AND_INIT_ALV USING GR_CONT1  GR_GRID1
                                    100  "HEIGht
                                    1    "ROWS
  IF GT_011T[] IS NOT INITIAL.
    G_CALL_ALV = '2'.
    PERFORM CREATE_AND_INIT_ALV USING GR_CONT2  GR_GRID2
                                      60  "HEIGht
                                      2    "ROWS
  ENDIF.
  IF GT_012T[] IS NOT INITIAL.
    G_CALL_ALV = '3'.
    PERFORM CREATE_AND_INIT_ALV USING GR_CONT3   GR_GRID3
                                      60  "HEIGht
                                      3    "ROWS
  ENDIF.
  IF GT_013T[] IS NOT INITIAL.
    G_CALL_ALV = '4'.
    PERFORM CREATE_AND_INIT_ALV USING GR_CONT4  GR_GRID4
                                      60  "HEIGht
                                      4    "ROWS
  ENDIF.
ENDMODULE.                 " PREPARE_ALV_GRID_0100  OUTPUT

-----------------------------------------------------------------------------------

FORM CREATE_AND_INIT_ALV
            USING PR_CONT   TYPE REF TO CL_GUI_CONTAINER
                  PR_GRID   TYPE REF TO CL_GUI_ALV_GRID
                  P_HEIGHT
                  P_ROW_ID
                  PS_LAYO   TYPE LVC_S_LAYO
                  PT_FCAT   TYPE LVC_T_FCAT
                  PT_OUTTAB TYPE STANDARD TABLE.

  IF GR_GRID1 IS INITIAL.
    CREATE OBJECT GR_CONTAINER
      EXPORTING
        CONTAINER_NAME = 'G_CON'.
    CREATE OBJECT GR_SPLITTER
      EXPORTING
        PARENT  = GR_CONTAINER
        ROWS    = 4
        COLUMNS = 1.

    GR_SPLITTER->SET_ROW_MODE(
                    MODE = CL_GUI_SPLITTER_CONTAINER=>MODE_RELATIVE ).

    GR_SPLITTER->SET_ROW_HEIGHT( ID = 1 HEIGHT = 1 ).  " %

*   HTML TOP-OF-PAGE
    CALL METHOD GR_SPLITTER->GET_CONTAINER
      EXPORTING
        ROW       = 1  "TOP-OF-PAGE
        COLUMN    = 1
      RECEIVING
        CONTAINER = GR_CONT1.
*
  ELSE. "MAIN LIST 아니면 데이타 있을때만 출력
*    CHECK PT_OUTTAB IS NOT INITIAL.

    CASE G_CALL_ALV.
      WHEN '1'.  "GR_GRID2
        GR_SPLITTER->SET_ROW_HEIGHT( ID = 1 HEIGHT = 100 ).  "%

      WHEN '2'.  "GR_GRID3
        GR_SPLITTER->SET_ROW_HEIGHT( ID = 1 HEIGHT = 50 ).  "%
        GR_SPLITTER->SET_ROW_HEIGHT( ID = 2 HEIGHT = 50 ).  "%

      WHEN '3'.  "GR_GRID
        GR_SPLITTER->SET_ROW_HEIGHT( ID = 1 HEIGHT = 30 ).  "%
        GR_SPLITTER->SET_ROW_HEIGHT( ID = 2 HEIGHT = 30 ).  "%
        GR_SPLITTER->SET_ROW_HEIGHT( ID = 3 HEIGHT = 30 ).  "%
      WHEN '4'.  "GR_GRID
        GR_SPLITTER->SET_ROW_HEIGHT( ID = 1 HEIGHT = 25 ).  "%
        GR_SPLITTER->SET_ROW_HEIGHT( ID = 2 HEIGHT = 25 ).  "%
        GR_SPLITTER->SET_ROW_HEIGHT( ID = 3 HEIGHT = 25 ).  "%
        GR_SPLITTER->SET_ROW_HEIGHT( ID = 4 HEIGHT = 25 ).  "%
    ENDCASE.

  ENDIF.
  GR_SPLITTER->SET_ROW_HEIGHT( ID = P_ROW_ID HEIGHT = P_HEIGHT ).  "%

  IF PR_GRID IS INITIAL.
    CALL METHOD GR_SPLITTER->GET_CONTAINER
      EXPORTING
        ROW       = P_ROW_ID
        COLUMN    = 1
      RECEIVING
        CONTAINER = PR_CONT.

    CREATE OBJECT PR_GRID
      EXPORTING
        I_PARENT      = PR_CONT
        I_APPL_EVENTS = 'X'.

    PS_LAYO-COL_OPT = 'X'.
    PS_LAYO-ZEBRA   = 'X'.

    CALL METHOD PR_GRID->SET_TABLE_FOR_FIRST_DISPLAY
      EXPORTING
        IS_LAYOUT            = PS_LAYO
        IT_TOOLBAR_EXCLUDING = GT_EXCLUDE
      CHANGING
        IT_FIELDCATALOG      = PT_FCAT
        IT_OUTTAB            = PT_OUTTAB.

    IF GR_GRID1 IS NOT INITIAL.
      SET HANDLER GR_RECEIVER->HANDLE_TOP_OF_PAGE FOR GR_GRID1.
      PERFORM CREATE_TOP_OF_PAGE  USING GR_GRID1.
    ENDIF.
  ENDIF.

ENDFORM.                               "CREATE_AND_INIT_ALV

번호 제목 글쓴이 날짜 조회 수
547 ABAP TUNNING sapjoy 2012.03.12 234722
546 New function vs Old function(obsolete) sapjoy 2014.03.31 127614
545 테이블Active시 (Warnings Occurred During Activation) 안나오게하는방법 [6] 양키 2012.03.29 99699
544 자주 사용하는 String 조작 명령어 [7] 양키(이경환) 2015.01.13 34771
543 collect 구문 [4] sapjoy 2006.12.03 27033
542 사용자 패스워드 변경 함수, 창 [11] sapjoy 2009.12.21 25792
541 R/3 용어 정의 Definitions [4] sapjoy 2007.01.23 23898
540 BAPI_PR_CREATE 구매요청 생성시에 사용하세요 [2] 노름마치 2007.12.10 23698
539 SELECT statement D.Y.Kim 2007.07.20 23647
538 문자열에 있는 값이 숫자만으로 되어있는지 문자가 포함됐는지 체크하는 함수 [3] 꿀단지 2011.10.11 19892
537 LIKE와 TYPE의 차이 [13] sapjoy 2006.12.06 19712
536 숫자입력 체크(Numeric character check) [1] 양키(이경환) 2014.01.28 19609
535 SDN -> SCN 변경되면서 Contents별로 바뀐 LINK 모음 [13] Wise 멘토 2012.07.06 19045
534 ABAP 핵심정리 [23] SARA 2007.03.14 17334
533 ALV LIST 진행시 LAYOUT 속성값 [18] kwon09 2007.04.11 17329
532 인터널 테이블 라인수 lines [8] sapjoy 2014.01.20 17184
531 ABAP 구문 총정리 [39] file Wise 멘토 2008.11.24 17156
530 FOR ALL ENTRIES IN 구문 사용시 select 필드 선택시 주의사항. [7] 나침반친구 2007.03.13 17002
529 SYST 시스템 변수 정리 [5] 아밥뽀 2014.08.23 16952
528 프로그램 정보(프로그램 리스트, PROGRAM LIST, PROGRAM TABLE) [3] sapjoy 2007.02.23 16765