메뉴 건너뛰기

SAP 한국 커뮤니티



open SQL에서 Where 절의 IN 관련

정군 2009.04.15 14:45 조회 수 : 3484





누군가 질문을 올리셔서 올려봅니다.


 


첫번째는 실행화면에서 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.