SlideShare a Scribd company logo
1 of 38
Download to read offline
ABAP Workshop
 2009 - Part1
Topics
•   Program Types
•   Dialog Program and DYNPROs
•   Program Flow and Flow Events
•   DYNPRO data elements Vs. ABAP data elements
•   FIELD Command and Conditional Module Calls
•   CHAIN Command
•   TAB controls
•   Field, Data Element and Domains
•   Input Help (List of Values) –demo/coding
•   Field Help (F1 Help) –demo/coding
•   Understanding Menu Bar, Application Toolbar and Function keys
•   Menu Control and Function Keys
•   Context Menu
•   Title Bar
•   Demo
•   Hands-on Practice

                                                                    2
Program Types
     Program type        First statement in      Processing blocks            Can this have or
                        program (After the           supported                support its own
                      include statements are                                    DYNPROS
                             resolved)
Executable (1)        REPORT (or               All - except function     Yes
                      PROGRAM)                 modules
Class pool (K)        CLASS-POOL               Methods only              No

Function group (or    FUNCTION-POOL            All except event          Yes
function pool) (F)                             blocks for reporting
                                               events
Interface pool (J)    INTERFACE-POOL           None                      No

Module pool (M)       PROGRAM                  Event block LOAD-OF-      Yes
                                               PROGRAM,
                                               subroutines, methods
Subroutine pool (S)   PROGRAM                  Event block LOAD-OF-      No
                                               PROGRAM,
                                               subroutines, methods
Type group or Type    TYPE-POOL                None                      No
pool (T)
Includes (I)          N/A                      All except event blocks   No                      3
                                               for reporting events
Dialog Programs and DYNPRO
•   DYNPRO is a basic component (screen and flow logic) of Dialog programs
•   DYNPRO (DYNamic PROgram’s) are also called Transactions
•   Sometimes the terms DYNPRO and Dialog Program are used
    interchangingly
•   The procedure for creating dialog programs is different to that for reports
•   A Dialog Program consists of one or more screens
•   Screen consists of a Layout (buttons, frames, labels, edit fields etc) and its
    Flow Logic – code to handle user events
•   Collectively, a screen, its layout and flow logic is called a DYNPRO
•   When a dialog program is run, screens are the objects called, not programs
    or subroutines
•   In Dialog programs the system displays a screen for the user to enter or
    request information and it responds to user input or request by 1) Branching
    to next screen 2) Displaying an output 3) Running a report 4) Updating the
    database



                                                                                 4
Passing Control Between Layers
•




           Database Layer




                                     5
Explain Dialog Programming
•   In Dialog programming, control of the program is continually passed
    backwards and forwards between the presentation layer (SAP GUI)
    and application layer (application Server)
•   When we start the screen is ready for input (presentation layer is
    active and application layer is not active)
•   Once the user has entered data on the screen, program control
    passes back to the application layer
•   Now, the presentation layer is inactive (the SAP GUI is still visible,
    but it cannot accept user input)
•   The SAP GUI does not become active again until the application
    program has called a new screen and sent it to the presentation
    server.
•   Basically, in Dialog programming we divide programs into dialog
    steps, with each of these steps comprising of the programming logic
    between two successive screens.


                                                                         6
Flow Events
• PROCESS BEFORE OUTPUT (PBO)
  – Fires before a screen is displayed. Can be used to
    initialize fields
• PROCESS AFTER INPUT (PAI)
  – Fires on an user action (menu/buttons/function-keys)
• PROCESS ON VALUE REQUEST (POV)
  – Fires when a set of possible values is requested (F4)
• PROCESS ON HELP REQUEST (POH)
  – Fires when general help is requested (F1)

                                                            7
Program Flow




               8
Dialog Processor
• Dialog processor controls the display of the
  screen and execution of the ABAP program. The
  Dialog processor processes screen after the
  screen, thereby triggering the appropriate flow
  events of each screen
• After each screen is displayed, it waits for the
  appropriate user input and then executes the
  flow logic
• The controls passes from screen flow logic to
  ABAP code and back along with the values of
  the program elements
                                                 9
Program Flow Design




                      10
Dynpro (screen) Logic




                        11
ABAP code (include file)




                           12
Function Definition




                      13
Dynpro data elements Vs. ABAP data
   elements and Data Transport




                                     14
FIELD Command and Conditional
         Module Calls
• FIELD NAME
  – Value Transported
• FIELD NAME MODULE ChangesDetectModule
  on REQUEST.
  – Value changed
• FIELD NAME MODULE ChangesDetectModule
  on INPUT.
  – Non blank value
• FIELD NAME MODULE ChangesDetectModule.
  – Custom check for format, etc

                                          15
CHAIN Command
CHAIN
 FIELD: Name1, Name2
  MODULE ChangesDetectModule on
 CHAIN-REQUEST. "Value changed?
ENDCHAIN.




                                  16
TAB controls
1) Scrolling at application server
     Only one subscreen area with two subscreens. (see
        program 5)


2) Scrolling at Local SAPGUI
     Two subscreens areas/Two subscreens. (see
     program 5A)




                                                         17
