SAP Abap en français

Share Embed Donate


Short Description

Download SAP Abap en français...

Description

Chapitre 7 Éléments de programmation ABAP

Les auteurs remercient Annie-Claude Pellerin pour sa contribution à ce chapitre.

Copyright © 2004, SAP R/3 : Comprendre, configurer et implanter, Benoit A. AUBERT, Pierre-Majorique LÉGER et Suzanne RIVARD, HEC Montréal, Tous droits réservés pour tous pays. Toute traduction ou toute modification sous quelque forme que ce soit est interdite. VERSION PRÉLIMINAIRE

INTRODUCTION

4

ENVIRONNEMENT DE DÉVELOPPEMENT ABAP Editor ABAP Dictionary Dictionary Data Browser

5 5 6 7

INTRODUCTION À LA PR OGRAMMATION EN ABAP Création d’un programme ABAP La structure d’un programme ABAP Fonctions usuelles de ABAP Editor Enregistrer et activer un programme

9 9 13 14 16

STRUCTURE D’UN PROGRAMME ABAP Exemple d’un programme ABAP Commande REPORT En-tête Section : Tables Section : Data Section : Parameters & Select options Section : Initialization Section : Start-of-Selection

16 16 18 19 21 21 24 26 26

COMMANDE WRITE, MISE EN FORME, OPÉRANDES ET ÉLÉMENTS DE TEXTE Commande WRITE Mise en forme Opérandes Chaînes de caractères – Text-elements

27 27 29 32 34

STRUCTURES DE CONTRÔLE Les instructions de conditions Les boucles

40 40 46

TABLES INTERNES 48 Caractéristiques d’une table interne 48 Structure d’une table interne 49 Déclaration d’une table interne 49 Ajout d’enregistrements dans une table interne : Move, Append et Clear 51 Table interne et extraction de la base de données de SAP R/3 53 Afficher le contenu d’une table interne 54 Lecture d’un enregistrement à la fois (Commande Read) 56 Modification d’une table interne (Commande Modify) 59 Effacer un enregistrement (Commande DELETE) 62 Dénombrement des enregistrements de la table interne (Commande DESCRIBE) 64

Copyright © 2004, SAP R/3 : Comprendre, configurer et implanter, Benoit A. AUBERT, Pierre-Majorique LÉGER et Suzanne RIVARD, HEC Montréal, Tous droits réservés pour tous pays. Toute traduction ou toute modification sous quelque forme que ce soit est interdite. VERSION PRÉLIMINAIRE.

2

REQUÊTES SUR LA BASE DE DONNÉES La commande Select Fonctions d’agrégation Concaténer une requête

65 65 69 70

RAPPORTS INTERACTIFS La commande At-line selection Champs de la table SY La commande Hide Le forage sur plusieurs niveaux La commande Window starting at […] ending at […]

72 72 73 74 76 79

CRÉATION DE GRAPHIQUES Fonctions et commandes pour la création de graphiques Graphique à deux dimensions

80 80 81

Copyright © 2004, SAP R/3 : Comprendre, configurer et implanter, Benoit A. AUBERT, Pierre-Majorique LÉGER et Suzanne RIVARD, HEC Montréal, Tous droits réservés pour tous pays. Toute traduction ou toute modification sous quelque forme que ce soit est interdite. VERSION PRÉLIMINAIRE.

3

INTRODUCTION Ce chapitre constitue une introduction au langage de programmation Advanced Business Application Program (ABAP). Il s’agit d’un langage de programmation propriétaire utilisé par la compagnie allemande SAP pour le développement de son progiciel R/3. Plus de 99 % du code de R/3 est programmé en ABAP et toute modification ou ajout dans R/3 implique l’utilisation de ce langage de programmation. Pour les firmes ayant implanté R/3 de même que pour les consultants SAP, le langage de programmation ABAP offre la possibilité de modifier certains aspects du progiciel R/3. Entre autres, il permet de développer des interfaces et des rapports répondant plus adéquatement aux besoins spécifiques des utilisateurs de R/3.

Ce chapitre vise à initier le lecteur à la programmation ABAP. Au cours des différentes sections, nous présentons certains éléments de base nécessaires au développement d’interfaces et de rapports simples en ABAP. Ce chapitre ne remplace pas d’autres documents de référence plus complets . À ce sujet, nous référons le lecteur aux manuels suivants : •

Hoffman Theodore, Writing SAP ABAP/4 Programs, Computi ng McGraw-Hill, 1998, 335 pages;



Keller, H, Krüger, S., ABAP Objects, SAP Press,

Addison-Wesley, 2002, 556

pages; •

Rüdiger Kretschmer et Wolfgang Weiss, Developing SAP's R/3 Applications with ABAP/4, Sybex, 1996, 657 pages.

Par ailleurs, le présent chapitre assume que le lecteur possède une connaissance de base en algorithmique de même qu’en matière de bases de données. La connaissance de certains langages de programmation procéduraux tels que Visual Basic ainsi que du langage de requête SQL devrait également faciliter la lecture de ce chapitre.

Copyright © 2004, SAP R/3 : Comprendre, configurer et implanter, Benoit A. AUBERT, Pierre-Majorique LÉGER et Suzanne RIVARD, HEC Montréal, Tous droits réservés pour tous pays. Toute traduction ou toute modification sous quelque forme que ce soit est interdite. VERSION PRÉLIMINAIRE.

4

ENVIRONNEMENT DE DÉVELOPPEMENT L’environnement

de

développement

se

retrouve

principalement

dans

l’ABAP

Workbench. Ce dernier contient l’ensemble des outils requis pour développer et maintenir les applications développées en langage de programmation AB AP. Dans le cadre de cette section, nous aborderons successivement les outils suivants : l’ABAP Editor, l’ABAP Dictionary et le Dictionary Data Browser. Il est à noter que le chemin d’accès à l’environnement de développement de SAP R/3 est le suivant : Tools > ABAP Workbench. La plupart des outils utilisés dans cette section, portant sur le développement, se retrouvera principalement dans le dossier Overview et Development .

ABAP Editor L’ABAP Editor est le principal outil permettant de créer, modifier et supprimer un programme ABAP. Il gère la création et le maintien des programmes ABAP, des modules de fonctions, de la suite logique des écrans et de la logique de la base de données. C’est à l’aide de cet outil qu’il vous sera possible de programmer en ABAP. Pour y accéder, cliquez sur le module Tools > ABAP Workbench > Development > ABAP Editor ou saisir le numéro de transaction suivant : /nSE38. La prochaine section est consacré à l’ABAP Editor et explique en détails la création et la modification de programme ABAP.

