0 abap overview - 2hrs
DESCRIPTION
ABAP OverviewTRANSCRIPT
Beyond the ObviousBeyond the Obvious
SAP R/3 System Overview
& ABAP/4 Programming
SAP R/3 System
• Overview of R/3 System
Logical View of R/3 System
ABAP/4 - SAP R/3 PROGRAMMING LANGUAGE
Advanced Business Application Programming
ABAP/4
• Fourth generation language
• Event driven
• All SAP R/3 applications and parts of Basis are developed in ABAP
• Verbose language
Topics of Discussion
• ABAP Development Workbench• Data Dictionary• Reports• BDC• SAP Script• Module Pool
ABAP Development Workbench
ABAP Development Workbench
ABAP Development Workbench is a graphical
programming environment which enables us to create
new ABAP applications and change existing SAP
applications.
ABAP Workbench - Transaction code -S001
Tools -> ABAP Workbench
Repository Browser - Transaction code - SE80
Data Dictionary - SE11
Function Builder - SE37
Screen Painter - SE51
Creating a Program
Click the button ABAP Editor in the Workbench
…Creating a program
The program attributes screen looks like this
... Debugging
Runtime Analysis
• Tells us how long do specific operations take during the run
• Gives the trace list of subroutines that have been
processed
• SQL trace helps to trace database calls to find out
the tables used by the application
Development class
• A set of logically related development environment objects.
• A development class together with its objects is
transportable.
• Each development class is under the administration
of one user.
Creating development class
Data Dictionary
Data Dictionary
• ABAP Development workbench tool
• Stores system wide data definition
• Completely integrated with ABAP Workbench
Data Dictionary objects
• Data Elements
• Domains
• Tables
• Structures
• Views
REPORTS
ABAP/4 Reporting
Objectives
• Understand data declarations, commands, system
fields used in reports• Understand the selection screens • Understand the program level events, conditions &
loops• Understand the data retrieval from the tables and
Internal tables • Understand the modularization techniques,
field symbols and logical databases
Types of programs
Type 1
• run on its own
• Can be started it in the R/3 system without a
transaction code
• Can be executed in background
Type M ( Module pool)
• Program cannot run on its own and can be called via
a transaction code
Type I ( Include )
Program Selections
• SELECT-OPTIONS StatementSELECT-OPTIONS <Name> FOR <Table field> NO EXTENSION OBLIGATORY LOWER CASE
SELECT-OPTIONS allows specification of multiple values and ranges. This can only be declared for fields within tables defined in the TABLES statement.
Example SELECT-OPTIONS: S_KUNNR FOR KNA1-KUNNRSELECT-OPTIONS: S_KUNNR FOR KNA1-KUNNR.
Program Selections
• PARAMETERS StatementPARAMETERS <Name> TYPE LIKE OBLIGATORY AS CHECKBOX DEFAULT
This statement allows entry of a single value on the selection screen.
Example :PARAMETERPARAMETER : P_KUNNR LIKE KNA1-KUNNRP_KUNNR LIKE KNA1-KUNNR.
Blocking Selection Screen
• A sample screen – SELECTION-SCREEN BEGIN OF BLOCK RAD1
WITH FRAME TITLE TEXT-002.PARAMETERS R1 RADIOBUTTON GROUP GR1.PARAMETERS R2 RADIOBUTTON GROUP GR1.PARAMETERS R3 RADIOBUTTON GROUP GR1.SELECTION-SCREEN END OF BLOCK RAD1.
DATA Definitions
• TYPES Statement
TYPES <name> TYPE or LIKE
DECIMALS
SAP allows the creation of new user defined data types. And this does not create a variable, just a new type that can be used in creating a variable.
Example :
TYPES : CC LIKE BKPF-BUKRSTYPES : CC LIKE BKPF-BUKRS
DATA : NEW_CC TYPE CC.DATA : NEW_CC TYPE CC.
Data Definitions
• Internal TablesDATA : BEGIN OF <name> OCCURS x,(variable definitions)END OF <name>.Internal Tables are defined as an extension of a structure,
with the addition of an OCCURS clause.Example
DATA : BEGIN OF T_WRK,DATA : BEGIN OF T_WRK, T_KUNNR LIKE KNA1-KUNNR,T_KUNNR LIKE KNA1-KUNNR, SW TYPE C,SW TYPE C, END OF T_WRK.END OF T_WRK.
Program Level Events
• INITIALIZATION.• AT SELECTION-SCREEN• AT SELECTION-SCREEN OUTPUT• START-OF-SELECTION• END-OF-SELECTION• TOP-OF-PAGE• END-OF-PAGE• AT LINE-SELECTION• AT USER-COMMAND
• IF Statement CASE Statement
Modularization techniques
• Defining Macros
• Include program
• Subroutines
• Function Module
BDC
BDC - Batch Data Communication
• To transfer data from non-SAP systems ( ie. already available in electronic form )
• Suitable for entering large amounts of data as it executes the transactions automatically
• Similar to entering the data in the transactions manually
BDC Methods
• Classical Method
• Call Transaction
• Call Dialog
Preparing a BDC Table
• The BDC table should have five fields viz.,
1) Program name
2) Screen number
3) Screen begin
4) Field name
5) Field value
Preparing a BDC Table
For eg.
Prog Screen Scrn Field Field name No begin name valueSAPMMO3M 0060 X RM03M- MATNR mat.no RM03M-MBRSH indu. sec ..SAPMM03M 0080 X RM03M-WERKS target pla ..
SAP Script
SAP Script
Objectives
• Understand Forms, various components of forms
such as windows, pages, character format,
paragraph format etc.
• Understand the control commands, symbols and
function modules in SAP Script.
Forms
• Controls the page layout and text formatting
A form of the graphical Form Painter consists of
• Header data
• Page layout
• Paragraph format
• Character format
• Documentation
… SAP Script - Control commands
• PERFORM Command
To Call an ABAP subroutine (form) from any program
Syntax
/: PERFORM <form> IN PROGRAM <prog>
/: USING &VAR1&
…
/: CHANGING &VAR2&
…
/: ENDPERFORM
Function Modules in SAP Script
• Form functions
• OPEN_FORM Opens the form output.
• WRITE_FORM Calls a form element
• CLOSE_FORM Ends the form output.
• START_FORM Starts a new form.
• Database
• READ_TEXT Reads a text module and passes
it to the specified work areas.
Module Pool
Creating Screens
Click screen painter button in Workbench
Structure of program
Flow logic
The flow logic of a screen drives the processingsequence for that particular screen. Flow logic describes how the program reacts to the user actions.The events used for this purpose are,
• Process before output (PBO)• Process after input (PAI)• Process on value request (POV)• Process on help request (POH)