Your SlideShare is downloading. ×
0
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
List Processing in ABAP
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

List Processing in ABAP

20,959

Published on

You can find more SAP ABAP documents at http://sapdocs.info/category/sap/abap/

You can find more SAP ABAP documents at http://sapdocs.info/category/sap/abap/

Published in: Education, Business, Technology
0 Comments
7 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
20,959
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
681
Comments
0
Likes
7
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. ABAP Chapter 2  Report Statement  Write & Format Statement  Flow Control in ABAP  Manipulating Character Data  Report Driven : Page Report (List Header)
  • 2. List Processing Report Header Report Listing (Body)
  • 3. Report Statement Syntax EPORT < report name > [NO STANDARD PAGE HEADING] [LINE-SIZE no of columns ] [LINE-COUNT no of lines [( no of footer )]]. EPORT ztest1 NO STANDARD PAGE HEADING. EPORT ztest LINE-SIZE 132 LINE-COUNT 65(2 sy-linsz
  • 4. Text Element : Title&Headers Report ztest. Write ‘Hello World’.  Text Element  Title and Headers List Header This is test program by Prapoj Column Header Column Column #1 #2
  • 5. Creating Lists  ABAP statement that create list  WRITE  SKIP  ULINE  The complete report list will appears automatically at the end of the processing block
  • 6. List Buffer Dialog WP Local Memory Memory Space TaskHandler ABAP Processor List Buffer WRITE,SKI Dynpro Processor P,ULINE DB Interface
  • 7. WRITE Statement Write data WRITE ‘Hello World’. WRITE: ‘OK’, ‘Test data’. WRITE: /15(10) ‘ABCDEFGHIJKLMNOPQ’ WRITE /20 ‘Test data’.
  • 8. 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
  • 9. Text Symbol Report ztest. Write: Text-001, Text-002.  Text Element  Text Symbols  Text Symbol Text 001 Text 1 002 Text 2
  • 10. Text Symbol write: / Text-00 write: / Text-00 write: / Text-00 write: / Text-00 write: / Text-00
  • 11. Column Position DATA colno type I value 10. write: /5 ‘Hello’, at colno ‘World’. write: at /colno ‘OK’.
  • 12. Options of the WRITE Statement * Write Syntax WRITE var [NO-ZERO] [NO-SIGN] [NO-GROUPING] [NO-GAP] [DECIMALS no of decimals]
  • 13. Suppressing Blanks(NO-ZERO) * No Zero DATA: number(10) TYPE N VALUE 23. WRITE: number, number NO-ZERO.
  • 14. Suppressing Number(+ / -) Sign * No Sign DATA: v_integer TYPE I VALUE -1. WRITE: v_integer, v_integer NO-SIGN.
  • 15. NO-GROUPING * No grouping DATA: v_integer TYPE I VALUE 120000. WRITE: v_integer, v_integer NO-GROUPING.
  • 16. NO-GAP * No gap WRITE: ‘Hello’ NO-GAP, ‘World’.
  • 17. DECIMALS * Decimals DATA: v_pack TYPE P DECIMALS 4 VALUE ‘1234.5678’. WRITE: v_pack, v_pack DECIMALS 2.
  • 18. Formatting Options * Format options of WRITE statement * LEFT-JUSTIFIED for Integer data * RIGHT-JUSTIFIED for Character data * CENTERED Data tmp1(20) value ‘test’. test WRITE: tmp1 CENTERED.
  • 19. Inserting Blank Lines(SKIP) *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’.
  • 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).
  • 21. Frame uline: /(45). write: /1 sy-vline, 'Column #1', 15 sy-vline, 'Column #2', 30 sy-vline, 'Column #3', 45 sy-vline. uline: /(45).
  • 22. Exercise I sy- sy-uzeit datum
  • 23. FORMAT Statement FORMAT [INTENSIFIED] [INTENSIFIED OFF] [COLOR <color>] [COLOR OFF] [HOTSPOT ON] [HOTSPOT OFF] [RESET]
  • 24. FORMAT Statement FORMAT COLOR 1. WRITE: / ‘Hello World’, ‘Test’ COLOR 7 FORMAT COLOR OFF.
  • 25. FORMAT COLOR FORMAT COLOR col_heading. “color 1 FORMAT COLOR col_normal. “color 2 FORMAT COLOR col_total. “color 3 FORMAT COLOR col_key. “color 4 FORMAT COLOR col_positive. “color 5 FORMAT COLOR col_negative. “color 6 FORMAT COLOR col_group. “color 7 FORMAT COLOR col_background. “color off
  • 26. Exercise I
  • 27. 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 Program : INCLUDE zinclude1. ZINCLUDE1 Data tmp(10). … Data tmp1 type i. Data tmp2 type p. REPORT ztest2. Data tmp3. INCLUDE zinclude1 …
  • 28. 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 HOTSPOT FORMAT HOTSPOT ON. WRITE: / ‘Hello ABAP’, ’Hi!’. FORMAT HOTSPOT OFF.
  • 29. Flow Control in ABAP
  • 30. Flow Control in ABAP  Branching ==> IF, CASE.  Looping ==> DO, WHILE.
  • 31. IF Statement IF < Condition >. <Statement Block> ELSEIF < Condition >. <Statement Block> ELSEIF < Condition >. <Statement Block> ELSE. <Statement Block> ENDIF.
  • 32. IF Statement IF sy-mandt = ‘100’. WRITE: / ‘This is Production Client’. ELSEIF sy-mandt = ‘800’. WRITE: / ‘This is Development Client’. ELSE. WRITE: / ‘This is Test Client’. ENDIF.
  • 33. CASE Statement CASE < field >. WHEN < value1 >. <Statement Block> WHEN < value2 >. <Statement Block> ... WHEN OTHERS. <Statement Block> ENDCASE.
  • 34. CASE Statement CASE sy-mandt. WHEN ‘100’. WRITE: / ‘Production Client’. WHEN ‘800’. WRITE: / ‘Development Client’. WHEN OTHERS. WRITE: / ‘Test Client’. ENDCASE.
  • 35. DO Statement DO. WRITE sy-index. IF sy-index = 3. EXIT. ENDIF. WRITE: sy-index. ENDDO.
  • 36. CONTINUE Statement DO 5 TIMES. IF sy-index = 3. CONTINUE. ENDIF. WRITE: sy-index. ENDDO.
  • 37. CHECK Statement DO 4 TIMES. CHECK sy-index BETWEEN 2 AND 3. WRITE: sy-index. ENDDO.
  • 38. WHILE Statement DATA: count TYPE I value 1. WHILE count <> 4. WRITE: sy-index. count = count + 1. ENDWHILE.
  • 39. Logical Expressions >,GT <,LT >=, =>, GE <=, =<, LE =, EQ <>, ><, NE BETWEEN value1 AND value2 IS INITIAL
  • 40. Arithmetic Operators + , - , * , / , ** DIV MOD Example : 9 / 2 = 4.5 9 DIV 2 = 4.0 9 MOD 2 = 1 SQRT( 2 ) = 1.41 2 ** 4 = 16
  • 41. 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*’.
  • 42. Manipulating Character Data
  • 43. Manipulating Character Data * Substrings with offsets DATA tmp(10) VALUE ‘ABCDEFGHIJ’. DEFGHIJ DATA tmp1(2). WRITE: tmp+3(7), BCDE tmp+1(4), ABCDEFGH tmp+0(8), HIJ tmp+7(3). MOVE tmp+4(2) TO tmp1.
  • 44. SHIFT Statement * SHIFT Statement DATA tmp(5) VALUE ‘12345’. SHIFT tmp. 2345_ SHIFT tmp BY 2 PLACES. 345__ SHIFT tmp BY 2 PLACES CIRCULAR. 34512 SHIFT tmp UP TO ‘3’. 345__ SHIFT tmp UP TO ‘3’ RIGHT. __123 SHIFT tmp UP TO ‘3’ RIGHT CIRCULAR. 45123 SHIFT tmp RIGHT DELETING TRAILING SPACE. SHIFT tmp LEFT DELETING LEADING SPACE.
  • 45. SHIFT * Shift DATA name(30) VALUE ‘Alexander Bill Charl SHIFT name UP TO ‘Bill’. WRITE: / name. Bill Charles
  • 46. SEARCH(Non Case- sensitive) * Search DATA tmp(5) VALUE ‘ABCDE’. SEARCH tmp FOR ‘C’. DATA tmp1(10) VALUE ‘Till Bill’. SEARCH tmp1 FOR ‘Bill’. IF SY-SUBRC = 0. WRITE: / SY-FDPOS. ENDIF.
  • 47. TRANSLATE * Translate DATA tmp(5) VALUE ‘abc ‘. TRANSLATE tmp TO UPPER CASE. TRANSLATE tmp TO LOWER CASE. TRANSLATE tmp USING ‘ 0’. TRANSLATE tmp USING ‘ 0aA’.
  • 48. 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.
  • 49. Removing Spaces(CONDENSE) * Condense DATA: tmp(20) VALUE ‘I am a boy’. CONDENSE tmp. I am a boy CONDENSE tmp NO-GAPS. Iamaboy
  • 50. 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
  • 51. Split * Split DATA: name(30) value ‘David, John, Peter’, one(10), two(10), three(30). split name at ‘,’ into one two three.
  • 52. 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).
  • 53. 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.
  • 54. Invalid Date DATA: today TYPE D. today = ‘20061321’. today = today + 0. if today is initial. write: / ‘invalid date’. else. write: / today. endif.
  • 55. Built-in Functions  ABAP provides a lot of built-in functions  A Built-in function calculates a return value from an argument  abs = Absolute value of argument  sign = +/- sign of argument  sqrt = Square root  strlen = Number of characters in arg  xstrlen = Number of bytes in arg
  • 56. STRLEN Built-in Function DATA: tmp(20) VALUE ‘Test String’, count TYPE I. count = strlen( tmp ). WRITE count.
  • 57. STRLEN Built-in Function Example DATA: tmp(20) VALUE ‘xxax’, cntlen TYPE I. cntlen = strlen( tmp ). cntlen = cntlen – 2. if tmp+cntlen(1) = ‘a’. “cntlen >= 0 write: / ‘OK’. endif.
  • 58. WRITE ‘ *If we need the word like this I’m a boy WRITE: ‘I’’m a boy’.
  • 59. Exercise  Create program to display current month in text for example October
  • 60. Report Driven : Page Report
  • 61. Application Driven Programming REPORT ztest. DATA: today TYPE D. today = ‘20061321’. today = today + 0. IF today IS INITIAL. WRITE: / ‘invalid date’. ELSE. WRITE: / today. ENDIF.
  • 62. Event Driven Programming REPORT ztest. DATA today TYPE D. TOP-OF-PAGE. <ABAP statement> END-OF-PAGE. <ABAP statement> START-OF-SELECTION. <ABAP statement>
  • 63. Report Driven List Header EPORT ztest NO STANDARD PAGE HEADING OP-OF-PAGE. FORMAT COLOR 1. WRITE: /5 ‘User Name’, 25 ‘Program Name’. ULINE. TART-OF-SELECTION. WRITE: /5 sy-uname, 25 sy-repid.
  • 64. Report Driven Page Footer REPORT ztest no standard page heading LINE-COUNT 10(2). TOP-OF-PAGE. FORMAT COLOR 1. WRITE: / ‘Page :’, sy-pagno. ULINE. END-OF-PAGE. ULINE. WRITE: / ‘To be continue on next page…’ . START-OF-SELECTION. DO 20 TIMES. WRITE: / sy-index. ENDDO.
  • 65. TOP-OF-PAGE REPORT ztest no standard page heading. TOP-OF-PAGE. FORMAT COLOR 1. WRITE: / 'Report Header'. ULINE. START-OF-SELECTION. DO 100 TIMES. WRITE: / sy-index. ENDDO.
  • 66. 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.
  • 67. ABAP Practice
  • 68. Exercise II sy- sy-uzeit datum sy- uname sy-repid

×