누군가 질문을 올리셔서 올려봅니다.
첫번째는 실행화면에서 matnr 조건을 입력한 경우고, 두번째는 matnr 조건을 넣지 않은 경우입니다. 아래의 소스코드를 보시면서 where절이 어떻게 해석되어서 넘어가는지 유심히 보시기 바랍니다.
어느분이 올린 자료였는지는 잘 기억이 안납니다만..(사내자료였일지도 모르겠습니다.) where 절에서 in이 무시됨으로 인해서 전혀 예상치 못한 index를 타는 문제를 해결하기 위한 방법도 올렸던 듯 한데.. 여기 자료가 아니면 제가 정리해서 나중에 다시 글 올려 드리겠습니다.
REPORT z_range .
TABLES: mara.
DATA: BEGIN OF itab OCCURS 0,
matnr LIKE mara-matnr,
END OF itab.
SELECTION-SCREEN BEGIN OF BLOCK group1.
SELECT-OPTIONS: s_matnr FOR mara-matnr.
SELECTION-SCREEN END OF BLOCK group1.
START-OF-SELECTION.
SELECT matnr INTO TABLE itab UP TO 10 ROWS
FROM mara
WHERE matnr IN s_matnr
.
BREAK-POINT.
재미있는 내용이네요;;;;
where 조건의 in 구문을 태우는 부분 정리해서 글올려주시길
기다리겠습니다~
좋은 내용 감사합니다...잘보겠습니다.