본문 바로가기

SAP/ABAP

CLASS

최종작성일: 2024년 6월 25일

목표: 엑셀 업로드 프로그램 이해하기

 

 

CREATE OBJECT OBJFILE.

1)

  DATAGV_DIRECTORY     TYPE STRING,
        GV_INITIAL_DIR   TYPE STRING,
        GV_FILE          LIKE RLGRAP-FILENAME,
        OBJFILE          TYPE REF TO CL_GUI_FRONTEND_SERVICES.

2)

FORM set_directory  USING    p_ls_key_objid.
  CLEAR GV_FILE.
  CREATE OBJECT OBJFILE.

 

 

더보기

TYPE REF TO 

TYPE REF TO는 클래스를 받아옴.

 

 

메소드(method)는 일.

클래스(Class)는 부장급 직작상사.

-> 클래스를 일을 다 할 줄 아는 직장상사라고 가정했을때

=>그 부장님이 신입사원에게 인수인계 해준다고 가정했을때

=>'OBJFILE TYPE REF TO CL_GUI_FRONTEND_SERVICES' 구문 상, OBJFILE을 인수인계를 받는 신입사원이며

해당 구문을 통해 OBJFILE이라는 신입사원에게 인수인계를 해주겠다고 선언하는 것이라고 보면 됨.

 

더보기

CREATE OBJECT OBJFILE

인수인계를 하는 구문임.

OBJFILE을 데이터 선언부에서 TYPE REF TO 클래스를 통해서 인수인계 받을 준비를 하고

CREATE 구문을 통해서 OBJECT를 생성함으로써 TYPE REF TO 클래스에서 해당 클래스가 할 수 있는 일을 다 할 수 있게됨.

METHOD는 CLASS가 할 수 있는 일들중 하나 라고 보면 됨.

FORM set_directory  USING    p_ls_key_objid.
  CLEAR GV_FILE.
  CREATE OBJECT OBJFILE.

IF GV_FILE IS NOT INITIAL.
    GV_INITIAL_DIR = GV_FILE.
  ELSE.
    OBJFILE->GET_TEMP_DIRECTORY( CHANGING     TEMP_DIR = GV_INITIAL_DIR "->는 인수인계를 받아서 실행한다는 의미
                                                                        "=>는 클래스가 직접 실행하는 것
                                 EXCEPTIONS   CNTL_ERROR           = 1
                                              ERROR_NO_GUI         = 2
                                              NOT_SUPPORTED_BY_GUI = 3 ).
  
  ENDIF.

  OBJFILE->DIRECTORY_BROWSE( EXPORTING  INITIAL_FOLDER = GV_INITIAL_DIR
                             CHANGING   SELECTED_FOLDER = GV_DIRECTORY
                             EXCEPTIONS CNTL_ERROR      = 1
                                        ERROR_NO_GUI    = 2
                                        NOT_SUPPORTED_BY_GUI = 3 ).