SAP 10

(ABAP 코드) Dynamic Internal Table

문바위님 블로그에 있는 코드를 바탕으로 만들어 봄. 출처: https://blog.daum.net/rightvoice/817 [Internal Table] 생성=>Class[cl_alv_table_create] 사용하기 1) 가장 추천하는 방식임 , 예제를 잘 읽어보면 쉽게 사용할 수 있음 가) Field Catalog를 설정하여 , cl_alv_table_create=>create_dynamic_table 를 이용하는 방식 (SALV와 함께 사용하지 말것) 장점 : 가독성.. blog.daum.net TYPE-POOLS: ABAP. FIELD-SYMBOLS: TYPE STANDARD TABLE, " , " . " DATA: IR_SALV_TAB TYPE REF TO CL_SALV_TABLE. DATA:..

SAP/ABAP 코드 2021.07.07

(ABAP F&M) CREATE_DYNAMIC_TABLE Method

- 동적으로 인터널 테이블 만들 때 쓰임 DATA: DYN_TABLE TYPE REF TO DATA, " ITAB DYN_LINE TYPE REF TO DATA, " WA LS_FCAT TYPE LVC_S_FCAT, " For field catalog. LT_FCAT TYPE LVC_T_FCAT. " For field catalog. FIELD-SYMBOLS: TYPE STANDARD TABLE, " , " " CREATE_DYNAMIC_TABLE Function CALL METHOD CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE EXPORTING IT_FIELDCATALOG = LT_FCAT IMPORTING EP_TABLE = DYN_TABLE. " Assign dynam..

(ABAP F&M) DDIF_FIELDINFO_GET Function

- ABAP Dictionary 에 있는 테이블의 필드들을 가져올 때 사용 (필드명 동적으로 가져올 때 사용). PARAMETERS: P_TABNM LIKE DD02L-TABNAME OBLIGATORY. DATA: GT_DNTAB LIKE TABLE OF DFIES, GS_DNTAB LIKE LINE OF GT_DNTAB. CALL FUNCTION 'DDIF_FIELDINFO_GET' EXPORTING TABNAME = P_TABNM LANGU = SY-LANGU TABLES DFIES_TAB = GT_DNTAB. SORT GT_DNTAB BY POSITION. LOOP AT GT_DNTAB ASSIGNING FIELD-SYMBOL(). CLEAR: LS_FCAT. LS_FCAT-FIELDNAME = -..

(ABAP 코드) ON VALUE-REQUEST FOR

* 프로그램 내에서 Search Help를 만든다. *- F4 관련 테이블 DATA : F4_RETURN LIKE TABLE OF DDSHRETVAL WITH HEADER LINE, LT_DYNMAPP TYPE TABLE OF DSELC WITH HEADER LINE, LT_DYNTAB TYPE TABLE OF STRING. * Search Help만들기 위한 테이블 선언 DATA : BEGIN OF LS_DEV, DEVNR LIKE ZTBD2_12_01-DEVNR, DEVNM LIKE ZTBD2_12_01-DEVNM, CETCD LIKE ZTBD2_12_06-CETCD, CETNM LIKE ZTBD2_12_05-CETNM, END OF LS_DEV, LT_DEV LIKE TABLE OF LS_DEV. ..

SAP/ABAP 코드 2021.07.07

(ABAP ALV) CL_GUI_ALV_GRID Event

* 계속 업데이트 될 예정 - ALV Event 등록 방법 1. Event handler Class 정의 Event handler Class를 만든다(LCL_EVENT_RECEIVER) Event handler class 내에 이벤트 Method 등록 예) CLASS ZCL_EVENT_RECEIVER DEFINITION. PUBLIC SECTION. * Double Click Event of CL_GUI_ALV_GRID Class METHODS : HANDLE_DOUBLE_CLICK FOR EVENT DOUBLE_CLICK OF CL_GUI_ALV_GRID IMPORTING E_ROW E_COLUMN. * Hotspot click event of CL_GUI_ALV_GIRD Class METHODS : ..

SAP/ABAP ALV 2021.07.04

(ABAP ALV) Field Catalog

* 계속 업데이틀 될 예정 Component Description ROW_POS Row 순서 COL_POS Col 순서 FIELDNAME Fieldname F4AVAILABL Field에 대한 F4 유무 REF_TABLE ABAP Dictionary에 있는 참조되는 테이블 이름 SCRTEXT_L Col header text (Long) SCRTEXT_M Col header text (Medium) SCRTEXT_S Col header text (Short) CFIELDNAME 해당 FIELD가 Currency 타입을 가지고 있을 경우 Currnecy 타입의 FIELDNAME이 셋팅 QFIELDNAME 해당 FIELD가 Quantity 타입을 가지고 있을 경우 Quantity 타입의 FIELDNAME이 셋..

SAP/ABAP ALV 2021.07.04

(ABAP ALV) ALV Layout

* 계속 업데이트 될 예정 Component TYPE OPTIONS Description ZEBRA C(1) 'X' 줄무늬 패턴 사용 EDIT C(1) 'X' 입력 혹은 수정 가능 EDIT_MODE C(1) 'X' 입력 혹은 수정 가능 NO_KEYFIX C(1) 'X' Key Field 들이 고정되지 않음 GRID_TITLE C(70) Grid Title Grid Title 정의 SEL_MODE C(1) SPACE - Default Selection Mode 정의 'B' - Single 'A' - Row and Col 'D' - Cell CTAB_FNAME C(30) Cell Color 셀의 색상 정의 CWIDTH_OPT C(1) 'X' Col 길이 조절 NUMC_TOTAL C(1) 'X' NUMC Fi..

SAP/ABAP ALV 2021.07.04

(ABAP ALV) ALV 개발 시 유용한 Method / Function Module

* 계속 업데이트 될 예정 Method / Function / Event Class 용도 GET_SELECTED_ROWS CL_GUI_ALV_GRID Grid 안에서 선택된 셀의 Row Index를 가져올 때 사용 Constructor CL_GUI_DOCKING_CONTAINER Docking Container 만들 때 사용 Constructor CL_GUI_CUSTOM_CONTAINER Custom Container만들 때 사용 Constructor CL_GUI_ALV_GRID Grid를 만들 때 사용 K_KKB_FIELDCAT_MERGE Table이나 구조체로부터 Field Catalog를 받음 ( 이 Function 이 후, 아래의 LVC_TRANSFER_FROM_KKBLO 를 Call 해야 함 )..

SAP/ABAP ALV 2021.07.04

(ABAP) Data Type과 Data Object

1. Data Type - Data Type 은 데이터 객체를 만들기 위한 틀이며 메모리를 사용하지 않는다. - Data Type의 종류 > ABAP Predefined Type ABAP 뿐만이 아니라 다른 프로그래밍 언어에서도 사용되는 기본 Type > 프로그램 내에서 정의된 Type 아래의 선언방법 예시처럼 프로그래머가 직접 정의한 type > ABAP Dictionary에서 정의된 Type ABAP Dictionary ( T-Code 'SE11') 에서 정의된 Type. 이 곳에서 정의된 Type들은 Global 하게 사용이 가능 - Data Type 선언 방법 Using Predefined Types TYPES: T_CHAR TYPE C LENGTH 10, T_INT TYPE I, T_PACKED..

SAP/ABAP 기초 2021.06.13