메뉴 건너뛰기

SAP 한국 커뮤니티

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

재곤 2018.08.24 17:15 조회 수 : 1565

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

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


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



번호 제목 글쓴이 날짜 조회 수
487 ALV 동적 필드 구성 [4] 꿀홍삼 2015.02.06 9540
486 SUBQUERY 사용예 입니다. [1] 노름마치 2007.11.20 9534
485 간단한 계산공식은 Macro를 사용하자 [5] 양키 2011.04.14 9530
484 Open SQL에서 SUM 사용시 유의사항. [11] 나침반친구 2007.06.07 9530
483 Field Catalog 가져오지 못하는문제(REUSE_ALV_FIELDCATALOG_MERGE) [3] 양키 2013.08.16 9473
482 sap 메뉴에서 표준 매뉴 전환 [1] selection장 2013.09.13 9444
481 FIELD-SYMBOL설명 및 예제 프로그램 [17] Delight 2008.04.30 9424
480 <img src=d.gif>Source Activation 시 [READ_REPORT_LINE_TOO_LONG] dump 발생하면?[추천:e-abap] [5] JYG 2011.02.11 9416
479 테이블컨트롤에서 F4 값 변경시 다른 필드 값도 변경하기 F4IF_INT_TABLE_VALUE_REQUEST [1] 한해동안 2008.07.24 9402
478 표준편차구하는 로직 윤사모 2011.03.23 9369
477 BAPI_MATERIAL_SAVEDATA 자재마스터 생성시에 사용하세요. [1] 노름마치 2007.12.10 9238
476 SAP 단순하지만, 모르면 정말 불편 한 기능들 [22] SARA 2007.03.27 9212
475 TYPE-1 프로그램에서 실행버튼 없애기 [1] 아밥뽀 2013.09.23 9108
474 엑셀에서 '-' 부호 앞으로 옮기기 [18] file MasFI 2013.02.08 8983
473 SELECT-OPTIONS 문법 [5] sapjoy 2006.12.28 8971
472 ALV 내용 변경 방법. [8] 초보보초보 2007.02.07 8926
471 SAP GUI 730 ALV Grid 느림 현상(해결방법) [3] Dave 2013.09.27 8882
470 효과적인 ABAP/4 프로그램 작성기법 [24] 열공아밥 2009.12.20 8878
469 유용한 t-code 모음들 [26] 아이디빵 2008.04.24 8794
468 where 조건을 상황에따라 바꿔볼까? [8] 양키 2011.04.14 8738