Creating Dialog (ABAP Dynpro) Programs. Slide 2 Introduction All of the ERP systems operate similarly with regard to transactional integrity They all.

Slides:



Advertisements
Similar presentations
Introduction to Visual Basic.NET Uploaded By: M.Sheraz anjum.
Advertisements

Visit : Call Us: US: , India:
Visit : Call Us: US: , India:
0 UMN 2011 ERP Terapan SAP BASIS General Concept Session # 3.
DB2 Tools Pertemuan 3 Matakuliah: T0413 Tahun: 2009.
Lecture 1 Introduction to the ABAP Workbench
Introduction to the ABAP Data Dictionary
Guide to Oracle10G1 Introduction To Forms Builder Chapter 5.
A Guide to Oracle9i1 Introduction To Forms Builder Chapter 5.
A Guide to Oracle9i1 Creating an Integrated Database Application Chapter 8.
Eyad Alshareef 1 Creating Custom Forms Part A. 2Eyad Alshareef Data Block and Custom Forms Data block form Data block form Based on data blocks that are.
Chapter 2: The Visual Studio.NET Development Environment Visual Basic.NET Programming: From Problem Analysis to Program Design.
Introduction To Form Builder
WebDynpro for ABAP Short introduction.
Introduction To Form Builder
Access Tutorial 10 Automating Tasks with Macros
Microsoft Visual Basic 2005 CHAPTER 8 Using Procedures and Exception Handling.
0 UMN 2011 ERP Terapan ABAP Introduction Session # 8.
Databases and LINQ Visual Basic 2010 How to Program 1.
Programming with Microsoft Visual Basic 2012 Chapter 13: Working with Access Databases and LINQ.
Microsoft Visual Basic 2012 Using Procedures and Exception Handling CHAPTER SEVEN.
Introduction to ABAP and SAP Structure
What is Sure BDCs? BDC stands for Batch Data Communication and is also known as Batch Input. It is a technique for mass input of data into SAP by simulating.
ABAP/4 PROGRAMMING Menu Painter Modularization 講 師:呂 昇 燦 2000 年 9 月 28 日.
Department of Mechanical Engineering, LSUSession VII MATLAB Tutorials Session VIII Graphical User Interface using MATLAB Rajeev Madazhy
Forms - An Overview of Oracle Form Builder v.6.0 Abhishek Parag Prashant Arun.
1 1 Lab1 Ismail M. Romi – IT Dept, PPU, Visual Basic 2005 Programming Tour.
Copyright © 2007, Oracle. All rights reserved. Managing Concurrent Requests.
LiveCycle Data Services Introduction Part 2. Part 2? This is the second in our series on LiveCycle Data Services. If you missed our first presentation,
Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006 An Introduction to.
Automating Database Processing Chapter 6. Chapter Introduction Design and implement user-friendly menu – Called navigation form Macros – Automate repetitive.
Management Information Systems MS Access MS Access is an application software that facilitates us to create Database Management Systems (DBMS)
In the next step you will enter some data records into the table. This can be done easily using the ‘Data Browser’. The data browser can be accessed via.
S511 Session 7, IU-SLIS 1 DB Implementation: MS Access Forms.
University of Sunderland COM 220 Lecture Six Slide 1 Building Interactive Forms Applications using Oracle.
User Dialog Overview. Update Statement TABLES customers. SELECT SINGLE * FROM customers WHERE id = 1. IF sy-subrc = 0. customers-name = ‘John’. UPDATE.
MS Access 2007 Management Information Systems 1. Overview 2  What is MS Access?  Access Terminology  Access Window  Database Window  Create New Database.
Introduction to ABAP Selection Screens. Slide 2 Screens (Types) There are three types of screens Selection screens get parameter input for reports List.
DB Implementation: MS Access Forms. MS Access Forms  Purpose Data entry, editing, & viewing data in tables Forms are user-friendlier to end-users than.
3 Copyright © 2004, Oracle. All rights reserved. Working in the Forms Developer Environment.
Graphical Enablement In this presentation… –What is graphical enablement? –Introduction to newlook dialogs and tools used to graphical enable System i.
Visual Basic for Application - Microsoft Access 2003 Programming applications using Objects.
Introduction to the SAP IMG Interface. Slide 2 Accessing the IMG Use transaction code SPRO or.
An Introduction to Forms. The Major Steps of a MicroSoft Access Database  Tables  Queries  Forms  Macros  Reports  Modules On our road map, we are.
Chapter 5 Introduction To Form Builder. Lesson A Objectives  Display Forms Builder forms in a Web browser  Use a data block form to view, insert, update,
Chapter 24 I’m Suffering from Information Overload (Access Databases) Clearly Visual Basic: Programming with Visual Basic nd Edition.
ERP I1, Session 7 dynpro. SAP GUI SAP has many GUI solutions: – Lists (ALV) – dynpro (Dynamic Program) – Business Server Pages – Web dynpro – More?
Quick Test Professional 9.2. Testing Process Preparing to Record Recording Enhancing a Test Debugging Running the Test and Analyzing the Results Reporting.
Programming Logic and Design Fourth Edition, Comprehensive Chapter 14 Event-Driven Programming with Graphical User Interfaces.
Techniques for List Creation (2) Data formatting and control level processing Basics for Interactive Lists Detail lists The Program Interface Interactive.
Chapter 5 Introduction To Form Builder. Lesson C Objectives  Use sequences to automatically generate primary key values in a form  Create lists of values.
Chapter Fourteen Access Databases and SQL Programming with Microsoft Visual Basic th Edition.
Banner 6.x Fundamentals: Navigation and Forms. n Name n Organization n Title/function n Job responsibilities n SCT Banner Experience n Expectations Introductions.
1 Chapter 6: Creating Oracle Data Block Forms. 2 Forms  Application with a graphical user interface that looks like a paper form  Used to insert, update,
ANDROID LAYOUTS AND WIDGETS. Slide 2 Introduction Parts of the Android screen Sizing widgets and fonts Layouts and their characteristics Buttons, checkboxes.
DB Implementation: MS Access Forms. MS Access Forms: Purpose Data entry, editing, & viewing data in Tables Forms are user-friendlier to end-users than.
Visual Basic 2010 How to Program
Forms Concepts Triggers Fired when Internal/External events occur
Working in the Forms Developer Environment
An Introduction to Computers and Visual Basic
Introduction to Triggers
SAP ABAP Online Training
1. Introduction to Visual Basic
DB Implementation: MS Access Forms
SAP - CRM. SAP - CRM Course Content Introduction to SAP CRM Basics and Architecture Sap CRM Functional Overview Business Partner Organizational Management.
CIS16 Application Development Programming with Visual Basic
DB Implementation: MS Access Forms
Chapter 4 Enhancing the Graphical User Interface
Presentation transcript:

