메뉴 건너뛰기

SAP 한국 커뮤니티



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

재곤 2018.08.24 17:15 조회 수 : 696

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

새로 배우신 분들은 다 아실테지만, 저같이 구시대 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.


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



번호 제목 글쓴이 날짜 조회 수
517 Downcast (wildencast) 과 Upcasting file DeSong 2019.03.06 222
516 Variant is not the current version sapjoy 2019.02.28 114
515 스풀을 PDF로 저장하는 프로그램 sapjoy 2019.01.21 311
514 Spool Delete program sapjoy 2019.01.21 128
513 SAP Parallel process group sapjoy 2019.01.17 172
512 T-CODE:SM30, SM34 sapjoy 2019.01.17 235
511 Fiori / UI5 ICON LIST 참조사이트 file sapjoy 2019.01.14 314
510 Quick view를 Query로 전환하기 sapjoy 2019.01.02 215
509 16진수 10진수 변환함수 easy abap(김성준) 2018.11.13 286
508 Variant regeneration(RESCUE) PROGRAM RSVARDOC_610 easy abap(김성준) 2018.11.05 240
» ABAP 7.4 (NW 740) 버전부터 사용가능한 Inline Definition 재곤 2018.08.24 696
506 SHIFT 구문 TIP easy abap(김성준) 2018.02.22 1369
505 특수문자가 깨지는 문제-스마트폼 [2] easy abap(김성준) 2016.06.21 4576
504 Customizing Includes easy abap(김성준) 2015.12.18 4319
503 Text OBject 텍스트를 팝업화면으로 띄우기 [3] 양키(이경환) 2015.11.25 4936
502 특정문자열이 있는곳으로부터 문자열 획득 [1] 양키(이경환) 2015.11.19 4475
501 CL_DEMO_OUTPUT 클래스를 이용한 팝업 에디트 띄우기 양키(이경환) 2015.11.17 4157
500 문자열로 된 계산식의 결과값을 계산해주는 Function [4] 양키(이경환) 2015.07.02 3638
499 Runtime Errors STRING_OFFSET_TOO_LARGE [1] easy abap(김성준) 2015.04.02 3682
498 DUMP : CONNE_IMPORT_WRONG_STRUCTURE INDX(KE) easy abap(김성준) 2015.03.18 3179