안녕하세요, 소소한 팁입니다.
새로 배우신 분들은 다 아실테지만, 저같이 구시대 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~ebeln, ekkn~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(token) = v_field && ' = <fs1>'.
UPDATE ekkn set (token)
WHERE ebeln = ls_data-ebeln
and ebelp = ls_data-ebelp.
사실 이거 한다고 코딩시간이 크게 줄지는 않습니다. 그래도 여기저기 왔다갔다 하기 귀찮으니까, 필요하실때 써보시면 좋을것 같네요.
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
447 | 인터널 테이블 라인수 lines [8] | sapjoy | 2014.01.20 | 17157 |
446 | TRY와 SQL [2] | sapjoy | 2013.12.05 | 5838 |
445 | SAP 버퍼를 다시 설정하는 방법 | Wise 멘토 | 2013.10.04 | 7487 |
444 | debug 시 문장 skip 요령 [36] | 하마대왕 | 2013.10.04 | 6864 |
443 | SAP GUI 730 ALV Grid 느림 현상(해결방법) [3] | Dave | 2013.09.27 | 8882 |
442 | TYPE-1 프로그램에서 실행버튼 없애기 [1] | 아밥뽀 | 2013.09.23 | 9108 |
441 | sap 메뉴에서 표준 매뉴 전환 [1] | selection장 | 2013.09.13 | 9443 |
440 | 요약파일1 [7] | 밤의화신 | 2013.09.11 | 8039 |
439 | ABAP 교육 [13] | 밤의화신 | 2013.09.11 | 8359 |
438 | ABAP 교육 [9] | 밤의화신 | 2013.09.11 | 7385 |
437 | ABAP 교육 [6] | 밤의화신 | 2013.09.11 | 7198 |
436 | ABAP 교육 [6] | 밤의화신 | 2013.09.11 | 7272 |
435 | ABAP 교육 [12] | 밤의화신 | 2013.09.11 | 7287 |
434 | ABAP 교육 [32] | 밤의화신 | 2013.09.11 | 8493 |
433 | ABAP 교육 [13] | 밤의화신 | 2013.09.11 | 8490 |
432 | REM PROCESS2 [1] | 밤의화신 | 2013.09.11 | 4497 |
431 | REM PROCESS1 | 밤의화신 | 2013.09.11 | 5398 |
430 | REM TABLE3 | 밤의화신 | 2013.09.11 | 2657 |
429 | REM TABLE2 | 밤의화신 | 2013.09.11 | 2819 |
428 | REM TABLE1 | 밤의화신 | 2013.09.11 | 2867 |