Data Element & Domains of Fields
                            •   Domain depicts the technical attributes of a
               Domain           field
                                 – its data type, field length, no. of decimal places,
                                   appearance on the screen
                            •   Data Element denotes the semantic attributes
                                 – short description, label names for a field that
Data Element Data Element          uses this.
                            •   Data Elements are directly attached to the
                                Fields
                            •   Data Element has an underlying Domain
                                (optional)
   Field        Field
                            •   Domains are not directly attached to the fields
                            •   A single Domain can be under many Data
                                Elements.
                            •   Within Domain - value range of a field can be
                                described. Whereas within the Data Element
                                parameter id and search help for a particular
                                field can be assigned.

                                                                                     18
Input Help (List of Values)
1) Fixed Value (DOMAIN LEVEL) - Hard coded list in Data Dictionary
   – Using domain (of the Data Element) of the field
2) Check Tables (FIELD LEVEL)
   – Specifying the Check table on the Field level
3) Assigning the "Search Help" repository object (DATA ELEMENT
   LEVEL)
   – Create a "Search Help" Object [as an independent step] and then
     assign it to data element of the field.
4) Assigning the "Search Help" repository object (SCREEN ELEMENT
   LEVEL)
   – Create a "Search Help" Object [as an independent step] and then
     assign it to dynpro screen element in screen painter.
5) Self defined Dropdown List Boxes (SCREEN ELEMENT LEVEL)
   – Most flexible but requires simple SQL to populate the list.



                                                                       19
(1) Fixed Value (Domain Level)

                          Domain of the Data Element




Data Element of a Field




                                                       20
(2) Check Tables (Field Level)
                        Click on the
                        Foreign Keys Icon




                                      21
(3 & 4) Search Help (Object)
                      Create
                      ‘Srch Helps’
                      Object(s)
                    And attach to
                    the Data Element


                          Or attach
                          directly to
                          the Dynpro
                          field

LPos:
Field Order

SPos:
Search Order


                                        22
Search Help Field Order
LPos: Field Order
SPos: Search Order




                                23
(5) Self defined Dropdown
                                                                                MODULE create_dropdown_box INPUT.

                                                                                 dynpro_utilities1=>value_help( ).

                                                                                ENDMODULE.




… DATA city_list TYPE STANDARD TABLE OF city_line.
 SELECT distinct ZCITY ZCITYDESCR from ZCITY_TBL into corresponding fields of
 table city_list where ZCITY like '%O%' order by ZCITY.                         Select Listbox
  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'                                  or
   EXPORTING
    retfield  = 'ZCITY'                                                         Listbox
    value_org    = 'S'
   TABLES                                                                       with key
    value_tab    = city_list
   EXCEPTIONS
     …

                                                                                                                     24
Field Help (F1 Help)
1) Documentation - (only one) can be attached to the
   Data Element of the Field needing help documentation.
2) Additional Documentation - (multiple can be attached
   to the Data Element of the Field needing help ‘additional
   documentation’), Dynpro screen field can call just one -
   the one relevant to its context using ‘PROCESS ON HELP-
   REQUEST’ Flow Logic.
•   PROCESS ON HELP-REQUEST. (assuming 0001 and 0002 are ‘additional
    documentation’ help is entered/exists)
    –   FIELD ZBC400_S_HDR_CURR-CITYTO WITH '0001'.
                 » Or
    – FIELD ZBC400_S_HDR_CURR-CITYTO WITH '0002'. etc
3) Uses the Process on Help Request (POH) event.

                                                                   25
Field Help - Documentation
                     Click here in Change Mode
                     to modify (display mode shown)




      Data Element




                                                  26
Field Help - Additional Documentation
Data Element




                               Click here.
                               Add as many
                               as you wish

                               Call any one
                               Additional help

   PROCESS ON HELP-REQUEST.
   FIELD field1 WITH '0001'.
   Or
   FIELD field1 WITH '0002'.

                                                 27
Menu Control
• Create GUI Status object (Interface Component)
• Command: SET PF-STATUS 'ZTEST1'.
• Each screen can have same or different menu
  (set this in PROCESS BEFORE OUTPUT)
• Various menus are: Menu Bar, Standard Tool
  Bar, Application Toolbar
• Function Keys are generally related to Menu
• Context Menu is inherited from Function Keys,so
  is same for all fields on screen by default, but…
• Context Menu – each field can be made different
(program 10 and 10A)
                                                 28
Bars in the SAP GUI



                                     Menu Bar

                         Standard Tool Bar
             Title Bar

                              Related Item
Application Toolbar
                              Function Keys F1, F2…



                                                      29
Menu Painter




               30
Menu Painter
                                       Screen 1/2
•
                                        Screen 2/2




GUI Status -> ZTEST1

Note: Standard tool bar is
shown at the top of the
Function Keys Setup!


                                                     31
Function Keys
The following Function Keys are reserved and are
  handled at run time
      • F1 (field help),
      • F4 (Input Help)
      • F10 (positions the cursor in the (top) menu bar)
