Author: | yann szwec | ISBN: | 1230000203614 |
Publisher: | TYALGR | Publication: | December 18, 2013 |
Imprint: | Language: | French |
Author: | yann szwec |
ISBN: | 1230000203614 |
Publisher: | TYALGR |
Publication: | December 18, 2013 |
Imprint: | |
Language: | French |
Livre en couleur, format A4, plus de 400 pages.
Livre pédagogique pour apprendre le SQL en ABAP (langage de programmation SAP).
A mettre dans toutes les mains, des consultants fonctionnels comme techniques.
Table des matières
Objectifs de l’ouvrage 3
Remerciements 4
Table des matières 5
Introduction 18
1 CHAPITRE 01 – La théorie entourant le SQL 21
1.1 Le S.Q.L. 22
1.1.1 Définition 22
1.1.2 La syntaxe du S.Q.L. 23
1.1.3 Utilisation du S.Q.L. dans les bases de données relationnelles 27
1.2 MERISE 28
1.3 Application du SQL en ABAP 30
1.3.1 Les contraintes propres au monde SAP 30
1.3.2 Les contraintes apportées par les bases de données 30
1.4 La méthode de formation 32
1.4.1 Les parties du livre 32
1.4.2 La présentation des exemples S.Q.L. 32
1.4.3 Les choix d’application des exemples S.Q.L. 33
1.4.4 La gestion des exemples 33
2 CHAPITRE 02 - La présentation de l'environnement de travail 35
2.1 SE80 : l’atelier de développement 36
2.1.1 Présentation de la SE80 36
2.1.2 Description des principaux boutons de commande 39
2.2 Une conduite de projet technique SAP 40
2.2.1 Une norme de développement 40
2.2.2 Une méthodologie de travail 41
2.2.3 Un programme modèle 41
2.3 Le langage ABAP 44
2.3.1 Généralités 44
2.3.2 Les instructions 44
2.4 La gestion de la base de données : le DDIC, les transactions SE11 et SE16N 46
2.4.1 Le DDIC 46
2.4.2 La transaction SE11 47
2.4.3 La transaction SE16N 49
2.5 L’architecture technique SAP : WAS, 3 tiers, Le serveur d’application 51
2.5.1 Le W.A.S. 51
2.5.2 Les caractéristiques SAP au niveau technique 53
2.5.3 Le serveur d’application 54
2.5.4 Le paysage système SAP 55
2.5.5 La notion de mandant 56
2.6 Conclusion 57
3 CHAPITRE 03 – L’instruction SELECT SINGLE 59
3.1 La théorie 60
3.1.1 La syntaxe 60
3.1.2 L’impact sur la base de données 60
3.2 La démonstration 61
3.2.1 Le contexte 61
3.2.2 Les tables utilisées 61
3.2.3 La requête à exécuter 62
3.3 Présentation du résultat 64
3.3.1 Ecran de sélection 64
3.3.2 Ecran de résultat 64
3.4 Analyse du résultat 65
3.4.1 CODE INSPECTOR 65
3.4.2 Analyse de la durée d’exécution 66
3.4.3 Trace SQL 67
3.5 Conclusion 68
4 CHAPITRE 04 – L’instruction UP TO 1 ROWS 69
4.1 La théorie 70
4.1.1 La syntaxe 70
4.1.2 L’impact sur la base de données 70
4.2 La démonstration 71
4.2.1 Le contexte 71
4.2.2 Les tables utilisées 73
4.2.3 La requête à exécuter 74
4.3 Présentation du résultat 75
4.3.1 Ecran de sélection 75
4.3.2 Ecran de liste 75
4.4 Analyse du résultat 76
4.4.1 CODE INSPECTOR 76
4.4.2 Analyse de la durée d’exécution 76
4.4.3 Trace SQL 77
4.5 Conclusion 78
4.5.1 Une gestion de boucle 78
4.5.2 Autre méthode de travail 78
5 CHAPITRE 05 – L’instruction INNER JOIN 79
5.1 La théorie 80
5.1.1 La syntaxe 80
5.1.2 L’impact sur la base de données 80
5.2 La démonstration 81
5.2.1 Le contexte 81
5.2.2 Les tables utilisées 82
5.2.3 La requête à exécuter 84
5.3 Présentation du résultat 86
5.3.1 Ecran de sélection 86
5.3.2 Ecran de liste 86
5.4 Analyse du résultat 87
5.4.1 CODE INSPECTOR 87
5.4.2 Analyse de la durée d’exécution 87
5.4.3 Trace SQL 88
5.5 Conclusion 88
6 CHAPITRE 06 – L’instruction OUTER JOIN 89
6.1 La théorie 90
6.1.1 La syntaxe 90
6.1.2 L’impact sur la base de données 90
6.2 La démonstration 91
6.2.1 Le contexte 91
6.2.2 Les tables utilisées 91
6.2.3 La requête à exécuter 93
6.3 Présentation du résultat 95
6.3.1 Ecran de sélection 95
6.3.2 Ecran de liste 95
6.4 Analyse du résultat 96
6.4.1 CODE INSPECTOR 96
6.4.2 Analyse de la durée d’exécution 96
6.4.3 Trace SQL 97
6.5 Conclusion 98
7 CHAPITRE 07 – L’instruction VIEW 99
7.1 La théorie 100
7.1.1 La syntaxe 100
7.1.2 L’impact sur la base de données 100
7.2 La démonstration 101
7.2.1 Le contexte 101
7.2.2 Les tables utilisées 101
7.2.3 Présentation de la relation entre les tables dans la vue V_EKKOPO 102
7.2.4 La requête à exécuter 105
7.3 Présentation du résultat 107
7.3.1 Ecran de sélection 107
7.3.2 Ecran de liste 107
7.4 Analyse du résultat 108
7.4.1 CODE INSPECTOR 108
7.4.2 Analyse de la durée d’exécution 108
7.4.3 Trace SQL 109
7.5 Conclusion 110
7.5.1 Avantages 110
7.5.2 Inconvénients 110
8 CHAPITRE 08 – L’instruction APPENDING 111
8.1 La théorie 112
8.1.1 La syntaxe 112
8.1.2 L’impact sur la base de données 112
8.2 La démonstration 113
8.2.1 Le contexte 113
8.2.2 La requête à exécuter 115
8.3 Présentation du résultat 118
8.3.1 Ecran de sélection 118
8.3.2 Ecran de liste 118
8.4 Analyse du résultat 119
8.4.1 CODE INSPECTOR 119
8.4.2 Analyse de la durée d’exécution 119
8.4.3 Trace SQL 120
8.5 Conclusion 121
9 CHAPITRE 09 – L’instruction FOR ALL ENTRIES 123
9.1 La théorie 124
9.1.1 La syntaxe 124
9.1.2 L’impact sur la base de données 124
9.2 La démonstration 125
9.2.1 Le contexte 125
9.2.2 Les tables utilisées 126
9.2.3 La requête à exécuter 128
9.3 Présentation du résultat 131
9.3.1 Ecran de sélection 131
9.3.2 Ecran de liste 131
9.4 Analyse du résultat 132
9.4.1 CODE INSPECTOR 132
9.4.2 Analyse de la durée d’exécution 132
9.4.3 Trace SQL 133
9.5 Conclusion 134
10 CHAPITRE 10 – L’instruction SELECT ENDSELECT 135
10.1 La théorie 136
10.1.1 La syntaxe 136
10.1.2 L’impact sur la base de données 136
10.2 La démonstration 137
10.2.1 Le contexte 137
10.2.2 Les tables utilisées 137
10.2.3 La requête à exécuter 138
10.3 Présentation du résultat 139
10.3.1 Ecran de sélection 139
10.3.2 Ecran de liste 139
10.4 Analyse du résultat 141
10.4.1 CODE INSPECTOR 141
10.4.2 Analyse de la durée d’exécution 141
10.4.3 Trace SQL 142
10.5 Conclusion 142
10.5.1 Avantages 142
10.5.2 Inconvénients 143
11 CHAPITRE 11 – L’instruction EXISTS 145
11.1 La théorie 146
11.1.1 La syntaxe 146
11.1.2 L’impact sur la base de données 146
11.2 La démonstration 147
11.2.1 Le contexte 147
11.2.2 Les tables utilisées 147
11.2.3 La requête à exécuter 149
11.3 Présentation du résultat 151
11.3.1 Ecran de sélection 151
11.3.2 Ecran de liste 151
11.4 Analyse du résultat 152
11.4.1 CODE INSPECTOR 152
11.4.2 Analyse de la durée d’exécution 152
11.4.3 Trace SQL 152
11.5 Conclusion 153
12 CHAPITRE 12 – L’instruction PACKAGE SIZE 155
12.1 La théorie 156
12.1.1 La syntaxe 156
12.1.2 L’impact sur la base de données 156
12.2 La démonstration 157
12.2.1 Le contexte 157
12.2.2 Les tables utilisées 157
12.2.3 La requête à exécuter 158
12.3 Présentation du résultat 160
12.3.1 Ecran de sélection 160
12.3.2 Ecran de liste 160
12.4 Analyse du résultat 161
12.4.1 CODE INSPECTOR 161
12.4.2 Analyse de la durée d’exécution 161
12.4.3 Trace SQL 163
12.5 Conclusion 164
13 CHAPITRE 13 – L’instruction INTO CORRESPONDING FIELDS 165
13.1 La théorie 166
13.1.1 La syntaxe 166
13.1.2 L’impact sur la base de données 166
13.2 La démonstration 167
13.2.1 Le contexte 167
13.2.2 Les tables utilisées 168
13.2.3 Les structures utilisées 168
13.2.4 La requête à exécuter 170
13.3 Présentation du résultat 173
13.3.1 Ecran de sélection 173
13.3.2 Ecran de liste 173
13.4 Analyse du résultat 174
13.4.1 CODE INSPECTOR 174
13.4.2 Analyse de la durée d’exécution 174
13.4.3 Trace SQL 175
13.5 Conclusion 176
14 CHAPITRE 14 – L’instruction CURSOR 177
14.1 La théorie 178
14.1.1 La syntaxe 178
14.1.2 L’impact sur la base de données 178
14.2 La démonstration 179
14.2.1 Le contexte 179
14.2.2 Les tables utilisées 179
14.2.3 La requête à exécuter 180
14.3 Présentation du résultat 182
14.3.1 Ecran de sélection 182
14.3.2 Ecran de liste 182
14.4 Analyse du résultat 183
14.4.1 CODE INSPECTOR 183
14.4.2 Analyse de la durée d’exécution 183
14.4.3 Trace SQL 184
14.5 Conclusion 184
15 CHAPITRE 15 – Le natif S.Q.L. (ou ce qu’il ne faut pas faire) 185
15.1 La théorie 186
15.1.1 La syntaxe 186
15.1.2 L’impact sur la base de données 187
15.2 La démonstration d’une requête simple en natif SQL 187
15.2.1 Le contexte 187
15.2.2 Les tables utilisées 187
15.2.3 L’exemple 188
15.3 La démonstration de l’appel d’une procédure stockée en natif SQL 188
15.3.1 Le contexte 188
15.3.2 Les tables utilisées 188
15.3.3 L’exemple 189
15.4 Conclusion 192
16 CHAPITRE 16 – L’instruction INSERT 193
16.1 La théorie 194
16.1.1 La syntaxe 194
16.1.2 L’impact sur la base de données 194
16.2 La démonstration 195
16.2.1 Le contexte 195
16.2.2 Les tables utilisées 196
16.2.3 La requête à exécuter 197
16.3 Présentation du résultat par insertion par occurrence 201
16.3.1 Ecran de sélection 201
16.3.2 Ecran de liste 201
16.4 Analyse du résultat 202
16.4.1 CODE INSPECTOR 202
16.4.2 Analyse de la durée d’exécution 202
16.4.3 Trace SQL 203
16.5 Conclusion 204
17 CHAPITRE 17 – Les instructions UPDATE / MODIFY 205
17.1 La théorie 206
17.1.1 La syntaxe 206
17.1.2 L’impact sur la base de données 206
17.2 La démonstration 207
17.2.1 Le contexte 207
17.2.2 Les tables utilisées 207
17.2.3 La requête à utiliser 208
17.3 Présentation du résultat 211
17.3.1 Ecran de sélection 211
17.3.2 Ecran de résultat 211
17.4 Analyse du résultat 212
17.4.1 Code inspector 212
17.4.2 Analyse de la durée d’exécution 212
17.4.3 Trace SQL 215
17.5 Conclusion 218
18 CHAPITRE 18 – Mise à jour d’une table spécifique 219
18.1 La théorie 220
18.1.1 La syntaxe 220
18.1.2 L’impact sur la base de données 220
18.2 La démonstration 221
18.2.1 Le contexte 221
18.2.2 Les tables utilisées 221
18.2.3 La requête à utiliser 222
18.3 Présentation du résultat 226
18.3.1 Ecran de sélection 226
18.3.2 Ecran de résultat 226
18.4 Analyse du résultat 227
18.4.1 Code inspector 227
18.4.2 Analyse de la durée d’exécution 227
18.4.3 Trace SQL 229
18.5 Conclusion 230
19 CHAPITRE 19 – LES BAPI : L’intégration de données dans SAP 231
19.1 Objectifs 232
19.2 Les moyens 233
19.2.1 Règles d’utilisation d’une BAPI dans un programme 233
19.2.2 La gestion du transactionnel avec une BAPI 233
19.3 La démonstration 236
19.3.1 Le contexte 236
19.3.2 Les données utilisées 236
19.3.3 Le programme à utiliser 237
19.4 Présentation du résultat 240
19.4.1 Ecran de sélection 240
19.4.2 Ecran de résultat 240
19.5 Analyse du résultat 240
19.5.1 Code inspector 240
19.5.2 Analyse de la durée d’exécution 241
19.5.3 Trace SQL 241
19.6 Conclusion 242
19.6.1 Avantages 242
19.6.2 Inconvénients 242
20 CHAPITRE 20 – LES BAPI : Le contrôle d’intégration 243
20.1 Objectifs 244
20.2 Les moyens 244
20.3 La démonstration 245
20.3.1 Le contexte 245
20.3.2 Les données utilisées 245
20.3.3 Le programme à utiliser 246
20.4 Présentation du résultat 250
20.4.1 Ecran de sélection 250
20.4.2 Ecran de résultat 250
20.5 Analyse du résultat 251
20.5.1 Code inspector 251
20.5.2 Analyse de la durée d’exécution 251
20.5.3 Trace SQL 252
20.6 Conclusion 252
21 CHAPITRE 21 – LES BAPIS : Les traitements de masse 253
21.1 Objectifs 254
21.2 Les moyens 254
21.3 La démonstration 254
21.3.1 Le contexte 254
21.3.2 Les données utilisées 254
21.3.3 Le programme à utiliser 256
21.4 Présentation du résultat 259
21.4.1 Ecran de sélection 259
21.4.2 Ecran de résultat 259
21.5 Analyse du résultat 260
21.5.1 Code inspector 260
21.5.2 Analyse de la durée d’exécution 260
21.5.3 Trace SQL 261
21.6 Conclusion 262
22 CHAPITRE 22 – Le CRM selon SAP 263
22.1 Préambule 264
22.2 Le CRM selon SAP 266
22.2.1 Présentation fonctionnelle 266
22.2.2 Présentation technique 271
22.3 Le CRM avant la programmation objet 273
22.3.1 Présentation de l’interface utilisateur (CRM5.0 et précédemment) 273
22.3.2 Présentation base de données et programmation procédurale, présentation des données 277
22.4 Le CRM après le WEB UI 283
22.4.1 Ce qui n’a pas changé 283
22.4.2 Les modifications dans l’interface utilisateur : internet explorer 283
22.5 Conclusion 290
23 CHAPITRE 23 – Le futur du SQL : le Business Object Layer (B.O.L.) 291
23.1 Objectif 292
23.2 Les bases de la réflexion 292
23.3 La réflexion orientée objet 294
23.4 La solution SAP 295
23.4.1 L’objet de recherche 295
23.4.2 L’objet de résultat 295
23.4.3 Concept générique correspondant à la programmation objet 295
23.4.4 Un nouveau modèle de données 297
23.5 La transaction GENIL_MODEL_BROWSER 297
23.6 La nouveauté avec le CRM EHP1 305
23.7 Conclusion (Avantages / inconvénients) 306
23.7.1 Avantages 306
23.7.2 Inconvénients 306
24 CHAPITRE 24 – La transaction GENIL_BOL_BROWSER 307
24.1 Objectif 308
24.2 Présentation de la transaction GENIL_BOL_BROWSER 308
24.2.1 1ère démonstration : Une requête générale 309
24.2.2 2ème démonstration : Une requête spécialisée 314
24.3 Conclusion 320
25 CHAPITRE 25 – Application du BOL dans le WEB UI 321
25.1 Le concept 322
25.2 La démonstration dans une application existante 322
25.2.1 Présentation de la vue BT108S_LEA/Result 326
25.2.2 Présentation de la gestion du nœud de contexte 326
25.3 L’utilisation dans la programmation des composants WEB UI 327
25.3.1 Le tableau des complexités dans le WEB UI. 327
25.3.2 Les exemples pratiques 328
25.4 Conclusion 332
26 CHAPITRE 26 – Application du BOL dans la SE80 333
26.1 Le concept 334
26.2 La démonstration par le module fonction 334
26.2.1 La première contrainte: 336
26.2.2 Deuxième contrainte: l’appel du module fonction 336
26.2.3 Troisième contrainte: la gestion des relations 337
26.3 La démonstration par les objets du BOL 338
26.4 Le débogage de la programmation par les objets du BOL 343
26.5 Le petit plus 351
26.6 Conclusion 352
27 ANNEXE A – La transaction ST05 353
27.1 Objectif 353
27.2 Le cas d’étude 353
27.3 La démonstration 353
27.4 Conclusion 362
28 ANNEXE B – La touche F1 363
28.1 Objectif 363
28.2 Le cas d’étude 363
28.3 La démonstration 363
28.4 Conclusion 365
29 ANNEXE C – Le code inspector et la transaction SE30 367
29.1 Objectif 367
29.2 Le cas d’étude 367
29.3 La démonstration 367
29.3.1 Le code inspector 367
29.3.2 La transaction SE30 370
29.4 Conclusion 372
30 ANNEXE D – Les exemples fournis par SAP 373
30.1 Objectif 373
30.2 Le cas d’étude 373
30.3 La démonstration 373
30.4 Conclusion 375
31 ANNEXE E – Les tables internes 377
31.1 Objectif 377
31.2 La théorie 377
31.3 La démonstration 378
31.3.1 Les tables standards 378
31.3.2 Les tables sorted 379
31.3.3 Les tables ashed 380
31.3.4 La gestion d’objets dans des tables internes 381
31.3.5 Les structures 382
31.3.6 Les types de tables 383
31.3.7 Les boucles (into et assigning) 385
31.3.8 La lecture unitaire 386
31.4 Conclusion 387
32 ANNEXE F – La BAPI 389
32.1 Objectif 389
32.2 Le cas d’étude 389
32.3 La démonstration 389
32.4 Conclusion 395
33 ANNEXE G – petit examen 397
33.1 Objectif 397
33.2 Description technique 397
33.3 Instructions 398
33.3.1 Ecran de sélection souhaité 398
33.3.2 Liste de résultat 398
33.3.3 Exemple de présentation 399
33.3.4 Interactivité (optionnel) 399
33.4 Conclusion 399
34 Liste des transactions utilisées 401
35 Glossaire 403
Livre en couleur, format A4, plus de 400 pages.
Livre pédagogique pour apprendre le SQL en ABAP (langage de programmation SAP).
A mettre dans toutes les mains, des consultants fonctionnels comme techniques.
Table des matières
Objectifs de l’ouvrage 3
Remerciements 4
Table des matières 5
Introduction 18
1 CHAPITRE 01 – La théorie entourant le SQL 21
1.1 Le S.Q.L. 22
1.1.1 Définition 22
1.1.2 La syntaxe du S.Q.L. 23
1.1.3 Utilisation du S.Q.L. dans les bases de données relationnelles 27
1.2 MERISE 28
1.3 Application du SQL en ABAP 30
1.3.1 Les contraintes propres au monde SAP 30
1.3.2 Les contraintes apportées par les bases de données 30
1.4 La méthode de formation 32
1.4.1 Les parties du livre 32
1.4.2 La présentation des exemples S.Q.L. 32
1.4.3 Les choix d’application des exemples S.Q.L. 33
1.4.4 La gestion des exemples 33
2 CHAPITRE 02 - La présentation de l'environnement de travail 35
2.1 SE80 : l’atelier de développement 36
2.1.1 Présentation de la SE80 36
2.1.2 Description des principaux boutons de commande 39
2.2 Une conduite de projet technique SAP 40
2.2.1 Une norme de développement 40
2.2.2 Une méthodologie de travail 41
2.2.3 Un programme modèle 41
2.3 Le langage ABAP 44
2.3.1 Généralités 44
2.3.2 Les instructions 44
2.4 La gestion de la base de données : le DDIC, les transactions SE11 et SE16N 46
2.4.1 Le DDIC 46
2.4.2 La transaction SE11 47
2.4.3 La transaction SE16N 49
2.5 L’architecture technique SAP : WAS, 3 tiers, Le serveur d’application 51
2.5.1 Le W.A.S. 51
2.5.2 Les caractéristiques SAP au niveau technique 53
2.5.3 Le serveur d’application 54
2.5.4 Le paysage système SAP 55
2.5.5 La notion de mandant 56
2.6 Conclusion 57
3 CHAPITRE 03 – L’instruction SELECT SINGLE 59
3.1 La théorie 60
3.1.1 La syntaxe 60
3.1.2 L’impact sur la base de données 60
3.2 La démonstration 61
3.2.1 Le contexte 61
3.2.2 Les tables utilisées 61
3.2.3 La requête à exécuter 62
3.3 Présentation du résultat 64
3.3.1 Ecran de sélection 64
3.3.2 Ecran de résultat 64
3.4 Analyse du résultat 65
3.4.1 CODE INSPECTOR 65
3.4.2 Analyse de la durée d’exécution 66
3.4.3 Trace SQL 67
3.5 Conclusion 68
4 CHAPITRE 04 – L’instruction UP TO 1 ROWS 69
4.1 La théorie 70
4.1.1 La syntaxe 70
4.1.2 L’impact sur la base de données 70
4.2 La démonstration 71
4.2.1 Le contexte 71
4.2.2 Les tables utilisées 73
4.2.3 La requête à exécuter 74
4.3 Présentation du résultat 75
4.3.1 Ecran de sélection 75
4.3.2 Ecran de liste 75
4.4 Analyse du résultat 76
4.4.1 CODE INSPECTOR 76
4.4.2 Analyse de la durée d’exécution 76
4.4.3 Trace SQL 77
4.5 Conclusion 78
4.5.1 Une gestion de boucle 78
4.5.2 Autre méthode de travail 78
5 CHAPITRE 05 – L’instruction INNER JOIN 79
5.1 La théorie 80
5.1.1 La syntaxe 80
5.1.2 L’impact sur la base de données 80
5.2 La démonstration 81
5.2.1 Le contexte 81
5.2.2 Les tables utilisées 82
5.2.3 La requête à exécuter 84
5.3 Présentation du résultat 86
5.3.1 Ecran de sélection 86
5.3.2 Ecran de liste 86
5.4 Analyse du résultat 87
5.4.1 CODE INSPECTOR 87
5.4.2 Analyse de la durée d’exécution 87
5.4.3 Trace SQL 88
5.5 Conclusion 88
6 CHAPITRE 06 – L’instruction OUTER JOIN 89
6.1 La théorie 90
6.1.1 La syntaxe 90
6.1.2 L’impact sur la base de données 90
6.2 La démonstration 91
6.2.1 Le contexte 91
6.2.2 Les tables utilisées 91
6.2.3 La requête à exécuter 93
6.3 Présentation du résultat 95
6.3.1 Ecran de sélection 95
6.3.2 Ecran de liste 95
6.4 Analyse du résultat 96
6.4.1 CODE INSPECTOR 96
6.4.2 Analyse de la durée d’exécution 96
6.4.3 Trace SQL 97
6.5 Conclusion 98
7 CHAPITRE 07 – L’instruction VIEW 99
7.1 La théorie 100
7.1.1 La syntaxe 100
7.1.2 L’impact sur la base de données 100
7.2 La démonstration 101
7.2.1 Le contexte 101
7.2.2 Les tables utilisées 101
7.2.3 Présentation de la relation entre les tables dans la vue V_EKKOPO 102
7.2.4 La requête à exécuter 105
7.3 Présentation du résultat 107
7.3.1 Ecran de sélection 107
7.3.2 Ecran de liste 107
7.4 Analyse du résultat 108
7.4.1 CODE INSPECTOR 108
7.4.2 Analyse de la durée d’exécution 108
7.4.3 Trace SQL 109
7.5 Conclusion 110
7.5.1 Avantages 110
7.5.2 Inconvénients 110
8 CHAPITRE 08 – L’instruction APPENDING 111
8.1 La théorie 112
8.1.1 La syntaxe 112
8.1.2 L’impact sur la base de données 112
8.2 La démonstration 113
8.2.1 Le contexte 113
8.2.2 La requête à exécuter 115
8.3 Présentation du résultat 118
8.3.1 Ecran de sélection 118
8.3.2 Ecran de liste 118
8.4 Analyse du résultat 119
8.4.1 CODE INSPECTOR 119
8.4.2 Analyse de la durée d’exécution 119
8.4.3 Trace SQL 120
8.5 Conclusion 121
9 CHAPITRE 09 – L’instruction FOR ALL ENTRIES 123
9.1 La théorie 124
9.1.1 La syntaxe 124
9.1.2 L’impact sur la base de données 124
9.2 La démonstration 125
9.2.1 Le contexte 125
9.2.2 Les tables utilisées 126
9.2.3 La requête à exécuter 128
9.3 Présentation du résultat 131
9.3.1 Ecran de sélection 131
9.3.2 Ecran de liste 131
9.4 Analyse du résultat 132
9.4.1 CODE INSPECTOR 132
9.4.2 Analyse de la durée d’exécution 132
9.4.3 Trace SQL 133
9.5 Conclusion 134
10 CHAPITRE 10 – L’instruction SELECT ENDSELECT 135
10.1 La théorie 136
10.1.1 La syntaxe 136
10.1.2 L’impact sur la base de données 136
10.2 La démonstration 137
10.2.1 Le contexte 137
10.2.2 Les tables utilisées 137
10.2.3 La requête à exécuter 138
10.3 Présentation du résultat 139
10.3.1 Ecran de sélection 139
10.3.2 Ecran de liste 139
10.4 Analyse du résultat 141
10.4.1 CODE INSPECTOR 141
10.4.2 Analyse de la durée d’exécution 141
10.4.3 Trace SQL 142
10.5 Conclusion 142
10.5.1 Avantages 142
10.5.2 Inconvénients 143
11 CHAPITRE 11 – L’instruction EXISTS 145
11.1 La théorie 146
11.1.1 La syntaxe 146
11.1.2 L’impact sur la base de données 146
11.2 La démonstration 147
11.2.1 Le contexte 147
11.2.2 Les tables utilisées 147
11.2.3 La requête à exécuter 149
11.3 Présentation du résultat 151
11.3.1 Ecran de sélection 151
11.3.2 Ecran de liste 151
11.4 Analyse du résultat 152
11.4.1 CODE INSPECTOR 152
11.4.2 Analyse de la durée d’exécution 152
11.4.3 Trace SQL 152
11.5 Conclusion 153
12 CHAPITRE 12 – L’instruction PACKAGE SIZE 155
12.1 La théorie 156
12.1.1 La syntaxe 156
12.1.2 L’impact sur la base de données 156
12.2 La démonstration 157
12.2.1 Le contexte 157
12.2.2 Les tables utilisées 157
12.2.3 La requête à exécuter 158
12.3 Présentation du résultat 160
12.3.1 Ecran de sélection 160
12.3.2 Ecran de liste 160
12.4 Analyse du résultat 161
12.4.1 CODE INSPECTOR 161
12.4.2 Analyse de la durée d’exécution 161
12.4.3 Trace SQL 163
12.5 Conclusion 164
13 CHAPITRE 13 – L’instruction INTO CORRESPONDING FIELDS 165
13.1 La théorie 166
13.1.1 La syntaxe 166
13.1.2 L’impact sur la base de données 166
13.2 La démonstration 167
13.2.1 Le contexte 167
13.2.2 Les tables utilisées 168
13.2.3 Les structures utilisées 168
13.2.4 La requête à exécuter 170
13.3 Présentation du résultat 173
13.3.1 Ecran de sélection 173
13.3.2 Ecran de liste 173
13.4 Analyse du résultat 174
13.4.1 CODE INSPECTOR 174
13.4.2 Analyse de la durée d’exécution 174
13.4.3 Trace SQL 175
13.5 Conclusion 176
14 CHAPITRE 14 – L’instruction CURSOR 177
14.1 La théorie 178
14.1.1 La syntaxe 178
14.1.2 L’impact sur la base de données 178
14.2 La démonstration 179
14.2.1 Le contexte 179
14.2.2 Les tables utilisées 179
14.2.3 La requête à exécuter 180
14.3 Présentation du résultat 182
14.3.1 Ecran de sélection 182
14.3.2 Ecran de liste 182
14.4 Analyse du résultat 183
14.4.1 CODE INSPECTOR 183
14.4.2 Analyse de la durée d’exécution 183
14.4.3 Trace SQL 184
14.5 Conclusion 184
15 CHAPITRE 15 – Le natif S.Q.L. (ou ce qu’il ne faut pas faire) 185
15.1 La théorie 186
15.1.1 La syntaxe 186
15.1.2 L’impact sur la base de données 187
15.2 La démonstration d’une requête simple en natif SQL 187
15.2.1 Le contexte 187
15.2.2 Les tables utilisées 187
15.2.3 L’exemple 188
15.3 La démonstration de l’appel d’une procédure stockée en natif SQL 188
15.3.1 Le contexte 188
15.3.2 Les tables utilisées 188
15.3.3 L’exemple 189
15.4 Conclusion 192
16 CHAPITRE 16 – L’instruction INSERT 193
16.1 La théorie 194
16.1.1 La syntaxe 194
16.1.2 L’impact sur la base de données 194
16.2 La démonstration 195
16.2.1 Le contexte 195
16.2.2 Les tables utilisées 196
16.2.3 La requête à exécuter 197
16.3 Présentation du résultat par insertion par occurrence 201
16.3.1 Ecran de sélection 201
16.3.2 Ecran de liste 201
16.4 Analyse du résultat 202
16.4.1 CODE INSPECTOR 202
16.4.2 Analyse de la durée d’exécution 202
16.4.3 Trace SQL 203
16.5 Conclusion 204
17 CHAPITRE 17 – Les instructions UPDATE / MODIFY 205
17.1 La théorie 206
17.1.1 La syntaxe 206
17.1.2 L’impact sur la base de données 206
17.2 La démonstration 207
17.2.1 Le contexte 207
17.2.2 Les tables utilisées 207
17.2.3 La requête à utiliser 208
17.3 Présentation du résultat 211
17.3.1 Ecran de sélection 211
17.3.2 Ecran de résultat 211
17.4 Analyse du résultat 212
17.4.1 Code inspector 212
17.4.2 Analyse de la durée d’exécution 212
17.4.3 Trace SQL 215
17.5 Conclusion 218
18 CHAPITRE 18 – Mise à jour d’une table spécifique 219
18.1 La théorie 220
18.1.1 La syntaxe 220
18.1.2 L’impact sur la base de données 220
18.2 La démonstration 221
18.2.1 Le contexte 221
18.2.2 Les tables utilisées 221
18.2.3 La requête à utiliser 222
18.3 Présentation du résultat 226
18.3.1 Ecran de sélection 226
18.3.2 Ecran de résultat 226
18.4 Analyse du résultat 227
18.4.1 Code inspector 227
18.4.2 Analyse de la durée d’exécution 227
18.4.3 Trace SQL 229
18.5 Conclusion 230
19 CHAPITRE 19 – LES BAPI : L’intégration de données dans SAP 231
19.1 Objectifs 232
19.2 Les moyens 233
19.2.1 Règles d’utilisation d’une BAPI dans un programme 233
19.2.2 La gestion du transactionnel avec une BAPI 233
19.3 La démonstration 236
19.3.1 Le contexte 236
19.3.2 Les données utilisées 236
19.3.3 Le programme à utiliser 237
19.4 Présentation du résultat 240
19.4.1 Ecran de sélection 240
19.4.2 Ecran de résultat 240
19.5 Analyse du résultat 240
19.5.1 Code inspector 240
19.5.2 Analyse de la durée d’exécution 241
19.5.3 Trace SQL 241
19.6 Conclusion 242
19.6.1 Avantages 242
19.6.2 Inconvénients 242
20 CHAPITRE 20 – LES BAPI : Le contrôle d’intégration 243
20.1 Objectifs 244
20.2 Les moyens 244
20.3 La démonstration 245
20.3.1 Le contexte 245
20.3.2 Les données utilisées 245
20.3.3 Le programme à utiliser 246
20.4 Présentation du résultat 250
20.4.1 Ecran de sélection 250
20.4.2 Ecran de résultat 250
20.5 Analyse du résultat 251
20.5.1 Code inspector 251
20.5.2 Analyse de la durée d’exécution 251
20.5.3 Trace SQL 252
20.6 Conclusion 252
21 CHAPITRE 21 – LES BAPIS : Les traitements de masse 253
21.1 Objectifs 254
21.2 Les moyens 254
21.3 La démonstration 254
21.3.1 Le contexte 254
21.3.2 Les données utilisées 254
21.3.3 Le programme à utiliser 256
21.4 Présentation du résultat 259
21.4.1 Ecran de sélection 259
21.4.2 Ecran de résultat 259
21.5 Analyse du résultat 260
21.5.1 Code inspector 260
21.5.2 Analyse de la durée d’exécution 260
21.5.3 Trace SQL 261
21.6 Conclusion 262
22 CHAPITRE 22 – Le CRM selon SAP 263
22.1 Préambule 264
22.2 Le CRM selon SAP 266
22.2.1 Présentation fonctionnelle 266
22.2.2 Présentation technique 271
22.3 Le CRM avant la programmation objet 273
22.3.1 Présentation de l’interface utilisateur (CRM5.0 et précédemment) 273
22.3.2 Présentation base de données et programmation procédurale, présentation des données 277
22.4 Le CRM après le WEB UI 283
22.4.1 Ce qui n’a pas changé 283
22.4.2 Les modifications dans l’interface utilisateur : internet explorer 283
22.5 Conclusion 290
23 CHAPITRE 23 – Le futur du SQL : le Business Object Layer (B.O.L.) 291
23.1 Objectif 292
23.2 Les bases de la réflexion 292
23.3 La réflexion orientée objet 294
23.4 La solution SAP 295
23.4.1 L’objet de recherche 295
23.4.2 L’objet de résultat 295
23.4.3 Concept générique correspondant à la programmation objet 295
23.4.4 Un nouveau modèle de données 297
23.5 La transaction GENIL_MODEL_BROWSER 297
23.6 La nouveauté avec le CRM EHP1 305
23.7 Conclusion (Avantages / inconvénients) 306
23.7.1 Avantages 306
23.7.2 Inconvénients 306
24 CHAPITRE 24 – La transaction GENIL_BOL_BROWSER 307
24.1 Objectif 308
24.2 Présentation de la transaction GENIL_BOL_BROWSER 308
24.2.1 1ère démonstration : Une requête générale 309
24.2.2 2ème démonstration : Une requête spécialisée 314
24.3 Conclusion 320
25 CHAPITRE 25 – Application du BOL dans le WEB UI 321
25.1 Le concept 322
25.2 La démonstration dans une application existante 322
25.2.1 Présentation de la vue BT108S_LEA/Result 326
25.2.2 Présentation de la gestion du nœud de contexte 326
25.3 L’utilisation dans la programmation des composants WEB UI 327
25.3.1 Le tableau des complexités dans le WEB UI. 327
25.3.2 Les exemples pratiques 328
25.4 Conclusion 332
26 CHAPITRE 26 – Application du BOL dans la SE80 333
26.1 Le concept 334
26.2 La démonstration par le module fonction 334
26.2.1 La première contrainte: 336
26.2.2 Deuxième contrainte: l’appel du module fonction 336
26.2.3 Troisième contrainte: la gestion des relations 337
26.3 La démonstration par les objets du BOL 338
26.4 Le débogage de la programmation par les objets du BOL 343
26.5 Le petit plus 351
26.6 Conclusion 352
27 ANNEXE A – La transaction ST05 353
27.1 Objectif 353
27.2 Le cas d’étude 353
27.3 La démonstration 353
27.4 Conclusion 362
28 ANNEXE B – La touche F1 363
28.1 Objectif 363
28.2 Le cas d’étude 363
28.3 La démonstration 363
28.4 Conclusion 365
29 ANNEXE C – Le code inspector et la transaction SE30 367
29.1 Objectif 367
29.2 Le cas d’étude 367
29.3 La démonstration 367
29.3.1 Le code inspector 367
29.3.2 La transaction SE30 370
29.4 Conclusion 372
30 ANNEXE D – Les exemples fournis par SAP 373
30.1 Objectif 373
30.2 Le cas d’étude 373
30.3 La démonstration 373
30.4 Conclusion 375
31 ANNEXE E – Les tables internes 377
31.1 Objectif 377
31.2 La théorie 377
31.3 La démonstration 378
31.3.1 Les tables standards 378
31.3.2 Les tables sorted 379
31.3.3 Les tables ashed 380
31.3.4 La gestion d’objets dans des tables internes 381
31.3.5 Les structures 382
31.3.6 Les types de tables 383
31.3.7 Les boucles (into et assigning) 385
31.3.8 La lecture unitaire 386
31.4 Conclusion 387
32 ANNEXE F – La BAPI 389
32.1 Objectif 389
32.2 Le cas d’étude 389
32.3 La démonstration 389
32.4 Conclusion 395
33 ANNEXE G – petit examen 397
33.1 Objectif 397
33.2 Description technique 397
33.3 Instructions 398
33.3.1 Ecran de sélection souhaité 398
33.3.2 Liste de résultat 398
33.3.3 Exemple de présentation 399
33.3.4 Interactivité (optionnel) 399
33.4 Conclusion 399
34 Liste des transactions utilisées 401
35 Glossaire 403