Inserting or Changing Values using SAP Open SQL

MODIFY is the open SQL statement to insert or change entries in the database table. If the database table contains no line with the same primary key as the line to be inserted, MODIFY works like INSERT, that is, the line is added. If the database already contains a line with the same primary key as the line to be inserted, MODIFY works like UPDATE, that is, the line is changed.

The syntax for the MODIFY statement is as follows.

MODIFY <database table> FROM <work area>

If the database table does not already contain a line with the same primary key as specified in the work area, a new line is inserted. If the database table does already contain a line with the same primary key as specified in the work area, the existing line is overwritten. SY-SUBRC is always set to 0.

DATA: gwa_employee TYPE zemployee.

gwa_employee-id      = 6.
gwa_employee-name    = 'JOSEPH'.
gwa_employee-place   = 'FRANKFURT'.
gwa_employee-phone   = '7897897890'.
gwa_employee-dept_id = 5.

MODIFY zemployee FROM gwa_employee.

ZEMPLOYEE table entries before MODIFY

open-sql-modify-1

ZEMPLOYEE table entries after MODIFY

open-sql-modify-2

Since there was no entry with the key 6, a new entry was added to the table.

DATA: gwa_employee TYPE zemployee.

gwa_employee-id      = 6.
gwa_employee-name    = 'JOHNNY'.
gwa_employee-place   = 'LONDON'.
gwa_employee-phone   = '7897897890'.
gwa_employee-dept_id = 3.

MODIFY zemployee FROM gwa_employee.

open-sql-modify-3

Since there was an entry with the key 6, the values in the existing record were modified.


1 Comment

  1. i have a question . i have auto-populated the existing data from the custom database table in the selection screen fields by entering input with the F4 help at one selection-screen field.now i want to change or update the existing data that is in the in database using selection screen fields on click a push-button (update). how i’ll get it??
    please help.

Comments are closed.