You are on page 1of 28

ABAP Overview

• Abap Workbench
• Architecture système R/3
• Exécution d’un programme (report et programme interactif)
• Logique d’exécution d’un écran
• Abap dictionnary
• Déclarations de données
• Expressions Abap
• Variables système
• Accès à la base de données

1

ABAP Overview
Abap Workbench

• ABAP langage de programmation conçu par SAP pour le
développement d’applications dans SAP
• Outils de l’Abap Workbench

L’éditeur ABAP (SE38)
Le dictionnaire ABAP (SE11)
Le Menu Painter (SE41)
Le Screen Painter (SE51)
Le Function Builder (SE37)
Le Class Builder (SE24)

Object
Navigator
SE80

2

ABAP Overview
Abap Workbench

Le système d’information du Repository
(SE84) permet de retrouver des objets du
workbench

3

ABAP Overview
Architecture Système
R/3

Presentati
on
Server
Layer
Applicatio
n
Server
Layer

Databas
e

Poste bureautique

Work Process
ABAP Program

D (Dialog), PC <--> Serveur
V (Validate) SGBDR <--> serv.
App.

E (Enqueue) Gestion des blocages
B (Batch) Traitements en lots
M (Message)
G (Gate) Passerelle
S (Spool) Gestion des imprimantes
Accès données
Update données

4

ABAP Overview
Exécution d’un
report

ABAP Program
Program start

Repository

Selection
Screen
Data
Objects
ABAP
Processing
Block

Database
table

ABAP Runtime System

Time

5

ABAP Overview
Exécution d’un programme
interactif

ABAP Program

Repository

Program Start

Database
Table

Screen

PBO

ABAP
Processing
Block

PAI

ABAP Runtime System
Time

6

ABAP Overview
Logique d’exécution des écrans d’un programme
interactif

Gui
status
Screen
2

Screen
1
PBO1

Autorisation
s
Blocages
Titres

SCREEN1

Function Code

PAI1

PBO2

SCREEN2

Contrôles saisie
Passage écran suivant
Modification écran actuel
Sortie

7

ABAP Overview
ABAP DICTIONNARY

L’ABAP Dictionary (SE11) définit et gère toutes les
définitions de données du système
Tables transparentes
Élément de données
Domaines
Vues
Structures
Aides à la recherche
Objets de blocage

8

ABAP Overview
ABAP DICTIONNARY – Eléments de données et domaines

Table
Fiel
d

uses

Data
element
uses

Domain
Technical field
attributes

9

ABAP Overview
ABAP DICTIONNARY – Vue de BD

10

ABAP Overview
ABAP DICTIONNARY – Vue de projection

11

ABAP Overview
ABAP DICTIONNARY – Vue d’aide

 

                                                                                                                              

                              

12

ABAP Overview
ABAP DICTIONNARY – Vue de maintenance

13

ABAP Overview
ABAP DICTIONNARY – Structures

Structure
AEBAN
MANDT
Client
BANFN

Purchase requisition number

BSART

Purchase requisition document type

BSAKZ

Control indicator for purchasing document type

MMSTA

Plant-Specific Material Status

ESTKZ

Creation indicator (purch. Requ./schedule lines)

BSTYP

Purchasing document category

WAERS

Currency Key

14

ABAP Overview
ABAP DICTIONNARY – Aide à la recherche

Fonctionnalité standard de SAP qui permet d’afficher une liste
de valeurs possibles pour une zone d’écran.
L’aide à la recherche élémentaire définit:
- la méthode de recherche des informations
- les informations à afficher pour la sélection des
valeurs
- la zone à retourner à l’écran
- le type de dialogue (affichage de la liste complète
ou
restriction de la sélection)
L’aide à la recherche collective combine
plusieurs aides à la recherche
élémentaires et propose ainsi plusieurs
alternatives de recherche

15

ABAP Overview
ABAP DICTIONNARY – jointures

Jointure interne:

Jointure externe

SELECT ...
...
FROM <tab> [INNER] JOIN <dbtab> ON <cond>

SELECT ...
...
FROM <tab> LEFT [OUTER] JOIN <dbtab> ON <cond>

16

ABAP Overview
Déclaration de données

Déclaration en référence à un type de
données
DATA : <varname> TYPE <local-definedtype>.

Type défini localement
TYPES : <user_defined_type> TYPE
<type> 

DATA : <varname> TYPE <ABAP-dictionary-type>.
Type défini dans la SE11
Déclaration en référence à un élément de
données
DATA :
<varname> LIKE <data-object>.

17

ABAP Overview
Déclaration de données