Creating Dialog (ABAP Dynpro) Programs

Slide 2 Introduction All of the ERP systems operate similarly with regard to transactional integrity They all operate on the notion of a Unit of Work (UOW) They all have similar commit / rollback scenarios They all have some form of screen processor

Slide 3 Types of ABAP Programs (1) A program’s technical attributes and capabilities are determined by its type Type 1 programs are executable programs They do not need to be controlled by screens Type 1 programs are often called reports You have been creating these so far Type M programs are controlled through screen flow logic and must be started from a transaction code (called a dialog program or Dynpro) These are called Module Pools

Slide 4 Types of ABAP Programs (2) Module Pool Illustration

Slide 5 What is a Dialog (M) Program (1) They form the basis for transactions (transaction codes) Dialog programs implement a UOW We introduced a unit of work at the beginning of the course

Slide 6 What is a Dialog (Type M) Program (2) They consist of a single screen or multiple screens connected together Screens are created with the screen painter Code blocks (event handlers) execute as users navigate from screen to screen Code is still created with the ABAP Editor but the Object Navigator does a bit of work We will use the Object Navigator in this section

Slide 7 Transaction Internals Dialog steps in an application program is executed by a work process User interaction is controlled by screens (screen processor) The processing logic is executed by the ABAP processor The ABAP processor, in turn, communicates with the database interface