Copyright © 2004, SAP R/3 : Comprendre, configurer et implanter, Benoit A. AUBERT, Pierre-Majorique LÉGER et Suzanne RIVARD, HEC Montréal, Tous droits réservés pour tous pays. Toute traduction ou toute modification sous quelque forme que ce soit est interdite. VERSION PRÉLIMINAIRE.

5

ABAP Dictionary Au même titre que l’ABAP Editor, l’ABAP Dictionary se retrouve aussi sous l’onglet Development du ABAP Workbench. L’ABAP Dictionary permet d’accéder aux structures de données des différentes tables contenues dans SAP R/3. Pour visualiser la structure d’une table, il suffit de se rendre dans l’ABAP Dictionary (SE11) et saisir le nom de cette table sous le champ Database Table. Prenons exemple sur la table SFLIGHT.

Cliquez sur le bouton Display pour faire afficher la structure de données de cette table. La structure de la table SFLIGHT dévoile plusieurs attributs comme le nom de ses champs, le type de données, leur longueur, leur description, etc. Avec ces attributs, il est possible d’effectuer des requêtes permettant, par exemple, de connaître le nombre d’occupants sur un vol donné.

Copyright © 2004, SAP R/3 : Comprendre, configurer et implanter, Benoit A. AUBERT, Pierre-Majorique LÉGER et Suzanne RIVARD, HEC Montréal, Tous droits réservés pour tous pays. Toute traduction ou toute modification sous quelque forme que ce soit est interdite. VERSION PRÉLIMINAIRE.

6

Prenons un autre exemple : la table SY. Il s’agit d’une table très utile dans le cadre du développement d’un programme ABAP. Cette table contient différentes informations de session tels que la date du système, le nom du l’utilisateur, la langue d’utilisation, etc.

Le tableau 1 présente certains des champs de cette table.

Tableau 1 - Le système Table-Champs

Description

SY-DATUM

Date du système

SY-TCODE

Numéro de la transaction en cours (ex : SE38)

SY-MANDT

Numéro du client utilisé (ex : 401)

SY-LANGU

Langage de la session (ex : EN)

SY-UNAME

Nom d’usager

SY-UZEIT

Heure du serveur

SY-REPID

Nom du programme en cours

SY-SUBRC

Valeur du test logique

Dictionary Data Browser Le Data Browser permet de visualiser les enregistrements des tables de données de R/3. Pour se rendre au Dictionary Data Browser: Tools > ABAP Workbench > Overview > Data Browser (/nSE16). Il suffit alors d’inscrire le nom de la table dans le champ approprié. Dans notre cas, inscrire SFLIGHT puis cliquez sur Enter

.

L’écran qui apparaît permet de raffiner la recherche des enregistrements. Il affiche tous les champs de la table SFLIGHT.

Copyright © 2004, SAP R/3 : Comprendre, configurer et implanter, Benoit A. AUBERT, Pierre-Majorique LÉGER et Suzanne RIVARD, HEC Montréal, Tous droits réservés pour tous pays. Toute traduction ou toute modification sous quelque forme que ce soit est interdite. VERSION PRÉLIMINAIRE.

7

Pour raffiner une recherche, cliquer dans l’un des champs d’expansion

, puis sur son bouton

. Une nouvelle fenêtre affichera toutes les valeurs que le champ peut

prendre.

Sélectionner la valeur désirée pour désigner la limite (en l’instance de AC à BA) inférieure et supérieure de la recherche puis cliquez sur E xécuter

.

Seuls les noms des compagnies aériennes, dont l’acronyme (CARRID) se situe dans l’intervalle alphabétique saisie par l’utilisateur (en l’instance de AC à BA), seront affichés à l’écran. Voici un échantillon des résultats :

Copyright © 2004, SAP R/3 : Comprendre, configurer et implanter, Benoit A. AUBERT, Pierre-Majorique LÉGER et Suzanne RIVARD, HEC Montréal, Tous droits réservés pour tous pays. Toute traduction ou toute modification sous quelque forme que ce soit est interdite. VERSION PRÉLIMINAIRE.

8

Pour afficher tous les enregistrements de la table SFLIGHT, ne rien inscrire dans les champs d’intervalles et simplement cliquez sur Exécuter

. La résultante de cette

action permet d’afficher tous les enregistrements de la table SFLIGHT.

INTRODUCTION À LA PROGRAMMATION EN ABAP Cette section vise à introduire le lecteur à la programmation en ABAP. Nous expliquons d’abord comment créer un programme en ABAP dans l’ABAP Editor. Un programme ABAP simple est ensuite illustré afin de mettre en évidence les différentes parties qui le composent. Après avoir présenté certaines spécificités de la programmation en ABAP de même que les fonctions usuelles de l’ABAP Editor, nous terminons cette section sur l’enregistrement des programmes ABAP de même que sur leur activation. Création d’un programme ABAP La création d’un programme ABAP se fait à partir de la transaction ABAP Editor (SE38). La figure ci-dessous présente l’écran initial de l’ ABAP Editor.

Copyright © 2004, SAP R/3 : Comprendre, configurer et implanter, Benoit A. AUBERT, Pierre-Majorique LÉGER et Suzanne RIVARD, HEC Montréal, Tous droits réservés pour tous pays. Toute traduction ou toute modification sous quelque forme que ce soit est interdite. VERSION PRÉLIMINAIRE.

9

Notons avant de poursuivre que, par convention, les programmes ABAP créés dans le cadre des formations SAP à HEC Montréal doivent être nommés sous la forme suivante : Y?##EX_&&. Le caractère point d’interrogation correspond à la session en cours et s’incrémente d’une année scolaire à une autre. Votre professeur vous indiquera la lettre qui est associée à votre cours pour votre session. Les caractères « ## » correspondent aux derniers numéros de votre code d’us ager et « && » au numéro de l’exercice. Par ailleurs, R/3 requiert que la première lettre d’un programme désigne sa provenance ou son utilité. Dans notre cas, le Y signifie un programme temporaire qui ne fera pas partie du système de production.

Comme il est souvent plus aisé de copier un gabarit de programme ABAP plutôt que de partir d’une feuille blanche, les opérations suivantes expliquent comment dupliquer le gabarit YX00EX_gabarit afin de l’utiliser dans un nouveau programme. Procédure pour copier le gabarit YX00EX_gabarit a) Une fois l’ABAP Editor ouvert, saisir le nom du programme recherché dans le champ Program. Dans notre cas, saisir YX00ex_gabarit.

