0% found this document useful (0 votes)
52 views33 pages

SAP ABAP Basic Concepts

Uploaded by

akkhila29
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
52 views33 pages

SAP ABAP Basic Concepts

Uploaded by

akkhila29
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 33

1.

Introduction to ABAP Editor


▪ ABAP editor is a tool for ABAP coding.
▪ It is one of the main tools of the ABAP workbench.
▪ The transaction code for ABAP editor is SE38.
▪ Any customized program must start with Z or Y as first
alphabet.
▪ A statement is a sequence of words that ends with a
period.
▪ In the ABAP editor, the keywords appear in blue color.

2. Functionalities of ABAP Editor


▪ Save - Ctrl + S
▪ Syntax check - Ctrl + F2
▪ Activation - Ctrl + F3
▪ Execute - F8
▪ Display/change - Ctrl+ F1
▪ Display object list - Ctrl + Shift + F5
3. Pretty Printer
▪ The use of pretty printer is used to format the ABAP code.
It makes the code more readable.
▪ The shortcut of pretty printer is Shift + F1.
▪ The various functionalities of pretty printer are as follows:
▪ Indentation
▪ Convert uppercase/lowercase
4. Comments
▪ A comment is an explanation that is added to the source
code of a program to help the person reading the program
to understand it.
▪ Comments are ignored when the program is generated by
the ABAP compiler.
▪ The * character at the start of a program line indicates
that the entire line is a comment.
▪ The " character, which can be entered at any position in
the line, indicates that the remaining content in the line is
a comment.
▪ Shortcut to comment out lines - Ctrl +, ( , )
▪ Shortcut to uncomment lines - Ctrl +. ( . )

5. Data Types
▪ Data types are templates for creating data objects.
▪ A data type defines the technical attributes of data
objects.
▪ Data types do not use any memory space.
▪ Data types can be defined independently in the ABAP
program or in ABAP dictionary.
▪ Data Objects
▪ A data object is an instance of a data type.
▪ A data object holds the contents or data.
▪ It occupies the memory space based upon the data type
specified.
▪ Example - DATA lv_empid(20) TYPE n.
lv_empid = 10.
▪ In the above example, DATA = keyword, lv_empid is the
name of the data object,
TYPE = keyword, n(numeric) = is a data type of that data object.
Categories of Data Types
There are three categories of data types.

Elementary Types
▪ They are predefined data types.
▪ They are single data types. They are not composed of
other data types.
▪ Elementary datatypes are of 2 types:
▪ Fixed length data types - C(character) , N(numeric) ,
I(Integer) , P(packed number) , F(floating point) , D(date),
T(time) , X(hexadecimal).
▪ Variable length data types - String , Xstring.
▪ Complex Data Types
▪ There is no pre-defined complex data type in ABAP.
▪ They are the combination of elementary data types.
▪ There are 2 types of complex data types.
▪ Structure type
▪ Table type
▪ Reference Data Types
▪ There is no pre-defined reference data type.
▪ It describes data objects that contain references to other
objects.
▪ They are of 2 types of reference data type.
▪ Data reference
▪ Object reference
▪ Example : DATA lo_object TYPE REF TO zclass.
▪ In the above syntax - DATA = keyword , lo_object = name
of data object, TYPE REF TO = keyword , zclass = name of
already existing class.
▪ Types of Data Objects
The Data objects are of 2 types.
▪ Literals(unnamed data objects)
▪ Named data objects
▪ Literals (Unnamed Data Objects)
▪ Literals don’t have any name that’s why they are called as
unnamed data objects.
▪ They are fully defined by their value.
▪ There are 2 types of literals.
▪ Numeric literals - Numeric literals have sequence of
numbers. Examples - 123 , -4567 etc.
▪ Character literals - Character literals are sequences of
alphanumeric characters in single quotation marks.
Examples - ‘Test 123’ , ‘SAP ABAP’ etc.
▪ Named Data Objects
▪ Data objects that have a name are called as named data
objects.
▪ The various types of named data objects are as follows :
▪ Variables
▪ Constants
▪ Text symbols
▪ Variables
▪ Variables are data objects whose contents can be
changed.
▪ Variables are declared using the DATA, CLASS-DATA,
STATICS, PARAMETERS, SELECT-OPTIONS, and RANGES
keyword.
▪ Example
DATA lv_empid(20) TYPE n.
lv_empid = 10.
lv_empid = 20.
Constants
▪ Constants are data objects whose contents cannot be
changed.
▪ Constants are declared using the CONSTANTS keyword.
▪ Example
CONSTANTS lc_pi TYPE P DECIMALS 3 VALUE
‘3.141’.
▪ Text Symbols
▪ A text symbol is a data object that is not declared in the
program itself.
▪ It is defined as a part of the text elements of the program.
▪ Character and Numeric Data Types
▪ The C(character) , N(numeric), D(date), T(time) are
considered as character(non-numeric) data types.
▪ The I(Integer) , P(packed decimal), F(floating point) are
considered as numeric data types.
Write Statement
▪ The basic ABAP statement for displaying data on the
screen is write.
▪ Example
DATA: number TYPE i VALUE 1,
name(25) TYPE c VALUE 'Leena'.

