메뉴 건너뛰기

SAP 한국 커뮤니티

[re] sql문 in조건

sapjoy 2007.02.21 11:54 조회 수 : 3545 추천:184



range 변수를 사용하면
where 구문에 ( 필드 = range-row OR   필드 = range-row  OR ~~ )
이런식으로 붙기때문에

SQL문을 한번만 수행하는게 맞습니다.

저도 10000 개의 데이터를 넣어서 SQL문을 날려보니 덤프 에러가 떨어지네요.
원인으로는 SQL문의 WHERE 조건이 너무 길어져서 인것 같습니다.
대처 방안으로는 FOR ALL ENTRY 구문을 사용는게 좋을것 같습니다.
다만, FOR ALL ENTRY 구문이나 LOOP AT 랭지변수. ENDLOOP. 나 퍼포먼스 측면에서 큰 차이가 없을 거 같습니다.
이건 질문 내용을 보니 이미 알고 계신 것 같네요.

저도 좀 더 고민해보고 좋은 해결책이 나오면 다시 답변드리겠습니다.

REPORT  Z17_021                                                     .
ranges : l_r for sflight-carrid.
DATA : GT_SFLIGHT TYPE TABLE OF SFLIGHT.


do 10000 times.

l_r-low = sy-tabix.
l_r-sign = 'I'.
L_R-OPTION = 'EQ'.
APPEND L_R.
enddo.

SELECT * INTO CORRESPONDING FIELDS OF TABLE GT_SFLIGHT
FROM SFLIGHT
WHERE CARRID IN L_R.
--------------------------------------------------------------------
Possible errors:
o The maximum size of an SQL statement has been exceeded.
o The statement contains too many input variables.
o The space needed for the input data exceeds the available memory.
o ...


How to correct the error


The SAP Open SQL statement must be divided into several smaller units.
If the problem occurred due to the use of an excessively large table
in an IN itab construct, you can use the addition FOR ALL ENTRIES
instead.
번호 제목 글쓴이 날짜 조회 수
105 고객 위탁 재고 Table에 대한 질문 [1] 소주와 막걸리 2007.03.05 3908
104 [re] 고객 위탁 재고 Table에 대한 질문 [2] file sapjoy 2007.03.05 2987
103 <b>[완료]</b>tables와 select-options 두번째 질문 입니다. [2] 김동년 2007.03.04 2559
102 Type과 Data선언에 관한것입니다; [2] 홍성종 2007.03.03 2756
101 <b>[완료]</b>이제 abpa 시작한 초보 인대요.간단한 질문좀.. [3] 김동년 2007.03.03 2638
100 [re] 이제 abpa 시작한 초보 인대요.간단한 질문좀.. file sapjoy 2007.03.03 2547
99 Data type부분입니다 [4] file 홍성종 2007.03.02 3080
98 <b>[완료]</b>넘버 range 설정시 버퍼에 대하여.. [2] 고수이고싶다. 2007.03.02 3662
97 다시 질문들어갑니다;; [13] file 홍성종 2007.03.01 2480
96 혹시 SAP ECC 6.0에 대한 자료 가지고 계신분 있으세요???? [1] UKS 2007.02.28 2921
95 [re] 혹시 SAP ECC 6.0에 대한 자료 가지고 계신분 있으세요???? [4] file sapjoy 2007.03.01 2826
94 [re] 혹시 SAP ECC 6.0에 대한 자료 가지고 계신분 있으세요???? [2] file 고수이고싶다. 2007.02.28 3120
93 스크린에서 어느 필드가 변경되었는지 알수 있나요? [4] 고수이고싶다. 2007.02.28 3256
92 <b>[완료]</b>LOOP AT 와 BW에 대해.. [1] 아밥 2007.02.28 2722
91 [re] LOOP AT 와 BW에 대해.. [1] file sapjoy 2007.02.28 2649
90 몇가지 모르는것 질문을 드립니다. [3] 로미오 2007.02.26 2743
89 6.form ~ using~에 대한 답변 file sapjoy 2007.02.27 3121
88 5. controls: tc_input type tableview using screen 100 sapjoy 2007.02.27 3005
87 4. include structure~ [1] file sapjoy 2007.02.27 7179
86 3. call function [1] sapjoy 2007.02.27 2940