Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

ABAP Event-driven Programming &Selection Screen

32,551 views

Published on

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

Published in: Education, Technology
  • DOWNLOAD FULL BOOKS, INTO AVAILABLE FORMAT ......................................................................................................................... ......................................................................................................................... 1.DOWNLOAD FULL. PDF EBOOK here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... 1.DOWNLOAD FULL. EPUB Ebook here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... 1.DOWNLOAD FULL. doc Ebook here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... 1.DOWNLOAD FULL. PDF EBOOK here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... 1.DOWNLOAD FULL. EPUB Ebook here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... 1.DOWNLOAD FULL. doc Ebook here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • ★★ How Long Does She Want You to Last? ★★ A recent study proved that the average man lasts just 2-5 minutes in bed (during intercourse). The study also showed that many women need at least 7-10 minutes of intercourse to reach "The Big O" - and, worse still... 30% of women never get there during intercourse. Clearly, most men are NOT fulfilling there women's needs in bed. Now, as I've said many times - how long you can last is no guarantee of being a GREAT LOVER. But, not being able to last 20, 30 minutes or more, is definitely a sign that you're not going to "set your woman's world on fire" between the sheets. Question is: "What can you do to last longer?" Well, one of the best recommendations I can give you today is to read THIS report. In it, you'll discover a detailed guide to an Ancient Taoist Thrusting Technique that can help any man to last much longer in bed. I can vouch 100% for the technique because my husband has been using it for years :) Here's the link to the report ♥♥♥ http://ishbv.com/rockhardx/pdf
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • epa saaaammi......mudila
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • wow unna mathiri oru explainer ra pathathae illa.....yenga thedium kedaikathathu un presentation’l irunthuchu.....nee vazhga un presentation vazhga....
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • good
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

ABAP Event-driven Programming &Selection Screen

  1. 1. ABAP Chapter 4  Event-driven Programming  Selection Screen
  2. 2. Event-driven Programming
  3. 3. Application Driven Programming REPORT ztest. DATA: today TYPE D. today = ‘19991231’. today = today + 1. WRITE: / today.
  4. 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. 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. 6. AT LINE-SELECTION Event (Drill-down Report)
  7. 7. AT LINE-SELECTION Start-of-selection. Write : ‘Basic List’. At Line-selection. Write : ‘Detail List’. Double Click Basic list
  8. 8. Navigating Between Lists Exit Detail list 20 ABAP Editor Detail list 2 Cancel Detail list 1 Basic list Back
  9. 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. 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. 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. 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. 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. 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. 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. 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. 17. Exercise Basic List Detail List zcustomers-id zcustomers zcustomers-name zsales-cust_id zsales-qty zsales-prod_id zsales
  18. 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. 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. 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. 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. 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. 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. 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. 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. 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. 27. Drill-Down 2 Levels Example Detail list level 2 (ZPRODUCTS) Basic list (ZCUSTOMERS) 2 1 Detail list level 1 (ZSALES)
  28. 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. 29. Basic List Exercise SCARR Drill-down Level 1 SPFLI Drill-down Level 2 SFLIGHT Drill-down Level 3 SBOOK
  30. 30. GUI Interface (User Interface)
  31. 31. GUI Interface SET PF-STATUS …. => GUI Status SET TITLEBAR …. => GUI Title
  32. 32. AT USER-COMMAND Event SET PF-STATUS ‘TEST’. ... AT USER-COMMAND. CASE sy-ucomm. WHEN ‘CODE1’. . WHEN ‘CODE2’. . ENDCASE.
  33. 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. 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. 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. 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. 37. GUI TITLE ... SET TITLEBAR ‘0100’.
  38. 38. ABAP Practice
  39. 39. Selection Screen
  40. 40. Selection Screen  PARAMETERS Statement  SELECT-OPTIONS Statement
  41. 41. parameters
  42. 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. 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. 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. 45. Check box Parameters tmp as checkbox default ‘X’.
  46. 46. Radio Button Parameters: test1 Radiobutton group grp1, test2 Radiobutton group grp1.
  47. 47. Required field with Parameters Parameters tmp like sy- datum obligatory.
  48. 48. ABAP Exercise
  49. 49. select-options
  50. 50. Complex Selection (Select-options) Tables spfli. Select-options carrid for spfli- carrid. START-OF-SELECTION. Select * From spfli Where carrid in carrid. . . .
  51. 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. 52. Select-Options Tables customers. Select-options sname for customers-name. START-OF-SELECTION. Select * from customers Where name in sname.
  53. 53. Internal Structure of Select-options sname Sign Option Low High
  54. 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. 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. 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. 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. 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. 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. 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. 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. 62. ABAP Exercise
  63. 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. 64. ABAP Exercise
  65. 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. 66. ABAP Practice

×