메뉴 건너뛰기

SAP 한국 커뮤니티

ABAP 7.4 (NW 740) 버전부터 사용가능한 Inline Definition

재곤 2018.08.24 17:15 조회 수 : 1563

안녕하세요, 소소한 팁입니다.

새로 배우신 분들은 다 아실테지만, 저같이 구시대 ABAP을 배우신 분들은 혹시나 모르실수도 있을것 같아 써봅니다.

관심있으신분은 support page나 SAP ABAP library (SAP GUI의 갓갓, F1 help) 를 통해서 예제를 추가로 보실 수 있습니다.

TCODE ABAPDOCU 를 사용하셔도 됩니다.


이전에는 TOP Include 문에 GT_DATA 혹은 LT_DATA등을 쓰면서 프로그래밍 하셨을겁니다. 아래의 예제를 참고로 적용해보시길 바랍니다


아래 예제는 EKKN과 EKPO의 테이블의 모든 필드를 가져옵니다.

검색조건으로는 Selection Screen의 Select option인 s_ebeln, s_ebelp s_aedat를 사용하고 있으며, 파라미터로는 p_werk 를 사용하고 있습니다.


LT_DATA는 사전에 정의된적이 없는 것이고,  모든 필드들이 알아서 캐스팅이 됩니다.

  *abap 7.4 query
  SELECT  EKKN~*EKPO~*
    FROM  ekkn INNER JOIN ekpo
      ON  ekkn~ebeln ekpo~ebeln
     AND  ekkn~ebelp ekpo~ebelp
   WHERE  ekpo~ebeln IN @s_ebeln
     AND  ekpo~ebelp IN @s_ebelp
     AND  ekpo~werks EQ @p_werk
     AND  ekpo~aedat IN @s_aedat
    ORDER BY ekkn~ebelnekkn~ebelp
    INTO  TABLE @DATA(lt_data).


Loop 등에서 사용하실려면 기존의 구조체 방식도 가능하고, (WA나 LS, GS_DATA 등등 말이죠) 아래처럼 필드심볼도 가능합니다.

필드심볼을 쓰실땐 당연히 Conversion 신경쓰셔야 합니다


   LOOP AT lt_data ASSIGNING FIELD-SYMBOL(<wa>).
      IF <wa>-ekkn-kostl IS NOT INITIAL AND
         <wa>-ekkn-aufnr IS NOT INITIAL.
        CLEAR ekkn.
        MOVE-CORRESPONDING <wa>-ekkn TO ekkn.
        APPEND ekkn TO gt_data.
      ENDIF.
    ENDLOOP.


DB로 다시 업데이트를 하실경우 아래와 같은 응용도 가능합니다. 변수  v_field가 필드명  "KOSTL"을 가지고 있다고 가정하면,

아래의 예제는 EKKN테이블의 Cost Center를 필드심볼 <fs1>의 값으로 변경합니다. Data changed event 등에 사용하셔도 좋습니다. (try catch 같이 쓰시길 추천)


        data(tokenv_field && ' = <fs1>'.
        UPDATE ekkn set (token)
        WHERE  ebeln ls_data-ebeln
          and  ebelp ls_data-ebelp.


사실 이거 한다고 코딩시간이 크게 줄지는 않습니다. 그래도 여기저기 왔다갔다 하기 귀찮으니까, 필요하실때 써보시면 좋을것 같네요.



번호 제목 글쓴이 날짜 조회 수
387 문자열에 있는 값이 숫자만으로 되어있는지 문자가 포함됐는지 체크하는 함수 [3] 꿀단지 2011.10.11 19875
386 CALL FUNCTION 'STRING_REPLACE' [1] 꿀단지 2011.10.11 5526
385 SAP 오피스의 메일박스에 메일 전송하는 함수 꿀단지 2011.10.11 5760
384 업로드할 엑셀 파일을 TXT 파일(탭으로 분리된)로 내리지 않고 엑셀파일로 꿀단지 2011.10.11 6372
383 ALV 색상 번호와 사용 목적 꿀단지 2011.10.11 4960
382 CS_BOM [1] 꿀단지 2011.10.11 5571
381 바피사용이유 [18] 꿀단지 2011.10.11 8372
380 ▲123,456' 으로 표시하게 한다 [3] 꿀단지 2011.10.11 5695
379 Mac Notebook을 쓰는 사람들을 위한 조그만 팁. [2] Bigbrother 2011.09.21 5037
378 Do Varying 간단한 예제 및 설명입니다^^ [6] file JJB 2011.08.30 6083
377 Word Wrab 기능을사용해보자. [2] file 양키 2011.07.19 5597
376 Area 메뉴 일괄 다운로드 하기 [5] file 고담 2011.06.15 8274
375 시분초를 가져오는 구문 [8] 양키 2011.05.26 8544
374 한글 자음 분석해보기. [5] file 공백 2011.05.19 7257
373 [Tip] Explorer 8.0 & SAP GUI 7.2 fancky 2011.05.19 6603
372 Automated Note Search & Customer Code Detection 소주와 막걸리 2011.04.27 6352
371 SAP Notes Viewer for iPad/iPhone [4] D.Y.Kim 2011.04.21 6219
370 where 조건을 상황에따라 바꿔볼까? [8] 양키 2011.04.14 8736
369 간단한 계산공식은 Macro를 사용하자 [5] 양키 2011.04.14 9527
368 Batch JOB이 수행중인지 여부체크 [5] deepbluesea 2011.04.05 11391