b) Cliquez sur l’icône Copy .

Copyright © 2004, SAP R/3 : Comprendre, configurer et implanter, Benoit A. AUBERT, Pierre-Majorique LÉGER et Suzanne RIVARD, HEC Montréal, Tous droits réservés pour tous pays. Toute traduction ou toute modification sous quelque forme que ce soit est interdite. VERSION PRÉLIMINAIRE.

10

c) Sous Target Program, inscrire le nom de votre programme tout en vous conformant au format décrit dans la section précédente.

« y » = programme temporaire. « ? » = lettre indiquée par le professeur (par exemple « a »). « ## » = les 2 derniers chiffres de votre code usager (par exemple si le code d’usager est zhec3715_25 , le « ## » serait remplacé par 25). « && » = numéro de l’exercice ou nom de l’exercice. Ainsi, dans cet exemple, le résultat final serait YA25ex_30.

d) Pour confirmer l’opération, cliquez sur le bouton

. Cette fenêtre apparaîtra :

Copyright © 2004, SAP R/3 : Comprendre, configurer et implanter, Benoit A. AUBERT, Pierre-Majorique LÉGER et Suzanne RIVARD, HEC Montréal, Tous droits réservés pour tous pays. Toute traduction ou toute modification sous quelque forme que ce soit est interdite. VERSION PRÉLIMINAIRE.

11

e) S’assurer que les deux premières options (source et text elements) soient cochées, puis appuyer sur Copy

.

f) Dans la fenêtre suivante, inscrire dans le champ Development class : $TMP

Le champ Person responsible devrait représenter votre nom d’utilisateur lors de l’ouverture d’une session dans SAP R/3.

g) Enregistrer

les

d’enregistrement

modifications

apportées

en

cliquant

sur

le

bouton

.Le message suivant devrait apparaître au bas de l’écran :

h) Par défaut, l’opt ion code source (Source Code) est sélectionnée. Cette dernière permet d’accéder directement au code du programme.

Copyright © 2004, SAP R/3 : Comprendre, configurer et implanter, Benoit A. AUBERT, Pierre-Majorique LÉGER et Suzanne RIVARD, HEC Montréal, Tous droits réservés pour tous pays. Toute traduction ou toute modification sous quelque forme que ce soit est interdite. VERSION PRÉLIMINAIRE.

12

i) Pour faire afficher le programme nouvellement copié, cliquez sur le bouton Display et pour le modifier, utiliser le bouton « Change ».

La structure d’un programme ABAP Un programme ABAP est un ensemble d’instructions composé de variables et de procédures acceptées par R/3. Chaque programme codé en ABAP doit contenir trois parties; la première décrivant le programme en question, la seconde servant à déclarer les variables ainsi que les paramètres et la dernière contenant l’écriture de la procédure. Voici un exemple d’un programme ABAP simple illustrant ces trois sections. REPORT YX00EX_PROGRAMME NO STANDARD PAGE HEADING. ************************************************************** * Exercice: Cours: 3 -715-00 * * Date rendue: Trimestre: * * * * Nom du programme: Programmeur: A.C.Pellerin * * Matricule: * * * * Description du programme: * * Faire afficher une phrase à l'écran * * * * Inputs: Outputs: À l'écran * * * * * * Historique des modifications: * * Date: Programmeur: Description: * * * ************************************************************** ***** Tables **********

En-tête

***** Data ************ ***** Parameters & Select Options *****

Déclaration des variables

***** Initialization ********* ***** Start of Selection *****

Procédures

*Faire afficher à l'écran : Programmer en langage ABAP write:/ 'Programmer en langage ABAP'.

Lorsque le programme ci-haut sera exécuté, la phrase suivante apparaîtra à l’écran :

Copyright © 2004, SAP R/3 : Comprendre, configurer et implanter, Benoit A. AUBERT, Pierre-Majorique LÉGER et Suzanne RIVARD, HEC Montréal, Tous droits réservés pour tous pays. Toute traduction ou toute modification sous quelque forme que ce soit est interdite. VERSION PRÉLIMINAIRE.

13

Spécifications lors de la programmation en ABAP Lors de la programmation en ABAP, certaines règles doivent être suivies afin de s’assurer du bon fonctionnement du programme en question ou de clarifier la structure de celui-ci : •

Chaque instruction se termine par un point. L’oCha91 Tw Tj quvoion l3 0 TD /F789 Tc -0.353(-) Tj 3.75

Copyright © 2004, SAP R/3 : Comprendre, configurer et implanter, Benoit A. AUBERT, Pierre-Majorique LÉGER et Suzanne RIVARD, HEC Montréal, Tous droits réservés pour tous pays. Toute traduction ou toute modification sous quelque forme que ce soit est interdite. VERSION PRÉLIMINAIRE.

14

Tableau 2 - Description des principales fonctions de la barre d'outil de l'ABAP Editor Icône

Fonction Previous Next

Description Revenir à la page précédente Aller à la page suivante

Display/Change

Passer du mode Afficher (Display) au mode Modifier (Change)

Active/Inactive

Le programme est disponible pour l’ensemble de R/3 lorsqu’il est actif ou se limite à l’ABAP Workbench lorsqu’il est inactif

Other object

Permet d’effectuer différentes recherches sans sortir du programme. Par exemple : ouvrir un nouveau programme, visualiser les champs d’une table spécifique (/nSE11), etc.

Check

Effectue une validation de la syntaxe du programme

Activate

Test

Rend le programme disponible pour l’ensemble de R/3 Exécute le programme (et le compile si ce n’est pas déjà fait)

Where used-list

Permet de faire afficher la liste des programmes, écrans, tables de données, vues utilisant ce même objet. Pour ce faire, double-cliquez sur l’objet en question, ou placer le curseur de la souris sur celui-ci, et sélectionner le bouton Where used-list.

Display object list

Affiche la liste des objets utilisés dans le programme

Display navigation window

Affiche la fenêtre de navigation

Help on

Documentation disponible directement dans SAP R/3 couvrant plusieurs sujets sous le thème de la programmation en ABAP

Set/delete breakpoint

Installation et suppression de drapeaux. Permet de signaler au débogueur de SAP R/3 que le programme doit s’arrêter là où l’on retrouve cet arrêt.

Pretty Printer

Permet de formater le document pour l’impression. Option rarement utilisée.