Double Click automatically gets the functionality of
  whatever F2 is setup to do – applies to all fields
  by default. (see subsequent slides)
F2 or Double Click can be setup so that different
  logic can be mapped to individual fields (see
  program 10C & subsequent slides)
                                                           32
Double Click (all fields)
• When we map a/any functionality to F2, the same
  functionality is automatically executed when we
  Double Click the object.
• Example: If we set the F2 to say “BACK1” (also the
  Function code), the F2 as well as the Double Click get
  the functionality from the usual ABAP CASE statement
  logic.

                                             ….
                                              CASE ok_code.
                                               When 'BACK' or
                                             'BACK1'.
                                                SET SCREEN
                                             100.
                                             ….




                                                           33
Double Click (individual fields)
• The Function Code for F2 is set to CS (CURSOR-
  SELECTION) and TYPE to S (System Function). In PAI
  use the FIELD statement to call a module.
•   …
    PROCESS AFTER INPUT.
    FIELD Field1 MODULE C1 AT CURSOR-SELECTION.
    FIELD Field2 MODULE C2 AT CURSOR-SELECTION.


                                                  Actual module defn:
                                                  MODULE C1 INPUT.
                                                  CALL TRANSACTION
                                                  'SE13'.
                                                  ENDMODULE.


                                                                        34
Context Menu
The Context Menu for a SCREEN is
 ‘automatically’ defaulted from the
 ‘function keys’ MENU setup done using
 menu designer – i.e., GUI STATUS
The Context Menu for individual fields is
 done using the ON_CTMENU_ field as
 explained in the subsequent slide.


                                            35
Context Menu (of field)
Using the ON_CTMENU_ field of
  screen Elements
FORM on_ctmenu_my_input2 USING
  l_menu TYPE REF TO cl_ctmenu.
CALL METHOD l_menu->add_function
 EXPORTING fcode = 'MY_CONTEXT_MENU7’
 text = 'My Context Menu 7'.
…
CASE save_ok.
…
 WHEN 'MY_CONTEXT_MENU7'.
  CALL TRANSACTION 'SE92'.
…
ENDCASE.

                                        36
Title Bar
• THE GUI TITLE is Interface Component
• SET TITLEBAR title. >> Command
 Create Here
                                Use/Call Here




                                            37
Upcoming Topics

•   Character Sets/Unicode Format [UTF-8,etc]
•   Data Clusters
•   File Access
•   Authorization Checks
•   Lock Concept and Enqueue


                                                38

More Related Content

What's hot

0106 debugging
0106 debugging0106 debugging
0106 debugging
vkyecc1
 
SAP ABAP Latest Interview Questions
SAP ABAP Latest  Interview Questions SAP ABAP Latest  Interview Questions
SAP ABAP Latest Interview Questions
piyushchawala
 
Ooabap notes with_programs
Ooabap notes with_programsOoabap notes with_programs
Ooabap notes with_programs
Kranthi Kumar
 
Cobol training class-1
Cobol training class-1Cobol training class-1
Cobol training class-1
Anil Polsani
 

What's hot (20)

08.Abap Dialog Programming Overview
08.Abap Dialog Programming Overview08.Abap Dialog Programming Overview
08.Abap Dialog Programming Overview
 
0106 debugging
0106 debugging0106 debugging
0106 debugging
 
Alv theory
Alv theoryAlv theory
Alv theory
 
Skillwise - Cobol Programming Basics
Skillwise - Cobol Programming BasicsSkillwise - Cobol Programming Basics
Skillwise - Cobol Programming Basics
 
SAP ABAP Latest Interview Questions
SAP ABAP Latest  Interview Questions SAP ABAP Latest  Interview Questions
SAP ABAP Latest Interview Questions
 
oracle-reports6i
oracle-reports6ioracle-reports6i
oracle-reports6i
 
Badis
Badis Badis
Badis
 
Cobol programming language
Cobol programming languageCobol programming language
Cobol programming language
 
Cobol basics 19-6-2010
Cobol basics 19-6-2010Cobol basics 19-6-2010
Cobol basics 19-6-2010
 
Dialog Programming Overview
Dialog Programming OverviewDialog Programming Overview
Dialog Programming Overview
 
Ooabap notes with_programs
Ooabap notes with_programsOoabap notes with_programs
Ooabap notes with_programs
 
Cobol training class-1
Cobol training class-1Cobol training class-1
Cobol training class-1
 
details of labviews
details of labviewsdetails of labviews
details of labviews
 
Visual basic
Visual basicVisual basic
Visual basic
 
Bca cobol
Bca cobolBca cobol
Bca cobol
 
Assembler
AssemblerAssembler
Assembler
 
Pl sql
Pl sqlPl sql
Pl sql
 
Sap abap
Sap abapSap abap
Sap abap
 
Cobol
CobolCobol
Cobol
 
COMPUTER PROGRAMMING
COMPUTER PROGRAMMINGCOMPUTER PROGRAMMING
COMPUTER PROGRAMMING
 

Viewers also liked