Slide 8 Work Process (Illustration)

Slide 9 Work Processes (Details) Dialog processes work with users to execute dialog steps A screen in a dialog is considered a dialog step Update processes execute database update requests Part of an SAP LUW to bundle database operations Background processes execute without user interaction Enqueue processes administer a shared database lock table More about locks later

Slide 10 Work Processes (Details)

Slide 11 The SAP LUW It takes several database LUWs and group them into a logical SAP LUW through a process called bundling You use explicit COMMIT WORK and ROLLBACK WORK statements You can bundle using function modules (CALL FUNCTION IN UPDATE TASK) The function module then gets committed

Slide 12 Object Navigator (Introduction) The object navigator wraps features of the ABAP editor, Screen painter ABAP dictionary And a few other items we have not mentioned

Slide 13 Object Navigator (Introduction) You can search for “things” based on Program name Package Function groups and function modules These are “generally callable” procedures Development objects (things used for development no release)

Slide 14 Object Navigator (Development Objects)

Slide 15 Object Navigator (Development Objects) The demonstration transaction we will use tonight

Slide 16 Parts of a Dialog Program Transaction code ABAP program PAI / PBO / Includes Screen(s) UI status Screen flow logic GUI Title

Slide 17 Transaction Code (Part 1) We think of a transaction as a sequence of actions that ‘logically’ belong together Add a material Post an accounting transaction We are back to the notion of the logical unit of work It’s the “Dynpro” application mentioned earlier So far, you have created simpler ‘reports’ A transaction code is bound to an ABAP dialog program and CAN appear on the Easy Access menu

Slide 18 An SAP Transaction Access through the Object Navigator

Slide 19 An SAP Transaction A transaction has an associated program and screen number Trans TZ40 Prog SAPMTZ40 Screen 100

Slide 20 The ABAP Dialog Program (Part 2) Think of it as a very well-structured.net project Each screen and GUI status belongs to an ABAP program There are different ways to call an ABAP program By default, it’s the dialog module (MODULE POOL)

Slide 21 ABAP Dialog Program (Characteristics) The program has a type (M) – Module Pool It typically contains 3-4 includes Global Data PBO modules PAI modules

Slide 22 ABAP Dialog Program (Top Level Program) Global program includes the top / PBO / and PAI modules (Includes and separate files are not required but a way of doing things)

Slide 23 ABAP Dialog Program (Top Include) Declare global data ( PROGRAM ) statement appears

Slide 24 ABAP Dialog Program (PBO Module) PBO event triggers (fires) before the screen is displayed Before SAP outputs the screen to the user Initialize screen values here PBO modules are declared inside of a MODULE block designated as OUTPUT It’s really just a procedure / event handler Called by screen logic in PROCESS BEFORE OUTPUT

Slide 25 ABAP Dialog Program (PBO Module) MODULE OUTOUT (PBO) – Setup for program run

Slide 26 ABAP Dialog Program (PBO Module) The command SET PF-STATUS sets the program function status More in a moment when we cover GUI status The command SET TITLEBAR sets the titlebar screen

Slide 27 ABAP Dialog Program (PAI Module) PAI triggers after user interaction Declare using a MODULE block as INPUT Here we do the real work

Slide 28 The ABAP Dialog Program Screens (Part 3) Screens form an application’s visual interface A program might have many screens Screen flow logic controls the navigation path between screens. As the user moves from screen to screen, those PAO and PAI events fire

Slide 29 The SAP LUW Big Picture

Slide 30 Program Screen (Contents) A program screen has a number to uniquely identify it Flow logic to call our PAI and PAO modules Attributes that describe the type of screen Elements containing the visible screen controls

Slide 31 Program Screen (Flow Logic) The flow logic of a screen calls the various PAO and PAI modules created earlier We handle the PROCESS BEFORE OUTPUT and PROCESS AFTER INPUT EVENTS using the MODULE statement to call the appropriate module (function)

Slide 32 Program Screen (Flow Logic) PBO and PAI events call the modules we created in the program

