메뉴 건너뛰기

SAP 한국 커뮤니티



ABAP [Field-Symbol] 명령어 정리표

문바이 2011.05.16 16:36 조회 수 : 59463 추천:20

필드심볼 이놈.

잘만           사용하면 코딩량을 엉청나게 줄일수 잇는 명령어.

너무 많이 사용하면 나중에 유지보수 하기 무지하게 힘든 명령어.

그렇다고   쉽게사용하기에는 번거러운 명령어를 정리해 보았습니다.

 

정의

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개
[without header line]의 경

할당

Generic

Static Assign

[Field]

ASSIGN (dobj) TO <fs> [형식]
FIELD-SYMBOS <fs> TYPE ANY.
   ASSIGN line-col1+6(*) TO <fs>.

dobj는 필드자체이거나,
필드 1개짜리 Structure  여도 상관없다.

Generic

Dynamic Assign

[Field]

ASSIGN TABLE FIELD (dobj) TO <fs>
TABLES SFLIGHT.
name1 = 'SFLIGHT-CARRID'
FIELD-SYMBOS <fs> TYPE ANY.
   ASSIGN TABLE FIELD (name1) to <fs>

Tables 명령어로 선언된 테이블 사용시

Generic

Static Assign

[Structure]

ASSIGN COMPONENT comp OF STRUCTURE struc TO <fs>.
FIELD-SYMBOS <fs> TYPE ANY.
  ASSIGN COMPONENT sy-index OF STRUCTURE <f1> to <f2>.

comp : field column index를 의미한다.
struc : Structure 를 의미함.

Fully

Static Assign

[Structure]

TYPES : BEGIN OF line,
                        col1 TYPE c,col2 TYPE c,
             END OF line.
FIELD-SYMBOLS <fs> LIKE line.            (정상방법)
FIELD-SYMBOLS <fs> LIKE TYPE ANY.  (오류발생)
ASSIGN line TO <fs>.
MOVE <fs>-col2 TO <fs>-col1.

Generic

Dynamic Assign

[itab]

 

(Header line itab

사용 불가)

TYPES : BEGIN OF line,
                        col1 TYPE c,col2 TYPE c,
             END OF line.
DATA : wa TYPE line.
DATA : fname(4) TYPE c VALUE 'col1'.
DATA itab TYPE SORTED TABLE OF line WITH UNIQUE KEY col1.
FIELD-SYMBOLS <fs> TYPE ANY TABLE.
ASSIGN itab TO <fs>.

READ TABLE <fs> WITH TABLE KEY (fname) = 'X' INTO wa. (정상방법)
READ TABLE <fs> WITH TABLE KEY col1 = 'X' INTO wa.   (오류발생)

Cast

Implicit Casting.
 ASSIGN <var> TO <fs> CASTING.

Explicit Casting.
 ASSIGN <var> TO <fs> CASTING TYPE line.

암묵적 형변환
 Fully type의 경우 가능하다.
명시적 형변환
 Generic Type의 경우 가능하다

응용

코드

모음

Field명이
비슷한 경우
Field Name
sum01,sum02,

sum03~~sum12

FIELD-SYMBOLS <fs>.
DATA : fname(10),
          sum LIKE COSP-WTG001.

DO 12 TIMES.
   cc = sy-index.
   CONCATENATE 'COSP-WGT0' CC INTO fname.
   ASSIGN (fname) TO <fs>.
   sum = sum + <fs>.
   CLEAR : fname, <fs>.
ENDDO.

itab을 직접 수정.
itab의 일부내용을

찾아직접수정하고자

 할 때 유용함.

DATA : lt_fieldCat type lvc_t_fcat.
FIELD-SYMBOLS <fs> Type lvc_s_fcat.

Loop at lt_filedCat Assigning <fs>.
   if <ls_fcat>-fieldName = 'CUSTM'.
        <ls_fcat>-coltext = '고객명.
   endif.
ENDLOOP.

서브루틴에서

불특정 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
 Field , Structure , itab을 받는다

DATA : name1 TYPE STRING VALUE 'sflight'.
DATA dref TYPE REF TO DATA
.           [dref를 Data 참조변수로 선언한다.]
CREATE DATA
dref TYPE (name1).      [선언된 dref에 sflight가 연결되도록 선언한다.]
ASSIGN dref->* TO <fs>.
                   [dref는 메모리 변수를 값으로 가지고 있으며
                                                      그 변수값에 해당하는 번지를 <fs>에 할당한다]

번호 제목 글쓴이 날짜 조회 수
1224 ABAP [Dictionary] Type Definition 정리표 [14] 문바이 2011.09.28 21367
1223 ABAP [Internal Table] 기본기 [22] 문바이 2011.09.26 21052
1222 ABAP [Function] 기본정보 정리표 [45] 문바이 2011.09.20 22869
1221 추억의 베이스볼 게임을 아밥으로 짜보았습니다.. [33] 그림장이 2011.08.12 20055
1220 News in ABAP Debugger Breakpoints & Watchpoints(EHP2.0) [15] file swithom 2011.08.11 19305
1219 WEBDYN FOR ABAP 에 관한 자료입니다. [PDF . 영어] [13] file Jenny 2011.08.11 19677
1218 BAPI Step-by-Step [31] file Jenny 2011.08.10 14911
1217 dynamic SQL in SAP [13] file 엠엠공유 2011.08.10 12871
1216 ABAP_Troubleshooting [에러 처리] 에 관한 자료입니다. [10] file Jenny 2011.08.10 20180
1215 SAP Cording Style Guide(ABAP 기초수준급) [42] file swithom 2011.08.09 31595
1214 sap text edit 에 관한 자료 입니다. [pdf . 영어] [12] file Jenny 2011.08.04 20552
1213 sap tree 에 관한 자료 - [pdf . 영어] [14] file Jenny 2011.08.04 12875
1212 대량데이타 빠르게 편집하기 - Clipboard 로 다운받아 편집하기 [16] file 통하라 2011.07.20 39085
1211 ABAP [Subroutine] 명령어 정리표 [26] 문바이 2011.06.01 43843
1210 Abap OO 자료 잘되있네요 ^^ [39] file 양키 2011.05.31 35470
1209 Dynamic SQL [31] file 전군 2011.05.19 41178
» ABAP [Field-Symbol] 명령어 정리표 [35] 문바이 2011.05.16 59463
1207 ABAP [문자열] 명령어 정리표 [28] 문바이 2011.05.13 69257
1206 ABAP [Internal Table] 명령어 정리표 [42] 문바이 2011.05.13 54260
1205 ABAP [Selection Screen]에 대한 고찰01_Macro첨부 [6] 문바이 2011.05.13 44069