Académique Documents
Professionnel Documents
Culture Documents
ABAP
Buts de la formation
A l'issue de la formation les participants sont en mesure :
D'utiliser des oprations sur des donnes numriques
De manipuler des chanes de caractres
De traiter des donnes dates et heures
Overview
Introduction
Arithmetic Operations
4-5
6 - 10
Mathematical Operations
11 - 15
Conversion Rules
16 - 18
Character Operations
19 - 29
Date/Time Operations
30 - 36
Conclusion
37 - 39
Overview
Introduction
Arithmetic Operations
Mathematical Operations
Conversion Rules
Character Operations
Conventions
Rules
Date/Time Operations
Conclusion
Introduction
Conventions & Rules
Les espaces/"blank characters" sont essentiels
TOUJOURS un espace avant et aprs un oprateur ou mot cl
Exemple : number1_+_number2 .
!
5
Overview
Introduction
Arithmetic Operations
Mathematical Operations
Conversion Rules
Character Operations
Date/Time Operations
Addition
Subtraction
Multiplication
Division
Full/Integral Division
Modulo
Conclusion
Arithmetic Operations
Reminder : Variables Data Types
TYPE i
Entier / Integer
TYPE f
Nombre virgule flottante / Float
TYPE p
Packed Number
Arithmetic Operations
Commands (1)
Opration ADD or +
Addition
Exemple : result = number1 + number2 .
Opration MULTIPLY or *
Multiplication
Exemple : result = number1 * number2 .
Arithmetic Operations
Commands (2)
Opration DIVIDE or /
Division
Exemple : result = number2 / number1 .
Opration DIV
Obtient le rsultat d'une division INTEGRALE
Exemple : result = number2 DIV number1 .
Opration MOD
Obtient le reste d'une division INTEGRALE
Exemple : remainder = number2 MOD number1 .
Arithmetic Operations
Programme ABAP
* Addition
gv_addition = gv_number1 + 2 .
gv_addition = gv_number1 + gv_number2 . "or ADD
* Soustraction
gv_soustraction = gv_number1 - 2 .
gv_soustraction = gv_number1 - gv_number2 . "or SUBTRACT
* Multiplication
gv_multiplication = gv_number1 * 2 .
gv_multiplication = gv_number1 * gv_number2 . "or MULTIPLY
* Division
gv_division = gv_number1 / 2 .
gv_division = gv_number2 / gv_number1 . "or DIVIDE
gv_division_entier = gv_number2 DIV gv_number1 .
gv_division_rest = gv_number2 MOD gv_number1 .
10
Overview
Introduction
Arithmetic Operations
Mathematical Operations
Conversion Rules
Character Operations
Date/Time Operations
Conclusion
Absolute Value
Sign
Integer Value
Decimal Value
Cosinus
Sinus
...
11
Mathematical Operations
Commands (1)
Opration ABS
Valeur absolue
Exemple : n = abs( m ) .
Opration SIGN
Signe (+ ou -) de la variable
Si la valeur est :
Ngatif, = -1
De 0 = 0
Positif = 1
Exemple : n = sign( m ) .
Opration CEIL
Plus petit nombre entier qui n'est pas infrieur la valeur de la variable
(12,25 => 13)
Exemple : n = ceil( m ) .
12
Mathematical Operations
Commands (2)
Opration FLOOR
Plus grand nombre entier qui n'est pas suprieur la valeur de la variable
(12,65 => 12)
Exemple : n = floor( m ) .
Opration TRUNC
Valeur entire de la variable (12,65 => 12)
Exemple : n = trunc( m ) .
Opration FRAC
Valeur dcimale de la variable (12,65 => 0,65)
Exemple : n = frac( m ) .
13
Mathematical Operations
Commands (3)
Opration COS
Cosinus
Exemple : result = cos( pi ) .
Opration SIN
Sinus
Exemple : result = sin( pi ) .
14
Mathematical Operations
Programme ABAP
* Numeric datatypes
DATA gv_n TYPE p DECIMALS 2 .
DATA gv_m TYPE p DECIMALS 2 VALUE '-5.55' .
gv_n = ABS( gv_m ) .
gv_n = SIGN( gv_m ) .
gv_n = CEIL( gv_m ) .
gv_n = FLOOR( gv_m ) .
gv_n = TRUNC( gv_m ) .
gv_n = FRAC( gv_m ) .
* Floating points
DATA: gv_result TYPE f ,
gv_pi(10) TYPE c VALUE '3.14159265' .
gv_result = COS(gv_pi ) .
15
Overview
Introduction
Arithmetic Operations
Mathematical Operations
Conversion Rules
Character Operations
Simple Conversion
Multiple Conversion
Date/Time Operations
Conclusion
16
Conversion Rules
Numeric Data
Conversion d'un nombre dcimal en un entier/"integer"
TYPE p -> TYPE i
Exemple :
4,44 4
5,55 6
17
Practice
Chapiter "Numeric Data"
Arithmetics Operations
Mathematical Operations
18
Overview
Introduction
Arithmetic Operations
Mathematical Operations
Conversion Rules
Character Operations
Date/Time Operations
Move
Replace
Concatenate
Separate
Conclusion
19
Character Operations
Reminder : Variables Data Types
TYPE c
Taille dfinie
TYPE string
Taille non dfinie
TYPE n
Uniquement les caractres numriques
Possibilit d'effectuer des oprations arithmtiques [ pas mathmatiques ]
Le systme effectue les conversions automatiquement
20
Character Operations
Commands
Opration SHIFT
Dplace les caractres gauche jusqu' ce que les zros disparaissent
LEFT/RIGHT DELETING LEADING 'xx'
Exemple : SHIFT phone LEFT DELETING LEADING '0' .
Opration REPLACE
Trouve et remplace la premire occurrence du terme de la recherche
Exemple : REPLACE '_' WITH area_code INTO phone_international .
21
Character Operations
Programme ABAP
DATA gv_phone(8) TYPE n VALUE '887766' .
DATA gv_phoneInt(25) .
* gv_phone = 00887766
SHIFT gv_phone LEFT DELETING LEADING '0' .
* gv_phone = 887766
SHIFT gv_phone BY 2 PLACES RIGHT .
* gv_phone = _ _887766
gv_phoneInt = '_ _887766' .
REPLACE '_' WITH '+41_' INTO gv_phoneInt
* gv_phoneInt = +41_ _887766
22
Character Operations
Commands
Opration CONDENSE
Supprime les espaces supplmentaires entre les caractres
Exemple :
CONDENSE phone_international .
0041_ _27 0041_27
Opration CONCATENATE
Concatnation des contenus des variables dans une variable
Sparateur par dfaut = un espace
Exemple :
CONCATENATE v1 v2 INTO vConcatenate .
CONCATENATE v1 v2 v3 v4 INTO vConcatenate .
23
Character Operations
Programme ABAP
* gv_phoneInt = +41_ _887766
CONDENSE gv_phoneInt .
* gv_phoneInt = +41_887766
CONDENSE gv_phoneInt NO-GAPS .
* gv_phoneInt = +41887766
* gv_phone = 887766
DATA gv_code VALUE '+41' .
CONCATENATE gv_code _ gv_phone INTO gv_phoneInt SEPARATED BY '-'
* gv_phoneInt = +41-887766
24
Character Operations
Commands
Opration SPLIT
Spare/coupe la variable en plusieurs variables
AT = sparateur (littral ou variable)
Exemple : SPLIT phone_international AT '-' INTO code phone .
25
Character Operations
Programme ABAP
* gv_phoneInt = +41-887766
SPLIT gv_phoneInt AT '-' INTO gv_code _ gv_phone .
* gv_code = +41
* gv_phone = 887766
gv_code = gv_phoneInt(3) .
* gv_code = +41
gv_phone = gv_phoneInt+4(6) .
* gv_phone = 887766
gv_phoneInt+1(2) = '33' .
* gv_phoneInt = +33-887766
26
Character Operations
Commands
Opration TRANSLATE . TO UPPER CASE .
Met en majuscule les caractres
Exemple : TRANSLATE word1 TO UPPER CASE .
Opration STRLEN(_variable_) .
Calcule la taille d'un string
Retourne un entier
Exemple : taille = STRLEN( word1 ) .
27
Character Operations
Programme ABAP
DATA gv_string1(10) TYPE c VALUE 'AbCdEfGhIj' .
* Majuscule
TRANSLATE gv_string1 TO UPPER CASE.
* Minuscule
TRANSLATE gv_string1 TO LOWER CASE.
* Taille
DATA gv_taille TYPE i .
DATA gv_word1(20) TYPE c VALUE '12345' .
gv_taille = STRLEN( gv_word1 ) . "gv_taille = 5
28
Practice
Chapiter "Character / String"
Concatenation
Split
29
Overview
Introduction
Arithmetic Operations
Mathematical Operations
Conversion Rules
Character Operations
System Fields
Tips & Tricks
Date/Time Operations
Conclusion
30
Date/Time Operations
Reminder : Variables Data Types
TYPE d
Format : AAAAMMJJ
Attention ne pas se fier l'affichage, car il est li au paramtre personnel de l'utilisateur - SU3
TYPE t
Format : HHMMSS
Attention ne pas se fier l'affichage, car il est li au paramtre personnel de l'utilisateur - SU3
Important
Les types d & t sont des caractres et non des nombres !!
Plus ou moins quivalent au type n
Possibilit d'effectuer des oprations arithmtiques
Le systme va effectuer les conversions automatiquement
31
Date/Time Operations
System Fields
sy-datlo
Date locale de l'utilisateur
sy-datum
Date du serveur d'application
sy-fdayw
Jour de la semaine
Exemple : Lundi = 1, ., Vendredi = 5
sy-timlo
Heure locale de l'utilisateur
sy-uzeit
Heure du serveur d'application
32
Date/Time Operations
Tips & Tricks
Jour
DATA monjour TYPE d .
monjour = sy-datum+6(2) .
Dclaration
Mois
Anne
DATA monannee TYPE d .
monannee = sy-datum(4) .
33
Date/Time Operations
Programme ABAP
* Date calculation
DATA gv_ultimo TYPE d.
gv_ultimo = sy-datum.
gv_ultimo+6(2) = '01'. " = first day of this month
gv_ultimo = gv_ultimo - 1. " = last day of previous month
WRITE : / 'ultimo :', gv_ultimo .
* Time calculation
DATA : gv_diff
gv_seconds
gv_hours
gv_t1
gv_t2
TYPE i ,
TYPE i ,
TYPE i ,
TYPE t VALUE '200000' ,
TYPE t VALUE '020000' .
34
Date/Time Operations
Commands
Ces dclarations sont obsoltes et ne sont disponibles que pour
assurer la compatibilit avec les versions antrieures 4.6 et 6.10.
Peuvent apparatre dans des programmes plus anciens
Ne doivent plus tre utilises
35
Practice
Chapiter " Date / Time "
36
Overview
Introduction
Arithmetic Operations
Mathematical Operations
Information
Conversion Rules
Questions
Character Operations
Discussion
Date/Time Operations
Contact
Conclusion
37
Conclusion
Information
Ils existent beaucoup d'autres oprations sur les types de donnes.
Plus d'information sont disposition directement via SAP dans la
documentation ABAP
Transaction ABAPDOCU
Source
http://help.sap.com/SAPHELP_NW70EHP1/helpdata/EN/43/41341147041806e100
00000a1553f6/frameset.htm
38
39