Abap slide exceptionshandling
Abap slide exceptionshandlingAbap slide exceptionshandling
Abap slide exceptionshandling
Milind Patil
 
Abap slide lock Enqueue data clusters auth checks
Abap slide lock Enqueue data clusters auth checksAbap slide lock Enqueue data clusters auth checks
Abap slide lock Enqueue data clusters auth checks
Milind Patil
 
Chapter 06 printing sap script forms
Chapter 06 printing sap script formsChapter 06 printing sap script forms
Chapter 06 printing sap script forms
Kranthi Kumar
 
Abap slides user defined data types and data
Abap slides user defined data types and dataAbap slides user defined data types and data
Abap slides user defined data types and data
Milind Patil
 
Sap hr abap_course_content
Sap hr abap_course_contentSap hr abap_course_content
Sap hr abap_course_content
sap Logic
 
Chapter 02 sap script forms
Chapter 02 sap script formsChapter 02 sap script forms
Chapter 02 sap script forms
Kranthi Kumar
 
Chapter 07 debugging sap scripts
Chapter 07 debugging sap scriptsChapter 07 debugging sap scripts
Chapter 07 debugging sap scripts
Kranthi Kumar
 
56321818 sap-hr-stepwise-screen-shots
56321818 sap-hr-stepwise-screen-shots56321818 sap-hr-stepwise-screen-shots
56321818 sap-hr-stepwise-screen-shots
sandykodali
 
Sap script made easy
Sap script made easySap script made easy
Sap script made easy
Kranthi Kumar
 

Viewers also liked (19)

Abap slide exceptionshandling
Abap slide exceptionshandlingAbap slide exceptionshandling
Abap slide exceptionshandling
 
Abap slide lock Enqueue data clusters auth checks
Abap slide lock Enqueue data clusters auth checksAbap slide lock Enqueue data clusters auth checks
Abap slide lock Enqueue data clusters auth checks
 
Chapter 06 printing sap script forms
Chapter 06 printing sap script formsChapter 06 printing sap script forms
Chapter 06 printing sap script forms
 
Abap slides user defined data types and data
Abap slides user defined data types and dataAbap slides user defined data types and data
Abap slides user defined data types and data
 
Ab1011 module pool programming
Ab1011   module pool programmingAb1011   module pool programming
Ab1011 module pool programming
 
Dialog programming ABAP
Dialog programming ABAPDialog programming ABAP
Dialog programming ABAP
 
Abap reports
Abap reportsAbap reports
Abap reports
 
Module pool programming
Module pool programmingModule pool programming
Module pool programming
 
Sap hr abap_course_content
Sap hr abap_course_contentSap hr abap_course_content
Sap hr abap_course_content
 
Chapter 02 sap script forms
Chapter 02 sap script formsChapter 02 sap script forms
Chapter 02 sap script forms
 
Creation of a web service in sap
Creation of a web service in sapCreation of a web service in sap
Creation of a web service in sap
 
control techniques
control techniquescontrol techniques
control techniques
 
Chapter 07 debugging sap scripts
Chapter 07 debugging sap scriptsChapter 07 debugging sap scripts
Chapter 07 debugging sap scripts
 
SAP ABAP web services creation.
SAP ABAP web services creation. SAP ABAP web services creation.
SAP ABAP web services creation.
 
Comparison between abap & abap hr
Comparison between abap & abap hrComparison between abap & abap hr
Comparison between abap & abap hr
 
Abap hr programing
Abap hr programingAbap hr programing
Abap hr programing
 
56321818 sap-hr-stepwise-screen-shots
56321818 sap-hr-stepwise-screen-shots56321818 sap-hr-stepwise-screen-shots
56321818 sap-hr-stepwise-screen-shots
 
ABAP Message, Debugging, File Transfer and Type Group
ABAP Message, Debugging, File Transfer and Type GroupABAP Message, Debugging, File Transfer and Type Group
ABAP Message, Debugging, File Transfer and Type Group
 
Sap script made easy
Sap script made easySap script made easy
Sap script made easy
 

Similar to Abap slides set1

Solutions for Sage Customers from Robert Lavery
Solutions for Sage Customers from Robert LaverySolutions for Sage Customers from Robert Lavery
Solutions for Sage Customers from Robert Lavery
Suzanne Spear
 
Ugif 10 2012 lycia2 introduction in 45 minutes
Ugif 10 2012 lycia2 introduction in 45 minutesUgif 10 2012 lycia2 introduction in 45 minutes
Ugif 10 2012 lycia2 introduction in 45 minutes
UGIF
 
JavaClassPresentation
JavaClassPresentationJavaClassPresentation
JavaClassPresentation
juliasceasor
 
Windows phone app development overview
Windows phone app development overviewWindows phone app development overview
Windows phone app development overview
Alan Mendelevich
 
BlackBerry Basic
BlackBerry BasicBlackBerry Basic
BlackBerry Basic
Duy Do Phan
 
Android application development
Android application developmentAndroid application development
Android application development
Linh Vi Tường
 
