Sie sind auf Seite 1von 19

KILOUTOU

Projet KILFI

Développer dans la EBS

21/03/2006
Guillaume BONO
Introduction

 Environnement technique de la EBS


 La documentation de la EBS
 Comment retrouver les données
 Outils de développement
 Structure applicative de EBS
 Paramétrer un programme dans la EBS
 Importer des données dans la EBS
 Extraire des données
 rechercher un état standard et le modifier
 Rappel des normes de développement

www.unilog.logicacmg.com
www.unilog.com 11/03/20 Développer dans la EBS 2 / 19
Environnement technique

 Un serveur de données => c’est là où est la base de données Oracle ainsi que les états
(Reports, XML Publisher) et les traitements batch (Shell Unix, SQL et PL/SQL)
 Un serveur d’application => c’est là où sont stocké les développements liés à l’IHM
(Forms, Html, jsp)
 Bodet a choisi des serveurs HP sous environnement UNIX

www.unilog.logicacmg.com
www.unilog.com 11/03/20 Développer dans la EBS 3 / 19
La documentation de la EBS

 La documentation standard de la EBS est composé de 2 types de documents


que l’on retrouve pour chacun des modules du progiciel (GL, AP, PO, AR …°)
 Les « User’s Guide »
 Les « Technical References Manual », les TRM

 Le User’s Guide informe sur la partie fonctionnelle du logiciel :


 Le fonctionnement des écrans
 Certains paramétrages
 Le fonctionnement des « Open Interfaces »
 Le fonctionnement des APIs (Package PL/SQL standard)

 Le TRM informe sur la sous couche du logiciel. (Architecture


des tables ou vues)
 Nom des tables,Nom des colonnes et signification sommaire, Clef primaire, Index
 Diagramme, lien entre les tables
 Liste des vue
 ….
 Vous pouvez aussi trouver des informations sur metalink.oracle.com
 Exercice retrouver le MCD des factures dans AR faite une recherche dans
metalink sur une des tables. Indice facture = Transaction

www.unilog.logicacmg.com
www.unilog.com 11/03/20 Développer dans la EBS 4 / 19
Comment retrouver les données en base

 Le but de ce paragraphe est d’établir le lien entre ce qui est visible à l’écran et les donnée qui se trouve en base.
 Dans 99% des cas les écrans de la EBS sont basées sur des vues.
 Pour connaître la vue utilisé et donc l’origine de la données d’un champ, il suffit de se positionner sur celui ci après une interrogation et d’aller
dans le menu Aide>Historique des enregistrements.

 Puis pour obtenir la colonne de la vue lié au champ, il suffit d’aller dans Aide>Outils>Examine. Le nom du champ est celui de la colonne de la vue:

 Nous connaissons désormais la colonne et la vue qui renseignent le champs. Pour connaître le nom de la table, il faut « dé compiler » la vue dans
PLSQL Dev par exemple.

 Attention si vous exécutez la vue sous SQL*Plus, la requête ramène null car la vue possède des restrictions sur l’organisation de l’utilisateur. Il
existe une procédure standard qui permet de simuler une connexion à la EBS:
 SQL>execute fnd_global.apps_initialize(0,50554,200)

 Exercice : Choisir une facture sur l’écran des factures fournisseur et retrouver à partir de SQL*Plus le site fournisseur

www.unilog.logicacmg.com
www.unilog.com 11/03/20 Développer dans la EBS 5 / 19
Outils de développement

 Outils pour faire du traitement Batch :


 Korn Shell Unix : c’est un langage Hôte qui permet notamment de manipuler des fichiers,
faire du FTP, lancer des script SQL, SQL loader… Un Shell Unix sert souvent de
« Matrice » à un traitement.
 Script SQL : Ce sont des scripts de manipulation de données (Mise à jour, extraction …).
Il peuvent lancer des procédures PL/SQL
 SQL*Loader : c’est l’outil de chargement des données dans Oracle de fichier plat. Il
permet d’insérer en masse un fichier texte dans une table Oracle.
 Outil pour la création d’IHM
 Forms : Permet de créer les écrans
 JDevelopper OA Extension : Permet de créer les pages HTML

www.unilog.logicacmg.com
www.unilog.com 11/03/20 Développer dans la EBS 6 / 19
Structure applicative de EBS

 Une application = 1 activité Lien fonctionnel


 Une application = 1 arborescence Lien technique
 Une application se définit dans l’administrateur système :Application >enregistrer

 Chaque application possède un code (Ex : SQLGL pour la comptabilité général) et un


schéma d’accès à un répertoire de base ($GL_TOP)

www.unilog.logicacmg.com
www.unilog.com 11/03/20 Développer dans la EBS 7 / 19
Paramétrer un traitement dans EBS (1)

 Pour les shell Unix, SQL et les Reports, les étapes d’installation sont les suivantes
