Vous êtes sur la page 1sur 30

ABAP

Advanced Business Application Programming


Programming - Introduction

ABAP
Buts de la formation
A l'issue de la formation les participants sont en mesure :
De nommer les proprits du langage ABAP
De lister les diffrents types de programme ABAP
D'appeler et d'utiliser les documentations ABAP

Overview

Introduction

4-8

Program Type

9 - 20

Transaction

21 - 25

Documentation

26 - 28

Conclusion

29 - 30

Overview

Introduction
Program Type
Transaction
Documentation
Conclusion

Definition
History
ABAP Compilation

Flow of ABAP program

Introduction
Definition
ABAP = Advanced Business Application Programming

Est le langage de programmation dvelopp par SAP


Similaire au langage Cobol et Pascal
Cr en 1980
A t tendu comme langage orient objet en 1998

Proprits

Est catgoris
Permet le multilingue
Permet l'accs SQL
Est indpendant de la plateforme ( OS & DB )
Est compatibilit descendante
Permet la rutilisation de fragment de code ( Include, )

Introduction
History
1950

Machine code

Assembler

1954

Fortran
LISP

PL1

1968

Cobol

Pascal

Smalltalk

.
ABAP

1980
C++

.
Java

1992

ABAP Objects

Introduction
ABAP Compilation
SAP Gui
Appel du programme
1re fois

Application
server

SAP Gui

SAP Gui

Message
"Compilation"

Application
server

Lancement du
programme

Application
server

Compilation
Database
server
Programme
doit tre compil

Code-Source

Database
server

Database
server
Renvoi du
programme compil

ABAP
Compil
7

Introduction
Flow of ABAP program
Presentation

Application

Data

TCODE

Program ABAP

Action

Modules
[Rutilisables]

Table DB

Overview

Introduction
Program Type
Transaction

Definition
Type 1

Type M

Documentation

Type F

Conclusion

Type K

Type J
Type S
Type I

Program Type
Definition (1)
Il existe plusieurs types de programme en ABAP
Le type dtermine les attributs techniques basiques d'un programme
Il doit tre dfini lors de la cration du programme

La principale diffrence entre les diffrents types de programmes est la manire


dont le runtime appelle les blocs de traitement du programme
Quand on lance un programme ABAP, le runtime lance un processeur (qui dpend du type de
programme) qui excute le 1er bloc de traitement ABAP

10

Program Type
Definition (2)
Le type de programme dtermine :
Mode de lancement
Via l'utilisateur (foreground)
En arrire-plan (background)
Via une interface externe (RFC Connexion)

Moyen de lancer un programme


Via le nom du programme
Via un code de transaction

Il existe 9 types de programme


1, F, I, J, K, M, S, T, X

11

Program Type
Type 1 : Executable program (1)
Un programme de type 1 a la caractristique de ne pas tre contrl par
des crans utilisateur
Ne requiert aucune interface utilisateur
Mais le programme executable peut en lancer si ncessaire

Ordre des blocs d'implmentation


1. INITIALIZATION

[ Optionnel ]

L'instruction est dclenche avant que l'cran de slection apparat

2. AT SELECTION-SCREEN [ Optionnel ]
L'instruction est dclenche aprs la saisie de l'utilisateur dans un cran de slection, mais l'cran de
slection reste toujours actif

3. START-OF-SELECTION

[ Vivement recommand ]

L'instruction est dclenche aprs le traitement de l'cran de slection

Exemple : Cration de l'affichage de la liste,

Avantage
Peut tre lanc en arrire-plan
background

12

Program Type
Type 1 : Executable program (2)
Peut tre li un code transaction
cran initial toujours "1000"

Souvent li aux transactions de rapport


Report transaction
Menu SAP = Systme d'informations

Convention
Program executable [ Type 1 ]

ZPROG_< Anne >_< Initiales utilisateur >_< >

Exemple : ZPROG_2010_MF_Flight

Include

ZI_< Anne >_< Initiales utilisateur >_< >


TOP Include => ZI_< Anne >_< Initiales utilisateur >_< >_TOP

!
13

Program Type
Type M : Module Pool (1)
Permet de grer le "Screen Flow Logic"
Capable de grer des crans/interfaces utilisateurs
SAP ALV Grid, SAP Table Control,
Window 1