WRITE: 'The Number is', number.


WRITE: / 'The Name is ', name.
▪ We can use ‘ /’ in write statement to denotes a new line.
▪ Chain Operator
▪ The chain operator is ‘:’.
▪ It is used to combine the statements.
▪ Statement sequence -
WRITE var1.
WRITE var2.
WRITE var3.
CHAIN statement: WRITE: var1 , var2 , var3.
Conditional Statements
▪ Conditional statements allow us to execute a block of
code if a certain condition is met.
▪ The various conditional statements are as follows:
▪ IF statement
▪ CASE statement
▪ IF Statement
▪ It is a conditional statement.
▪ Every if statement ends with endif.
▪ We provide multiple conditions using elseif.
▪ Multiple statements blocks are there, depends upon the
condition one block executes.
▪ If none of the If and elseif conditions are satisfied, it goes
to else part.

CASE Statement
▪ It is a conditional statement.
▪ Every case statement ends with endcase.
▪ Multiple statements blocks are there, depends upon the
condition one block executes.
▪ If none of the conditions are satisfied, it goes to others
part.
Difference between Case & IF
▪ If we have multiple IF conditions , IF check all the
conditions, until it gets a true condition whereas in CASE ,
it directly jumps to the true condition.
▪ Case is performance effective as compared to IF.
▪ Loop
▪ Loop allows us to execute a group of statements multiple
times.
▪ The various loops are as follows:
▪ Do loop
▪ While loop.
▪ Loop at <itab> where itab stands for Internal table.
▪ Do Loop
▪ Do loop is called as a unconditional loop.
▪ Every do loop ends with enddo.
▪ Syntax: Do <n> TIMES.
<statement block>.
ENDDO.
While Loop
▪ While loop is called as a conditional loop.
▪ Every while loop ends with endwhile.
▪ Syntax : WHILE<condition>.
<statement block>.
ENDWHILE.
Loop Statements
▪ Exit - is used to exit from the loop.
▪ Continue - skip the current processing of the record and
then process the next record in the loop statement.
▪ Check - if the check condition is not true, loop will skip
the current loop pass and move to next loop pass.
▪ System Variables
▪ System variables are pre-defined variables in SAP.
▪ SYST is the structure for the system fields.
▪ All system fields are addressed using SY field name.
▪ The various system variables are as follows :
▪ SY-SUBRC - System variable for return code (successful =
0, not successful = other than 0).
SY-TABIX - It returns the current line index inside a loop.
➢ SY-INDEX - It returns the current line index inside do and
while Loop.
➢ SY-DATUM - System variable for current date (internal
format - yyyymmdd).
➢ SY-UNAME - It returns the logon name of the user.
➢ SY-UZEIT - It returns the current system time(internal
format - hhmmss)
➢ SY-UCOMM - System variable for user command.
➢ String
➢ A string is a collection of characters.
➢ String is an elementary data type of variable length.
➢ Imp point : String operations are applicable to data
objects having C(character),N(numeric),D(date),T(time)
and string data types.
➢ String Operations - Concatenate
➢ The purpose of concatenate is to combine the strings.
Syntax:
CONCATENATE <c1> <cn> INTO <c> SEPARATED
BY BY <s>.
In the above syntax: CONCATENATE = keyword , <c1>-----
--<cn> = individual strings , INTO = keyword , <c> = final
result string , SEPERATED BY = keyword, <s> = separator.
DATA: lv_1(10) type c VALUE 'NEC',
lv_2(10) type c VALUE 'Software',
lv_3(10) type c VALUE 'Solutions',

