sap workbench 6
변수 구조 길이 순서
types Member type c length 8
member 변수를 char type 8자리로 선언해주세요..
tv_c_type(8).
tv_n_type(5) type n.
types tv_p_type type p length 3 decimals 2.
tv_p_type(3) => 3자리 중에 소수점 2자리를 할당해주세요.
"소수점은 자리에 포함시지 않는다."
ex)3.45 면 자리수는 3자리 == length 3.
local type = > 지역변수
global type => 전역변수
gv_ => global type
TYPES type_name TYPE P LENGHT 3 DECIMALS 2.
ex) data gv_myvar TYPE type_name.
=>
변수 선언방법
1. TYPE
2. LIKE
TYPE : GLOBAL TYPES 를 상속 받을 때에 사용한다.
LIKE : LOCAL TYPE을 참조할떄 사용한다.
type_name => TYPES 로 선언한 것은 TYPE으로 가져온다.
gv_myvar => LOCAL TYPE으로 선언한 것은 LIKE로 사용한다.
EX)
TYPES type_name TYPE P LENGHT 3 DECIMALS 2.
data gv_myvar TYPE type_name.
data gv_myvar2 like gv_myvar.
LENGTH => 길이
n 타입은 채워지지 않는 나머지는 0으로 채워진다. 부호(-)는 들어가지 않는다.
DATA = > 변수 선언
EX
DATA : lv_num(5) TYPE n.
lv_num = 5.
WRITE lv_num. // system.out.println(); printf()
=> 00005가 나타난다.
abap 에서는 -5 가 5-로 보인다.
integer i와 packed number p 는 - 가 가능하다.
ABAP 은 CHAR 도 연산이 가능하다. 하지만 사용하지는 말자.
특정Size를 주지 않을 경우 기본적인 Length가 할당된다.
SPACE와 같은 예약어는 사용할 수 없다
● 최대 30자리로 변수 이름을 줄 수 있다. 단 특수문자는 안됨. +.,;()
UTILITES => SETTINGS => ABAP EDITOR = > PRETTY PRINTER
디버깅 방법 command 창에 /h 시작하기.
- ctrl + space 하면 table에 관련된field를 보여준다.
//에러 발생 header er발생
work-area 즉 sturcture에서 data를 담아서 table에 넘겨주는 역할을 해야한다.
/**변수 선언하기**/
REPORT zc5r070001.
DATA : ls_member TYPE ZC5T07001,
lt_member TYPE TABLE OF ZC5T07001, // TYPE 을 TABLE 형식으로 넣어주세요.
ls_member-id = 'ID'.
ls_member-name = 'Name'.
//lt_member-id = 'ID'. 다음 코드를 사용하면 에러가 난다.
//lt_member-name='name'. 다음 코드를 사용하면 에러가 난다.
따라서
APPEND ls_member to lt_member. // 코드가 필요하다.
해답 code>
DATA :
zc5e07text TYPE text25,
lv_text LIKE zc5e07text,
ls_header TYPE zc5s07localstructure,
lt_header LIKE TABLE OF ls_header,
ls_head_tmp LIKE ls_header.