Copyright © 2004, SAP R/3 : Comprendre, configurer et implanter, Benoit A. AUBERT, Pierre-Majorique LÉGER et Suzanne RIVARD, HEC Montréal, Tous droits réservés pour tous pays. Toute traduction ou toute modification sous quelque forme que ce soit est interdite. VERSION PRÉLIMINAIRE.

15

Enregistrer et activer un programme Après toutes modifications au code d’un programme ABAP, il importe d’enregistrer ce dernier en cliquant sur l’icône de sauvegarde

. Par ailleurs, il faut activer le

programme pour le rendre disponible dans SAP R/3 et ce en cliquant sur le bouton activer

.

STRUCTURE D’UN PROGRAMME ABAP Cette section présente en détail la structure d’un programme ABAP. Pour faciliter la compréhens ion du lecteur, nous débutons par un exemple complet de programme. Cet exemple vise à illustrer la structure typique d’un programme ABAP. Le reste de la section s’attarde individuellement sur chacune des différentes parties d’un programme ABAP.

Exemple d’un programme ABAP Les différentes parties que l’on retrouve généralement dans un programme ABAP sont les suivantes : a) la commande Report; b) l’en-tête; c) la section Tables; d) la section Data; e) la section Parameters & Select Options; f) la section Initialization; g) et finalement la section Start of Selection.

Copyright © 2004, SAP R/3 : Comprendre, configurer et implanter, Benoit A. AUBERT, Pierre-Majorique LÉGER et Suzanne RIVARD, HEC Montréal, Tous droits réservés pour tous pays. Toute traduction ou toute modification sous quelque forme que ce soit est interdite. VERSION PRÉLIMINAIRE.

16

Voici un exemple de programme ABAP délimité en fonction de cette structure :

REPORT YX101 NO STANDARD PAGE HEADING.

************************************************************** * Exercice: Cours: 3-715-00 * * Date rendue: Trimestre: * * * * Nom du programme: Programmeur: ACP * * Matricule: * * * * Description du programme: * * Structure d’un programme abap * * * * Inputs: ? Parameters Outputs: * * Tables utilisées: * * * * Historique des modifications: * * Date: Programmeur: Description: * * * ************************************************************** ***** Tables ********** *utilisation de la table scarr tables: scarr. ***** Data ************ *déclaration d'une table interne data: begin of itable occurs 0. include structure scarr. data: end of itable. ***** Parameters & Select Options ***** *déclaration d'un paramètre parameters: air_id like scarr-carrid. ***** Initialization ********* ***** Start of Selection ***** *requête select * from scarr into table itable where carrid = air_id. *si on trouve des données pour la requête ... if sy-subrc = 0. *écrire comme en-tête write: /01 'ID'(001), 10 'Nom'(002), 30 'Monnaie'(003). *boucle affichant les données trouvées loop at itable. write:/ itable-carrid under text-001, itable-carrname under text-002, itable-currcode under text-003. endloop. else. write 'Aucune donnée trouvée'(004). endif.

Copyright © 2004, SAP R/3 : Comprendre, configurer et implanter, Benoit A. AUBERT, Pierre-Majorique LÉGER et Suzanne RIVARD, HEC Montréal, Tous droits réservés pour tous pays. Toute traduction ou toute modification sous quelque forme que ce soit est interdite. VERSION PRÉLIMINAIRE.

17

Voici l’écran de saisie appelé dans ce programme. Il s’agit de l’interface perm ettant à l’utilisateur de saisir une valeur qui sera utilisée lors de l’exécution du programme.

Compte tenu de la valeur saisie dans l’écran précédent, le programme affiche à l’écran le résultat suivant :

Commande REPORT

Copyright © 2004, SAP R/3 : Comprendre, configurer et implanter, Benoit A. AUBERT, Pierre-Majorique LÉGER et Suzanne RIVARD, HEC Montréal, Tous droits réservés pour tous pays. Toute traduction ou toute modification sous quelque forme que ce soit est interdite. VERSION PRÉLIMINAIRE.

18

Tableau 3 - Options de la commande REPORT Options NO STANDARD PAGE HEADING MESSAGE-ID

LINE-SIZE LINE -COUNT

Description Affiche un en-tête par défaut Permet l’affichage de messages à l’aide d’un numéro identifiant ce dernier Nombre de colonnes contenues dans une page Nombre de lignes par page

Voici la commande REPORT apparaissant au haut du programme YX102 :

REPORT YX102 NO STANDARD PAGE HEADING MESSAGE-ID ZU LINE-SIZE 100 LINE-COUNT 20.

En-tête La première partie d’un programme est généralement consacrée à des informations concernant le ou les programmeurs, le programme de même que toute autre information qui pourrait faciliter la compréhension du code à un tiers. Dans le cadre des cours de formations SAP à HEC Montréal, l’en-tête utilisé est celui du gabarit YX00ex_gabarit. La figure ci-dessous présente cet en-tête.

Copyright © 2004, SAP R/3 : Comprendre, configurer et implanter, Benoit A. AUBERT, Pierre-Majorique LÉGER et Suzanne RIVARD, HEC Montréal, Tous droits réservés pour tous pays. Toute traduction ou toute modification sous quelque forme que ce soit est interdite. VERSION PRÉLIMINAIRE.

19

Figure 1 – En-tête du gabarit YX00EX_GABARIT

************************************************************** * Exercice: Cours: 3 -715-00 * * Date rendue: Trimestre: * * * * Nom du programme: Programmeur: A.C.Pellerin * * Matricule: * * * * Description du programme: gabarit de la structure * * d'un programme * * * * * * Inputs: Outputs: À l'écran * * * * * * Historique des modifications: * * Date: Programmeur: Description: * * * **************************************************************

On retrouve également dans ce gabarit un second bloc de commentaires (voir figure suivante). Ces 5 marqueurs sont utilisés pour délimiter les autres sections d’un programme afin d’en faciliter la lecture. Évidemment, puisque ce sont des commentaires, ils n’affectent en rien le déroulement du programme.

Figure 2 - Marqueurs de délimitation du programme YX00EX_GABARIT

***** Tables ********** ***** Data ************ ***** Parameters & Select Options ***** ***** Initialization ********* ***** Start of Selection *****

Copyright © 2004, SAP R/3 : Comprendre, configurer et implanter, Benoit A. AUBERT, Pierre-Majorique LÉGER et Suzanne RIVARD, HEC Montréal, Tous droits réservés pour tous pays. Toute traduction ou toute modification sous quelque forme que ce soit est interdite. VERSION PRÉLIMINAIRE.

20

Section : Tables Les tables de la base de données de SAP R/3