lv_output type string.

CONCATENATE lv_1 lv_2 lv_3 INTO lv_output S


EPARATED BY ' '.

WRITE: 'The result is : ' ,lv_output.

output :- The result is : NEC Software


Solutions
Split
▪ The purpose of split is to divide the strings.
▪ For split, separator is compulsory.
▪ Syntax :
SPLIT <string> AT <separator> INTO <f1> <
f2> <f3>….
▪ In the above syntax: SPLIT = keyword , <string> = string
which we need to split, AT = keyword, <separator> = any
delimiter , INTO = keyword , <f1> <f2><f3>---- = individual
strings.
DATA : lv_1(3) type c ,
lv_2(10) type c ,
lv_3(10) type c .

DATA : lv_5 type string VALUE 'NEC/Software/


Solutions',
lv_out type string.

SPLIT lv_5 AT '/' INTO lv_1 lv_2 lv_3 .

WRITE : 'After Split is :', lv_1, lv_2 ,lv_3


.
output :- After Split is : NEC Software
Solutions
Condense
▪ The purpose of condense is to remove the leading and
trailing spaces and convert a sequence of spaces into a
single space.
▪ Syntax: CONDENSE <c>.
▪ In the above syntax: CONDENSE = keyword , <c> = string
which we want to condense.
DATA : lv_5 type string VALUE ' NEC Soft
ware Solutions '.
CONDENSE lv_5.
WRITE lv_5.
output:- NEC Software Solutions
- Condense No-gaps
▪ To remove the entire spaces the addition no-gaps is used
with condense.
▪ Syntax : CONDENSE <c> NO-GAPS.
▪ In the above syntax : CONDENSE = keyword , <c> = string
which we want to condense , NO-GAPS = keyword.
DATA : lv_5 type string VALUE ' NEC Soft
ware Solutions '.
CONDENSE lv_5 NO-GAPS.
WRITE lv_5.
output:- NECSoftwareSolutions
Strlen
▪ The purpose of strlen is to provide the string length.
▪ Syntax : len = strlen( string ).
In the above syntax : len = variable name which returns the
length of the string, strlen = pre-defined operation , string =
string whose length needs to be calculated.
DATA : lv_5 type string VALUE 'NEC Software
Solutions',
lv_length(2) type n.
lv_length = STRLEN( lv_5 ).
WRITE lv_length.
output:- 22
Find
▪ The purpose of find is to find a particular pattern in a
string.
▪ Syntax : FIND <pattern> IN <str> .
▪ In the above syntax : FIND = keyword , <pattern> = is the
sequence of characters we are looking for , IN = keyword ,
<str> = is the string that is being searched.
DATA : lv_5 type string VALUE 'NEC Softwa
re Solutions'.
FIND 'NEC' IN lv_5.
IF sy-subrc = 0.
WRITE 'Found'.
else.
WRITE 'Not Found'.
ENDIF.
Output: - Found
Translate
▪ The purpose of translate is to convert the string to upper
case or lower case.
▪ Syntax :
TRANSLATE <string> TO UPPER CASE / LOWER
CASE.
▪ In the above syntax : TRANSLATE = keyword , <string> =
the string which needs to be converted , TO = keyword ,
UPPER CASE/LOWER CASE = keyword.

DATA : lv_5 type string VALUE 'NEC Softwa


re Solutions'.

TRANSLATE lv_5 TO LOWER CASE.


WRITE : / lv_5.
TRANSLATE lv_5 to UPPER CASE.
WRITE : / lv_5.
Output :- nec software solutions
NEC SOFTWARE SOLUTIONS

Translate Using Pattern


▪ We can translate a text based upon specific pattern also.
▪ Syntax : TRANSLATE <string> USING <pattern> .
▪ In the above syntax : TRANSLATE = keyword , <string> =
the string which needs to be converted , USING =
keyword, pattern = contains letter pairs.
DATA : lv_5 type string VALUE 'nEC software
company',
lv_pattern(10) type c VALUE 'nNsScC'.

TRANSLATE lv_5 USING lv_pattern.


