본문 바로가기

SAP ABAP 개발 및 설명/ALV GRID

(7)
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..
ALV GRID 레이아웃 ▪CL_GUI_ALV_GRID 클래스의 ALV를 만드는 메소드인 set_table_for_first_display에서 ▪IS_LAYOUT 파라미터를 이용하여 합계 금액을 보여주거나 줄무늬 패턴으로 조회되도록 하는 등 ALV GRID 컨트롤의 화면 속성을 정의할 수 있다. ▪레이아웃은 LVC_S_LAYO 타입의 STRUCTURE이며 SE11에서 조회할 수 있다. ▪아래 표는 ls_layout의 파라미터이며 어떠한 역할을 할 수 있는지 알아보자. 필드 설명 목적 CTAB_FNAME 필드 셀의 색상을 지정하다 색상 CWIDTH_OPT 컬럼 길이를 지정한다. GRID 속성 DETAILINIT 상세 화면에서 기본 값을 보여줄 것인지 결정한다. Interaction DETAILTITL 상세 화면의 타이틀 바를 보여..
ALV GRID 필드 카탈로그 ▪필드 카탈로그는 조회될 데이터의 타입 및 아웃풋 테이블의 구조를 결정해준다. ▪필드 카탈로그는 ALV에서 조회되는 칼럼들의 필드 정보를 포함하는 LVC_T_FACT 타입의 테이블 구조를 가진다. ALV는 필드 카탈로그 정보를 저장하는 인터널 테이블을 이용해 필드 타입을 인식하게 된다. 예를 들어, 필드가 숫자 타입인지 문자 타입인지 구분하며, 화면에 보여줄 필드 길이를 지정, 체크박스-라디오 버튼으로 표현, 필드 수정이 가능하게 하는 등의 많은 역할을 수행할 수 있게 된다. ▪set_table_for_first_display 메서드에서는 I_STRUCTURE_NAME에 ABAP Dictionary 스트럭쳐를 이용해 아웃풋 테이블의 필드를 구성하여 제시할 수도 있으나 개발자가 직접 ABAP 코딩을 통해 ..
필드 카탈로그 - lvc_s_fcat 역할정리 카탈로그 속성 내용 사용 목적 CFIELDNAME Currency 단위를 참고하는 필드 이름 단위와 함께 값을 보여준다 CHECKBOX 체크박스로 보여줌 칼럼 아웃풋 옵션 COL_POS 칼럼의 output 순서 칼럼 아웃풋 옵션 COLDDICTXT Header의 라벨 설정(L, M, S, R) 텍스트 COLTEXT 칼럼 라벨 텍스트 텍스트 CURRENCY Currency 단위 단위와 함께 값을 보여준다 DD_OUTLEN Output 길이(Characters) DDIC를 참고하지 않음 DECIMALS_O 소수점 자릿수 정의 칼럼 값의 포맷 DECMLFIELD Decimal 필드 정의 칼럼 값의 포맷 DO_SUM 합계 표시 칼럼 아웃풋 옵션 DRAGDROPID Drag & Drop 용도 EDIT_MASK 데..
ALV GRID 템플릿만들기 ALG GRID 템플릿만들기 순서 1. 스크린 생성 및 스크린 설정하기. 순서 2. 데이터 선언. 순서 3. PBO 및 ALV 세팅하기. 순서 4. PAI 설정. 순서 5. 필요 데이터 가지고 오기. 스크린 생성 및 스크린 설정하기. ▪프로그램 생성 후 먼저 스크린 100번을 생성을 해주고. 스크린 페인터를 통해 Custom Control을 그려준다. ▪ Custom Control의 이름은 사용자 임의로 정해줄수있으며 나는 'CON1'이라고 정해주었다. 이후 우측 하단에 Attribute에 Vertical과 Horizontal에 체크를 해주고 저장, Active해주면 된다. 화면의 최대 크기인 200 / 255로 설정해주기 Element list에서 TOP문에서 선언할 SY-UCOMM을 가지는 OK_CO..