Vous êtes sur la page 1sur 20

1.

Diagramme pour les évolutions de la solution (incluses dans les


SAS)

Contenu d’une spécification fonctionnelle

https://archive.sap.com/discussions/thread/420332

Conception Réalisation Validation

Fiche de Spécificati
demande on
Demande Fiche de Validation du fonctionne
entrante d'expression de chiffrage chiffrage en lle
Analyse du besoin métier CAB (Change Réalisation
Recherche détaillée si Tests Mise en
besoin par (ECSM) Advisory (Paramétrages Tests
des Dev, d'intégratio prod
l'ECSM et Board) et/ou unitaire
-Demande de différentes transmissi n / recette dans le
validation + développemen s
projet solutions on équipe TNR SAS
priorisation ts)
possibles / ABAP, ou
en COVAL du -Evolution Tous les
étude cahier de
besoin solution Vendredis
impacts paramétra
pdt Copro
(CCS) ge

SFD = document à donner aux développeurs pour programme spécifique

Contient les éléments suivants :


-Tables et noms des champs
-Jointures de tables
-Logique de développement : ordre, calculs etc
-Cas de tests unitaires à préparer

Format de la spécification :
-Validations du document : valideur
-Historique des modifications et contenu des modifications : mises à jour
-Numéro de version et date
-Autorisations
-Parties prenantes :
Nom du responsable /chef projet métier (MOA/AMOA)
Nom de l’analyse fonctionnel (rédacteur de la spécification) (AMOA/MOE)
Nom du développeur / chef projet technique (MOE)
-Table des matières
-Description métier et vocabulaire
-Nouveaux objets spécifiques à rajouter : table, champ, match-code, liste déroulante…
-Transactions et tables impactées
-Diagramme de flux
-Description du sous-processus
-Gestion des erreurs /contrôles
-Fonctionnement des batchs
-Cas de tests

Sur un projet :

-RACI

R : réalise  celui qui fait

A : approuve  valide le résultat

C : est consulté  expert/sachant

I : est informé  impacté par le projet, utilisateur final, demandeur…

2. ABAP

2.1 Module fonction

Ce sont des routines ABAP (sous-programmes) qui peuvent être exécutées indépendamment d’un
programme particulier

Prend des éléments d’entrée et sort des éléments de sortie


Possible de gérer des exceptions = cas d’erreurs et ce qu’il faut faire derrière
Réutilisables dans d’autres programmes beaucoup plus facilement (fait partie du Dictionnaire ABAP
SE80)

Transaction SE37

Certains sont des BAPI : peuvent être appelés depuis l’extérieur en RFC

2.2 User-exits

http://sap.technique.free.fr/static.php?op=exit_badi.txt&npds=1

-Rajouts possibles dans le standard SAP qui permettent d’éviter d’avoir à modifier le code source
standard

 Anciens user-exits : includes dans les programmes standard (se38) avec des routines dans
lesquelles on met du code spé. Cela peut modifier le standard
Implémentations d’extension.
 « Nouveaux » user-exit : Transaction SMOD et CMOD  appellent des modules function qui
contiennent du code spé. On ne peut pas modifier le standard
Instruction « Call customer function »

Exemple : structure d’append (append structure) = rajout de zones spécifiques dans une table

 BADI = version objet des user-exits, même principe mais plus moderne
Transactions SE18 / SE19

SE18 = définition (anciennes/nouvelles BADI)

SE19 = implémentation (anciennes/nouvelles BADI)

Pour trouver un BADI : https://www.sapnuts.com/courses/core-abap/badi-sap/finding-badi.html

-SE24 avec nom de classe CL_EXITHANDLER, méthode GET_INSTANCE  breakpoint sur


cl_exithandler-> et_class_name_by_interface

Puis lancer la transaction et afficher la valeur de exit_name = nom du BADI

-Ou en SE84 avec nom du package de la transaction (visible en SE93) ou du (sous)module

2.3 Tables

 Trouver une table transparente (=de la BDD) :


-Aller sur le champ et faire F1 + infos techniques : si c’est table transparente  ok
-Aller en SE11 : rentrer une structure puis « Afficher », double-clic sur le nom du champ puis

cliquer sur puis « Zones de tables » : affiche les tables transparentes / programmes où le
champ est utilisé

Zone dans une table

Il s'agit du nom de la zone de table.


Le nom d'une zone ne peut contenir que des lettres, des chiffres et le trait de soulignement,  et doit
commencer par une lettre.  Il peut débuter par un préfixe d'espace nom.
Les entrées de type .INCLUDE ou .APPEND montrent qu'il ne s'agit pas d'une zone ordinaire mais d'un
include ou d'une structure append.
Le nom de l'include ou de la structure append est alors enregistré dans la zone Type de zone.

Elément de données :

Description sémantique de la zone = nom de zone / type de zone / taille / domaine associé
Domaine

Liste des valeurs possibles pour la zone = liste de valeurs en dur ou table de contrôle (clé externe)

Différence entre table de contrôle et table de valeurs :

http://www.erpgreat.com/abap/difference-between-a-check-table-and-a-value-table.htm

Définition d’un domaine : https://www.tutorialspoint.com/sap_abap/sap_abap_domains.htm

Bufferisation

Mise en mémoire d’une table de la base de données : la table est stockée dans l’application server
(serveur applicatif, composante matérielle de SAP) en mémoire.

Facilite la lecture via les requêtes Open SQL (ABAP) : la lecture ne se fait pas en base mais dans la
mémoire : meilleures performances

SE11  table  Options techniques  coches


3. XI / PI

Tuto : https://www.tutorialspoint.com/sap_pi/sap_pi_quick_guide.htm

Repository : Mapping etc  transport d’OT

Directory : connexion entre les systèmes  se fait dans chaque environnement 1 fois pour toute

PI est la nouvelle version de XI : process integration


Permet d’intégrer des flux intra entreprise ou inter entreprises
PO = outil qui contient entre autres PI.

Idocs = intermediate document

https://blogs.sap.com/2012/12/31/idoc-basics-for-functional-consultants/

Permet le transfert d’un message d’un système SAP à un autre système


Le transfert de SAP vers un autre système est fait par l’EDI
Le transfert de SAP vers SAP est fait par ALE

Chez Pomona :

-Flux entrant dans SAP via Presto :

Presto XML
PI / XI Mapping
IDoc ZVT_372
_CMDE_
PRESTO SAP

-Flux entrant dans SAP via EDI


ZVT_37
Client EDI EAI Mapping
client PI / XI Mapping
IDoc 2_CMDE
_ED
SAP

Flux entrant dans SAP pour les centrales d’achat


Commande EAI
Idoc
Mapping Idoc
SAP (OC
d'achat SAP ZHA_986
(Cf
fichier Idoc ZVT_372
_CMDE_
_ORDERS
PI / XI Xl) CHA
centrale)
EDI

-L’EDI est basé sur la norme EDIFACT : les documents métier sont traduits en messages, chacun ayant
un nom standard.
EX Orders = commande d’achat/vente (purchase order)

Terminologie :
-Le type d’idoc (Idoc type/basic type = type de base) définit la structure de l’Idoc : segments, format
des champs, taille

-Extensions : possible de rajouter des segments et champs si besoin d’envoyer d’autres informations
au fournisseur par ex

-Idoc Segment : contient les données envoyées ou reçues


-Partenaire : KU = cllient, Fournisseur = LI etc
Gestion en WE20

-Type de message : l’information est transmise sous forme de message dans SAP. Chaque message =
un type de document (facture, confirmation, commande etc).
Le type de message est associé au type d’Idoc

-Process code : le détail du module fonction utilisé (le type de message peut être lié au module
fonction)

-Port : le type de port définit le mode de transfert de information envoyée.


Ex Port Internet : adresse IP
Port document : adresse du document

-Statuts des idocs sortants :


01: IDoc generation successful
30: IDoc is ready to be processed by IDoc Processing job
03: IDoc data is passed to the Port
18: IDoc successfully triggered EDI subsystem
06: IDoc data translated to EDI format
12: IDoc is dispatched successfully to the partner
16: Partner has received the IDoc successfully
IDoc can possibly fail at any of the above steps during validation.
Impression dans SAP

https://help.sap.com/erp2005_ehp_02/helpdata/fr/92/8c1e4261ea5433e10000000a155106/conten
t.htm?
frameset=/fr/82/a9234289305133e10000000a155106/frameset.htm&current_toc=/fr/73/69f5c755b
b11d189680000e829fbbd/plain.htm&node_id=109&show_children=false

 Types de document imprimés par SAP :

Type Utilisation Exemple

Documents SAPscript/Smart Forms Pour tous les documents Commandes, factures


avec formulaire complété
Listes d’états Pour la sortie d’une Listes de centres de coûts
sélection de base de
données
Graphique de présentation Pour les synthèses Liens de table dans le
graphiques dictionnaire ABAP/4
Documents avec des données   Documents PDF
d'impression qui ont déjà été
formatées

 Impression du document : quand on clique sur “imprimer” dans SAP, deux choix :

-Impression immédiate
-Impression différée dans un « ordre spool »

Pop-up (fenêtre) d’impression :

Définitions :
-Unité de sortie = imprimante à utiliser pour l’impression (périphérique)
-Nb de copies = nombre de copies
-Imprimer immédiatement = à sélectionner pour imprimer tout de suite, sinon cela génère un ordre
spool.

 Pour imprimer un spool : utiliser le Pilotage des sorties


SP01 ou dans « système » (SP02 = ses propres spools)

-Ordre spool = pas encore imprimé


-Ordre d’édition = la communication avec le périphérique d’impression a déjà été faite

= impression avec les paramètres définis pour ce spool

= impression avec possibilité de modifier les paramètres par défaut du spool

= permet de modifier la mise en forme de l’impression


4. Méthodes interfaces

4.1 RFC = Remote Function Call

Appel d’un MF de SAP (serveur RFC) depuis un système SAP ou non SAP (client RFC)
Besoin d’une connexion/destination RFC pour créer la connexion technique

Synchrone = le système doit être disponible au moment de l’appel


Asynchrone / transactionnel = si le système n’est pas disponible, l’appel se trouve dans une file
d’attente

4.2 BAPI 

MF développés par SAP pour usage du client


Sous catégorie de RFC

Peut être utilisé par les Webservices

4.3 Idoc
Se base sur ALE ou l’EDI 

4.4 WebService

Mécanisme de communication entre applications distantes via Internet, indépendant du langage de


programmation.

-Fonctionne en protocole http


-Emploie la notation XML
-Mécanisme d’appel et de réponse
Messages XML

Transaction SXMB_MONI

-Préciser les dates/heures de sélection :

- Le code RICEF est souvent présent dans le lien émetteur : faire un double-clic pour ouvrir
-
Update task (asynchrone)

-Point d’arrêt système sur le « Commit work » = instruction qui lance le module fonction destiné à
être exécuté en arrière-plan/mise à jour

http://saptechnical.com/Tutorials/ABAP/Debug/Index.htm

http://sapinsider.wispubs.com/Assets/Articles/2003/July/Update-BAPIs-And-Commit-Handling

1- Accès en dialogue en saisie/modification  Blocage de l’accès à la BDD pour d’autres utilisateurs


(Dialogue)

2- Modification puis enregistrement  Appel du MF en Update Task (dialogue)

3- Commit work  Lancement de la màj dans la BDD (Update)

LUW = logical unit of work


Utilisateur  saisie les données puis enregistre

1) Lock dans la base de données sur les données récupérées par l’utilisateur, pour empêcher
d’autres utilisateurs d’y accéder (enqueue work process)
 entrée dans la table des locks (entrée de blocage en SM12)
 Si pas possible d’accéder aux données car autre utilisateur : message d’erreur à l’utilisateur