sous la responsabilité System Administrator
 Déclaration de l’exécutable /Simultané/Programme/Exécutable

 Déclaration des jeux de valeurs éventuels pour les paramètres


Application/Validation/Jeu
 Déclaration du programme Simultané/Programme/Définir

www.unilog.logicacmg.com
www.unilog.com 11/03/20 Développer dans la EBS 8 / 19
Paramétrer un traitement dans EBS (2)

 Ajout de paramètre au traitement

 Ajout du programme à un groupe d’états sécurisé : /Sécurité/Responsabilité/Traitement

www.unilog.logicacmg.com
www.unilog.com 11/03/20 Développer dans la EBS 9 / 19
Réalisation d’une interface

 La notion d’interface décrite ici consiste à extraire ou importer depuis


/ dans la EBS
 Dans le cas d’un import, les données peuvent provenir d’un
application amont via un fichier plat (Texte)
 Pour l’extraction, les données (provenant de la base Oracle) sont
exportées généralement vers un fichier texte en vue d’être intégré
dans une autre application.
 Utilisation d’un shell Unix : L’écriture d’un shell Unix n’est pas
systématique mais il est nécessaire dans le cas ou l’on veux utiliser
plusieurs commandes Unix (Archivage ou détection d’un fichier,
transfert FTP …)
 On peut lancer directement un script PL/SQL
 Attention, au passage de paramètre du traitement pour un traitement
UNIX

www.unilog.logicacmg.com
www.unilog.com 11/03/20 Développer dans la EBS 10 / 19
Passage de paramètre vers Unix

 Les traitements EBS envoient dans une même chaîne de caractères à un shell
UNIX plusieurs paramètres - des paramètres systèmes et des paramètres du
traitement :
nom_exe
FCP_REQID = num_traitement
FCP_LOGIN = "user/password"
FCP_USERID = id_user
FCP_USERNAME = "nom_user"
FCP_PRINTER = "nom_imprimante"
FCP_SAVE_OUT = Y ou N
FCP_NUM_COPIES = nbre
(PARAM1=) Val_param1
(PARAM2=) Val_param2

 Les paramètres systèmes sont préfixés par FCP_
 Les paramètres des traitements sont ajoutés à la fin
 Tous les paramètres sont “collés” dans une même chaîne
 Afin que les paramètres soient utilisables individuellement par les fichiers
Unix, il est nécessaire de segmenter la chaîne de caractères envoyée
directement par Oracle Applications.
 On utiliser un lien Symbolique vers FNDCPESR
 ln -s $FND_TOP/bin/fndcpesr nomfich
 (nomfich est le nom du fichier Unix sans son extension .prog)
 C’est ce lien sans extension qui sera déclaré sous la EBS

www.unilog.logicacmg.com
www.unilog.com 11/03/20 Développer dans la EBS 11 / 19
Interface entrante – importé des données
dans la EBS

 Afin d’intégrer des données dans la EBS, Oracle a prévue dans la


plupart des cas des portes d’entrée pour les données. Il s’agit :
- Des tables standards d’interfaces dont les enregistrements sont ensuite traité par des traitements
standards appelés Open Interfaces
- Des API qui sont des packages PL/SQL auquel on passe en paramètre les données
 Lorsqu’il n’existe pas d’Open interface, il faut alors insérer directement les
enregistrements dans les tables de production du module concerné. Cette
manipulation peux être très complexe.
 La cinématique fréquemment rencontré pour un traitement d’import dans la EBS est
la suivante :
1. Création d’un table de travail
2. Chargement du fichier via SQL*Loader
3. Enrichissement éventuel des enregistrements de la table de travail, par exemple grâce à des tables de correspondance
4. Insertion des enregistrements de la table de travail dans la table d’interface
5. Lancement automatique de l’open Interface

www.unilog.logicacmg.com
www.unilog.com 11/03/20 Développer dans la EBS 12 / 19
Utilisation de SQL*Loader

 L’outil SQL*Loader est en quelque sorte l’inverse de la commande SPOOL :


 Il permet de charger le contenu d’un fichier plat dans une table.
 Un fichier de contrôle décrit les données à charger ainsi que leurs destinations dans la base de
données :
 il contient le nom du fichier de données (peut être passer en paramètre)
 Le nom de la table à charger
 La correspondance entre les zones du fichier et les colonnes à charger.
 Exemple de syntaxe :
OPTIONS (SILENT=FEEDBACK)
LOAD DATA
TRUNCATE -- permet de faire un DELETE et un COMMIT de la table temporaire --
INTO TABLE ATLAS_REP_COM_FOUR_ENT
FIELDS TERMINATED BY '|'
TRAILING NULLCOLS
(
NUM_COMMANDE CHAR " ltrim(rtrim( :NUM_COMMANDE ,' '),' ')",
DOCUMENT_TYPE_CODE CHAR " ltrim(rtrim( :DOCUMENT_TYPE_CODE ,' '),' ')",
CURRENCY_CODE CHAR " ltrim(rtrim( :CURRENCY_CODE ,' '),' ')",

RATE_DATE CHAR " ltrim(rtrim(TO_Date(:RATE_DATE ,'DD/MM/RRRR'),' '),' ')« 


)

 Le lancement d’un SQL*Loader sous unix s’effectue via la commande :


