SlideShare a Scribd company logo
ABAP Chapter 4
 Event-driven Programming
 Selection Screen
Event-driven Programming
Application Driven Programming
 REPORT ztest.
 DATA: today TYPE D.
 today = ‘19991231’.
 today = today + 1.
 WRITE: / today.
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’.
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.
AT LINE-SELECTION Event
   (Drill-down Report)
AT LINE-SELECTION
Start-of-selection.
 Write : ‘Basic List’.
At Line-selection.
 Write : ‘Detail List’.
                    Double
                     Click

     Basic list
Navigating Between Lists

                   Exit                         Detail list 20

ABAP Editor



                              Detail list 2


                                                          Cancel
                   Detail list 1

      Basic list                              Back
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.
At Line Selection
Tables customers.
Start-of-Selection.
  Select * from customers.
      write : / customers-name .
  Endselect.
At line-selection.
   Write: ‘You Choose :’ , customers-
  name.
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
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
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
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,
                             …
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
                      …
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 =
Exercise
Basic List



                                      Detail List
zcustomers-id



                zcustomers

          zcustomers-name
                                  zsales-cust_id
                                                                    zsales-qty
                                                   zsales-prod_id




                                                   zsales
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
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
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.
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’.
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.
.....
.....
...
             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.
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'.
    ...
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.
     ...
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
Drill-Down 2 Levels Example



                               Detail list level 2 (ZPRODUCTS)


Basic list (ZCUSTOMERS)          2
            1



Detail list level 1 (ZSALES)
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.
Basic List


             Exercise
     SCARR




             Drill-down Level 1
                         SPFLI




                                  Drill-down Level 2
                                     SFLIGHT




                                                Drill-down Level 3
                                                         SBOOK
GUI Interface (User Interface)
GUI Interface
  SET PF-STATUS …. => GUI
Status
    SET TITLEBAR …. => GUI
Title
AT USER-COMMAND Event

 SET PF-STATUS ‘TEST’.
 ...
 AT USER-COMMAND.
    CASE sy-ucomm.
     WHEN ‘CODE1’.
         .
    WHEN ‘CODE2’.
       .
    ENDCASE.
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
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 …
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 …
.       ....
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.
GUI TITLE
...
SET TITLEBAR ‘0100’.
ABAP Practice
Selection Screen
Selection Screen
   PARAMETERS Statement
   SELECT-OPTIONS Statement
parameters
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,
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.
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.
Check box

Parameters tmp as checkbox
        default ‘X’.
Radio Button
Parameters: test1 Radiobutton
               group grp1,
        test2 Radiobutton
               group grp1.
Required field with Parameters

Parameters tmp like sy-
             datum
             obligatory.
ABAP Exercise
select-options
Complex Selection (Select-options)
Tables spfli.
Select-options carrid for spfli-
              carrid.
START-OF-SELECTION.
Select * From spfli
   Where carrid in carrid.
         .
         .
         .
Select-Options

“ต้องการให้แสดงข้อมูล customers ของ
ลูกค้าที่มีชื่อ(คอลัมน์ name) ขึ้นต้นด้วย
ตัว ‘M’ และลูกค้าที่ชื่อ ‘Smith’ และลูกค้า
ที่ชื่ออยู่ระหว่าง ‘A’ กับ ‘John’ โดยใช้คำา
สั่ง SELECT”
Select * from customers
  where (name like ‘M%’) or
       (name = ‘Smith’) or
       (name between ‘A’ and
Select-Options

Tables customers.
Select-options sname for
customers-name.
START-OF-SELECTION.
Select *
  from customers
    Where name in sname.
Internal Structure of Select-options

    sname
     Sign   Option   Low   High
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
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
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.
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.
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.
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.
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.
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.
ABAP Exercise
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 =
ABAP Exercise
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…
     …
ABAP Practice

More Related Content

What's hot (20)

PPTX
ABAP 7.x New Features and Commands
Dr. Kerem Koseoglu
 
PPTX
Sap abap
Jugul Crasta
 
PDF
500+ SAP ABAP INTERVIEW QUESTIONS WITH ANSWERS
IICT Chromepet
 
PPTX
Sap abap database table
Ducat
 
PPTX
Sap abap
SVRTechnologies
 
PPTX
Oops abap fundamental
biswajit2015
 
PPTX
Abap data dictionary
SmartGokul4
 
PDF
Ooabap notes with_programs
Kranthi Kumar
 
PPT
ABAP Object oriented concepts
DharmeshKumar49
 
PPT
SAP ABAP - Needed Notes
Akash Bhavsar
 
PPT
Alv theory
Phani Kumar
 
PPT
List Processing in ABAP
sapdocs. info
 
DOC
1000 solved questions
Kranthi Kumar
 
PPT
ABAP Message, Debugging, File Transfer and Type Group
sapdocs. info
 
PPT
ABAP Advanced List
sapdocs. info
 
PPTX
CDS Views.pptx
Suman817957
 
PPTX
SAP Adobe forms
Jugul Crasta
 
PPT
ABAP Open SQL & Internal Table
sapdocs. info
 
DOC
Badi document
hamisha_malik
 
DOCX
Sap abap real time questions
techie_gautam
 
ABAP 7.x New Features and Commands
Dr. Kerem Koseoglu
 
Sap abap
Jugul Crasta
 
500+ SAP ABAP INTERVIEW QUESTIONS WITH ANSWERS
IICT Chromepet
 
Sap abap database table
Ducat
 
Sap abap
SVRTechnologies
 
Oops abap fundamental
biswajit2015
 
Abap data dictionary
SmartGokul4
 
Ooabap notes with_programs
Kranthi Kumar
 
ABAP Object oriented concepts
DharmeshKumar49
 
SAP ABAP - Needed Notes
Akash Bhavsar
 
Alv theory
Phani Kumar
 
List Processing in ABAP
sapdocs. info
 
1000 solved questions
Kranthi Kumar
 
ABAP Message, Debugging, File Transfer and Type Group
sapdocs. info
 
ABAP Advanced List
sapdocs. info
 
CDS Views.pptx
Suman817957
 
SAP Adobe forms
Jugul Crasta
 
ABAP Open SQL & Internal Table
sapdocs. info
 
Badi document
hamisha_malik
 
Sap abap real time questions
techie_gautam
 

Viewers also liked (16)

PPT
07.Advanced Abap
sapdocs. info
 
PDF
HR ABAP Programming Training Material | http://sapdocs.info
sapdocs. info
 
PPT
08.Abap Dialog Programming Overview
sapdocs. info
 
PPT
HR ABAP Technical Overview | http://sapdocs.info/
sapdocs. info
 
PDF
ABAP for Beginners - www.sapdocs.info
sapdocs. info
 
PDF
SAP FICO BBP Sample Document PDF NEW!
sapdocs. info
 
PDF
Abap hr programing
tcsabarinathan
 
DOC
SAP ABAP Material
renterpserver
 
PPTX
Comparison between abap & abap hr
Mahender Donthula
 
PDF
Beginner’s guide to sap abap 1
Panduka Bandara
 
PDF
ABAP Basico para Consultores Funcionales
sapdocs. info
 
PDF
SAP HR Time Management User Guide | www.sapdocs.info
sapdocs. info
 
PPT
Module pool programming
Subhojit- Opekkhay
 
PPT
How HR ABAP is difference with ABAP ?
JoshiRavin
 
PPT
Dialog Programming Overview
sapdocs. info
 
PPT
Sap abap ppt
vonline
 
07.Advanced Abap
sapdocs. info
 
HR ABAP Programming Training Material | http://sapdocs.info
sapdocs. info
 
08.Abap Dialog Programming Overview
sapdocs. info
 
HR ABAP Technical Overview | http://sapdocs.info/
sapdocs. info
 
ABAP for Beginners - www.sapdocs.info
sapdocs. info
 
SAP FICO BBP Sample Document PDF NEW!
sapdocs. info
 
Abap hr programing
tcsabarinathan
 
SAP ABAP Material
renterpserver
 
Comparison between abap & abap hr
Mahender Donthula
 
Beginner’s guide to sap abap 1
Panduka Bandara
 
ABAP Basico para Consultores Funcionales
sapdocs. info
 
SAP HR Time Management User Guide | www.sapdocs.info
sapdocs. info
 
Module pool programming
Subhojit- Opekkhay
 
How HR ABAP is difference with ABAP ?
JoshiRavin
 
Dialog Programming Overview
sapdocs. info
 
Sap abap ppt
vonline
 
Ad

Similar to ABAP Event-driven Programming &Selection Screen (20)

PDF
Oracle sql & plsql
Sid Xing
 
PPT
03 abap3-090715081232-phpapp01 (1)
saifee37
 
PPT
03 abap3-090715081232-phpapp01 (1)
saifee37
 
PDF
Access advanced tutorial
catacata1976
 
PDF
Interaction
Saikou Marong
 
PDF
Dynamic websites lec4
Belal Arfa
 
PPT
Chapter 1abapprogrammingoverview-091205081953-phpapp01
tabish
 
PPT
Abapprogrammingoverview 090715081305-phpapp02
tabish
 
PPT
Abapprogrammingoverview 090715081305-phpapp02
wingsrai
 
PPT
Chapter 1 Abap Programming Overview
Ashish Kumar
 
PPT
chapter-1abapprogrammingoverview-091205081953-phpapp01
tabish
 
PPTX
Cognos Framework Manager
Franky Lao
 
PDF
Employee Time and Task Tracking System
Imran Javed Dar, MBA, PMP, 6σ, COBIT
 
PDF
Sap abap
Sri Nivas
 
PDF
Chris Bull's Bi Portfolio
z3bull
 
PDF
Databases
John Cutajar
 
PDF
Temporal And Other DB2 10 For Z Os Highlights
Laura Hood
 
PDF
Andtek Sales Desktop Ac 4.2.1 En
ccmorris
 
PDF
3.6
Samimvez
 
PPT
902410 frm les03
shivom12
 
Oracle sql & plsql
Sid Xing
 
03 abap3-090715081232-phpapp01 (1)
saifee37
 
03 abap3-090715081232-phpapp01 (1)
saifee37
 
Access advanced tutorial
catacata1976
 
Interaction
Saikou Marong
 
Dynamic websites lec4
Belal Arfa
 
Chapter 1abapprogrammingoverview-091205081953-phpapp01
tabish
 
Abapprogrammingoverview 090715081305-phpapp02
tabish
 
Abapprogrammingoverview 090715081305-phpapp02
wingsrai
 
Chapter 1 Abap Programming Overview
Ashish Kumar
 
chapter-1abapprogrammingoverview-091205081953-phpapp01
tabish
 
Cognos Framework Manager
Franky Lao
 
Employee Time and Task Tracking System
Imran Javed Dar, MBA, PMP, 6σ, COBIT
 
Sap abap
Sri Nivas
 
Chris Bull's Bi Portfolio
z3bull
 
Databases
John Cutajar
 
Temporal And Other DB2 10 For Z Os Highlights
Laura Hood
 
Andtek Sales Desktop Ac 4.2.1 En
ccmorris
 
902410 frm les03
shivom12
 
Ad

More from sapdocs. info (20)

PDF
SAP PM Master Data Training Guide
sapdocs. info
 
DOCX
SAP SD Certification (C_TSCM62_66) Preparation Training Notes
sapdocs. info
 
DOCX
Variant Configuration in SAP PP: Beginner's Guide
sapdocs. info
 
PDF
SAP PP MRP Guide for Beginners
sapdocs. info
 
PDF
SAP ECC 6.0 PM Configuration Manual - www.sapdocs.info
sapdocs. info
 
PDF
SAP PM Training Manual - www.sapdocs.info
sapdocs. info
 
PDF
SAP Configuration Guide for Functional Modules (Based on IDES)
sapdocs. info
 
PDF
SAP FI-AP TCODES & MENU PATHS
sapdocs. info
 
PDF
SAP FI-AR TCODES & MENU PATHS
sapdocs. info
 
DOC
SAP CO Configuration Guide - Exclusive Document
sapdocs. info
 
DOC
SAP PP End User Document - www.sapdocs.info
sapdocs. info
 
PDF
SAP MM Configuration - Real Project Documentation
sapdocs. info
 
PDF
SAP FI AP: Configuration & End User Guide
sapdocs. info
 
PDF
SAP FI AR: End User Guide for Beginners
sapdocs. info
 
PDF
SAP FI AP: End User Guide for Beginners
sapdocs. info
 
PDF
SAP FI Asset Accounting: End User Guide for Beginners
sapdocs. info
 
PDF
Variant Configurition in SAP: Beginners Guide | www.sapdocs.info
sapdocs. info
 
PDF
Exclusive SAP Basis Training Book | www.sapdocs.info
sapdocs. info
 
PDF
SAP Plant Maintenance Training Material | www.sapdocs.info
sapdocs. info
 
PPT
SAP FICO General Ledger EndUser Training | www.sapdocs.info
sapdocs. info
 
SAP PM Master Data Training Guide
sapdocs. info
 
SAP SD Certification (C_TSCM62_66) Preparation Training Notes
sapdocs. info
 
Variant Configuration in SAP PP: Beginner's Guide
sapdocs. info
 
SAP PP MRP Guide for Beginners
sapdocs. info
 
SAP ECC 6.0 PM Configuration Manual - www.sapdocs.info
sapdocs. info
 
SAP PM Training Manual - www.sapdocs.info
sapdocs. info
 
SAP Configuration Guide for Functional Modules (Based on IDES)
sapdocs. info
 
SAP FI-AP TCODES & MENU PATHS
sapdocs. info
 
SAP FI-AR TCODES & MENU PATHS
sapdocs. info
 
SAP CO Configuration Guide - Exclusive Document
sapdocs. info
 
SAP PP End User Document - www.sapdocs.info
sapdocs. info
 
SAP MM Configuration - Real Project Documentation
sapdocs. info
 
SAP FI AP: Configuration & End User Guide
sapdocs. info
 
SAP FI AR: End User Guide for Beginners
sapdocs. info
 
SAP FI AP: End User Guide for Beginners
sapdocs. info
 
SAP FI Asset Accounting: End User Guide for Beginners
sapdocs. info
 
Variant Configurition in SAP: Beginners Guide | www.sapdocs.info
sapdocs. info
 
Exclusive SAP Basis Training Book | www.sapdocs.info
sapdocs. info
 
SAP Plant Maintenance Training Material | www.sapdocs.info
sapdocs. info
 
SAP FICO General Ledger EndUser Training | www.sapdocs.info
sapdocs. info
 

Recently uploaded (20)

PPTX
Aerobic and Anaerobic respiration and CPR.pptx
Olivier Rochester
 
PPTX
Ward Management: Patient Care, Personnel, Equipment, and Environment.pptx
PRADEEP ABOTHU
 
PDF
Wikinomics How Mass Collaboration Changes Everything Don Tapscott
wcsqyzf5909
 
PDF
Quiz Night Live May 2025 - Intra Pragya Online General Quiz
Pragya - UEM Kolkata Quiz Club
 
PPTX
Connecting Linear and Angular Quantities in Human Movement.pptx
AngeliqueTolentinoDe
 
PPTX
How to Configure Refusal of Applicants in Odoo 18 Recruitment
Celine George
 
PDF
Genomics Proteomics and Vaccines 1st Edition Guido Grandi (Editor)
kboqcyuw976
 
PDF
Free eBook ~100 Common English Proverbs (ebook) pdf.pdf
OH TEIK BIN
 
PPTX
PLANNING FOR EMERGENCY AND DISASTER MANAGEMENT ppt.pptx
PRADEEP ABOTHU
 
DOCX
Lesson 1 - Nature and Inquiry of Research
marvinnbustamante1
 
PDF
DIGESTION OF CARBOHYDRATES ,PROTEINS AND LIPIDS
raviralanaresh2
 
PPTX
week 1-2.pptx yueojerjdeiwmwjsweuwikwswiewjrwiwkw
rebznelz
 
PDF
Lesson 1 : Science and the Art of Geography Ecosystem
marvinnbustamante1
 
PPTX
SYMPATHOMIMETICS[ADRENERGIC AGONISTS] pptx
saip95568
 
PDF
Nanotechnology and Functional Foods Effective Delivery of Bioactive Ingredien...
rmswlwcxai8321
 
PDF
Our Guide to the July 2025 USPS® Rate Change
Postal Advocate Inc.
 
PPTX
How to Manage Wins & Losses in Odoo 18 CRM
Celine George
 
PPTX
Elo the Hero is an story about a young boy who became hero.
TeacherEmily1
 
PPT
21st Century Literature from the Philippines and the World QUARTER 1/ MODULE ...
isaacmendoza76
 
PDF
COM and NET Component Services 1st Edition Juval Löwy
kboqcyuw976
 
Aerobic and Anaerobic respiration and CPR.pptx
Olivier Rochester
 
Ward Management: Patient Care, Personnel, Equipment, and Environment.pptx
PRADEEP ABOTHU
 
Wikinomics How Mass Collaboration Changes Everything Don Tapscott
wcsqyzf5909
 
Quiz Night Live May 2025 - Intra Pragya Online General Quiz
Pragya - UEM Kolkata Quiz Club
 
Connecting Linear and Angular Quantities in Human Movement.pptx
AngeliqueTolentinoDe
 
How to Configure Refusal of Applicants in Odoo 18 Recruitment
Celine George
 
Genomics Proteomics and Vaccines 1st Edition Guido Grandi (Editor)
kboqcyuw976
 
Free eBook ~100 Common English Proverbs (ebook) pdf.pdf
OH TEIK BIN
 
PLANNING FOR EMERGENCY AND DISASTER MANAGEMENT ppt.pptx
PRADEEP ABOTHU
 
Lesson 1 - Nature and Inquiry of Research
marvinnbustamante1
 
DIGESTION OF CARBOHYDRATES ,PROTEINS AND LIPIDS
raviralanaresh2
 
week 1-2.pptx yueojerjdeiwmwjsweuwikwswiewjrwiwkw
rebznelz
 
Lesson 1 : Science and the Art of Geography Ecosystem
marvinnbustamante1
 
SYMPATHOMIMETICS[ADRENERGIC AGONISTS] pptx
saip95568
 
Nanotechnology and Functional Foods Effective Delivery of Bioactive Ingredien...
rmswlwcxai8321
 
Our Guide to the July 2025 USPS® Rate Change
Postal Advocate Inc.
 
How to Manage Wins & Losses in Odoo 18 CRM
Celine George
 
Elo the Hero is an story about a young boy who became hero.
TeacherEmily1
 
21st Century Literature from the Philippines and the World QUARTER 1/ MODULE ...
isaacmendoza76
 
COM and NET Component Services 1st Edition Juval Löwy
kboqcyuw976
 

ABAP Event-driven Programming &Selection Screen

  • 1. ABAP Chapter 4  Event-driven Programming  Selection Screen
  • 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.
  • 40. Selection Screen  PARAMETERS Statement  SELECT-OPTIONS Statement
  • 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.
  • 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.
  • 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 =
  • 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… …