Copyright © 2004, SAP R/3 : Comprendre, configurer et implanter, Benoit A. AUBERT, Pierre-Majorique LÉGER et Suzanne RIVARD, HEC Montréal, Tous droits réservés pour tous pays. Toute traduction ou toute modification sous quelque forme que ce soit est interdite. VERSION PRÉLIMINAIRE.

21

Tableau 4 - Déclaration dans la section DATA Fonctions

Description Chacune des variables que l’on retrouve dans un programme doit être déclarée dans la section Data. Le langage ABAP impose que le nom des variables :

NAME

LENGTH

§

Soit d’un maximum 30 caractères

§

Débute par une lettre

§

N’utilise pas le tiret (-) même s’il est permis; cela porte à confusion avec les champs des tables

§

N’utilise pas de mots réservés (commandes ABAP)

La longueur du champ (length) doit être spécifiée à droite de son nom. Le type d’une nouvelle variable doit être déclaré. Les différents types de données, habituellement utilisés dans la déclaration des variables, sont présentés dans le tableau cidessous :

TYPE

DESCRIPTION

EXEMPLE

C

Caractère

‘Bonjour’

D

Date, format YYYYMMDD

19690623

F

Point flottant

7.5

I

Nombre entier

789

N

Texte numérique

10000

T

Heure, format HHMMSS

123456

P

Décimal condensé (arrondi)

36.50

VALUE

Ce champ permet de spécifier une valeur par défaut à la variable.

DECIMALS

Lorsqu’une variable est de type décimal (P), on doit spécifie le nombre de chiffres après la virgule.

Copyright © 2004, SAP R/3 : Comprendre, configurer et implanter, Benoit A. AUBERT, Pierre-Majorique LÉGER et Suzanne RIVARD, HEC Montréal, Tous droits réservés pour tous pays. Toute traduction ou toute modification sous quelque forme que ce soit est interdite. VERSION PRÉLIMINAIRE.

22

À titre d’exemple, le programme suivant crée la variable montant_total. D’une longueur de 6 caractères, cette variable est de type décimal arrondi (p) et doit afficher 2 chiffres après la virgule. Cette variable doit donc être déclarée de la façon suivante :

*****Data***** DATA : montant_total(6) TYPE p DECIMALS 2.

Notons qu’il est souvent plus facile de faire référence à une variable existante dans R/3 plutôt que d’en déclarer une complètement nouvelle. Pour ce faire, vous devez utiliser l’expression Like. Dans un tel cas, il n’est pas nécessaire de déclarer le type de donnée de la nouvelle variable, puisqu’elle viendra calquer le type du champ auquel elle fait référence. Il n’est pas non plus nécessaire de déclarer les tables de références dans la section tables. DATA :

LIKE table-champs.

L’exemple suivant déclare trois variables calquées sur des champs de la table SCARR de la base de données IDES de SAP R/3.

*****Data***** DATA: s_carrid LIKE SCARR-CARRID, s_carrname LIKE SCARR-CARRNAME, s_currcode LIKE SCARR-CURRCODE.

Copyright © 2004, SAP R/3 : Comprendre, configurer et implanter, Benoit A. AUBERT, Pierre-Majorique LÉGER et Suzanne RIVARD, HEC Montréal, Tous droits réservés pour tous pays. Toute traduction ou toute modification sous quelque forme que ce soit est interdite. VERSION PRÉLIMINAIRE.

23

À titre d’information, la figure suivante présente un extrait de la table SCARR avec les variables de références utilisées dans l’exemple.

Section : Parameters & Select options Parameters La section Parameters permet de déclarer des variables dont la valeur sera saisie ultérieurement dans un formulaire par l’utilisateur du système. Le nom d’un paramètre ne doit pas dépasser 8 caractères. Par exemple, le programme YX110 crée une interface permettant de faire certaines opérations arithmétiques de base :

*****Parameters***** PARAMETERS:

nb_1 TYPE i,

nb_2 TYPE i, operande(1) TYP E C OBLIGATORY.

À l’écran, le formulaire de saisie des paramètres s’affichera de la manière suivante :

Soulignons que l’option Obligatory oblige l’utilisateur à saisir une valeur dans le champ de la variable obligatoire spécifiée. Si ce champ n’est pas complété, le programme ne pourra pas s’exécuter.

Copyright © 2004, SAP R/3 : Comprendre, configurer et implanter, Benoit A. AUBERT, Pierre-Majorique LÉGER et Suzanne RIVARD, HEC Montréal, Tous droits réservés pour tous pays. Toute traduction ou toute modification sous quelque forme que ce soit est interdite. VERSION PRÉLIMINAIRE.

24

Select-Options Le Select-Options est similaire au Parameters. Il permet à l’utilisateur de saisir un intervalle de valeur. Cependant, le Select-options ne peut être utilisé que pour faire des requêtes sur les tables de SAP R/3. D’ailleurs, les tables utilisées lors de requêtes doivent être déclarées dans la section Tables. Enfin, soulignons que le nom donné à un Select-Options ne doit pas dépasser 8 caractères. Le Select-Options du programme YX120, permettra de saisir un intervalle de date pour faire afficher tous les vols effectués durant la période spécifiée. La liste des vols (champ FLDATE ) est contenue dans la table SFLIGHT :

***** Tables ********** TABLES: sflight. ***** Data ************

Copyright © 2004, SAP R/3 : Comprendre, configurer et implanter, Benoit A. AUBERT, Pierre-Majorique LÉGER et Suzanne RIVARD, HEC Montréal, Tous droits réservés pour tous pays. Toute traduction ou toute modification sous quelque forme que ce soit est interdite. VERSION PRÉLIMINAIRE.

25

À l’écran, le formulaire de saisie du programme YX130 s’affichera de la manière suivante :

Le programme en langage ABAP permettant de faire afficher l’interface ci-haute est le suivant :

***** Tables ********** TABLES: spfli, sflight. ***** Data ************ ***** Parameters & Select Options ***** PARAMETERS: Cie LIKE SPFLI-CARRID. SELECT-OPTIONS: Duree FOR SFLIGHT-FLDATE.

Section : Initialization L’événement d’initialisation est déclenché avant l’affichage du premier écran. Il est recommandé d’utiliser cet événement pour saisir des valeurs par défaut complexes. Dans le cadre des formations SAP à HEC Montréal, ce type de fonction ne sera pas utilisé.

