RANGE statement - Example ABAP code to demonstrate the RANGE command

The 'type range of' statement is very useful when writing ABAP programs allowing you to restrict the retrieval of data when performing a database select statement. It basically replicates the restriction abilities of the report select-option.
Below are a few examples of the various ways of populating and using a range table.


*Code to demonstrate populating and using range tables 
*&-------------------------------------------------------------*
*& Report  ZRANGESTATEMENT
*&
*&-------------------------------------------------------------*
REPORT  ZRANGESTATEMENT.
TYPES: BEGIN OF t_ekko,
  ebeln TYPE ekpo-ebeln,
  ebelp TYPE ekpo-ebelp,
  statu TYPE ekpo-statu,
  aedat TYPE ekpo-aedat,
  matnr TYPE ekpo-matnr,
  menge TYPE ekpo-menge,
  meins TYPE ekpo-meins,
  netpr TYPE ekpo-netpr,
  peinh TYPE ekpo-peinh,
 END OF t_ekko.
DATA: it_ekko TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,
      wa_ekko TYPE t_ekko.
data: r_ebeln type range of ekko-ebeln,  "range table
      wa_ebeln like line of r_ebeln.     "work area for range table
**********************************************************************
*START-OF-SELECTION
START-OF-SELECTION.
************************************************
**** populate range table to receive all entries 
refresh r_ebeln.
select ebeln ebelp statu aedat matnr menge meins netpr peinh
  from ekpo
  into table it_ekko
 where ebeln in r_ebeln.
****
***************************************************
**** populate range table to receive specific value
wa_ebeln-sign   = 'I'.   "I = include, E = exclude
wa_ebeln-option = 'EQ'.  "EQ, BT, NE ....
wa_ebeln-low    = '12345678'.
*wa_ebeln-high   =    "not needed unless using the BT option
append wa_ebeln to r_ebeln.
select ebeln ebelp statu aedat matnr menge meins netpr peinh
  from ekpo
  into table it_ekko
 where ebeln in r_ebeln.
****
***********************************************************
****  populate range table to receive entries within a range
wa_ebeln-sign   = 'I'.   "I = include, E = exclude
wa_ebeln-option = 'BT'.  "EQ, BT, NE ....
wa_ebeln-low    = '11111111'.
wa_ebeln-high   = '99999999'.
append wa_ebeln to r_ebeln.
select ebeln ebelp statu aedat matnr menge meins netpr peinh
  from ekpo
  into table it_ekko
 where ebeln in r_ebeln.
****


Related Articles

Beginners Guide to learning SAP development starting with logging into SAP
ABAP Programming EVENTS in SAP
ABAP Function Module basics in SAP
DATA and @DATA Inline ABAP declarations available from release 7.40 to help make your code cleaner and more readable
ABAP Workbench Programming Techniques - BC402
ABAP rules to consider before creating a bespoke abap report or program
ABAP Subroutine basics in SAP
Get access to an SAP system for individual needs
SAP Base 64 encoding and decoding using ABAP code
Call web URl from ABAP report or SAP help documentation
Direct download, downloading sap objects
SAP Icons
SAP icons and some ABAP code to display them
SAP icons list and their associated codes
Internal Program Environment diplays all internal/external objects and operations used by an SAP program
minisap installation on your local pc to allow ABAP development, your own local SE80
SAP minisap installation on your local pc to allow ABAP development for free
SAP module based information such FI, HR, MM, PM, BW etc
Need an SAP ABAP program created?
SAP repository objects - List of useful standard and bespoke SAP repository objects
Retrieve SAP objects using transport entry in SE10 to restore objects that have been deleted
SAP Help for all areas for SAP ABAP Development inc ABAP, ALV, Web dynpro, bsp, HR, BW
ABAP tutorial - Logging into an SAP system for the first time
Manage and delete SAP sessions using ABAP code
SAP module areas
Increase & Decrease size of SAP editor text
ABAP development information and code examples for producing be-spoke SAP functionality
ABAP Development Info - Example code and information on various areas of ABAP development
SAP command field entries - box in top left corner
Force new page when printing abap source code
ABAP FIELD SYMBOL - Techniques for manupulating data using the FIELD-SYMBOL statement
Hiding ABAP Source Code so that it can not be viewed by anyone
ABAP Internal table declaration - Various methods of creating internal data structures and tables
Parameter ID - ABAP code to demonstrate how to set and get a parameter ID
Change SAP logo in top right hand corner of SAP client
ABAP SELECT statement within SAP - Example ABAP code to demonstrate the SELECT command
Create desktop Shortcut to SAP function
SAP Note assistant - Using transaction SNOTE to read and apply OSS note fix
VARYING command - Example ABAP code to demonstrate the VARYING command
Creating your first helloworld ABAP report in SAP