2) CALL FUNCTION IN UPDATE TASK (par ex à l’enregistrement)


Il y a d’abord écriture dans un « Update Log », qui alimente la table VBLOG : le module fonction
est stocké par ordre de priorité (ordre visible en SM13)

3) Passage à l’instruction COMMIT WORK : la mise à jour dans la base de données se fait par
l’instruction COMMIT WORK qui exécute le MF de mise à jour = lancement de l’update work
process. Lecture du contenu de la VBLOG.
Cela rend la main à l’utilisateur : on parle de mise à jour asynchrone de la BDD (Update Task) :
c’est tout l’intérêt de ce mode de fonctionnement, lorsque la transaction doit avoir un temps de
réponse rapide (aucun intérêt en arrière-plan)

4) Mise à jour de la BDD :


 Si succès, suppression des données temporaires de VBLOG et màj de la BDD
 Sinon les données restent en VBLOG avec flag d’erreur.
https://sapient.wordpress.com/2007/09/19/update-techniques-asynchronous-and-synchronous-
update/

Textes dans SAP

https://wiki.scn.sap.com/wiki/display/ABAP/Long+Texts

Plusieurs types de textes :

-Les données de « Texte court » stockées directement dans leur format dans une table de texte
Exemple : les désignations de la fiche article sont stockées dans la table MAKT