Slide 33 Program Screen (Attributes) Audit trail info The screen type and configuration settings We will work with normal screens here Subscreens are screens within screens Selection screens are what you have been working with Modal dialog boxes are custom popups The next screen in the screen sequence Size (lines and columns)

Slide 34 Program Screen (Attributes) Attributes screen

Slide 35 Program Screen (Elements) Think of them as VB controls They bind to our underlying tables They have a type They have a position They have formatting They have I/O characteristics

Slide 36 Program Screen (Element Types) Elementary types: Text Text field (field text) I/O Input/output field (template) Graphical field element types Push Pushbutton dHelp Pushbutton for dialog help Radio Radio button Check Checkbox Box Box Subsc Subscreen (area for an include screen) Table Table control ACtrl ABAP control FdCtr Field control

Slide 37 Program Screen (Elements) Illustration

Slide 38 Program Screen (Elements) Element list / Texts I/O templates contain prompts and edit masks

Slide 39 Program Screen (Layout Editor) The Layout Editor is similar to the Windows Forms Designer It just a visual interface into the screen editor

Slide 40 Program Screen (Layout Editor)

Slide 41 The ABAP Dialog GUI Status (Part 4) It is here that we control the behavior of The menu bar Application toolbar Function keys Each GUI status function has a code When the user chooses the function, the PAI event fires It’s assigned to the OK_CODE field AND SY- UCOMM

Slide 42 The ABAP Dialog GUI Status (Illustration)

Slide 43 The ABAP Dialog GUI Status (Types) There are three types of GUI statuses

Slide 44 The ABAP Dialog (Connecting the Dialog Status to a Screen) We see the dialog status in the PBO module of a screen This is how we wire the screen to the menu system Use the SET PF-STATUS statement

Slide 45 The ABAP Dialog (Connecting the Dialog Status to a Screen)

Slide 46 The ABAP Dialog GUI Status (Menu Painter) It is here we create the menu for the program The code maps to a function that is called This is the status field in the previous dialog box

Slide 47 The ABAP Dialog GUI Status (Application Toolbar) Associate a function and icon to the toolbar

Slide 48 The ABAP Dialog GUI Status (Function Keys)

Slide 49 Database LUW An inseparable sequence of database operations that ends with a database commit The LUW is fully executed or not at all The database will always be in a consistent state If the LUW fails, all changes are rolled back LUWs can be committed implicitly or explicitly

Slide 50 Database LUW (Illustration)

Slide 51 Database LUW (Implicit Commit) Happens when A dialog step is completed and control passes from the Update work process to the GUI When control is passed from one work process to another (function call) A work process can only execute one LUW

Slide 52 Database LUW (Explicit Commit) Call the function module DB_COMMIT Use the ABAP statement COMMIT WORK

Slide 53 Database LUW (Implicit Rollback) Cause by a runtime error in an application Divide by 0 for example ABAP termination message MESSASE with message type A or X

Slide 54 Database LUW (Explicit Rollback) Call ROLLBACK WORK

Slide 55 The SAP Lock Concept (Introduction) The problem Two of us try to book a flight at the same time When I’m recording my transaction, you cannot record yours The number of seats available, therefore, remains accurate The problem is solved via “locks”

Slide 56 The SAP Lock Mechanism Locks are set for database change statements (INSERT, UPDATE, MODIFY, DELETE) Locks are released when the change is committed Locks are available, therefore, for only one database UOW SAP locks live on top of database locks allowing you to set locks that span multiple dialog steps (These are logical locks)

Slide 57 The SAP Lock Mechanism SAP implements what is called SAP lock object You can lock entries in one or more database tables You create a lock object in the SAP data dictionary SAP creates to functions to set and release the locks ENQUEUE_name and DEQUEUE_name

Slide 58 The Lock Table It’s a central table in shared memory of the SAP system containing The owner id of the lock The lock type Name of the locked table Fields to be locked

Slide 59 References /9f/db9ce935c111d1829f0000e829fbfe/conte nt.htm /9f/db9ce935c111d1829f0000e829fbfe/conte nt.htm /fc/eb2e7d358411d1829f0000e829fbfe/conte nt.htm /fc/eb2e7d358411d1829f0000e829fbfe/conte nt.htm