Accessibility of HTML5 and Rich Internet Applications - CSUN 2012
Accessibility of HTML5 and Rich Internet Applications - CSUN 2012Accessibility of HTML5 and Rich Internet Applications - CSUN 2012
Accessibility of HTML5 and Rich Internet Applications - CSUN 2012
Steven Faulkner
 
Lesson_1-4.ppt
Lesson_1-4.pptLesson_1-4.ppt
Lesson_1-4.ppt
MudassarRafiq4
 

Similar to Abap slides set1 (20)

Solutions for Sage Customers from Robert Lavery
Solutions for Sage Customers from Robert LaverySolutions for Sage Customers from Robert Lavery
Solutions for Sage Customers from Robert Lavery
 
20230721_OKC_Meetup_MuleSoft.pptx
20230721_OKC_Meetup_MuleSoft.pptx20230721_OKC_Meetup_MuleSoft.pptx
20230721_OKC_Meetup_MuleSoft.pptx
 
Ugif 10 2012 lycia2 introduction in 45 minutes
Ugif 10 2012 lycia2 introduction in 45 minutesUgif 10 2012 lycia2 introduction in 45 minutes
Ugif 10 2012 lycia2 introduction in 45 minutes
 
JavaClassPresentation
JavaClassPresentationJavaClassPresentation
JavaClassPresentation
 
SAP ABAP Online Training
SAP ABAP Online TrainingSAP ABAP Online Training
SAP ABAP Online Training
 
Adobe AIR Development for the BlackBerry PlayBook
Adobe AIR Development for the BlackBerry PlayBookAdobe AIR Development for the BlackBerry PlayBook
Adobe AIR Development for the BlackBerry PlayBook
 
Windows phone app development overview
Windows phone app development overviewWindows phone app development overview
Windows phone app development overview
 
Windows Phone Application development
Windows Phone Application developmentWindows Phone Application development
Windows Phone Application development
 
Intro to MIDP Development
Intro to MIDP DevelopmentIntro to MIDP Development
Intro to MIDP Development
 
BlackBerry Basic
BlackBerry BasicBlackBerry Basic
BlackBerry Basic
 
Android application development
Android application developmentAndroid application development
Android application development
 
Presentation on LabVIEW Basics
Presentation on LabVIEW BasicsPresentation on LabVIEW Basics
Presentation on LabVIEW Basics
 
Function Point Analysis: An Overview
Function Point Analysis: An OverviewFunction Point Analysis: An Overview
Function Point Analysis: An Overview
 
Into the Rabbithole - Evolved Web App Security Testing (OWASP AppSec DC)
Into the Rabbithole - Evolved Web App Security Testing (OWASP AppSec DC)Into the Rabbithole - Evolved Web App Security Testing (OWASP AppSec DC)
Into the Rabbithole - Evolved Web App Security Testing (OWASP AppSec DC)
 
Abap sample
Abap sampleAbap sample
Abap sample
 
Android Development
Android DevelopmentAndroid Development
Android Development
 
Introduction to ABAP
Introduction to ABAPIntroduction to ABAP
Introduction to ABAP
 
Accessibility of HTML5 and Rich Internet Applications - CSUN 2012
Accessibility of HTML5 and Rich Internet Applications - CSUN 2012Accessibility of HTML5 and Rich Internet Applications - CSUN 2012
Accessibility of HTML5 and Rich Internet Applications - CSUN 2012
 
Android - Android Application Configuration
Android - Android Application ConfigurationAndroid - Android Application Configuration
Android - Android Application Configuration
 
Lesson_1-4.ppt
Lesson_1-4.pptLesson_1-4.ppt
Lesson_1-4.ppt
 

More from Milind Patil

Abap slide class4 unicode-plusfiles
Abap slide class4 unicode-plusfilesAbap slide class4 unicode-plusfiles
Abap slide class4 unicode-plusfiles
Milind Patil
 
Step by step abap_input help or lov
Step by step abap_input help or lovStep by step abap_input help or lov
Step by step abap_input help or lov
Milind Patil
 
Step bystep abap_fieldhelpordocumentation
Step bystep abap_fieldhelpordocumentationStep bystep abap_fieldhelpordocumentation
Step bystep abap_fieldhelpordocumentation
Milind Patil
 
Step bystep abap_field help or documentation
Step bystep abap_field help or documentationStep bystep abap_field help or documentation
Step bystep abap_field help or documentation
Milind Patil
 
Step bystep abap_changinga_singlerecord
Step bystep abap_changinga_singlerecordStep bystep abap_changinga_singlerecord
Step bystep abap_changinga_singlerecord
Milind Patil
 
Abap slide lockenqueuedataclustersauthchecks
Abap slide lockenqueuedataclustersauthchecksAbap slide lockenqueuedataclustersauthchecks
Abap slide lockenqueuedataclustersauthchecks
Milind Patil
 
Step bystep abap_changinga_singlerecord
Step bystep abap_changinga_singlerecordStep bystep abap_changinga_singlerecord
Step bystep abap_changinga_singlerecord
Milind Patil
 
Lecture16 abap on line
Lecture16 abap on lineLecture16 abap on line
Lecture16 abap on line
Milind Patil
 
