Professional Documents
Culture Documents
Report Statement
Write & Format Statement
Flow Control in ABAP
Manipulating Character Data
Report Driven : Page Report (List
Header)
List Processing
Report
Header
Report
Listing
(Body)
Report Statement
* Syntax
REPORT <report name>
[NO STANDARD PAGE HEADING]
[LINE-SIZE no of columns]
[LINE-COUNT no of lines[(no of foot
Text Element
Title and Headers
List Header This is test program by Prapoj
Column Header
Column Column
#1 #2
Creating Lists
ABAP statement that create list
WRITE
SKIP
ULINE
The complete report list will
appears automatically at the end
of the processing block
List Buffer
Memory Space
TaskHandler
ABAP Processor
List Buffer
WRITE,SKIP
Dynpro Processor ,ULINE
DB Interface
WRITE Statement
* Write data
WRITE Hello World.
WRITE: OK, Test data.
WRITE: /15(10) ABCDEFGHIJKLMNO
WRITE /20 Test data.
Breaking to a New Line
* Write data
WRITE: / First Line, Data 1
/ Second Line, Data 2
/(20) Third Line, Data 3
/35 Fourth Line, Data 4.
sy-
colno
Text Symbol
Report ztest.
Write: Text-001,
Text-002.
Text Element
Text Symbols
Text Symbol Text
001 Text 1
002 Text 2
Text Symbol
write: / Text-
write: / Text-
write: / Text-
write: / Text-
write: / Text-
Column Position
* Write Syntax
WRITE var [NO-ZERO]
[NO-SIGN]
[NO-GROUPING]
[NO-GAP]
[DECIMALS no of decimals]
Suppressing Blanks(NO-ZERO)
* No Zero
DATA: number(10) TYPE N VALUE 23.
WRITE: number, number NO-ZERO.
Suppressing Number(+ / -) Sign
* No Sign
DATA: v_integer TYPE I VALUE -1.
WRITE: v_integer, v_integer NO-SIGN.
NO-GROUPING
* No grouping
DATA: v_integer TYPE I VALUE 120000.
WRITE: v_integer, v_integer NO-GROUPIN
NO-GAP
* No gap
WRITE: Hello NO-GAP, World.
DECIMALS
* Decimals
DATA: v_pack TYPE P DECIMALS 4
VALUE 1234.5678.
WRITE: v_pack, v_pack DECIMALS 2.
Formatting Options
*Skip Statement
SKIP.
WRITE: Hello World, sy-linno.
SKIP.
WRITE: Test 1.
SKIP 5.
WRITE: Test 2.
SKIP TO LINE 20.
WRITE This is line 20.
Inserting Horizontal Lines(ULINE)
* Uline
WRITE: Hello World.
WRITE: /5(35) sy-uline, sy-vline.
ULINE /5(35).
ULINE.
WRITE: / This is an underline.
ULINE /(18).
Frame
uline: /(45).
write: /1 sy-vline, 'Column #1',
15 sy-vline, 'Column #2',
30 sy-vline, 'Column #3',
45 sy-vline.
uline: /(45).
Exercise I
sy-datum sy-uzeit
FORMAT Statement
FORMAT [INTENSIFIED]
[INTENSIFIED OFF]
[COLOR <color>]
[COLOR OFF]
[HOTSPOT ON]
[HOTSPOT OFF]
[RESET]
FORMAT Statement
FORMAT COLOR 1.
WRITE: / Hello World, Test COLO
FORMAT COLOR OFF.
FORMAT COLOR
FORMAT COLOR col_heading. color 1
FORMAT COLOR col_normal. color 2
FORMAT COLOR col_total. color 3
FORMAT COLOR col_key. co
FORMAT COLOR col_positive. color 5
FORMAT COLOR col_negative. color 6
FORMAT COLOR col_group. color 7
FORMAT COLOR col_background. color of
Exercise I
Include Program
You can create a program with program type include
program in the program attribute
Include program do not have to have an introductory
statement
During the syntax check and during program generation by
the ABAP compiler, the INCLUDE statement is replaced by
the source text of the defined include program
REPORT ztest1.
INCLUDE zinclude1.Include
ZINCLUDE1
Program
Data tmp(10).
:
REPORT ztest2
Data tmp1 type i.
Data tmp2 type p.
INCLUDE zincl
Data tmp3.
Symbols and Icons
* Display Icon or Symbol in List
INCLUDE <LIST>.
WRITE: / Phone :, SYM_PHONE AS SYMBOL.
WRITE: / Alarm :, ICON_ALARM AS ICON.
WRITE: / Green Light :,
ICON_GREEN_LIGHT AS ICON
FORMAT HOTSPOT ON.
WRITE: / Hello ABAP, Hi!.
FORMAT HOTSPOT OFF.
Flow Control in ABAP
Flow Control in ABAP
IF <Condition>.
<Statement Block>
ELSEIF <Condition>.
<Statement Block>
ELSEIF <Condition>.
<Statement Block>
ELSE.
<Statement Block>
ENDIF.
IF Statement
IF sy-mandt = 100.
WRITE: / This is Production Clien
ELSEIF sy-mandt = 800.
WRITE: / This is Development C
ELSE.
WRITE: / This is Test Client.
ENDIF.
CASE Statement
CASE <field>.
WHEN <value1>.
<Statement Block>
WHEN <value2>.
<Statement Block>
...
WHEN OTHERS.
<Statement Block>
ENDCASE.
CASE Statement
CASE sy-mandt.
WHEN 100.
WRITE: / Production Client.
WHEN 800.
WRITE: / Development Client.
WHEN OTHERS.
WRITE: / Test Client.
ENDCASE.
DO Statement
DO.
WRITE sy-index.
IF sy-index = 3.
EXIT.
ENDIF.
WRITE: sy-index.
ENDDO.
CONTINUE Statement
DO 5 TIMES.
IF sy-index = 3.
CONTINUE.
ENDIF.
WRITE: sy-index.
ENDDO.
CHECK Statement
DO 4 TIMES.
CHECK sy-index BETWEEN 2 AND 3.
WRITE: sy-index.
ENDDO.
WHILE Statement
Example :
9 / 2 = 4.5
9 DIV 2 = 4.0
9 MOD 2 = 1
SQRT( 2 ) = 1.41
2 ** 4 = 16
Character String Operator
T
if AABB co AB.F
if ABCD co ABC.
T
if AXCZ ca AB.
F
if ABCD ca XYZ.
T
if ABCD cp +B*.
Manipulating Character
Data
Manipulating Character Data
* Shift
DATA name(30) VALUE Alexander Bill
SHIFT name UP TO Bill.
WRITE: / name.
Bill Charles
SEARCH(Non Case-
sensitive)
* Search
DATA tmp(5) VALUE ABCDE.
SEARCH tmp FOR C.
* Translate
DATA tmp(5) VALUE abc .
TRANSLATE tmp TO UPPER CASE.
TRANSLATE tmp TO LOWER CASE.
TRANSLATE tmp USING 0.
TRANSLATE tmp USING 0aA.
REPLACE
* Replace
DATA tmp(20) VALUE I was a boy.
REPLACE was WITH am INTO tmp.
IF sy-subrc = 0.
write Replace OK.
ELSE.
write Cannot find data to be replaced.
ENDIF.
Removing Spaces(CONDENSE)
* Condense
DATA: tmp(20) VALUE I am a boy.
CONDENSE tmp. I am a boy
CONDENSE tmp NO-GAPS.
Iamaboy
Concatenation String(CONCATENATE)
* Concatenate
DATA: tmp1(2) VALUE AB,
ABCDE
tmp2(3) VALUE CDE,
tmp3(10).
CONCATENATE tmp1 tmp2 INTO tmp3.
CONCATENATE tmp1 tmp2 INTO tmp3
SEPARATED BY
AB CDE
Split
* Split
DATA: name(30) value David, John, Peter
one(10), two(10), three(30).
split name at , into one two three.
Working with Date Variables
* Date
DATA today TYPE D.
today = sy-datum.
WRITE: today, sy-
datum+0(4)
Year : , today+0(4),
Month :, today+4(2),
Day : , today+6(2).
WRITE TO
DATA: today TYPE D, tmp(10).
today = sy-datum.
tmp = today.
WRITE tmp.
WRITE today TO tmp.
WRITE tmp.
CLEAR today.
WRITE today NO-ZERO TO tmp.
WRITE tmp.
Invalid Date
TOP-OF-PAGE.
FORMAT COLOR 1.
WRITE: / 'Report Header'.
ULINE.
START-OF-SELECTION.
DO 100 TIMES.
WRITE: / sy-index.
ENDDO.
ABAP Program Structure
Report ztest.
*Data declaration
data ...
data begin of ...
*Top-of-Page event
top-of-page.
*End-of-Page event
end-of-page.
*Start-of-selection
Start-of-selection.
ABAP Practice
Exercise II
sy-datum sy-uzeit
sy-
uname
sy-repid