WRITE lv_5.
Output :- NEC Software CompaNy
Shift
▪ The purpose of shift is to shift the contents of a string.
▪ It shifts the string by a number of places.
▪ Syntax : SHIFT <string> BY n PLACES <mode>. (by default
mode is left)
▪ In the above syntax : SHIFT = keyword , string = string
which needs to be shifted, BY = keyword , n = number ,
PLACES = keyword , <mode> = left/right/circular.
DATA : lv_1(10) TYPE c VALUE '0123456789'
,
lv_2(10) TYPE c VALUE '0123456789'
,
lv_3(10) TYPE c VALUE '0123456789'
.

SHIFT lv_1 BY 4 PLACES LEFT.


WRITE : / 'Left - ', lv_1.

SHIFT lv_2 BY 4 PLACES RIGHT.


WRITE : / 'Right - ', lv_2.

SHIFT lv_3 BY 4 PLACES CIRCULAR.


WRITE : / 'Circular - ', lv_3.
Output :- Left - 456789
Right - 012345
Circular - 4567890123

DATA : lv_1(10) TYPE c VALUE '200000000',


lv_2(10) TYPE c VALUE '000000002'.

SHIFT lv_1 RIGHT DELETING TRAILING '0'.


WRITE : / 'Right - ' , lv_1.

SHIFT lv_2 LEFT DELETING LEADING '0'.


WRITE : / 'Left - ' , lv_2.

Substring Processing
▪ Substring is a part of the string or small set of characters
from the string.
▪ Depends upon the requirement we need to process the
substring.
▪ Syntax : Target variable = Source variable[+][starting
position of substring](length of the substring).
DATA : lv_value(30) type c VALUE '91-040-
6789990004',

lv_county(2) type c,
lv_city(3) type c,
lv_number(10) type c.

lv_county = lv_value+0(2).
WRITE : /'The Country Code - ' , lv_county.

lv_city = lv_value+3(3).
WRITE : / 'The City Code - ', lv_city.

lv_number = lv_value+7(10).
WRITE : / 'The Phone Number - ', lv_number.

Output :- The Country Code - 91


The City Code - 040
The Phone Number - 6789990004
▪ String Comparison Operators
▪ String comparison operators are used to compare the
strings.
▪ String comparison operators are applicable to data
objects having C(character),N(numeric),D(date),T(time)
and string data types.
▪ The system variable SY-FDPOS plays an important role in
string comparison.
The various string comparison operators are as follows:
CO (contains only)

DATA : lv_1(20) type c VALUE 'Sathish',


lv_2(20) type c VALUE 'Sathish Derangula'
.

IF lv_1 co lv_2.
WRITE : 'TRUE' , Sy-fdpos.
else.
WRITE : 'FALSE' , Sy-fdpos.
ENDIF.
Output :- TRUE 20

CN (contains not only)

DATA : lv_1(20) type c VALUE 'Sathish',


lv_2(20) type c VALUE 'Sathish Derangula'
.
IF lv_1 CN lv_2.
WRITE : 'TRUE' , Sy-fdpos.
else.
WRITE : 'FALSE' , Sy-fdpos.
ENDIF.
Output:- FALSE 20

CA (contains any)
DATA : lv_1(20) TYPE c VALUE 'Sathi@1234',
lv_2(20) TYPE c VALUE '0123456789'.

IF lv_1 CA lv_2.
WRITE : sy-fdpos.
ELSE.
WRITE : sy-fdpos.
ENDIF.
Output:- 6
NA (contains not any)

DATA : lv_1(20) TYPE c VALUE 'Sathi@1234',


lv_2(20) TYPE c VALUE '0123456789'.

IF lv_1 NA lv_2.
WRITE : 'TRUE', sy-fdpos.
ELSE.
WRITE : 'FALSE' , sy-fdpos.
ENDIF.
Output: - FALSE 6
CS(contains string)
ATA : lv1(30) TYPE c VALUE 'Sathish Derangula',
lv2(20) TYPE c VALUE 'Sathish'.

IF lv1 CS lv2.
WRITE : 'True' , sy-fdpos.
ELSE.
WRITE : 'False', sy-fdpos.
ENDIF.
Output :- TRUE 0
NS(contains no string)

DATA : lv1(30) TYPE c VALUE 'Sathish Derangula',


lv2(20) TYPE c VALUE 'Manoj'.

