[SAP]ABAP/ABAP 강의 SYNC
sap workbench 11
이운형
2022. 7. 4. 14:36
반응형
join

SAP 에서는 IF문 대신에 CASE 문을 써주기.
1) read table 에서 with key로 pk를 불러오자.
DATA: BEGIN OF ls_data,
carrid TYPE sflight-carrid,
connid TYPE sflight-connid,
fldate TYPE sflight-fldate,
currency TYPE sflight-currency,
planetype TYPE sflight-planetype,
seatsocc_b TYPE sflight-seatsocc_b,
END OF ls_data,
lv_ct(100) TYPE i,
lt_data LIKE TABLE OF ls_data.
CLEAR : ls_data.
REFRESH lt_data.
SELECT carrid connid fldate currency planetype seatsocc_b
INTO CORRESPONDING FIELDS OF TABLE lt_data
FROM sflight
WHERE currency = 'USD'
AND planetype = '747-400'.
IF sy-subrc EQ 0.
READ TABLE lt_data into ls_data
WITH KEY carrid = 'UA'
connid = '3517'
fldate = '20200929'.
if sy-subrc eq 0.
endif.
else.
write : 'exception'.
ENDIF.
*************************************************************************************
******************************************************************
DATA : BEGIN OF ls_spfli,
carrid TYPE spfli-carrid,
carrname TYPE scarr-carrname,
url TYPE scarr-url,
connid TYPE spfli-connid,
airpfrom TYPE spfli-airpfrom,
airpto TYPE spfli-airpto,
deptime TYPE spfli-deptime,
arrtime TYPE spfli-arrtime,
END OF ls_spfli.
DATA : BEGIN OF ls_scarr,
carrid TYPE scarr-carrid,
carrname TYPE scarr-carrname,
url TYPE scarr-url,
END OF ls_scarr.
DATA : lt_spfli LIKE TABLE OF ls_spfli,
lt_scarr LIKE TABLE OF ls_scarr,
lv_tabix TYPE sy-tabix.
* lv_cnt TYPE i.
CLEAR : ls_spfli, ls_scarr.
REFRESH : lt_spfli, lt_scarr.
SELECT carrid connid airpfrom airpto deptime arrtime
INTO CORRESPONDING FIELDS OF TABLE lt_spfli
FROM spfli.
SELECT carrid carrname url
INTO CORRESPONDING FIELDS OF TABLE lt_scarr
FROM scarr.
LOOP AT lt_spfli INTO ls_spfli.
lv_tabix = sy-tabix.
READ TABLE lt_scarr INTO ls_scarr
WITH KEY carrid = ls_spfli-carrid.
IF sy-subrc EQ 0.
ls_spfli-carrname = ls_scarr-carrname.
ls_spfli-url = ls_scarr-url.
* lv_cnt += 1.
MODIFY lt_spfli FROM ls_spfli INDEX lv_tabix
TRANSPORTING carrname url.
ELSE.
WRITE : 'sy-subrc error'.
ENDIF.
ENDLOOP.
******************************************************************
반응형