Start Routine Logic:
SOURCE_PACKAGE -> Internal Table
SOURCE_FIELDS -> Work Area
<SOURCE_FIELDS> -> Field Symbol
We can do operations like DELETE,MODIFY,APPEND the records in Start Routine.
Start Routine have Source Structure
EX1: START ROUTINE LOGIC WITH 'DELETE' OPTION
LOOP AT SOURCE_PACKAGE ASSIGNING <SOURCE_FIELDS>.
IF <SOURCE_FIELDS>-F3 = 'AMR'.
DELETE SOURCE_PACKAGE.
ENDIF.
ENDLOOP.
(OR) DELETE SOURCE_PACKAGE WHERE F3 EQ 'AMR'.
EX2: START ROUTINE LOGIC WITH 'MODIFY' OPTION
LOOP AT SOURCE_PACKAGE ASSIGNING <SOURCE_FIELDS>.
IF <SOURCE_FIELDS>-F3 = 'AMR'.
<SOURCE_FIELDS>-F2 = 'C999'.
* MODIFY SOURCE_PACKAGE FROM <SOURCE_FIELDS> INDEX SY-TABIX.(this
statement is not required, if the above field symbol)
ENDIF.
ENDLOOP.
(OR)
LOOP AT SOURCE_PACKAGE ASSIGNING <SOURCE_FIELDS>.
IF <SOURCE_FIELDS>-F3 = 'AMR'.
SOURCE_FIELDS-F2 = 'C999'.
MODIFY SOURCE_PACKAGE FROM <SOURCE_FIELDS> INDEX SY-TABIX.(this
statement is required, if the above is not field symbol)
ENDIF.
ENDLOOP.
EX3: START ROUTINE LOGIC WITH 'MODIFY' OPTION
DELETE SOURCE_PACKAGE WHERE LFSTK NE 'C'.
LOOP AT SOURCE_PACKAGE ASSIGNING <SOURCE_FIELDS>.
IF <SOURCE_FIELDS>-FKSTK IS INITIAL.
<SOURCE_FIELDS>-FKSTK = 'C'.
* MODIFY SOURCE_PACKAGE FROM <SOURCE_FIELDS> INDEX SY-TABIX.(this
statement is not required, if the above field symbol)
ENDIF.
ENDLOOP.
(OR)
LOOP AT SOURCE_PACKAGE ASSIGNING <SOURCE_FIELDS>.
IF <SOURCE_FIELDS>-FKSTK IS INITIAL.
SOURCE_FIELDS-FKSTK = 'C'.
MODIFY SOURCE_PACKAGE FROM <SOURCE_FIELDS> INDEX SY-TABIX.(this
statement is required, if the above is not field symbol)
ENDIF.
ENDLOOP.