Window 2

Window 3

Utilise un Work Process Dialog pour afficher les crans


Et attend l'interaction de l'utilisateur
14

Program Type
Type M : Module Pool (2)
DOIT tre li un code de transaction
Qui indique quel programme et quel cran lancer en premier

Convention
Program Module [ Type M ]
SAPMZPROG_< Anne >_< Initiales utilisateur >_< >
Includes

MZI_< Anne >_< Initiales utilisateur >_< >_TOP


MZI_< Anne >_< Initiales utilisateur >_< >_EVENT
MZI_< Anne >_< Initiales utilisateur >_< >_FORM
MZI_< Anne >_< Initiales utilisateur >_< >_PBO
MZI_< Anne >_< Initiales utilisateur >_< >_PAI

ou _E##
ou _F##
ou _O##
ou _I##

!
15

Program Type
Type F : Function Group
Contient les 'Function Modules'
=> Modularisation / module rutilisable
Cr via la transaction SE37 [ Function Builder ]

Ne peut pas tre lanc par un code de transaction


Est appel via du code ABAP depuis d'autre programme

Remarque
Les 'Function Modules' seront vus en dtail dans un prochain cours
16

Program Type
Type K : Class pool
Contient les classes globales / classes dfinitions
Il s'agit de dveloppement ABAP Objects
Cr via la transaction SE24 [ Class Builder ]

Ne peut pas tre lanc par un code de transaction


Remarque
'ABAP Objects' sera vu en dtail dans un prochain cours
17

Program Type
Type J : Interface pool
Contient les interfaces globales
Il s'agit de dveloppement ABAP Objects
Li aux classes ABAP OO
Cr via la transaction SE24 [ Class Builder ]

Ne peut pas tre lanc par un code de transaction


Ni par le nom du programme

Remarque
'ABAP Objects' sera vu en dtail dans un prochain cours
18

Program Type
Type S : Subroutine Pool
Contient les routines d'un programme
Morceau de code qui ne peut tourner seul
Rutilisable
Ne contient aucun cran

Ne peut tre lanc par un code de transaction


Ni par le nom du programme

Remarque
Les types de modularisation (y compris les sous-routine) seront vus en dtail dans
un prochain cours

19

Program Type
Type I : Include Program
Les Includes permettent de dcouper le code en plus petite partie
Meilleures gestion de code (activation, )
Rutilisable avec n'importe quel autre programme

Trs souvent utilis en ABAP

Convention
ZI_< Anne >_< Initiales utilisateur >_< >
TOP Include
ZI_< Anne >_< Initiales utilisateur >_< >_TOP

!
20

Overview

Introduction
Program Type
Transaction
Documentation
Conclusion

Definition
Creation

21

Transaction
Definition
Un code de transaction est un raccourci vers un programme
Pour qu'un programme soit facilement atteignable par un utilisateur
Il faut le lier un code de transaction
Menu utilisateur / Favoris

Convention
Transaction Code
ZTC_< Anne >_< Initiales utilisateur >_< >

Exemple : ZTC_2010_MF_Flight

!
22

Transaction
Creation (1)
Via la transaction SE80
Clic droit sur un 'Package'

23

Transaction
Creation (2)
Choix du TCode
Attention au type !!

24

Transaction
Creation (3)
Indiquer le programme et l'cran initial
Dpend du type slectionn !
Possibilit de choisir les lments d'autorisations
Autorisations que l'utilisateur doit possder au minimum pour lancer cette transaction

Choix du support GUI


SAP GUI Windows
SAP GUI Java
SAP GUI HTML

25

Overview

Introduction
Program Type
Transaction
Documentation
Conclusion

ABAP Documentation
ABAP Keyword

26

Documentation
ABAP Documentation
Transaction : ABAPDOCU
Grande base de connaissances & d'exemples pour le langage ABAP

27

Documentation
ABAP Keyword Documentation
Dans le code source, slectionner un mot-cl, puis cliquer sur [ F1 ]
L'aide ABAP pour ce terme apparatra

28

Overview

Introduction
Program Type
Transaction
Documentation
Conclusion

Questions
Discussion
Contact

29

Questions & Discussion

30