sqlldr userid=apps/apps control= <Chemin et nom du fichier de control>
data= <Chemin et nom du fichier de donnée>
log= <Chemin et nom du fichier de log> }
bad= <Chemin et nom du fichier de donnée fausse>

www.unilog.logicacmg.com
www.unilog.com 11/03/20 Développer dans la EBS 13 / 19
Interface sortante

 Pour exporter vers un fichier texte des données contenues dans les
tables Oracle, on utilise une instruction SQL*Plus appelé SPOOL. Ce
script peut être lancé par un shell UNIX depuis la EBS.
 On formate l’environnement
set pagesize 0 – Nombre de ligne par pages (0 = illimité)
set linesize 200 – longueur des ligne du fichier
set heading off – Supprime l’affichage des en tête de colonne
set feedback off – Supprime l’affichage des lignes retournées
set echo off –- supprime l’affichage des commandes lancées
set verify off -- supprime l’affichage des parametres saisis
set termout off – supprime l’affichage à l’écran du résultat

 Puis on lance le spool


Spool ${ORADIR}/${FIC} (Chemin / nom du fichier)
SELECT VENDOR_NAME||';'||SEGMENT1
FROM ATLAS_REP_FOURNISSEUR
WHERE PO_VENDORS;
spool off;

www.unilog.logicacmg.com
www.unilog.com 11/03/20 Développer dans la EBS 14 / 19
TP : interface sortante

 Création d’une interface sortante :


- Extraire une liste de facture qui puisse être récupéré sous excel.
- Cette liste contient : le nom du fournisseur, le site fournisseur, le numéro de la facture et son
montant
1. Écrire la requête SQL permettant de récupérer les informations
2. Créer le script SQL contenant le SPOOL utilisé pour constituer le fichier de sortie
3. Créer le Shell Unix du traitement
4. Paramétrer le traitement dans la EBS
5. Exécuter le traitement, récupérer le fichier et l’ouvrir sous Excel

www.unilog.logicacmg.com
www.unilog.com 11/03/20 Développer dans la EBS 15 / 19
TP : interface entrante

 Création d’une interface entrante :


 Importer dans la table les écritures de paie RH Arcole et lancer un script SQL qui met à
jour la table:
1. Créer une table de chargement ATLAS_TRA_RH_ARC_<Numéro>
2. Créer un SQL loader qui charge le fichier COMPTA_RH.dat dans la table
ATLAS_TRA_RH_ARC_<Numéro>
3. Créer un script SQL qui met à jour la table ATLAS_TRA_RH_ARC_<Numéro>
4. Créer un Shell Unix
5. Déclarer le traitement et le lancer via la EBS

www.unilog.logicacmg.com
www.unilog.com 11/03/20 Développer dans la EBS 16 / 19
Retrouver un état standard et le modifier

 Rechercher l’état dans Simultané/Programme/Définir

 Vous y trouverez le nom de la source


 Par FTP rapatrier le fichier .rdf sur le serveur à
/oa/proto/apps/appl/<abréviation du module>/11.5.0/reports/F/
 Ex: pour AP /oa/proto/apps/appl/ap/11.5.0/reports/F/
 Ouvrir le fichier avec reports, le modifier à votre convenance et le
renommez.
 Une fois le fichier renommé, il suffit de re declarer un traitement avec le
nouveau nom et d’installer le fichier sur le serveur
 Attention à ne pas modifier un standard puis l’écraser!!!

www.unilog.logicacmg.com
www.unilog.com 11/03/20 Développer dans la EBS 17 / 19
TP : Rechercher un standard

 Rechercher l’état des lettres chèque


 Le modifier puis le re déclarer

www.unilog.logicacmg.com
www.unilog.com 11/03/20 Développer dans la EBS 18 / 19
Rappel des normes de développement

 Il existe des normes de développement. Elle font l’objet des


documents : Kilfi_AAST_ING_DG001_Normes de développement .doc
 Les points important :
 Les tables, les séquences et les triggers sur les tables spécifiques doivent être regroupés
dans le compte Oracle « ATLAS » spécialement créé pour le projet, et non dans APPS,
afin de les isoler des objets standards. Ces objets doivent être octroyés ALL à APPS
(GRANT ALL). Un synonyme par objet ATLAS doit être déclaré dans APPS.
 Tous les autres objets (packages, …) seront créés directement dans APPS.
 Les fichiers sources doivent respecter les règles de nommage

www.unilog.logicacmg.com
www.unilog.com 11/03/20 Développer dans la EBS 19 / 19