본문 바로가기

전체 보기

(14)
ABAP - ITAB에 INCLUDE ITAB을 선언할 때 특정 Structure를 추가해 사용할 수 있다.기존 ITAB 선언 시 추가 필드를 생성할 때 ' , ' 를 사용해서 필드를 추가했다.하지만 STRUCTURE를 추가할 때는1) ' . ' 를 붙인 후2) INCLUDE STRUCTURE 선언3) 원하는 STRUCTURE 혹은 TABLE 입력4) 이후 ' . ' 으로 끝낸 후 이어 'DATA'를 선언해야 한다. ** 만약 TABLE 구조를 두번 INCLUDE 할 때는 MANDT 필드가 중복되기 때문에 불가능하다.
ABAP - CORRESPONDING 'INTO CORRESPONDING FIELDS OF TABLE'과 'INTO TABLE' 모두 SQL의 SELECT 절을 통해 ITAB에 데이터를 넣는 구문이다. 하지만 INTO TABLE의 경우 SELECT 구문 시 조회할  필드와 ITAB의 필드 순서를 동일하게 맞춰야 한다.즉, ITAB의 필드명을 비교하지 않고 필드 순서와 타입 다 동일하다는 가정하에 값이 들어간다. INTO CORRESPONDING FIELD OF TABLE은 SELECT 구문 시 INTO TABLE과 다르게 필드 순서를 비교해 맞출 필요가 없다.CORRESPONDING 구문이 SELECT하는 필드 명과 ITAB의 필드 명을 비교해 같은 곳에 데이터를 입력해주기 때문이다.SELECT 절을 사용해서 필드를 하나 씩 가져올 때 순서..
ABAP - ITAB에서 레코드 삭제 위 코드는 gs_sbook에 담긴 데이터 중 Custtype이 P인 레코드를 찾아 삭제하는 코드다. LOOP AT gt_sbook INTO gs_sbook WHERE invoice = 'X' OR smoker = 'X'. "Custtype P인 레코드 삭제" CASE 'P'. WHEN gs_sbook-custtype. DELETE gt_book INDEX sy-tabix. CONTINUE. ENDCASE. gs_sbook-billing = 'X'. MODIFY gt_sbook FROM gs_sbook INDEX sy-tabix. Transporting billing. ENDLOOP. gt..
ABAP - Append & Collect Append와 Collect를 사용해 Internal table에 값 생성이 가능하다. Append Append 구문을 사용하면 Internal Table에 데이터를 추가할 수 있다.DATA : gs_data TYPE MARA, gt_data TYPE TABLE OF MARA.CLEAR gs_data. "값 담기 전 깨끗하게 만들기"gs_data-matnr = 'ST_10'.gs_data-matkl = '01'.gs_data-mtart = 'FERT'.gs_data-werks = '1010'. 현재는 Work Area에 값을 추가한 상황이다.그렇기 때문에 Internal Table에 담기 위해서 Append 구문을 사용해야한다.APPEND gs_data TO gt_data. "값을 하나 넣은 ..
ABAP - Internal Table, Work Area (1) WORK AREA Work Area는 프로그램 내에서 만든 Structure를 의미한다. Local type의 Structure를 Work Area라고 한다. 값은 변수처럼 하나씩 밖에 못 받는다. Work Area는 Table에 하나 씩 값을 넣기 위해 만드는 작업자의 역할을 수행한다. 실습) Work Area 생성 각 테이블에서 필요한 내역들을 참조해 Work Area를 생성할 수 있다. 위는 SCARR 테이블의 필드들이다. DATA : BEGIN OF gs_scarr, carrid TYPE s_carr_id, "직접 참조" carrname TYPE scarr-carrname, "간접 참조" currcode TYPE scarr-currcode, END OF gs_scarr. ABAP Edito..
ABAP - 데이터가 쌓이는 모습 저장할 때 라인이 테이블 내에 하나씩 추가되어 적재되는 것을 말한다. 즉, 테이블은 여러 필드로 구성되어 있으며 이 필드들이 모여 레코드가 되고 해당 레코드 들이 테이블에 라인 형태로 쌓이는 것이다.
ABAP - 변수와 상수 1) 변수 변수란 특정 되지 않은 값을 담을 수 있는 공간으로 어떤 값이 들어올지 모르는 것을 의미 (1) 변수 특징 한 번에 하나의 값만 저장하며 값을 추가하면 덮어씀 선언되어 정의가 되어야만 사용할 수 있음 (2) Global & Local 변수 Global(전역) 변수: 프로그램 어디든 사용할 수 있음 → 보통 gv_~~ Local(로컬) 변수: 데이터 구문에 의해 선언된 곳에서만 사용할 수 있음 (3) TYPE 선언 TYPE으로 선언하면 해당 프로그램 내 Global type으로 선언 LIKE로 선언하면 프로그램 내에서 DATA로 선언된 Local type으로 선언 가능 (4) 할당 연산자 ‘=’ gv_carrid2 = gv_carrid1 → 왼쪽은 값 저장소, 오른쪽은 연산 값을 의미 * 위 상..
ABAP - Data 1) Data type Type Description Length Initial Value C Text(Character) 1 ' ' N Numeric Character 1 '0' D Date(YYYY.MM.DD) 8 '00000000' T Time(HH:MM:SS) 6 '000000' X Hexa Decimal 1 X'00' I Integer 4 0 P Packed Number 8 0 F Floating poing Number 8 '0.0' 각 Data type은 길이와 값을 정의하지 않을 경우 Default로 설정되는 값이 있음 Length는 기본 길이를 의미 Initial Value는 값을 정해주지 않았을 때의 기본 값 1) Character Character 형태여도 그 안에 들어있는 것이 숫자라..