Section : Start-of-Selection Habituellement, la majeure partie du code se situe dans le Start-of-Selection puisque c’est dans cette partie que l’on retrouve les instructions à exécuter. Les prochaines sections de ce chapitre sont consacrées à l’explication des fonctions de programmation utilisées dans le Start-of-Selection.

Copyright © 2004, SAP R/3 : Comprendre, configurer et implanter, Benoit A. AUBERT, Pierre-Majorique LÉGER et Suzanne RIVARD, HEC Montréal, Tous droits réservés pour tous pays. Toute traduction ou toute modification sous quelque forme que ce soit est interdite. VERSION PRÉLIMINAIRE.

26

COMMANDE WRITE, MISE EN FORME, OPÉRANDES ET ÉLÉMENTS DE TEXTE Cette section est consacrée à différentes fonctions reliées à la présentation et à la mise en forme des formulaires. Nous abordons successivement la commande d’écriture (WRITE), les fonctions de mise en forme et la déclaration des éléments de texte. Commande WRITE La commande Write permet d’afficher à l’écran les résultats de l’exécution d’un programme. Dans sa forme la plus simple, la commande Write se rédige de la manière suivante :

WRITE : 'Bonjour'.

La commande est suivi du symbole « : » et le texte à afficher doit être précédé et suivi du guillemet simple « ' ». Par ailleurs, pour ne pas entrer en confusion avec la fin réelle de la chaîne de caractères, il importe de savoir que les chaînes de caractères comportant une apostrophe doivent saisir cette dernière deux fois. Par exemple :

WRITE : 'Bienvenue à l’’aéroport Pierre-Éliot-Trudeau'.

Certaines options peuvent être ajoutées à la fonction Write afin d’identifier le positionnement, dans l’écran, du texte à afficher. Voici comment se rédigent ces options de positionnement : WRITE :

Copyright © 2004, SAP R/3 : Comprendre, configurer et implanter, Benoit A. AUBERT, Pierre-Majorique LÉGER et Suzanne RIVARD, HEC Montréal, Tous droits réservés pour tous pays. Toute traduction ou toute modification sous quelque forme que ce soit est interdite. VERSION PRÉLIMINAIRE.

27

Tableau 5- Options de positionnement de la commande Write Option /

Description Saute à la prochaine ligne

Colonne

Identifie l’emplacement de l’affichage

Longueur Nombre de caractères à écrire Les deux programmes suivant présentent différentes utilisations des options de positionnement de la commande Write. Le premier programme (YX140)

utilise

uniquement l’option de saut de ligne et l’option d’emplacement (colonne).

***** Start of Selection ***** *affichage des phrases WRITE : /10

'SAP',

/15

'ABAP',

/20

'Technologie de l’’ information',

/15

'Aspects technologiques'.

À l’écran, le programme précédent s’affiche tel qu’illustré ci-dessous. Il est à remarquer que la fonction saut de ligne permet d’afficher ces expressions sur des lignes distinctes et que l’option d’emplacement correspond au nombre de caractères qui sépare l’expression de la gauche de l’écran.

Copyright © 2004, SAP R/3 : Comprendre, configurer et implanter, Benoit A. AUBERT, Pierre-Majorique LÉGER et Suzanne RIVARD, HEC Montréal, Tous droits réservés pour tous pays. Toute traduction ou toute modification sous quelque forme que ce soit est interdite. VERSION PRÉLIMINAIRE.

28

Le second programme (YX141) utilise les trois options d’affichage. ***** Start of Selection ***** *affichage des résultats WRITE : /5(3) 'SAP', /5(2) 'ABAP', /15 'Technologie de l’’ information', 'et', 'Aspects Technologiques'.

L’affichage de ce programme est illustré ci-après. Il est important de noter que l’option longueur limite le nombre de caractères affichés. Ainsi, au lieu d’écrire ABAP en entier, le programme affiche, tel que spécifié par le (2), seulement les 2 premiers caractères de l’expression.

Mise en forme L’ABAP Editor comporte différentes fonctions permettant une certaine mise

Copyright © 2004, SAP R/3 : Comprendre, configurer et implanter, Benoit A. AUBERT, Pierre-Majorique LÉGER et Suzanne RIVARD, HEC Montréal, Tous droits réservés pour tous pays. Toute traduction ou toute modification sous quelque forme que ce soit est interdite. VERSION PRÉLIMINAIRE.

29

Le programme suivant (YX150) utilise ces différentes fonctions de mise en forme. Nous avons commenté le programme afin d’expliquer l’effet de chacune de ces fonctions sur l’affic hage à l’écran.

***** Start of Selection ***** *trace une ligne horizontale débutant à la colonne #1 et *se terminant à la colonne # 100 uline at /1(100). *saute 5 lignes SKIP 5. *se rend à la ligne 6 SKIP TO LINE 6. *trace une ligne verticale à la position 1, 5 et 10 en *sautant une ligne à chaque fois WRITE:/1 SY-VLINE, /5 SY-VLINE, /10 SY-VLINE. *débute l'écriture de la phrase à la colonne numéro 25 WRITE: /25 'Cette phrase commence à la position 25'.

Copyright © 2004, SAP R/3 : Comprendre, configurer et implanter, Benoit A. AUBERT, Pierre-Majorique LÉGER et Suzanne RIVARD, HEC Montréal, Tous droits réservés pour tous pays. Toute traduction ou toute modification sous quelque forme que ce soit est interdite. VERSION PRÉLIMINAIRE.

30

La figure ci-dessous illustre à quoi ressemblerait l’affichage de ce programme.

Notons enfin que pour réaliser l’affichage d’un tableau, l’utilisation d’une boucle est souvent nécessaire afin de répéter le nombre de lignes horizontales (ULINE) et verticales (SY-VLINE) requis. Cette fonctionnalité est présentée un peu plus tard dans ce chapitre avec les autres structures de contrôle.

Copyright © 2004, SAP R/3 : Comprendre, configurer et implanter, Benoit A. AUBERT, Pierre-Majorique LÉGER et Suzanne RIVARD, HEC Montréal, Tous droits réservés pour tous pays. Toute traduction ou toute modification sous quelque forme que ce soit est interdite. VERSION PRÉLIMINAIRE.

31

Opérandes Plusieurs programmes nécessitent l’utilisation d’opérandes afin d’exécuter des calculs de différentes natures. Voici donc un tableau indiquant les opérateurs arithmétiques les plus utilisés.

Tableau 7 - Opérateurs arithmétiques les plus utilisés Nom

Commandes

Addition

+

Soustraction

-

Division

/

Multiplication

*

Exposant

