최종 작성일: 2024년 6월 17일
최종 목표: Excel_Upload 프로그램 이해하기
프로그램 구성
1.하나의 프로그램에 6개의 Include 문 포함
하나의 프로그램 : ZEXCEL_UPLOAD_100
6개의 Include문:
1) ZTEST90_TOP : 데이터 선언부
2) ZTEST90_SEL : Selction Screen 선언부
3)ZTEST90_CO1 : Class 선언
4)ZTEST90_F01 : 각종 Function을 선언하는
5)ZTEST90_IO1 : user_command_0100 인
6)ZTEST90_001 : status_011에 대한 아웃풋
2) ZTEST90_SEL : Selction Screen 선언부
*&---------------------------------------------------------------------*
*& Include ZTEST90_SEL
*&---------------------------------------------------------------------*
* UPLOAD 파일
SELECTION-SCREEN BEGIN OF BLOCK BL01 WITH FRAME TITLE TEXT-001.
PARAMETERS: P_FILE TYPE RLGRAP-FILENAME DEFAULT 'C:\' OBLIGATORY.
SELECTION-SCREEN END OF BLOCK BL01.
SELECTION-SCREEN BEGIN OF BLOCK BL02 WITH FRAME TITLE TEXT-002.
PARAMETERS: r1 RADIOBUTTON GROUP rad DEFAULT 'X',
r2 RADIOBUTTON GROUP rad,
r3 RADIOBUTTON GROUP rad.
SELECTION-SCREEN END OF BLOCK BL02.
* FUNCTION KEY
SELECTION-SCREEN: FUNCTION KEY 1.
5) ZTEST90_IO1 : user_command_0100 인풋
6)ZTEST90_001 : status_011에 대한 아웃풋
인풋 결과 나오는 아웃풋에 대한 인클루드
1. create_object_instance
2. set_fieldcatalog : alv 화면에 대한 테이블 칼럼 정의
3. set_layout : 테이블 레이아웃 설정
4. display_alv : 설정된 테이블에 값 넣기
5. refresh_data : 데이터 저장 성공 및 실패 시 데이터 refresh
*&---------------------------------------------------------------------*
*& Include ZTEST90_O01
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Module STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
DATA: TITLE TYPE STRING.
REFRESH fcode.
CLEAR wa_fcode.
IF r1 = 'X'.
wa_fcode = 'EDIT'.
APPEND wa_fcode TO fcode.
wa_fcode = 'DEL'.
APPEND wa_fcode TO fcode.
SET PF-STATUS '100' EXCLUDING fcode.
TITLE = 'ZSCARR 업로드'.
ELSEIF r2 = 'X'.
SET PF-STATUS '100'.
TITLE = 'ZSCARR 조회 및 편집'.
ELSE.
ENDIF.
SET TITLEBAR '100' WITH TITLE.
* WITH GV_TITLE.
ENDMODULE.
*&---------------------------------------------------------------------*
*& Module SET_ALV_0100 OUTPUT
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
MODULE set_alv_0100 OUTPUT.
* IF GO_DOCKING IS INITIAL.
IF GO_CUSTOM IS INITIAL.
* OBJECT*INSTANCE 생성
PERFORM create_object_instance.
* FIELD CATALOG
PERFORM set_fildcat.
* LAYOUT
PERFORM set_layout.
* DISPLAY ALV
PERFORM display_alv_0100.
ELSE.
PERFORM refresh_data.
ENDIF.
ENDMODULE.
'SAP > ABAP' 카테고리의 다른 글
CLASS (0) | 2024.06.25 |
---|---|
Excel_Upload프로그램_Function Key 추가 (0) | 2024.06.17 |
집계( SUM + at new, at first, at end of) (0) | 2024.06.07 |
[WIP]두 테이블 조인하기 - READ TABLE (0) | 2024.06.04 |
[WIP]Read Table의 기본 (0) | 2024.06.04 |