필드심볼 이놈.
잘만 사용하면 코딩량을 엉청나게 줄일수 잇는 명령어.
너무 많이 사용하면 나중에 유지보수 하기 무지하게 힘든 명령어.
그렇다고 쉽게사용하기에는 번거러운 명령어를 정리해 보았습니다.
정의 |
Generic |
FIELD-SYMBOLS <fs1>. |
임이의 필드 1개를 받는다. |
FIELD-SYMBOLS <fs1> TYPE ANY. |
임이의 Structure 1개를 받는다. | ||
FIELD-SYMBOLS <fs1> TYPE ANY TABLE. |
임이의 itab 1개를 받는다. | ||
Fully <fs1>-carrid |
FIELD-SYMBOLS <fs1> TYPE SFLIGHT. |
dbtab sflight와 동일한 structure 1개 | |
FIELD-SYMBOLS <fs1> LIKE LINE OF gt_tab. |
itab gt_tab와 동일한 structure 1개 | ||
FIELD-SYMBOLS <fs1> LIKE gt_tab. |
itab gt_tab와 동일한 structure 1개 | ||
itab gt_tab와 동일한 itab 1개 | |||
할당 |
Generic Static Assign [Field] |
ASSIGN (dobj) TO <fs> [형식] |
dobj는 필드자체이거나, |
Generic Dynamic Assign [Field] |
ASSIGN TABLE FIELD (dobj) TO <fs> |
Tables 명령어로 선언된 테이블 사용시 | |
Generic Static Assign [Structure] |
ASSIGN COMPONENT comp OF STRUCTURE struc TO <fs>. |
comp : field column index를 의미한다. | |
Fully Static Assign [Structure] |
TYPES : BEGIN OF line, | ||
Generic Dynamic Assign [itab]
(Header line itab 사용 불가) |
TYPES : BEGIN OF line, | ||
Cast |
Implicit Casting. |
암묵적 형변환 | |
응용 코드 모음 |
Field명이 sum03~~sum12 |
FIELD-SYMBOLS <fs>. | |
itab을 직접 수정. 찾아직접수정하고자 할 때 유용함. |
DATA : lt_fieldCat type lvc_t_fcat. | ||
서브루틴에서 불특정 itab 을 받아서 가공해보기
(잘 응용하면 아주 유용함 ) |
FORM fill_life Using pt_t1 type ANY TABLE. FILED-SYMBOLS : <FS1> type any, <FS2>.
DATA : lv_s1 Type String, lv_s2 Type String, lv_vbeln Type vbap-vbeln.
lv_s1 = 'PSPID'. SORT pt_t1 By (lv_s1).
Loop at pt_t1 Assgining <FS1>. indx1 = sy-tabix.
At New (lv_s1). Assign component 'PSPID' of Structure <FS1> to <FS2>. SELECT Single c~vbeln INTO lv_vbeln FROM test_table1 WHERE pspid = <FS2>. EndAt.
if not lv_vbeln is Inital. Assign Component 'VBELN' of structure <FS1> to <FS2>. <FS2> = lv_vbeln. Modify Table pt_t1 FROM <FS1>. Endif. EndLoop.
EndForm.
| ||
Data Reference Variable |
DATA : name1 TYPE STRING VALUE 'sflight'. |