**

Modulo

MOD

Division entière

DIV

Fonctions arithmétiques Racine carrée

SQRT( )

Logarithme

LOG( )

Il est à noter que, lors de l’utilisation des fonctions arithmétiques, les valeurs entre

Copyright © 2004, SAP R/3 : Comprendre, configurer et implanter, Benoit A. AUBERT, Pierre-Majorique LÉGER et Suzanne RIVARD, HEC Montréal, Tous droits réservés pour tous pays. Toute traduction ou toute modification sous quelque forme que ce soit est interdite. VERSION PRÉLIMINAIRE.

32

Le programme suivant (YX171) exécute des calculs sur des variables déclarées dans la section Data.

***** Tables ********** ***** Data ************ DATA: R1 TYPE i, R2 TYPE i, R3 TYPE i, R4 TYPE i, D1 TYPE i VALUE '5', D2 TYPE i VALUE '20'. ***** Parameters & Select Options ***** ***** Initialization ********* ***** Start of Selection ***** R1 = D1 + D2. R2 = D1 * D2. R3 = D2 / D1. R4 = D1 mod D2. *La commande WRITE permet d’afficher les résultats *à l’écran et la barre *oblique produit un saut de ligne.

WRITE : /

R1,

/

R2,

/

R3,R4.

L’exécution de ce programme permet d’afficher à l’écran le résultat suivant :

Copyright © 2004, SAP R/3 : Comprendre, configurer et implanter, Benoit A. AUBERT, Pierre-Majorique LÉGER et Suzanne RIVARD, HEC Montréal, Tous droits réservés pour tous pays. Toute traduction ou toute modification sous quelque forme que ce soit est interdite. VERSION PRÉLIMINAIRE.

33

Chaînes de caractères – Text-elements SAP R/3 offre la possibilité de modifier la langue utilisée par l’application (fonctionnalité multilingue). Pour ce faire, chaque terme (élément de texte) utilisé dans SAP doit être répertorié et numéroté afin d’y associer la traduction appropriée. La majorité des interfaces et rapports disponibles dans R/3 ont été préalablement traduits et sont accessibles dans les principales langues disponibles dans SAP R/3. Évidemment, R/3 ne traduit pas lui-même les éléments de texte. Chaque traduction doit être saisie une à une et c’est donc pourquoi il peut arriver, à l’occasion, de tomber dans R/3 sur des expressions en allemand au sein de certains rapports ou interfaces rarement utilisées !

Lors du développement d’un rapport ou d’une interface en ABAP, il importe de déclarer toutes les chaînes de caractères utilisées dans le programme afin de faciliter sa traduction subséquente. Concrètement, il suffit d’inscrire un numéro, entre parenthèse, à la suite de chaque élément de texte du programme et de suivre la procédure cidessous pour les répertorier.

Prenons l’exemple d’une entreprise possédant une filiale francophone et une filiale anglophone. L’entreprise souhaite développer un rapport de vente journalier personnalisé pouvant s’afficher dans les deux langues. En anglais, le rapport doit afficher

les

informations

suivantes :

No_order ,

No_customer,

O

et

r

No_salesrep. En français, ces termes se traduisent de la manière suivante : le No_com, le No_client, la Valeur_com et le No_vendeur. Le programme YX160 est rédigé en anglais et l’en-tête du rapport est composé des éléments de texte suivants : W

R

'No_Order'(201),

20 'No_Customer'(202), 36 'Order_Value'(203), 57 'No_Salesrep'(204).

Copyright © 2004, SAP R/3 : Comprendre, configurer et implanter, Benoit A. AUBERT, Pierre-Majorique LÉGER et Suzanne RIVARD, HEC Montréal, Tous droits réservés pour tous pays. Toute traduction ou toute modification sous quelque forme que ce soit est interdite. VERSION PRÉLIMINAIRE.

34

Procédure pour répertorier les éléments de texte La numérotation de ces éléments de texte et le fait de les répertorier dans un index permettront de traduire automatiquement l’en-tête du rapport (en assumant que la traduction des termes a été saisie préalablement). Les cinq étapes suivantes expliquent comment répertorier les éléments de texte de l’exemple précédent.

a) Double-cliquez sur le premier élément de texte, soit ‘No_order’, ou sur le numéro suivant ce dernier (201). Une fenêtre comme celle-ci apparaîtra :

Cliquez sur Yes. b) Un écran répertoriant l’ensemble des éléments de texte du programme suivra.

Jusqu’à maintenant, nous avons répertorié que le premier élément de texte du programme.

Copyright © 2004, SAP R/3 : Comprendre, configurer et implanter, Benoit A. AUBERT, Pierre-Majorique LÉGER et Suzanne RIVARD, HEC Montréal, Tous droits réservés pour tous pays. Toute traduction ou toute modification sous quelque forme que ce soit est interdite. VERSION PRÉLIMINAIRE.

35

c) Pour activer l’élément sélectionné, cliquez sur le bouton Activate . Sélectionner le nom du programme puis cliquez sur le bouton Continue .

d) Enregistrer les ajouts en cliquant sur l’icône Save . Au bas de l’écran, le message suivant apparaîtra :

e) Suivre la même procédure pour tous les éléments de texte. Finalement, tous les éléments de texte se retrouvent répertoriés.

Procédure pour visualiser et modifier les éléments de texte Par ailleurs, la transaction /nSE32 permet de visualiser et de modifier tous les éléments de texte activés et enregistrés pour un programme spécifique sans passer par l’ABAP Editor. Il est aussi possible d’y accéder par le chemin d’accès suivant : Tools > ABAP Workbench > Development > Programming environ > Text elements . Voici la procédure à suivre pour visualiser et modifier un élément de texte :

a) Saisir le nom du programme sous Program.

Copyright © 2004, SAP R/3 : ComIrendre, configurer et implanter , Benoit A. AUBERT, Pierre-Majorique LÉGER et Suzanne RIVARD, HEC Montréal, Tous droits réservés pour tous pays. Toute traduction ou toute modification sous quelque forme que ce soit est interdite. VERSION PRÉLIMINAIRE.

36

b) Cliquez sur le bouton Display ou Change dépendamment de l’action désirée.

Procédure permettant la traduction d’un élément de texte Il est possible de traduire les éléments de texte à partir de la transaction /nSE32 ou de l’ABAP Editor. Dans les deux cas, la saisie du nom du programme est nécessaire.

/nSE32 :

ABAP Editor :

Par la suite, cliquez sur le menu Goto, puis Transalation :

