선언문을 정리해 보았습니다.
-기존 자료실의 내용이 부실한것 같이 기존내용을 수정/이동 했습니다.--
Data선언 유형 학습 전 사전지식 | |
컴퓨터는 CPU/메모리/저장장치/입출력 장치등으로 구성되어 있다. 우리가 만드는 프로그램의 경우, 저장장치에 저장이되고 프로그램이 수행될때 메모리로 올린후 CPU가 메모리를 읽으면서 프로그램이 구동되어 진다. 이 때 프로그램의 코드 자체가 메모리에 할당도 되어지지만 프로그램을 구동과정에 필요한 변수/상수 등의 변수들이 메모리에 할당되어 사용되어 지게 된다. 그럼 컴퓨터는 메모리에 변수를 어떻게 할당 할까? 컴퓨터 메모리는 띠와 같와서 각 메모리에 주소가 할당되어져 있다. 우리가 변수에 저장하려는 것인 숫자인경우 그리고 그 숫자가 2^16=65536 이 범위내에 존재하는경우 메모리 변수를 16bit로 할당 사용가능하다/ 문자의 경우 1개의 문자를 저장하는 2^8=256이면 가능하다. 이와마찬가지로 모든 변수에 저장공간에 뭘저장하여 사용할지의 목적에 따라 메모리의 구역을 할당하게 되는데 이것은 마치 설계도를 가지고 메모리구역을 자르는 것처럼 보인다. | |
ABAP에서는 이러한 행위를 이렇게 부른다. | |
DATA TYPE |
메모리 구역을 정해진 설계에 따라 자를수 있도록 만든 설계도면 |
DATA OBJECT |
DATA TYPE에 의해 메모리에 할당된 구역자체 흔히 (DATA VARIANT)라고도 한다 |
변수선헌 유형 | |
TYPE |
Data Type을 참조해서 변수를 선언할 때 사용한다. |
TYPE REF TO |
Data Type을 참조해서 변수를 선언할 때 사용한다.( 객체선언시 사용) |
LIKE |
Data Object를 참조해서 변수를 선언할 때 사용한다 |
Internal Table 선언유형 (3가지 방식) | |
Local Table Type |
Type 명령을 통해 Program내부에서만 통용되는 선언방식으로 만든다 |
Implict Table Type |
ABAP Dic Table을 참고하여 만든다 |
Global Table Type |
ABAP Dic Table Type을 참고하여 완벽하게 만든다 |
명령어 |
유형 |
설명 |
예제 |
CONSTANTS |
선언문 (상수) |
DATA명령과 매우유사하며, 초기값[VALUE]가 존재한다. |
CONSTANTS : myname(1) VALUE 'gil dong', |
STATICS |
선언문 정적 변수 |
STATIC 변수를 사용할 때 DATA와 유사하게 사용 [서브루틴등에서 활용한다.] |
|
tables : table-wa |
명시적 테이블선언 |
명시적 테이블선언 프로그램에서 DB Dic멤버임을 몰라 오류가 발생할때 확실하게 알려준다. |
TABLES : scarr. 그 이후에 구조체에 데이터를 한번에 넣을 수 있다 위한 명령 |
data : 변수명 |
변수 선언 |
선언형에 type이 지정되어 있지 않으면. |
DATA : gv_test01. |
data : 이름like유형 |
변수 선언 |
RecordSet with buffer ref Table-wa |
DATA : GT_test01 LIKE scarr occurs 0 WITH HEADER LINE. |
data: 이름like유형 value 초기값 |
변수 선언 |
RecordSet ref Table-wa |
DATA : GT_test01 LIKE scarr occurs 0, |
data : 이름like유형 value 초기값 |
변수 선언 |
RecordSet ref Table-wa |
DATA : GT_test01 TYPE STANDARD TABLE OF scarr INITAL SIZE 0, GS_test01 TYPE scarr. |
data :begin of 이름 like 유형 value 초기값 |
변수 선언 |
RecordSet ref User Definition |
DATA : BEGIN OF GT_test01 OCCURS 0, |
type : begin of 이름 like 유형 value 초기값 |
구조체 선언 |
RecordSet Schema ref User Definition |
TYPES : BEGIN OF GS_test01, |
type : begin of 이름 like 유형 value 초기값 |
구조체 선언 |
RecordSet Schema ref User Definition |
TYPES : BEGIN OF GS_test01. |
type : begin of 이름 like 유형 value 초기값 |
구조체 선언 |
RecordSet Schema ref User Definition |
TYPES : BEGIN OF friend. |
type : begin of 이름 like 유형 value 초기값] |
구조체 선언 |
RecordSet Schema ref User Definition ABAP Dictionary를 통해서 TYPE-GROUP를 미리 저장해 두어야 한다. [최초 개발시 많이사용] |
TYPE-POOLS ztgrp. |
data : 이름 like 유형 |
변수 선언 |
Field Interger |
DATA : GV_test01 LIKE scarr-url, |
data : 이름 type ref to |
변수 선언 |
Class inherit |
DATA : Go_grid TYPE REF TO cl_gui_alv_gird. |
data : 이름 range of type |
변수 선언 |
Range [Select Option]변수선언 |
DATA : r_date type RANGE OF d. |
댓글 57
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
2 | ABAP Certi 7.0 요약 정리 [101] | 뽀꼬 | 2011.06.15 | 5719 |
» | ABAP [선언문] 명령어 정리표 Rev01 [57] | 문바이 | 2011.05.18 | 6287 |
유용한 자료 감사합니다~