TYPES PREDEFINIS
-

C
N
D
T
I
P
F
STRING

Character
Numeric Text
Date (YYYYMMDD)
Time (HHMMSS)
Integer
Packed Number
Floating Point Number
Character String

18

ABAP Overview
Déclaration de données
STRUCTURE
combinaison de plusieurs champs « liés » à un même objet de
données
Customer

Material

Customer number

Material type

Name

Order unit

City

Net weight

Déclaration en référence à une structure du dictionnaire de
données
DATA : ds_kna1 TYPE kna1.
Déclaration d’une structure spécifique au programme
DATA : BEGIN OF ds_test,
kunnr TYPE kunnr,
name1 TYPE name1_gp,
bukrs TYPE bukrs,
END OF ds_test.

19

ABAP Overview
Déclaration de données
TABLE INTERNE

Sauvegarde dans la mémoire ABAP les données d’une structure.
Les enregistrements sont sauvegardés ligne par ligne, chaque
ligne ayant la même structure .
STANDARD TABLE

SORTED TABLE

Accès via Index et via Clé

HASHED TABLE
Accès via Clé

20

ABAP Overview
Déclaration de données
TABLE INTERNE (suite)
Déclaration en référence à une structure du dictionnaire de
données
DATA t_kna1 TYPE kna1 OCCURS 0.

Déclaration en référence à une structure déclarée dans le
programme
DATA : BEGIN OF ds_test,
kunnr TYPE kunnr,
name1 TYPE name1_gp,
bukrs TYPE bukrs,
END OF ds_test.

data: t1_test like ds_test occurs 0 with header
line.
data: begin of t2_test occurs 0.
include structure ds_test.
data: end of t2_test.

2 façons de déclarer la
même table standard

21

ABAP Overview
Expressions Abap

Initialisation et transfert
VALUE permet de préciser une valeur par défaut
DECIMALS nombre de chiffres après la virgule
CLEAR initialise une variable
Conditions
CASE … ENDCASE teste le contenu de la variable
IF…ELSEIF…ENDIF teste une expression logique
Instructions
MOVE copie le contenu d’une variable vers une autre variable
MOVE-CORRESPONDING copie le contenu des zones de la
structure A vers les zones de la structure B ayant le même nom

22

ABAP Overview
Expressions Abap

Instructions pour traitement de table interne
READ

lecture d’un enregistrement (ligne) de la table

APPEND ajoute un enregistrement en fin de table
INSERT insertion d’un enregistrement dans une table
« sorted » (idem append)
MODIFY remplace le contenu d’une ligne
DELETE suppression d’un enregistrement
LOOP…ENDLOOP permet de parcourir tous les enregistrements
de la table

23

ABAP Overview
Variables système (table SYST)

Variables actives automatiquement dans tous les programmes
Abap
Elle permettent d’identifier le résultat de certaines opérations du
programme
SUBRC

Return code following an ABAP statement

BATCH

Is program running in the background?

MANDT

Current client

DATUM

Current application server date

DBCNT

Number of database rows processed

INDEX

Current loop pass

TABIX

Current line index

DYNNR

Number of the current screen

TCODE

Current transaction code

24

ABAP Overview
Accès à la base de données

Which columns? SELECT <result>

FROM
<table>

Where?

INTO
<destination>
WHERE
<condition>
 
 
 
 

 
 
 
 
 

 
 
 
 
 

Which
table(s)?

Which
lines?
 
 
 
 
 

Single
line
Multiple
lines

Particular
column

25

ABAP Overview
Accès à la base de données: lecture

SELECT SINGLE: sélection d’un enregistrement
unique
(SELECT … ENDSELECT: lecture multiple
séquentielle)
SELECT … INTO TABLE: sélection par bloc
SELECT … INTO
… INTO CORRESPONDING FIELDS
Le code retour (sy-subrc) prend la valeur 0 si au moins un
enregistrement est sélectionné

26

ABAP Overview
Accès à la base de données: écriture

L’instruction INSERT permet d’ajouter un/des nouveau(x)
enregistrement(s) dans une table de base de données

INSERT INTO dbtab VALUES wa.
Insertion d’une ligne dans la table de BD

INSERT dbtab FROM TABLE itab.
Insertion en masse (et en une seule opération) des lignes
de la table interne itab vers la table de BD

27

ABAP Overview
Accès à la base de données: écriture

UPDATE mise à jour de valeurs dans une table
de BD
MODIFY mise à jour / insertion de valeurs dans
une table de BD
DELETE suppression de lignes dans une table de
BD

28