SAP R/3 System Overview & ABAP/4 Programming

Beyond the Obvious

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 Statement SELECT-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 KNA1KUNNR. KUNNR

Program Selections • PARAMETERS Statement PARAMETERS <Name> TYPE LIKE OBLIGATORY AS CHECKBOX DEFAULT This statement allows entry of a single value on the selection screen. Example : PARAMETER : P_KUNNR LIKE KNA1-KUNNR. 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-BUKRS DATA : NEW_CC TYPE CC.

Data Definitions • Internal Tables DATA : 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, T_KUNNR LIKE KNA1-KUNNR, SW TYPE C, 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 name SAPMMO3M Screen No 0060 Scrn begin X Field name RM03M- MATNR RM03M-MBRSH . . SAPMM03M . . Field value mat.no indu. sec

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 WRITE_FORM CLOSE_FORM START_FORM

Opens the form output. Calls a form element Ends the form output. Starts a new form.

• Database • READ_TEXT passes

Reads a text module and 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 processing sequence 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)

Sign up to vote on this title
UsefulNot useful