728x90
SELECT SINGLE 지양한다고 한다.
여태까지 많이 썼는데 말이지 ㅎㅎ..
SELECT SINGLE은 계속 DB에 접속하기 때문에 많은 양을 추출해올때는 부하가 걸릴 수 있다.
SELECT SINGLE
lsbew AS zlsbew
lhbew AS zlhbew
lkorr AS zlkorr
FROM t030h
INTO CORRESPONDING FIELDS OF gs_data_2
WHERE hkont = gs_data-zhkont.
구조체 형식으로 single 사용해서 가져오지말고,
Internal Table을 만들어서 담아가지고 활용해라.
LOOP AT gt_data INTO gs_data.
CLEAR ls_hkont.
MOVE-CORRESPONDING gs_data TO ls_hkont.
APPEND ls_hkont TO lt_hkont.
ENDLOOP.
SORT lt_hkont.
DELETE ADJACENT DUPLICATES FROM lt_hkont COMPARING ALL FIELDS. "중복된 행 지우기"
IF lt_hkont IS NOT INITIAL.
SELECT hkont AS zhkont
lsbew AS zlsbew
lhbew AS zlhbew
lkorr AS zlkorr
FROM t030h
INTO CORRESPONDING FIELDS OF TABLE lt_data
FOR ALL ENTRIES IN lt_hkont
WHERE hkont = lt_hkont-zhkont.
ENDIF.
READ TABLE lt_data INTO gs_data_2 WITH KEY zhkont = gs_data-zhkont.
728x90
'Ⅰ. ERP > 1. ABAP' 카테고리의 다른 글
[SAP ABAP] ALV 셀별 스타일 지정 ( 펌 ) (0) | 2022.10.07 |
---|---|
[SAP ABAP] loop 안에 delete 쓸 경우 (0) | 2022.09.27 |
[SAP ABAP] CORRESPONDING의 중요성 (0) | 2022.09.26 |
[ SAP ABAP ] ROLE 에 지정된 T-CODE 자동 조정 (Conversion) (0) | 2022.09.07 |
[SAP ABAP] CBO프로그램의 소스,키워드 검색하고 싶을 때 (0) | 2022.08.26 |