IF lv1 NS lv2.
WRITE : 'True' , sy-fdpos.
ELSE.
WRITE : 'False', sy-fdpos.
ENDIF.
Output :- TRUE 30

CP (contains pattern)
DATA : lv1(30) TYPE c VALUE 'Sathish Derangula',
lv2(20) TYPE c VALUE '*Dera*'.

IF lv1 CP lv2.
WRITE : 'True' , sy-fdpos.
ELSE.
WRITE : 'False', sy-fdpos.
ENDIF.
Output :- TRUE 8
NP(contains no pattern)

DATA : lv1(30) TYPE c VALUE 'Sathish Derangula',


lv2(20) TYPE c VALUE 'Dera*'.

IF lv1 NP lv2.
WRITE : 'True' , sy-fdpos.
ELSE.
WRITE : 'False', sy-fdpos.
ENDIF.
Output :- TRUE 30
▪ Internal Tables
▪ Internal table is a temporary storage of data on
application layer.
▪ Internal table stores any number of records at run time.
▪ A very important use of internal tables is for storing and
formatting data from a database table within a program.
▪ Work Area in Internal Tables
▪ Work area is also a temporary storage of data on
application layer.
▪ Work area are single rows of data.
It is used to process the data in an internal table, one line at a time.
Internal Table Operations

1. Append → It is used to insert the data at the last of the internal table.
SYNTAX:- APPEND ls_emp to lt_emp.

2. Loop → It is used to read the records one by one from the internal
table.
SYNTAX:-LOOP AT lt_emp INTO ls_emp.

ENDLOOP.

3. Delete → It is used to delete the records from the internal table.


DELETE lt_emp WHERE emp_name = 'H'.
DELETE lt_emp INDEX 3.

4. Modify → It is used to modify the records of the internal table.


SYNTAX:-
MODIFY lt_emp FROM ls_emp TRANSPORTING emp_na
me.

5. Sort → It is used to sort the internal table. By default, in Ascending


order will sort the data
SYNTAX :- SORT lt_emp BY emp_id .

6. Read table → It is used to read the first matching record from the
internal table.
SYNTAX:-
READ TABLE lt_emp INTO ls_emp WITH KEY emp_id
= 9.

READ TABLE lt_emp INTO ls_emp INDE


X 5.

7. Clear, Refresh → It is used to clear the contents of the internal table.


SYNTAX:-CLEAR lt_emp.
REFRESH lt_emp.

8. Describe Table → It returns the number of records in the internal


table.
SYNTAX:-
DESCRIBE TABLE lt_emp LINES DATA(LV_LINES).
In the above syntax : DESCRIBE TABLE = keyword, <itab> = name of the
internal table ,
LINES = keyword, <lv_lines> = local variable which returns the number of
records.
9. Collect - It is used to make sum of numeric field values based
upon unique character (non-numeric) field values. The C(character)
, N(numeric), D(date), T(time) are considered as character(non-
numeric) data types. The I(Integer) , P(packed

Types of Internal Tables


Internal table is of 3 types.
A. Standard internal table
1) They are the default internal tables.
2) They are the index based Internal tables.
3) Records can be inserted or appended.
4) Data is not sorted by default, We can use SORT statement to sort
the Internal table.
5) We read a record using KEY or Index.
6) Either Linear search(Sequential) or Binary search is used to
search a record.
7) Response time depends upon the number of entries in the
internal table. Response time of a standard internal table is
improved by using Binary Search.
TYPES: BEGIN OF lty_data,
ono TYPE zdeono_28,
pm TYPE zdepm_28,
END OF lty_data.

DATA : lt_data TYPE TABLE OF lty_data.


DATA : lt_data TYPE STANDARD TABLE OF lty_data.
Append Inserts the record at the last of the internal table whereas
Insert inserts the record at anywhere in the internal table.
B. Sorted internal table
1) They are the special type of internal tables in which data is
automatically sorted.
We need to specify the key while declaring the sorted internal
table.
2) They are also the index based Internal tables.
3) Records can be inserted.
4) Data already sorted, there is no need to use SORT statement.
5) We read a record using KEY or Index.
6) Binary search is used to search a record.
7) Response time of a sorted internal table is fast as compared to
Standard Internal table.
TYPES: BEGIN OF lty_data,
ono TYPE zdeono_28,
pm TYPE zdepm_28,
END OF lty_data.

