TYPES : BEGIN OF TY_KNA1,
KTOKD LIKE KNA1-KTOKD,
LAND1 LIKE KNA1-LAND1,
KUNNR LIKE KNA1-KUNNR,
NAME2 LIKE KNA1-NAME2,
NAME TYPE STRING,
BRSCH LIKE KNA1-BRSCH,
ORT01 LIKE KNA1-ORT01,
STCD1 LIKE KNA1-STCD1,
NAME1 LIKE KNA1-NAME1,
STRAS LIKE KNA1-STRAS,
J_1KFTBUS LIKE KNA1-J_1KFTBUS,
J_1KFTIND LIKE KNA1-J_1KFTIND,
END OF TY_KNA1.
DATA : BEGIN OF IT_KNA1 OCCURS 0,
KTOKD TYPE KNA1-KTOKD.
이렇게 인터널테이블을 선언시 TYPES과 DATA를 달리쓰는 이유와 효과가 뭔가요?
CONCATENATE를 쓸려는데 TYPES으로 정의된 인터널 테이블에서 자꾸 에러가나서요.
LOOP AT IT_KNA1 WHERE NAME2 IS NOT INITIAL.
IF IT_KNA1-NAME1 <> IT_KNA1-NAME2.
CONCATENATE IT_KNA1-NAME1 IT_KNA1-NAME2 INTO IT_KNA1-NAME.
MODIFY IT_KNA1.
ELSE.
IT_KNA1-NAME = IT_KNA1-NAME1.
MODIFY IT_KNA1.
ENDIF.
ENDLOOP.
예를 들자면 이런 구문을 썻더니 자꾸에러가 나서요
댓글 7
-
bizarre
2008.03.26 23:54
-
nogo
2008.03.27 00:00
저는 퍼포먼스나 유지보수하는데 좋다고 들어서 사용하는데요. 이제 습관이들어서..
-
r333
2008.03.27 00:16
web in abap님 감사합니다!^^
bizarre, nogo님도 감사합니다.
-
모모
2008.03.27 00:36
실제 프로그램 해보시면 알겠지만 type을 사용해야 global 변수 선언을 줄일 수 있습니다.
-
크리스~
2008.03.27 01:46
도움이 되었습니다.
-
icarus
2008.03.27 17:39
저도 항상 헷갈렸는데, 이제 명확히 알겠네요...감사합니다...
-
드럼통대가리
2008.04.22 02:44
갑사합니다.^^
f1에 나와있는 types 의 효과입니다. (types 치시고 f1누르면 사용용도에 대해서 나와있네요)
The TYPES statement defines either an independent data type dtype or a structured data type struc_type. The naming conventions apply to the names dtype and struc_type. The defined data type can be viewed within the current context from this position.
Any data type dtype is either defined with the addition TYPE and a type, or with the addition LIKE and a data object. The syntax allows you to define elementary data types, reference types, structured types, and table types.
For the definition of a structured type struc_type, any type definitions of two TYPES statements are included with the additions BEGIN OF and END OF; a structured data type struc_type is defined here, which contains the included data types as components struc_type-dtype. The structure definitions can be nested.