CALL SCREEN 100.
" CONTAINER 생성
CREATE OBJECT P_GV_CON1
EXPORTING
REPID = SY-REPID
DYNNR = SY-DYNNR
EXTENSION = 2000.
" ALV GRID 설정
CREATE OBJECT P_GV_GRID1
EXPORTING
I_PARENT = P_GV_CON1.
CALL METHOD P_GV_GRID1->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
I_DEFAULT = 'X'
I_SAVE = 'A'
IT_TOOLBAR_EXCLUDING = GT_EXCLUDE
IS_LAYOUT = GS_LAYOUT
CHANGING
IT_FIELDCATALOG = GT_FCAT[]
IT_OUTTAB = P_GT_DATA.
FORM ALV_REFRESH_TABLE USING P_GV_GRID1 TYPE REF TO CL_GUI_ALV_GRID.
CHECK P_GV_GRID1 IS NOT INITIAL.
DATA: LS_SCROLL TYPE LVC_S_STBL.
LS_SCROLL-ROW = 'X'.
LS_SCROLL-COL = 'X'.
CALL METHOD P_GV_GRID1->REFRESH_TABLE_DISPLAY
EXPORTING
IS_STABLE = LS_SCROLL " With Stable Rows/Columns
EXCEPTIONS
FINISHED = 1 " Display was Ended (by Export)
OTHERS = 2.
ENDFORM. " ALV_REFRESH_TABLE
"더블 클릭 이벤트 핸들러 메서드 정의
CLASS LCL_EVENT_RECEIVER DEFINITION.
PUBLIC SECTION.
METHODS:
HANDLE_DOUBLE_CLICK
OF CL_GUI_ALV_GRID
IMPORTING E_ROW E_COLUMN.
ENDCLASS.
DATA: EVENT_RECEIVER TYPE REF TO LCL_EVENT_RECEIVER.
CREATE OBJECT EVENT_RECEIVER.
SET HANDLER EVENT_RECEIVER -> HANDLE_DOUBLE_CLICK FOR G_GRID.
GS_FIELDCAT-HOTSPOT = 'X'.
GS_FCAT-EMPHASIZE = 'C310'.
* 필드 카탈로그 구현을 위한 구조체와 테이블 선언
DATA: GS_FCAT TYPE LVC_S_FCAT,
GT_FCAT TYPE LVC_T_FCAT.
CLEAR GS_FCAT.
GS_FCAT-FIELDNAME = 'AMT'. * 뿌려줄 Field Name
GS_FCAT-DO_SUM = 'X'. * 합계 구현
GS_FCAT-CFIELDNAME = 'CURR'. * Currency 단위를 참고하는 필드 이름
GS_FCAT-REPTEXT = 'ZSTTAMT'. * Data Element 텍스트
GS_FCAT-SCRTEXT_L = '송금액'. * 긴 필드 라벨(40byte)
GS_FCAT-SCRTEXT_M = '송금액'. * 중간 필드 라벨(20byte)
GS_FCAT-SCRTEXT_S = '송금액'. * 긴 필드 라벨(40byte)
GS_FCAT-KEY = 'X'. * Key 필드(화면에 고정)
APPEND GS_FCAT TO GT_FCAT.
Search Help?
: 사용자가 하면 필드에 값을 입력하고자 할 때 입력 가능한 값의 List를 보여주는 기능
MATCHCODE OBJECT
SELECT-OPTIONS : PERSNO FOR ZTSTT1-PERSNO MATCHCODE OBJECT ZOJT01_SH02.