본문 바로가기

SAP ABAP 개발 및 설명

(29)
인사마스터 ALV 프로젝트 ver 2 (CLASS문) CLASS 문 더보기 *이 프로그램에서는 이벤트는 ALV에서 발생시키고 이를 받는 리시버가 필요함. *SE24는 글로벌 클래스이고 여기서 만드는 것은 LOCAL CLASS. *CLASS는 DEFINITION과 IMPLEMENTATION 쌍으로 움직임. *이름은 ABAP에서 제공하는 클래스인 CL/ 내가 전역으로 사용하려고 만드는 만드는 ZCL/ 로컬 프로그램에서만 사용하는 LCL로 보통 구분을 함. CLASS lcl_event_receiver DEFINITION. PUBLIC SECTION. METHODS : handle_data_changed FOR EVENT data_changed OF cl_gui_alv_grid IMPORTING er_data_changed. METHODS : handle_doub..
인사마스터 ALV 프로젝트 ver 2 (TOP문 , 메인프로그램) 메인 프로그램 REPORT ZR08_0010 MESSAGE-ID ZM08. INCLUDE ZR08_0010_TOP. INCLUDE ZR08_0010_CO1. INCLUDE ZR08_0010_PBO. INCLUDE ZR08_0010_PAI. INCLUDE ZR08_0010_F01. INITIALIZATION. AT SELECTION-SCREEN. START-OF-SELECTION. *인사데이터 조회 PERFORM GET_DATA. *도메인 데이터 조회 PERFORM GET_DOMAIN_DATA. END-OF-SELECTION. call screen 100. FORM get_data . CLEAR GT_DISP. SELECT * FROM ZT08_0010 INTO CORRESPONDING FIELDS OF ..
인사마스터 ALV 프로젝트 ver 1.3 Screen 200번 스크린 200번 세팅 ▪스크린 100번에서 신규, 번경, 퇴직 버튼에 따라서 입력하는 버튼을 통해 스크린 200번을 불러 올 것. 그렇기 때문에 스크린 200번에는 위 그림과 같이 세팅을 해놓고 각각의 Input 창에는 TOP에서 선언한 200번 인터널 테이블의 필드에 맞게 Naming을 해주는 작업이 필요하다. 200번 스크린 PROCESS BEFORE OUTPUT. MODULE STATUS_0200. MODULE SET_SCREEN_0200. PROCESS AFTER INPUT. MODULE EXIT_200 AT EXIT-COMMAND. MODULE USER_COMMAND_0200. Screen 200번 PBO PBO-STATUS_0200 MODULE status_0200 OUT..
인사마스터 ALV 프로젝트 ver 1.2 Screen 100 PAI Screen 100의 PAI 전문 MODULE exit_100 INPUT. CASE OK_CODE. WHEN 'BACK' OR 'EXIT' OR 'CANC'. LEAVE PROGRAM. ENDCASE. CLEAR OK_CODE. ENDMODULE. MODULE user_command_0100 INPUT. CASE OK_CODE. WHEN 'HELLO'. PERFORM CALL_INSERT_SCREEN. WHEN 'MODIFY'. PERFORM CALL_CHANGE_SCREEN. WHEN 'GOODBYE'. PERFORM CALL_RET_SCREEN. WHEN OTHERS. ENDCASE. CLEAR OK_CODE. ENDMODULE. MODULE exit_100 INPUT. C..
인사마스터 ALV 프로젝트 ver 1.1 메인프로그램 메인 프로그램 코딩. 2020/08/21 - [ABAP 실습/ALV GRID] - ALV GRID 템플릿만들기 기존에 만들어 놓은 템플릿을 활용하여 인클루드문의 이름을 선언해주고 SELECTION-SCREEN에 대한 세팅을 해준다. INCLUDE ZR08_0000_TOP. INCLUDE ZR08_0000_CO1. INCLUDE ZR08_0000_PBO. INCLUDE ZR08_0000_PAI. INCLUDE ZR08_0000_F01. INITIALIZATION. AT SELECTION-SCREEN. START-OF-SELECTION. //*인사데이터 조회 PERFORM SELECT_DATA. //*도메인 데이터 조회 PERFORM GET_DOMAIN_DATA. END-OF-SELECTION...
ALV GRID 이벤트 ▪앞서 CLASS 관련하여 이벤트에 대해 정리하였듯이, 클래스간에 이벤트를 등록하여 ALV GRID에서 HOSTPOT, 더블클릭,TOOLBAR 등의 사용자 액션에 반응하는 이벤트를 추가할 수 있다. ▪관련한 정리는 아래 이전글을 확인해보기를 바란다. 2020/08/20 - [ABAP 기초 문법/클래스 이해하기] - EVENT ▪이벤트를 ALV GRID에 반영하기 위해선 다음과 같은 3단계의 순서를 진행해야 한다. 1.이벤트를 선언 2.이벤트 핸들러 메서드를 정의 3.이벤트 핸들러 메서드를 등록 1) 이벤트 선언 클래스 빌더 T-CODE : SE24에서 CL_GUI_ALV_GRUD를 조회하면 DOUBLE_CLICK이라는 이벤트가 선언되어 있다. 2) 이벤트 핸들러 메서드 정의 프로그램 내에서 이벤트가 발생..
CL_GUI_ALV_GRID 기타 메소드 이전 글에서는 ALV에서 가장 중요한 역할을 하는 set_table_for_first_display의 메서드의 기능과 파라미터에 대해서 알아보았다. 이후 ALV에서 자주 사용되는 메서드에 대해서 학습해보자. 1) get_current_cell ▪get_current_cell 메서드는 ALV GRID 컨트롤에 커서가 놓은 위치의 값과 속성들을 반환한다. ▪선택된 셀이 존재하지 않으면 라인의 Row 값은 0을 반환한다. ALV GRID 컨트롤은 두 개의 라인과 칼럼의 인덱스 번호를 반환하는데, 하나는 현재 선택된 셀의 라인과 칼럼이고 다른 하나는 아웃풋 테이블(인터널 테이블) 라인과 칼럼의 인덱스이다. ▪이것은 필터링을 설정하거나 숨기기를 하였을 때 실제 화면에 보이는 값과 인터널 테이블의 순서가 다를 수 ..
ALV GRID - 기타 파라미터 ▪set_table_for_first_display 메서드에 사용되는 기타 파라미터의 의미와 속성에 대해서 알아보자. IS_VARIANT ▪IS_VARIANT 파라미터를 통해서는 ALV 리스트 변형(Variant)을 설정할 수 있다. ▪리스트 변형은 조회된 화면에서 필드의 순서를 변경하고, 정렬하는 것과 같은 일련의 작업을 하나의 변형으로 저장하여 다음 조회시에도 같은 포맷으로 조회될 수 있도록 기능을 제공해준다. 이를 위해서는 앞에서 필드 카탈로그와 레이아웃과 마찬가지로 TOP과 프로그램에 관련 변수를 선언해 주어야 한다. 이전에 했던 프로그램에 다음과 같은 선언을 해주도록 하자. DATA : con1_ref TYPE REF TO cl_gui_custom_container. DATA : g_grid T..