Reading Data using Open SQL

SELECT is the open SQL statement to read the data from the database. The general syntax for SELECT statement is as follows.

SELECT      <result>
   INTO      <target>
  FROM      <source> 
[WHERE    <condition>]

Clause Description
SELECT <result> Specifies which columns you want to read, whether one line or many lines needs to selected, and whether duplicate entries are allowed
INTO <target> Determines the target area into which the selected data is to be placed
FROM <source> Specifies the database table from which the data is to be selected
WHERE <condition> specifies which lines are to be read by specifying conditions for the selection
DATA: gwa_employee TYPE zemployee.

WRITE:/1 'Emp ID' color 5,9 'Name' color 5,17 'Place' color 5,
      27 'Phone' color 5,39 'Dept' color 5.

SELECT * FROM zemployee INTO gwa_employee.
  WRITE:/1 gwa_employee-id,9 gwa_employee-name,
        17 gwa_employee-place,27 gwa_employee-phone,
        39 gwa_employee-dept_id.
ENDSELECT.

In the above code,

  • GWA_EMPLOYEE is the work area to hold one record of table ZEMPLOYEE at a time.
  • SELECT * specifies all the rows and columns are read from the database.
  • SELECT – ENDSELECT works in a loop, so the code between SELECT and ENDSELECT will be executed for each record found in the database table.
  • WRITE statements are used to output the values in the list.
  • If the SELECT statement returns any record then the value of the system variable SY-SUBRC is set to zero else a non zero value will be set.
  • After the SELECT statement is executed, the value of the system variable SY-DBCNT contains the number of records read from the database. The value of SY-DBCNT is zero if no records are read from the database.

Table ZEMPLOYEE Entries

sql-select-1

Report Output

sql-select-2


2 Comments

  1. Good afternoon,
    I am sending you this message because I hardly need your help on SAP/ABAP. I am new on this and it is hard for me to work on it . I want somebody who can train me privately.

Comments are closed.