-Les données de « Texte long » stockées dans la table STXL au format héxadécimal
Exemple : les notices article

Lecture avec le module fonction READ_TEXT

Modification avec le module fonction SAVE_TEXT


Modèle relationnel

Entités : désigne toute unité d’information identifiable et pertinente pour l’application

Attributs : propriétés de l’entité

 Un attribut = une zone = un nom


 Un ou plusieurs attributs constituent une clé = identifiant
 Chaque attribut peut avoir un domaine = liste de valeurs possibles

 Ces trois infos constituent le type d’une entité

Associations : relation qui lie les entités

Ensemble de couples liant deux entités

Cardinalité :

Minimale = nombre minimum de fois où une entité peut intervenir


Maximale = nombre maximum de fois où une entité peut intervenir (0,1 ou n)

Ex : 1 réalisateur  de 0 à n films


1 film  de 0 (si pas connu) à 1 réalisateur (normalement)

http://sql.bdpedia.fr/ea.html
SAP NOTE

user (top): S0004688894


password: $Hatop01
LSMW

https://wiki.scn.sap.com/wiki/pages/viewpage.action?pageId=32737629

4 manières de faire (techniques d'import) :

1) Standard batch input (Direct Input)


2) Batch input Recording  Simule le fonctionnement d’une transaction
3) BAPI
4) Idoc

Tranches de numéros (paramétrage)

-A transporter lors de la création par copie des structures orga (division, n° Mag etc)

Répondre « oui » à la pop-up : cela permet d’inclure la tranche de numéros dans un OT de custo
depuis l’entité de référence.

Si on répond « non », il faudrait créer la tranche de numéros dans chaque environnement : plus
fastidieux.

-Lors du transport de DCC 201 à 202 : cela reprend le contenu de l’intégralité de l’OT

Si jamais on corrige le paramétrage et qu’on réimporte, il y aura des conflits d’unicité des objets (ex
OT de préparation….). Pour éviter ce cas, libérer l’OT dès que le paramétrage initial est terminé et
recréer si besoin un nouvel OT en cas de corrections.

5. Workflows

5.1 Workflows

Gérés en SWDD

5.2 Business objects

Gérés en SWO1

Appel dans un programme :


CALL FUNCTION 'SWE_EVENT_CREATE_IN_UPD_TASK' IN UPDATE TASK
EXPORTING
objtype = 'ZTP_BTCH'
objkey = space
event = 'VL34'
TABLES
event_container = lt_container.

Consulter le résultat : SWI1

Vous aimerez peut-être aussi