1. SAP - Overview du formulaire
Adobe
Sharifah SYED YASIN
Le 8 Septembre 2011
2. 1. Introduction 1. Web dynpro
2. Les pré-requis Le Web Dynpro
3. L’architecture d’un formulaire Intégration avec le formulaire
4. Formulaire Adobe Web Dynpro Code Wizard
Interface Les actions
Contexte 2. Les points importants
Mise-en-Forme 3. Questions
Exemple du programme de
lancement
2
3. Une solution de type « PDF » directement intégrée dans le système SAP
Deux types de PDF :
PDF de visualisation ( ou « print ») PDF interactif
Transaction utilisée pour créer un formulaire : « SFP »
3
4. • Les composants d’Adobe
–Adobe Livecycle Designer – outil graphique pour la mise en page
–Adobe Document Services (ADS) – un ensemble des services
additionnels dans le système SAP
• Exemple de services fournis par ADS:
– Générer des formulaires
– Extraire des données à partir du formulaire
– Gérer des droits des users
Les deux composants sont téléchargeables sur le site SAP
Support Portals (Lien : https://websmp209.sap-ag.de/support)
–Adobe Reader – affichage et manipulation des formulaires
Lien : http://get.adobe.com/fr/reader/
4
5. Un formulaire est composé de deux parties : Interface et Formulaire
La partie Formulaire est divisée en deux sous-parties : Contexte et Mise-en-
Forme
Partie Elément Fonctionnalité
- Définir les données à
Interface inclure dans le formulaire
- Initialiser les données
- Spécifier les donnés qui
seront utilisées dans la
Contexte Mise-en-Forme
Formulaire - Fixer les conditions sur
les données
Mise-en- - Définir la conception
Forme graphique du formulaire
5
6. • Elle est créée avec la transaction « SFP »
• Sa création est obligatoire avant la création d’un formulaire
• Il existe trois types d’interface :
– Basée sur ABAP (recommandée pour les formulaires de type « print »)
– Basée sur XML (recommandée pour les formulaires interactifs)
– Basée sur SmartForm
Une interface peut être utilisée par plusieurs formulaires
6
7. Définir les données récupérées à partir des tables du
Import système SAP dans le formulaire à créer (par el biais de
l’interface)
Définir les données envoyées au système SAP depuis les
Export champs saisies dans un formulaire interactif
Définir les exceptions en cas d’erreur, en retour sur le
Exceptions programme appelant. Elles viennent par défaut
7
8. Déclaration des données globales (variantes,
constantes, structures…) du formulaire, mais pas les
Global Data tables
Possibilité de reprendre les structures de la partie
« Types » pour créer une table interne
Définir de nouvelles structures non existantes dans le
Types système
Field Symbols Déclarer les pointeurs
8
9. Déterminer les paramètres d’entrée et paramètres de
sortie (champs déclarés dans « Import » et « Export »
Code Initialization
Initialiser les données (Comme « Initialization » dans un
programme SAP)
Insérer les fonctions que nous pouvons appeler depuis
Form Routines « Code Initialization »
9
10. Associer un montant à une devise.
Currency/Quantity
Associer une quantité à une unité.
Devise
10
11. La partie « Formulaire » est composée de deux parties : Contexte et Mise-en-
Forme
Elle est également créée avec la transaction « SFP »
Un formulaire doit être basé sur une interface
11
12. Les éléments du contexte sont ceux qui seront utilisés pour la mise en forme
Par défaut aucun élément n’est dans le contexte, ils sont a ajouter depuis la
partie interface (drag and drop)
Liste des
données
récupérée depuis Liste des éléments
l’interface du contexte
Propriété des éléments Propriété de l’élément
dans l’interface choisi dans la liste
12
13. Ajout de conditions permet de vérifier les données avant qu’ils soient
traitées et affichées
13
14. Les éléments graphiques sont ajoutés depuis la bibliothèque d’objet (drag and
drop)
Editeur de script
La bibliothèque d’objet
(boutons, textes…)
Liste des éléments dans le La propriété d’un objet
formulaire
14
15. Le lien entre un élément graphique et une donnée de contexte (un
« binding ») permet de recevoir les informations depuis les tables SAP
Pour établir le lien, deux méthodes possibles :
• Le définir dans l’onglet Liaison dans la palette « Objet »
• Faire un glisser-déposer à partir de la palette « Vue des données » de la liste des
données du formulaire
Il existe différents notations qui servent comme référence d’un élément
($record, # , ! , *….). En fonction de sa position dans le « Data View », la
référence peut être +/- complexe
15
16. Les scripts permettent d’ajouter des traitements dynamiques tels que le calcul
et la vérification des erreurs
Chaque script est associé à un objet et correspond à un événement spécifique (un
click, enregistrement du formulaire…)
Deux langages de scripting utilisés dans Adobe LC:
• FormCalc : langage propriétaire d’Adobe
• Javascript : plus complexe mais plus complète
16
17. Pour afficher un formulaire, il faut lui créer un module fonction de
lancement (Transaction SE38), dans notre exemple le formulaire sera de
type « print »:
Récupération des données (Recherche des données
dans SAP en fonction des paramètres du MF)
Recherche du module fonction associé au formulaire
Ouverture d’un spool
Exécution du traitement du formulaire
Fermeture du spool
17
18. 1. Sélectionner les données à partir de table SAP et les enregistrer dans une table
interne
8. Récupérer le nom du module de fonction à exécuter à partir du nom de formulaire (Ce
module fonction est généré lors de la création d’un formulaire (SPF))
Nom du formulaire
Nom du MF récupéré
18
19. 1. Définir les paramètres d’impression et ouvrir la tâche spool
9. Exécuter le module de fonction du formulaire
Paramètres du formulaire
(import de l’interface)
19
21. Web Dynpro est la technologie propriétaire de SAP pour le développement
des applications web
Elle existe en Java ou en ABAP
Un web dynpro est crée dans la transaction « SE80 »
21
22. Intégration d’un formulaire Adobe dans un web dynpro permet de l’ouvrir à
partir d’un navigateur web
Il peut être :
Un formulaire statique
Un formulaire interactive
Les formulaires sont intégrés dans la vue de web dynpro
Un formulaire interactif fait
partie des éléments
graphiques proposés par
le WDP
22
23. Aperçu d’une vue de web dynpro avec un élément graphique « formulaire
interactif » intégré :
La liste des éléments
graphiques dans la vue
L’élément graphique Les propriétés
de l’élément
23
24. Les propriétés importants à renseigner pour un élément de type
« Interactive Form » :
Nom Valeur à enseigner
templateSource Le nom du formulaire
Les données choisies à partir
dataSource du contexte (faire le
« binding »)
Si coché, le formulaire sera
enabled interactif, sinon formulaire
statique
Un attribut de type
pdfSource
« xstring » dans le contexte
Width/Height Largeur et hauteur
24
25. Deux façons de procéder :
Utiliser un formulaire existant
Créer un nouveau formulaire à partir de web dynpro
Si on crée un nouveau formulaire, on peut utiliser le contexte du web dynpro
pour le formulaire
Aller chercher le contexte
du WDP qui sera adapté au
formulaire
25
26. L’éditeur du formulaire peut s’ouvrir également dans le Workbench (SE80)
26
27. C’est l’outil pour l’aide à l’insertion des codes
« Onglet Context»: les codes générés utilisent les données du contexte
1) Choisir l’attribut de contexte
qui correspond
2) Choisir l’opération (lire ou
définir la valeur)
Exemple du code généré
27
28. Onglet « General » : génère les codes pour fonctionnalités diverses
Exemple : Les codes générés pour naviguer
entre deux vues
28
29. Les actions sont les événements déclenchés suite à des activités externes tels
qu’un click, appui sur une touche de clavier et autres
Elles sont ajoutées pour améliorer l’utilisation du formulaire
Exemple des actions :
Récupération et envoi des données
Navigation entre les différents formulaires
Le comportement de l’action est défini dans sa méthode de « event handler »
L’ajout des codes dans les méthodes « event handler » est simplifié par le
Code Wizard
29
30. Exemple des étapes du programme pour récupération de données :
Récupérer le numéro Appeler le BAPI avec
de cas litige souhaité à comme paramètre
partir de l’URL d’entrée le numéro de
cas litige
Afficher les données Remplir le contexte
dans les champs du avec les données
formulaire récupérées grâce au
BAPI
Formulaire Adobe SAP
30
31. Chaque application web dynpro est désignée par une URL
L’URL est générique et contient que le nom du web dynpro
Il est possible de rajouter les paramètres
supplémentaires dans l’URL
URL générique
31
32. Ajouter les paramètres supplémentaires dans l’onglet « Parameters »
Définir les valeurs qui sont acceptées par ces paramètres dans la méthode
« handledefault » de la fenêtre
32
33. Adobe Reader permet seulement l’affichage des formulaires
L’ajout des autorisations spéciales Adobe ReaderRights est
nécessaire pour utiliser les fonctionnalités avancées tels que
les formulaires interactifs et la signature électronique
Utilisation de l’ABAP objet et Javascript
Web Dynpro utilise ABAP et ABAP objet dans le développement des méthodes
Les traitements dynamiques dans les formulaires sont inclus avec Javascript
Utilisation de BAPI pour la manipulation d’un Business Object (ex: Cas
Litige)
33
34.
35. Liens :
SAP Library
Interactive Forms by Adobe
Web Dynpro ABAP
Documentation en ligne de LC
Tutoriels : SAPTechnical.com
Editor's Notes
La mise en forme se fait avec Adobe Livecycle Designer
CLIENT_ID = $record.IT_CASE.DATA[*].CLIENT_ID SUM = $record.SUM
Exemple de programme : ZTEST_CASE_PROG
Exemple d’un component : ZTEST_WDP_ADOBE
Récupérer le numéro : get_attribute (CASE_GUID) BAPI : BAPI_DISPUTE_GETDETAIL_MULTI Remplir le contexte : set_static_attributes (ls_zcase) Exemple : WDDOMODIFYVIEW de la vue « MAIN » du web dynpro « ZTEST_WDP_ADOBE »