ABAP Event-driven Programming &Selection Screen

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    ABAP Event-driven Programming &Selection Screen - Presentation Transcript

    1. ABAP Chapter 4  Event-driven Programming  Selection Screen
    2. Event-driven Programming
    3. Application Driven Programming REPORT ztest. DATA: today TYPE D. today = ‘19991231’. today = today + 1. WRITE: / today.
    4. Event-Driven Programming Data tmp type i. Start-of-Selection. Write: / ‘This is ’. Write: / ‘Basic List’. At line-selection. Write: / ‘This is ’. Write: ‘Detail List’.
    5. Events  START-OF-SELECTION.  END-OF-SELECTION.  TOP-OF-PAGE.  TOP-OF-PAGE DURING LINE- SELECTION.  END-OF-PAGE.  AT LINE-SELECTION.  AT USER-COMMAND.  INITIALIZATION.  AT SELECTION-SCREEN.
    6. AT LINE-SELECTION Event (Drill-down Report)
    7. AT LINE-SELECTION Start-of-selection. Write : ‘Basic List’. At Line-selection. Write : ‘Detail List’. Double Click Basic list
    8. Navigating Between Lists Exit Detail list 20 ABAP Editor Detail list 2 Cancel Detail list 1 Basic list Back
    9. Detail List and SY-LSIND Detail list 2 Start-of-selection. SY-LSIND = 2 write: ‘Basic List’. AT Line-selection. CASE sy-lsind. Detail list 1 SY-LSIND = 1 WHEN 1. write: ‘Detail List #1’. WHEN 2. write: ‘Detail List #2’. Basic list ENDCASE.
    10. At Line Selection Tables customers. Start-of-Selection. Select * from customers. write : / customers-name . Endselect. At line-selection. Write: ‘You Choose :’ , customers- name.
    11. At Line Selection(Hide Statement) Tables customers. List Buffer Start-of-Selection. John Peter Select * from customers. David write : / customers-name. Hide customers-name. Endselect. HIDE area of list level 1 At line-selection. line Field name Value Write: ‘You Choose :’ , 1 2 customers-name customers-name John Peter customers-name. 3 customers-name David
    12. Hide Area in List Application Server Dialog WP Local Memory Memory Space TaskHandler Customers Structure 3 | David | .... ABAP Processor List buffer DYNPRO Processor Basic List John Peter HIDE area of list level 1 line Field name Value David DB Interface 1 2 customers-name customers-name John Peter Result Set Memory 3 customers-name David Database Server Database
    13. At Line Selection(Hide Statement) Detail List Basic List John You choose : Peter Peter 5 David At Line-selection 1 SY-LILLI = 2 4 HIDE area of list level 1 Customers Structure 2 line Field name Value 3 | Peter | .... 1 customers-name John 2 customers-name Peter 3 3 customers-name David
    14. At Line Selection(Hide Statement) Tables customers. List Buffer Start-of-Selection. 00000001 John 00000002 Peter Select * from customers. 00000003 David write : / customers-id,customers- name. Hide: customers-id,customers-name. 1 HIDE area of list level line Field name Value Endselect. 1 customers-id 00000001 1 customers-name John At line-selection. 2 customers-id 00000002 2 customers-name Peter Write: ‘You Choose :’ , customers-id, …
    15. At Line Selection(Hide Statement) Basic List Detail List You choose : 00000002 Peter 00000001 John 00000002 Peter 5 00000003 David At Line-selection 1 SY-LILLI = 2 4 HIDE area of list level 1 Customers Structure 2 line Field name Value 2 | Peter | .... … … … 2 2 customers-id customers-name 00000002 Peter 3 3 customers-id 00000003 …
    16. At Line Selection Tables: spfli,sflight. Basic List (SPFLI) Start-of-selection. Select * from spfli. write : / spfli-carrid, spfli- connid, spfli-cityto. Hide : spfli-carrid, spfli- connid. Endselect. Detail List (SFLIGHT) At Line-selection. select * from sflight where carrid = spfli-carrid and connid =
    17. Exercise Basic List Detail List zcustomers-id zcustomers zcustomers-name zsales-cust_id zsales-qty zsales-prod_id zsales
    18. Hide Statement (Report Heading) List Buffer Tables customers. Customers Name Top-of-page. ----------------------------- write: / ‘Customers Name’. John Peter uline. David Start-of-Selection. Select * from customers. write : / customers-name. Hide customers-name. HIDE area of list level 1 Endselect. At line-selection. line Field name Value 3 customers-name John Write: ‘You Choose :’ , customers-name. customers-name 4 Peter 5 customers-name David
    19. At Line Selection(Hide Statement) Detail List Basic List Customers Name ----------------------------- You choose : Peter John 5 Peter David At Line-selection 1 SY-LILLI = 4 4 HIDE area of list level 1 Customers Structure 2 line Field name Value 3 | Peter | .... 3 customers-name John 4 customers-name Peter 3 5 customers-name David
    20. Invalid Line Selection … TOP-OF-PAGE. … Hide: spfli-carrid, spfli-connid. … Endselect. Clear: spfli-carrid,spfli-connid. At Line-selection. Select * From sflight Where carrid = spfli-carrid and connid = spfli-connid. Write: / spfli-carrid, spfli-connid ,sflight-fldate. Endselect. Clear: spfli-carrid,spfli-connid.
    21. Page Heading Start-of-selection. Write: ‘Basic List’. At Line-selection. Write: ‘Detail List’. Top-of-page. Write: ‘Header-Basic List’. Top-of-page During Line-selection. Write: ‘Header-Detail List’.
    22. Detail List Page Heading ... top-of-page during line-selection. case sy-lsind. when 1. write: / ‘Detail List Header #1’. when 2. write: / ‘Detail List Header #2’. endcase. ..... .....
    23. ... Column Selection data: fieldname(30). ... start-of-selection. select * from spfli. write: / spfli-carrid,15 spfli-connid, 25 spfli-cityto. hide: spfli-carrid,spfli-connid. endselect. at line-selection. case sy-lsind. when 1. get cursor field fieldname. case fieldname. when 'SPFLI-CARRID'. select single * from scarr where carrid = spfli-carrid. if sy-subrc = 0. write: / spfli-carrid,scarr-carrname. endif. when 'SPFLI-CONNID'. select * from sflight where carrid = spfli-carrid and connid = spfli-connid.
    24. Column Selection : Value ... data: fieldname(30),fieldvalue(30). ... start-of-selection. select * from spfli. write: / spfli-carrid,15 spfli-connid, 25 spfli-cityto. hide: spfli-carrid,spfli-connid. endselect. at line-selection. case sy-lsind. when 1. get cursor field fieldname value fieldvalue. case fieldname. when 'SPFLI-CARRID'. select single * from scarr where carrid = spfli-carrid. if sy-subrc = 0. write: / spfli-carrid,scarr-carrname. endif. when 'SPFLI-CONNID'. ...
    25. Creating List in Modal Dialog Box ... at line-selection. window starting at 10 10 ending at 65 20. select * from sflight where carrid = spfli-carrid and connid = spfli-connid. write: / sflight-carrid,sflight-connid,sfligh fldate. endselect. ...
    26. Exercise Basic List zsales zsales-qty zsales-cust_id zsales-prod_id zsales-sale_id zproducts Detail List zsalereps zproducts-on_hand zproducts-p_id zsalereps-sale_id zsalereps-name
    27. Drill-Down 2 Levels Example Detail list level 2 (ZPRODUCTS) Basic list (ZCUSTOMERS) 2 1 Detail list level 1 (ZSALES)
    28. Program Example START-OF-SELECTION. SELECT * FROM zcustomers. WRITE: / zcustomers-id COLOR 4 HOTSPOT, 15 zcustomers-name. HIDE: zcustomers-id,zcustomers-name. ENDSELECT. CLEAR zcustomers-id. Hide Level 1 AT LINE-SELECTION. CASE sy-lsind. WHEN 1. GET CURSOR FIELD fieldname. IF fieldname = 'ZCUSTOMERS-ID'. SELECT * FROM zsales WHERE cust_id = zcustomers-id. IF sy-dbcnt = 1. WRITE: / zcustomers-id,15 zcustomers-name,30 zsales-prod_id HOTSPOT, 45 zsales-qty. Drill Down Level 1 HIDE: zsales-prod_id. ELSE. WRITE: /30 zsales-prod_id HOTSPOT, 45 zsales-qty. HIDE: zsales-prod_id. ENDIF. Hide Level 2 ENDSELECT. CLEAR: zcustomers-id,zsales-prod_id. ENDIF. WHEN 2. GET CURSOR FIELD fieldname. IF fieldname = 'ZSALES-PROD_ID'. SELECT SINGLE * FROM zproducts WHERE p_id = zsales-prod_id. Drill Down Level 2 IF sy-subrc = 0. WRITE: / zproducts-p_id,15 zproducts-prod_name,38 zproducts-on_hand. ENDIF. CLEAR zsales-prod_id. ENDIF. ENDCASE.
    29. Basic List Exercise SCARR Drill-down Level 1 SPFLI Drill-down Level 2 SFLIGHT Drill-down Level 3 SBOOK
    30. GUI Interface (User Interface)
    31. GUI Interface SET PF-STATUS …. => GUI Status SET TITLEBAR …. => GUI Title
    32. AT USER-COMMAND Event SET PF-STATUS ‘TEST’. ... AT USER-COMMAND. CASE sy-ucomm. WHEN ‘CODE1’. . WHEN ‘CODE2’. . ENDCASE.
    33. Standard Toolbar : System Function  System function do not trigger event AT USER-COMMAND  %EX = Exit  %PC = Save to file  %SC = Find  %SC+ = Find next  %ST = Save in report tree  BACK = Back  RW = Cancel  PRI = Print  P- = Scroll to previous page  P-- = Scroll to first page  P+ = Scroll to next page  P++ = Scroll to last page
    34. Alternative with AT USER-COMMAND REPORT ZRSDEM002. . START-OF-SELECTION SET PF-STATUS ‘BASE’. . . AT USER-COMMAND. CASE SY-UCOMM. WHEN ‘CARR’. SET PF_STATUS SPACE. “Set to standard GUI interface . WHEN ‘FLIG’. SET PF-STATUS ‘FLIG’. WRITE …
    35. GUI Status Excluding Function Code REPORT ztest. ... SET PF-STATUS ‘0100’. ... AT USER-COMMAND. CASE SY-UCOMM. WHEN ‘LIST’. SET PF-STATUS ‘0100’ excluding ‘LIST’. . WHEN ‘DISP’. SET PF-STATUS ‘0100’ excluding ‘DISP’. WRITE … . ....
    36. GUI Status Excluding Function Code REPORT ztest. DATA exctab(10) occurs 0 with header line. .... START-OF-SELECTION. SET PF-STATUS ‘0100’. ... exctab = ‘LIST’. APPEND exctab. exctab = ‘TEST’. APPEND exctab. ... AT USER-COMMAND. CASE SY-UCOMM. WHEN ‘LIST’. SET PF-STATUS ‘0100’ excluding exctab.
    37. GUI TITLE ... SET TITLEBAR ‘0100’.
    38. ABAP Practice
    39. Selection Screen
    40. Selection Screen  PARAMETERS Statement  SELECT-OPTIONS Statement
    41. parameters
    42. Parameters PARAMETERS: tmp1(10) TYPE C, tmp2(10) TYPE C lower case, tmp3 LIKE sy-datum default sy-datum, tmp4 TYPE D default ‘19991231’, tmp5 TYPE i,
    43. Parameters Example Tables customers. Parameters pid like customers-id. START-OF-SELECTION. select single * from customers where id = pid. if sy-subrc = 0. write: / customers-name. else. write: / ‘No data found’. endif.
    44. Selection-Text  By default , the System displays the name of the selection as text on the Selection Screen  You Should use the Text element/Selection texts function to store a text line for each Selection Criterion.
    45. Check box Parameters tmp as checkbox default ‘X’.
    46. Radio Button Parameters: test1 Radiobutton group grp1, test2 Radiobutton group grp1.
    47. Required field with Parameters Parameters tmp like sy- datum obligatory.
    48. ABAP Exercise
    49. select-options
    50. Complex Selection (Select-options) Tables spfli. Select-options carrid for spfli- carrid. START-OF-SELECTION. Select * From spfli Where carrid in carrid. . . .
    51. Select-Options “ต้องการให้แสดงข้อมูล customers ของ ลูกค้าที่มีชื่อ(คอลัมน์ name) ขึ้นต้นด้วย ตัว ‘M’ และลูกค้าที่ชื่อ ‘Smith’ และลูกค้า ที่ชื่ออยู่ระหว่าง ‘A’ กับ ‘John’ โดยใช้คำา สั่ง SELECT” Select * from customers where (name like ‘M%’) or (name = ‘Smith’) or (name between ‘A’ and
    52. Select-Options Tables customers. Select-options sname for customers-name. START-OF-SELECTION. Select * from customers Where name in sname.
    53. Internal Structure of Select-options sname Sign Option Low High
    54. Internal Structure of Select-options Field Value . Sign I = Include E = Exclude Option BT = Between CP = Contains Pattern EQ = Equal GT = Greater Than LT = Less Than GE = Grater Than or Equal LE = Less Than or Equal NE = Not Equal
    55. Internal Structure of Select-options sname Sn ig Ot n pio Lw o Hh ig I CP M* I EQ S it mh I BT A John
    56. SELECT-OPTIONS sname Sign O tion p Low Hh ig Select * from customers Transform where (name like ‘M%’) or I CP M* (name = ‘Smith’) or I EQ Smith (name between ‘A’ and ‘Jo I BT A John Select * from customers where name in sname.
    57. INITIALIZATION Event Tables Customers. Select-options sname for customers-name. Initialization. sname-sign = ‘I’. sname-option = ‘EQ’. sname-low = ‘Smith’. append sname. Start-of-Selection. Select * from customers Where name in sname.
    58. Select-options Options Select-options sname for customers- name obligatory. Select-options sname for customers- name no-extension. Select-options sname for customers- name no intervals.
    59. Designing Selection Screen Selection-screen begin of block test with frame Title text-001. . Selection-screen uline. Selection-screen skip 3. Selection-screen comment 3(10) text-001. Parameters month(2) type n. . Selection-screen end of block test.
    60. Designing Selection Screen selection-screen begin of line. selection-screen comment 1(7) text-001. selection-screen position 9. parameters month(2) type n. selection-screen comment 16(6) text-002. parameters year(4) type n. selection-screen end of line.
    61. Designing Selection Screen Selection-screen begin of block name1 with frame title text-001. Selection-screen begin of line. Parameters test1 radiobutton group test default ‘X’. Selection-screen comment 4(10) text-002. Selection-screen position 35. Parameters tcheck as checkbox. Selection-screen comment 37(15) text-003. Selection-screen end of line. Selection-screen begin of line. Parameters test2 radiobutton group test. Selection-screen comment 4(10) text-004. Selection-screen end of line. Selection-screen end of block name1.
    62. ABAP Exercise
    63. Checking User Input Tables customers. Data pcode_len type i. Parameters pcode like customers-postcode. At selection-screen. pcode_len = strlen( pcode ). if pcode_len <> 5. message e000(38) with ‘Please enter postcode 5 characters’. endif. Start-of-Selection. select * from customers where postcode =
    64. ABAP Exercise
    65. ABAP Program Processing Steps TABLES sflight. PARAMETERS nextday LIKE sy-datum. INITIALIZATION. nextday = sy-datum + 1. AT SELECTION-SCREEN. IF nextday < sy-datum. MESSAGE e000(38) WITH ‘Please enter da >= today’. ENDIF. START-OF-SELECTION. SELECT * FROM sflight WHERE ... fldate = nextday… …
    66. ABAP Practice
    SlideShare Zeitgeist 2009

    + Ed  daiEd dai Nominate

    custom

    2208 views, 0 favs, 2 embeds more stats

    You can find more SAP ABAP documents at http://sapd more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 2208
      • 2144 on SlideShare
      • 64 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 103
    Most viewed embeds
    • 55 views on http://www.erpgenie.com
    • 9 views on http://erpgenie.com

    more

    All embeds
    • 55 views on http://www.erpgenie.com
    • 9 views on http://erpgenie.com

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories

    Tags