메뉴 건너뛰기

SAP 한국 커뮤니티

Difference Between Select-Options & Ranges

sapjoy 2006.12.18 15:21 조회 수 : 6055 추천:34

Difference Between Select-Options & Ranges
What are the difference between SELECT-OPTIONS & RANGES?

Here both SELECT-OPTIONS & RANGES works for the same purpose.  They both are used for the range selection from selection screen.  The main diff. between them is, while we use SELECT-OPTIONS system implicitly creates the select options internal table which contains the fields of SIGN,OPTION,LOW & HIGH.  But in case of RANGES, this internal table should be defined explicitly.

Eg. to SELECT-OPTIONS :
-----------------------------------------

REPORT YARSELECT.
TABLES YTXLFA1.
SELECT-OPTIONS : VENDOR FOR YTXLFA1-LIFNR.
INITIALIZATION.
VENDOR-LOW    =   1000.               " It specifies the range starting value.
VENDOR-HIGH    =   2000.               " It specifies the range ending value.
VENDOR-OPTION  =  'BT'.                " specifies ranges value is in between.
VENDOR-SIGN      = 'I'.                     "specifies both inclussive.

APPEND VENDOR.

- - - -
- - - -
SELECT LIFNR LAND1 NAME1 FROM LFA1 INTO TABLE ITAB  
WHERE LIFNR IN VENDOR.

Eg. to RANGES:
-------------------------

REPORT YARRANGE.
TABLES YTXLFA1.
RANGES: VENDOR FOR YTXFLA1-LIFNR.

- - - -  
- - - --
- - - -  

SELECT LIFNR LAND1 NAME1 FROM LFA1 INTO TABLE ITAB  
WHERE LIFNR IN VENDOR.

Here with RANGES  user has to design an internal table with fields -  
SIGN,OPTION,LOW and HIGH EXPLICITLY.

--------------------------------------------------------------------------------------------------------->

Example:
  
select-options: bukrs for zstock-bukrs.
  
Should the user fill in 'ABFI' in BUKRS on the selection screen, BUKRS will look like this:
  
IEQABFI
  
This is because BUKRS is set as a table as follows:
  
begin of bukrs occurs 0,
  SIGN(1)    type c,
  OPTION(2) type c,
  LOW         like bukrs,
  HIGH         like bukrs,
end of bukrs.
  
Now, when you create the following range, it will have the exact same fields set inside its table:
  
Ranges: bukrs for zstock-bukrs.
  
The difference is, because ranges doesn't show on the selection screen, you will have to fill it yourself, meaning you will have to fill bukrs-sign, bukrs-option, bukrs-low & bukrs-high all manually.
  
Some tips:
Sign is always I (for Include) or E (for Exclude)
Option can be a whole range, which includes:
EQ        (Equal)  
BT        (Between))  
CP        (Contain Pattern)
So let's say you want to have the range check for all company codes not starting with AB, you will set your code as follow:
  
ranges: bukrs for zstock-bukrs.
  
bukrs-sign = 'E'.             "Exclude
bukrs-option = 'CP'.        "Pattern
bukrs-low = 'AB*'.            "Low Value
bukrs-high = ''.                "High Value
append bukrs.
  
Always remember to APPEND your range when you fill it, as the WHERE clause checks against the lines of the range table, not against the header line.
  
Hope this explains it well enough.

--------------------------------------------------------------------------------------------------------->

What does SIGN "I" & "E" mean?

The "I" stands for Include, and the "E" for Exclude.
  
The easiest way to learn how the range selections work is, create the following dummy program:
  
report dummy.
tables: mara.
select-options: matnr for mara-matnr.
start-of-selection.
loop at matnr.
write: / matnr-sign,
           matnr-option,
           matnr-low,
           matnr-high.
endloop.
  
Run this program, and fill in a lot of junk into MATNR. Fill in some includes, some excludes, some ranges, etc., and you will soon realise how the system builds ranges (select-options). Once you know that, you can fill your own ranges quickly and efficiently.

ABAP Tips by : Venkata A Raju Kankipati / Sam Hearn  

번호 제목 글쓴이 날짜 조회 수
527 data [2] sapjoy 2006.12.03 16722
526 Abap Dump Top 10 [5] 양키 2013.01.14 15746
525 BAPI_GOODSMVT_CREATE 입고/출고/재고이동시에 사용하세요. [5] 노름마치 2007.12.10 15105
524 Dynamic Internal Table 생성 꿀꿀윤뚱67 2019.11.27 14857
523 <img src=b.gif>Windows 7 에서 SAP GUI ALV 반응느림 해결방법 공유 (GUI720 기준)[추천:e-abap][추천:유리선율][추천:보나] [17] 점점 2010.07.02 14782
522 텍스트파일 다운받을때 유니코드 문제 해결 [8] file 솔로몬 2007.06.28 13797
521 SAP GUI WINDOW TITLE BAR 정보 표시 설정 방법 / 색상 설정 [15] file 미소 2010.12.26 13452
520 SAP 데이터 EXCEL로 내리는 절차 [6] sapjoy 2007.06.04 13352
519 Useful SAP System Administration Transactions [2] 홍성현 2007.08.08 12752
518 사업장 변경 [J_1BBRANCH] [1] Alexhong 2012.03.07 12646
517 테이블 변경 이력 테이블 [5] sapjoy 2006.12.12 12635
516 SAP GUI 7.10 patch level 14 Download Link 입니다. [2] 방배 2009.10.13 12611
515 오라클 힌트 리스트 정리 [3] sapjoy 2012.03.08 12537
514 native sql 사용 [8] sapjoy 2006.12.28 12434
513 GUI 720에서 ALV Grid 느린 현상 [26] 벗님 2011.10.12 12368
512 SELECT 문의 종류 및 CONCATENATE의 사용 [24] file iceout 2010.08.20 11792
511 delete 인터널 테이블 [7] ecbase 2006.12.02 11558
510 Batch JOB이 수행중인지 여부체크 [5] deepbluesea 2011.04.05 11401
509 클라이언트간 CTS로 데이타이관 [15] file 노름마치 2008.07.11 11094
508 나름데로 User Exit 정리 [17] 한해동안 2008.06.03 11078