*&---------------------------------------------------------------------*
*& Report ZHANA01_01
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZHANA01_01.
*****************************************************
* 1st 예제
*****************************************************
*DATA : wa_list TYPE spfli,
* it_list LIKE TABLE OF wa_list.
*DATA it_list TYPE TABLE OF sflight.
*DATA wa_list LIKE LINE OF it_list.
*SELECT * INTO CORRESPONDING FIELDS OF TABLE it_list
* FROM spfli.
*LOOP AT it_list INTO wa_list.
* WRITE:/ wa_list-carrid, wa_list-connid.
* CLEAR wa_list.
*ENDLOOP.
*****************************************************
* 일반 join 방식
*****************************************************
*DATA: BEGIN OF wa_list,
* carrid TYPE scarr-carrid,
* carrname TYPE scarr-carrname,
* connid TYPE spfli-connid,
* END OF wa_list,
* it_list LIKE TABLE OF wa_list.
*
*
*
*SELECT * INTO CORRESPONDING FIELDS OF TABLE it_list
* FROM spfli AS a INNER JOIN scarr AS b
* ON a~carrid = b~carrid.
*
*LOOP AT it_list INTO wa_list.
* WRITE:/ wa_list-carrid, wa_list-carrname, wa_list-connid.
* CLEAR wa_list.
*ENDLOOP.
*****************************************************
* loop 를 이용한 join
*****************************************************
DATA: BEGIN OF wa_list,
carrid TYPE scarr-carrid,
carrname TYPE scarr-carrname,
connid TYPE spfli-connid,
END OF wa_list,
it_list LIKE TABLE OF wa_list.
SELECT * INTO CORRESPONDING FIELDS OF TABLE it_list
FROM spfli.
LOOP AT it_list INTO wa_list.
SELECT SINGLE carrname INTO wa_list-carrname
FROM scarr
WHERE carrid = wa_list-carrid.
* 여기의 it_list의 carrname 에는 실제로는 값이 비어있는것과 같다.
MODIFY it_list FROM wa_list INDEX sy-tabix.
WRITE:/ wa_list-carrid, wa_list-carrname, wa_list-connid.
CLEAR wa_list.
ENDLOOP.
*****************************************************
* 대량 join (리소스 부족으로 exception 발생)
*****************************************************
*DATA: BEGIN OF wa_list,
* carrid TYPE scarr-carrid,
* carrname TYPE scarr-carrname,
* connid TYPE spfli-connid,
* END OF wa_list,
* it_list LIKE TABLE OF wa_list.
*
*
*
*SELECT * INTO CORRESPONDING FIELDS OF TABLE it_list
* FROM zsbook1 AS a INNER JOIN spfli AS b
* ON a~carrid = b~carrid.
*
*LOOP AT it_list INTO wa_list.
* WRITE:/ wa_list-carrid, wa_list-carrname.
* CLEAR wa_list.
*ENDLOOP.
'SAP > ABAP' 카테고리의 다른 글
[ABAP] Native SQL Join via ADBC(ABAP Database Connectivity) with HANA DB (0) | 2013.06.13 |
---|---|
[ABAP] REPORT ZHANA01_04. Global Class 의 Attribute 및 Method 사용 예제 (0) | 2013.06.11 |
[ABAP] 데이터 타입 (0) | 2013.06.11 |
[ABAP] REPORT ZHANA01_02. 응용한 subroutine 예제 (0) | 2013.06.11 |
[ABAP] REPORT ZHANA01_02. (0) | 2013.06.11 |