DATA : lt_data TYPE SORTED TABLE OF lty_data WIT


H UNIQUE KEY ONO PM.
DATA : lt_data TYPE SORTED TABLE OF lty_data WIT
H NON-UNIQUE KEY ONO PM.
C. Hashed internal table
Hashing - It is a technique which directly returns the address of
the record based upon the search key without using the index.

1) They are the special type of internal table which works on HASH
algorithms. We need to specify the unique key while declaring the
internal table.
2) They are not the index based Internal tables.
3) Records can be inserted.
4) There is no impact of SORT, as we read the record based upon the
hashed algorithm.
5) We Read a Record using Key, index is not applicable.
6) Hashed algorithm is used to search a record.
7) Response time is faster as compared to Standard and sorted
internal tables, as response time is independent of number of
entries. It is well suited for tables, where a table has huge
number of records and we want to search based upon unique key.

TYPES: BEGIN OF lty_data,


ono TYPE zdeono_28,
pm TYPE zdepm_28,
END OF lty_data.

DATA : lt_data TYPE HASHED TABLE OF lty_data WIT


H UNIQUE KEY ONO
DATABASE OPERATIONS
Database operations deal with the database tables. The various
database operations are as follows:
1. Select → Select is used to fetch data from database tables.
2. Insert → Insert is used to insert the records to database tables.
3. Update → Update is used to update the existing records in the
database tables.
4. Delete → Delete is used to delete the existing records from the
database tables.
5. Modify → It works for both Insert + Update. For existing records
– It acts as update, for non- existing records – it acts as Insert.

Selection Screen
▪ Selection screen is also called as Input screen.
▪ With the help of selection screen user provides a input to
the program.
▪ There are 2 ways to provide the input to the program.
▪ Parameters
▪ Select-options

Parameters
▪ Parameters are used to pass the single input.
▪ The various parameters variations are as follows:
▪ PARAMETERS <p> ...... DEFAULT <f> ......
▪ PARAMETERS <p> ...... OBLIGATORY ......
▪ PARAMETERS <p> ...... AS CHECKBOX ......
▪ PARAMETERS <p> ...... RADIOBUTTON GROUP <radi>......
▪ Select-Options
▪ Select-options are used to pass a range of inputs.
▪ The various Select-options variations are as follows:
SELECT-OPTIONS <seltab> FOR <f> ... DEFAULT <g> [TO
<h>]
SELECT-OPTIONS <seltab> FOR <f> ... NO-EXTENSION
Hiding Multiple selections
SELECT-OPTIONS <seltab> FOR <f> ... NO INTERVALS
Hiding High values
SELECT-OPTIONS <seltab> FOR <f> ... OBLIGATORY
A select-option has 4 parts.
▪ Sign - I/E(include/exclude)
▪ Option - Relational operator (EQ, BT, LT etc.)
▪ Low - Low value
▪ High - High value
Selection Screen Block
LINE COMMENT - Starting position of the comment + length

DATA : lv_one TYPE ebeln.

SELECTION-
SCREEN : BEGIN OF BLOCK b1 WITH FRAME TITLE TEXT
-001.

SELECT-OPTIONS : s_one FOR lv_one NO INTERVALS.


PARAMETERS p_lv_one TYPE ebeln OBLIGATORY.

SELECTION-SCREEN : BEGIN OF LINE.

PARAMETERS : p_r1 TYPE c RADIOBUTTON GROUP r1.


SELECTION-SCREEN : COMMENT 3(8) TEXT-002.

PARAMETERS : p_r2 TYPE c RADIOBUTTON GROUP r1.


SELECTION-SCREEN : COMMENT 14(8) TEXT-003.

PARAMETERS : p_r3 TYPE c RADIOBUTTON GROUP r1.


SELECTION-SCREEN : COMMENT 27(8) TEXT-004.

SELECTION-SCREEN : END OF LINE.

SELECTION-SCREEN : BEGIN OF LINE.

PARAMETERS : p_check1 AS CHECKBOX.


SELECTION-SCREEN : COMMENT 3(8) TEXT-005.

PARAMETERS : p_check2 AS CHECKBOX.


SELECTION-SCREEN : COMMENT 15(8) TEXT-006.
SELECTION-SCREEN : END OF LINE.

SELECTION-SCREEN : END OF BLOCK b1.

You might also like