Lecture14 abap on line
Lecture14 abap on lineLecture14 abap on line
Lecture14 abap on line
Milind Patil
 
Lecture13 abap on line
Lecture13 abap on lineLecture13 abap on line
Lecture13 abap on line
Milind Patil
 
Lecture12 abap on line
Lecture12 abap on lineLecture12 abap on line
Lecture12 abap on line
Milind Patil
 
Lecture11 abap on line
Lecture11 abap on lineLecture11 abap on line
Lecture11 abap on line
Milind Patil
 
Lecture10 abap on line
Lecture10 abap on lineLecture10 abap on line
Lecture10 abap on line
Milind Patil
 
Lecture09 abap on line
Lecture09 abap on lineLecture09 abap on line
Lecture09 abap on line
Milind Patil
 
Lecture08 abap on line
Lecture08 abap on lineLecture08 abap on line
Lecture08 abap on line
Milind Patil
 
Lecture07 abap on line
Lecture07 abap on lineLecture07 abap on line
Lecture07 abap on line
Milind Patil
 
Lecture06 abap on line
Lecture06 abap on lineLecture06 abap on line
Lecture06 abap on line
Milind Patil
 
Lecture05 abap on line
Lecture05 abap on lineLecture05 abap on line
Lecture05 abap on line
Milind Patil
 
Lecture04 abap on line
Lecture04 abap on lineLecture04 abap on line
Lecture04 abap on line
Milind Patil
 
Lecture03 abap on line
Lecture03 abap on lineLecture03 abap on line
Lecture03 abap on line
Milind Patil
 

More from Milind Patil (20)

Abap slide class4 unicode-plusfiles
Abap slide class4 unicode-plusfilesAbap slide class4 unicode-plusfiles
Abap slide class4 unicode-plusfiles
 
Step by step abap_input help or lov
Step by step abap_input help or lovStep by step abap_input help or lov
Step by step abap_input help or lov
 
Step bystep abap_fieldhelpordocumentation
Step bystep abap_fieldhelpordocumentationStep bystep abap_fieldhelpordocumentation
Step bystep abap_fieldhelpordocumentation
 
Step bystep abap_field help or documentation
Step bystep abap_field help or documentationStep bystep abap_field help or documentation
Step bystep abap_field help or documentation
 
Step bystep abap_changinga_singlerecord
Step bystep abap_changinga_singlerecordStep bystep abap_changinga_singlerecord
Step bystep abap_changinga_singlerecord
 
Abap slide lockenqueuedataclustersauthchecks
Abap slide lockenqueuedataclustersauthchecksAbap slide lockenqueuedataclustersauthchecks
Abap slide lockenqueuedataclustersauthchecks
 
Step bystep abap_changinga_singlerecord
Step bystep abap_changinga_singlerecordStep bystep abap_changinga_singlerecord
Step bystep abap_changinga_singlerecord
 
Lecture16 abap on line
Lecture16 abap on lineLecture16 abap on line
Lecture16 abap on line
 
Lecture14 abap on line
Lecture14 abap on lineLecture14 abap on line
Lecture14 abap on line
 
Lecture13 abap on line
Lecture13 abap on lineLecture13 abap on line
Lecture13 abap on line
 
Lecture12 abap on line
Lecture12 abap on lineLecture12 abap on line
Lecture12 abap on line
 
Lecture11 abap on line
Lecture11 abap on lineLecture11 abap on line
Lecture11 abap on line
 
Lecture10 abap on line
Lecture10 abap on lineLecture10 abap on line
Lecture10 abap on line
 
Lecture09 abap on line
Lecture09 abap on lineLecture09 abap on line
Lecture09 abap on line
 
Lecture08 abap on line
Lecture08 abap on lineLecture08 abap on line
Lecture08 abap on line
 
Lecture07 abap on line
Lecture07 abap on lineLecture07 abap on line
Lecture07 abap on line
 
Lecture06 abap on line
Lecture06 abap on lineLecture06 abap on line
Lecture06 abap on line
 
Lecture05 abap on line
Lecture05 abap on lineLecture05 abap on line
Lecture05 abap on line
 
Lecture04 abap on line
Lecture04 abap on lineLecture04 abap on line
Lecture04 abap on line
 
Lecture03 abap on line
Lecture03 abap on lineLecture03 abap on line
Lecture03 abap on line
 

Recently uploaded

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Recently uploaded (20)

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 