La fenêtre suivante apparaîtra :

Copyright © 2004, SAP R/3 : Comprendre, configurer et implanter, Benoit A. AUBERT, Pierre-Majorique LÉGER et Suzanne RIVARD, HEC Montréal, Tous droits réservés pour tous pays. Toute traduction ou toute modification sous quelque forme que ce soit est interdite. VERSION PRÉLIMINAIRE.

37

La langue originale (Original language) est celle de la session de l’utilisation. Dans notre cas, l’anglais est la langue originale. La langue de traduction, soit Target language, est la langue dans laquelle les éléments de texte seront traduits. Dans la présente situation, le français sera cette langue. Donc remplacer la Target language par FR, soit le diminutif de français, puis cliquez sur exécuter

.

Tous les éléments de texte du programme en question apparaîtront dans un nouvel écran comme ceci :

Copyright © 2004, SAP R/3 : Comprendre, configurer et implanter, Benoit A. AUBERT, Pierre-Majorique LÉGER et Suzanne RIVARD, HEC Montréal, Tous droits réservés pour tous pays. Toute traduction ou toute modification sous quelque forme que ce soit est interdite. VERSION PRÉLIMINAIRE.

38

Pour traduire ces derniers, il suffit d’inscrire en-dessous de chacun des éléments de texte leur traduction.

Copyright © 2004, SAP R/3 : Comprendre, configurer et implanter, Benoit A. AUBERT, Pierre-Majorique LÉGER et Suzanne RIVARD, HEC Montréal, Tous droits réservés pour tous pays. Toute traduction ou toute modification sous quelque forme que ce soit est interdite. VERSION PRÉLIMINAIRE.

39

Ne pas oublier de sauvegarder les modifications avec le bouton

. L’écran suivant

apparaîtra en récapitulant tous les éléments de texte traduits pour le programme YX160.

STRUCTURES DE CONTRÔLE La programmation en ABAP offre différentes instructions de contrôle semblables au langage Visual Basic . En effet, il est ainsi possible d’utiliser tant des instructions de conditions que des boucles. Cette section présente ces deux approches. Les instructions de conditions Instructions de conditions IF Une instruction de condition IF exécute une procédure lorsque la condition exprimée est satisfaite. Voici de quelle manière se rédige la condition IF :

Copyright © 2004, SAP R/3 : Comprendre, configurer et implanter, Benoit A. AUBERT, Pierre-Majorique LÉGER et Suzanne RIVARD, HEC Montréal, Tous droits réservés pour tous pays. Toute traduction ou toute modification sous quelque forme que ce soit est interdite. VERSION PRÉLIMINAIRE.

40

If [not] condition 1. Instruction1. [Elseif condition2. Instruction2.] Else. Instruction Else. Endif.

Par exemple, le programme YX180

permet à un agent de voyage d’être informé

lorsqu’un rabais est disponible pour les groupes de plus de dix personnes.

***** Tables ********** ***** Data ************ ***** Parameters & Select Options ***** Parameters: nb_pers type i. ***** Initialization ********* ***** Start of Selection ***** if nb_pers < 10. write 'Prix de groupe non disponible'(001). else. write 'Prix de groupe disponible'(002). endif.

La fonction paramètre du programme précédent appelle, dans un premier temps, l’interface où l’agent de voyage doit indiquer le nombre de personnes. Voici l’interface en question :

Copyright © 2004, SAP R/3 : Comprendre, configurer et implanter, Benoit A. AUBERT, Pierre-Majorique LÉGER et Suzanne RIVARD, HEC Montréal, Tous droits réservés pour tous pays. Toute traduction ou toute modification sous quelque forme que ce soit est interdite. VERSION PRÉLIMINAIRE.

41

Puisque que la valeur cinq est saisie, le programme affiche qu’aucun prix de groupe n’est disponible.

Instructions de conditions IF et variable SY-SUBRC Il est également possible d’utiliser l’instruction IF en conjonction avec le champ SYSUBRC. Ce champ, contenu dans la table SYSTEM (voir tableau 1), concerne la valeur du dernier test logique effectué par le système. Si le résultat du test est positif, la valeur de SY-SUBRC est de zéro (0). Lorsque la valeur de SY-SUBRC est différente de zéro ( 0), le résultat du test est négatif (i.e. échec du test logique).

L’exemple du programme YX181 effectue une requête dans la table SCARR (liste de compagnies aériennes). Plus part iculièrement, la requête vise à afficher la compagnie possédant le numéro d’identification AD.

***TABLES*** tables: scarr. ***** Data ************ ***** Parameters & Select Options ***** ***** Initialization ********* ***** Start of Selection ***** *requête sur la table scarr select * from scarr where carrid = 'AD'. write:/ scarr-carrname, scarr-url. endselect. *requête n'a pas trouvé de données if sy-subrc 0. write:/ 'aucun enregistrement trouvé'(001). endif.

Copyright © 2004, SAP R/3 : Comprendre, configurer et implanter, Benoit A. AUBERT, Pierre-Majorique LÉGER et Suzanne RIVARD, HEC Montréal, Tous droits réservés pour tous pays. Toute traduction ou toute modification sous quelque forme que ce soit est interdite. VERSION PRÉLIMINAIRE.

42

La figure suivante illustre en partie la table SCARR pour démontrer qu’il n’y a aucune compagnie aérienne attitrée au sigle AD.

Puisque la valeur de SY-SUBRC n’est pas égale à zéro, le IF et la commande SYSUBRC affichent donc un message d’échec.

Opérateurs logiques de l’instruction de condition IF L’instruction de condition IF peut utiliser divers opérateurs logiques afin d’exécuter la routine désirée. L’utilisation du NOT permet d’introduire la négation dans la condition tandis que le AND et le OR permettent de grouper ensembles différentes instructions de condition. Le tableau suivant rassemble les principaux opérateurs utilisés en conjonction avec l’instruction IF.

Copyright © 2004, SAP R/3 : Comprendre, configurer et implanter, Benoit A. AUBERT, Pierre-Majorique LÉGER et Suzanne RIVARD, HEC Montréal, Tous droits réservés pour tous pays. Toute traduction ou toute modification sous quelque forme que ce soit est interdite. VERSION PRÉLIMINAIRE.

43

Tableau 8 - Opérateurs en conjonction avec l’instruction IF Signes

Caractères

=

EQ

Égale à

, ><

NE

N’est pas égale à

>

GT

Plus grand que

<

LT

Plus petit que

>=, =>

GE

Égale ou plus grand que

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF