본문 바로가기

SAP/ABAP

Excel_Upload프로그램_기본

최종 작성일: 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