Abap slides set1

  • 2. Topics • Program Types • Dialog Program and DYNPROs • Program Flow and Flow Events • DYNPRO data elements Vs. ABAP data elements • FIELD Command and Conditional Module Calls • CHAIN Command • TAB controls • Field, Data Element and Domains • Input Help (List of Values) –demo/coding • Field Help (F1 Help) –demo/coding • Understanding Menu Bar, Application Toolbar and Function keys • Menu Control and Function Keys • Context Menu • Title Bar • Demo • Hands-on Practice 2
  • 3. Program Types Program type First statement in Processing blocks Can this have or program (After the supported support its own include statements are DYNPROS resolved) Executable (1) REPORT (or All - except function Yes PROGRAM) modules Class pool (K) CLASS-POOL Methods only No Function group (or FUNCTION-POOL All except event Yes function pool) (F) blocks for reporting events Interface pool (J) INTERFACE-POOL None No Module pool (M) PROGRAM Event block LOAD-OF- Yes PROGRAM, subroutines, methods Subroutine pool (S) PROGRAM Event block LOAD-OF- No PROGRAM, subroutines, methods Type group or Type TYPE-POOL None No pool (T) Includes (I) N/A All except event blocks No 3 for reporting events
  • 4. Dialog Programs and DYNPRO • DYNPRO is a basic component (screen and flow logic) of Dialog programs • DYNPRO (DYNamic PROgram’s) are also called Transactions • Sometimes the terms DYNPRO and Dialog Program are used interchangingly • The procedure for creating dialog programs is different to that for reports • A Dialog Program consists of one or more screens • Screen consists of a Layout (buttons, frames, labels, edit fields etc) and its Flow Logic – code to handle user events • Collectively, a screen, its layout and flow logic is called a DYNPRO • When a dialog program is run, screens are the objects called, not programs or subroutines • In Dialog programs the system displays a screen for the user to enter or request information and it responds to user input or request by 1) Branching to next screen 2) Displaying an output 3) Running a report 4) Updating the database 4
  • 5. Passing Control Between Layers • Database Layer 5
  • 6. Explain Dialog Programming • In Dialog programming, control of the program is continually passed backwards and forwards between the presentation layer (SAP GUI) and application layer (application Server) • When we start the screen is ready for input (presentation layer is active and application layer is not active) • Once the user has entered data on the screen, program control passes back to the application layer • Now, the presentation layer is inactive (the SAP GUI is still visible, but it cannot accept user input) • The SAP GUI does not become active again until the application program has called a new screen and sent it to the presentation server. • Basically, in Dialog programming we divide programs into dialog steps, with each of these steps comprising of the programming logic between two successive screens. 6
  • 7. Flow Events • PROCESS BEFORE OUTPUT (PBO) – Fires before a screen is displayed. Can be used to initialize fields • PROCESS AFTER INPUT (PAI) – Fires on an user action (menu/buttons/function-keys) • PROCESS ON VALUE REQUEST (POV) – Fires when a set of possible values is requested (F4) • PROCESS ON HELP REQUEST (POH) – Fires when general help is requested (F1) 7
  • 9. Dialog Processor • Dialog processor controls the display of the screen and execution of the ABAP program. The Dialog processor processes screen after the screen, thereby triggering the appropriate flow events of each screen • After each screen is displayed, it waits for the appropriate user input and then executes the flow logic • The controls passes from screen flow logic to ABAP code and back along with the values of the program elements 9
  • 12. ABAP code (include file) 12
  • 14. Dynpro data elements Vs. ABAP data elements and Data Transport 14
  • 15. FIELD Command and Conditional Module Calls • FIELD NAME – Value Transported • FIELD NAME MODULE ChangesDetectModule on REQUEST. – Value changed • FIELD NAME MODULE ChangesDetectModule on INPUT. – Non blank value • FIELD NAME MODULE ChangesDetectModule. – Custom check for format, etc 15
  • 16. CHAIN Command CHAIN FIELD: Name1, Name2 MODULE ChangesDetectModule on CHAIN-REQUEST. "Value changed? ENDCHAIN. 16
  • 17. TAB controls 1) Scrolling at application server Only one subscreen area with two subscreens. (see program 5) 2) Scrolling at Local SAPGUI Two subscreens areas/Two subscreens. (see program 5A) 17
  • 18. Data Element & Domains of Fields • Domain depicts the technical attributes of a Domain field – its data type, field length, no. of decimal places, appearance on the screen • Data Element denotes the semantic attributes – short description, label names for a field that Data Element Data Element uses this. • Data Elements are directly attached to the Fields • Data Element has an underlying Domain (optional) Field Field • Domains are not directly attached to the fields • A single Domain can be under many Data Elements. • Within Domain - value range of a field can be described. Whereas within the Data Element parameter id and search help for a particular field can be assigned. 18
  • 19. Input Help (List of Values) 1) Fixed Value (DOMAIN LEVEL) - Hard coded list in Data Dictionary – Using domain (of the Data Element) of the field 2) Check Tables (FIELD LEVEL) – Specifying the Check table on the Field level 3) Assigning the "Search Help" repository object (DATA ELEMENT LEVEL) – Create a "Search Help" Object [as an independent step] and then assign it to data element of the field. 4) Assigning the "Search Help" repository object (SCREEN ELEMENT LEVEL) – Create a "Search Help" Object [as an independent step] and then assign it to dynpro screen element in screen painter. 5) Self defined Dropdown List Boxes (SCREEN ELEMENT LEVEL) – Most flexible but requires simple SQL to populate the list. 19
  • 20. (1) Fixed Value (Domain Level) Domain of the Data Element Data Element of a Field 20
  • 21. (2) Check Tables (Field Level) Click on the Foreign Keys Icon 21
  • 22. (3 & 4) Search Help (Object) Create ‘Srch Helps’ Object(s) And attach to the Data Element Or attach directly to the Dynpro field LPos: Field Order SPos: Search Order 22
  • 23. Search Help Field Order LPos: Field Order SPos: Search Order 23
  • 24. (5) Self defined Dropdown MODULE create_dropdown_box INPUT. dynpro_utilities1=>value_help( ). ENDMODULE. … DATA city_list TYPE STANDARD TABLE OF city_line. SELECT distinct ZCITY ZCITYDESCR from ZCITY_TBL into corresponding fields of table city_list where ZCITY like '%O%' order by ZCITY. Select Listbox CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST' or EXPORTING retfield = 'ZCITY' Listbox value_org = 'S' TABLES with key value_tab = city_list EXCEPTIONS … 24
  • 25. Field Help (F1 Help) 1) Documentation - (only one) can be attached to the Data Element of the Field needing help documentation. 2) Additional Documentation - (multiple can be attached to the Data Element of the Field needing help ‘additional documentation’), Dynpro screen field can call just one - the one relevant to its context using ‘PROCESS ON HELP- REQUEST’ Flow Logic. • PROCESS ON HELP-REQUEST. (assuming 0001 and 0002 are ‘additional documentation’ help is entered/exists) – FIELD ZBC400_S_HDR_CURR-CITYTO WITH '0001'. » Or – FIELD ZBC400_S_HDR_CURR-CITYTO WITH '0002'. etc 3) Uses the Process on Help Request (POH) event. 25
  • 26. Field Help - Documentation Click here in Change Mode to modify (display mode shown) Data Element 26
  • 27. Field Help - Additional Documentation Data Element Click here. Add as many as you wish Call any one Additional help PROCESS ON HELP-REQUEST. FIELD field1 WITH '0001'. Or FIELD field1 WITH '0002'. 27
  • 28. Menu Control • Create GUI Status object (Interface Component) • Command: SET PF-STATUS 'ZTEST1'. • Each screen can have same or different menu (set this in PROCESS BEFORE OUTPUT) • Various menus are: Menu Bar, Standard Tool Bar, Application Toolbar • Function Keys are generally related to Menu • Context Menu is inherited from Function Keys,so is same for all fields on screen by default, but… • Context Menu – each field can be made different (program 10 and 10A) 28
  • 29. Bars in the SAP GUI Menu Bar Standard Tool Bar Title Bar Related Item Application Toolbar Function Keys F1, F2… 29
  • 31. Menu Painter Screen 1/2 • Screen 2/2 GUI Status -> ZTEST1 Note: Standard tool bar is shown at the top of the Function Keys Setup! 31
  • 32. Function Keys The following Function Keys are reserved and are handled at run time • F1 (field help), • F4 (Input Help) • F10 (positions the cursor in the (top) menu bar) Double Click automatically gets the functionality of whatever F2 is setup to do – applies to all fields by default. (see subsequent slides) F2 or Double Click can be setup so that different logic can be mapped to individual fields (see program 10C & subsequent slides) 32
  • 33. Double Click (all fields) • When we map a/any functionality to F2, the same functionality is automatically executed when we Double Click the object. • Example: If we set the F2 to say “BACK1” (also the Function code), the F2 as well as the Double Click get the functionality from the usual ABAP CASE statement logic. …. CASE ok_code. When 'BACK' or 'BACK1'. SET SCREEN 100. …. 33
  • 34. Double Click (individual fields) • The Function Code for F2 is set to CS (CURSOR- SELECTION) and TYPE to S (System Function). In PAI use the FIELD statement to call a module. • … PROCESS AFTER INPUT. FIELD Field1 MODULE C1 AT CURSOR-SELECTION. FIELD Field2 MODULE C2 AT CURSOR-SELECTION. Actual module defn: MODULE C1 INPUT. CALL TRANSACTION 'SE13'. ENDMODULE. 34
  • 35. Context Menu The Context Menu for a SCREEN is ‘automatically’ defaulted from the ‘function keys’ MENU setup done using menu designer – i.e., GUI STATUS The Context Menu for individual fields is done using the ON_CTMENU_ field as explained in the subsequent slide. 35
  • 36. Context Menu (of field) Using the ON_CTMENU_ field of screen Elements FORM on_ctmenu_my_input2 USING l_menu TYPE REF TO cl_ctmenu. CALL METHOD l_menu->add_function EXPORTING fcode = 'MY_CONTEXT_MENU7’ text = 'My Context Menu 7'. … CASE save_ok. … WHEN 'MY_CONTEXT_MENU7'. CALL TRANSACTION 'SE92'. … ENDCASE. 36
  • 37. Title Bar • THE GUI TITLE is Interface Component • SET TITLEBAR title. >> Command Create Here Use/Call Here 37
  • 38. Upcoming Topics • Character Sets/Unicode Format [UTF-8,etc] • Data Clusters • File Access • Authorization Checks • Lock Concept and Enqueue 38