BLOG | Episode 1 : FDMEE Event

29/08/2023

Le module FDMEE d’Oracle Hyperion est le module permettant de réaliser des interfaces entrantes ou sortantes des application Planning, HFM …

Ici on ne parlera pas de l’intérêt des chargements via la base de données (back-end) effectués uniquement par les développeurs ou un process de chargement, ni de l’utilisation d’Excel pour générer un fichier plat à intégrer dans l’application cible. Mais plutôt des actions à réaliser avant ou après un chargement.

En effet lors d’une interface, on doit souvent réaliser des actions avant et après chargement. Pour cela FDMEE utilise les scripts jython appelés suivant les étapes de l’interface, partie non accessible sur les versions Cloud d’Oracle PBCS par exemple.

Bonne lecture !

Limitation du nombre de scripts

Pour limiter le nombre de scripts, il faut comprendre comment FDMEE fait appel aux scripts. Les scripts sont présents dans chaque dossier lié à l’application. Par défaut, on a un dossier par « Application FDMEE ».

Lors de la création d’une application cible sous FDMEE, on peut rattacher l’application à un dossier racine qui contiendra au moins 3 dossiers qui sont Data, inbox et outbox.

* Data contient principalement les scripts

* Inbox un dossier par emplacement (location) pour permettre de déposer les fichiers que l’on veut traiter

* outbox contient principalement les log ainsi que les rapports générés par FDMEE

Sous FDMEE, on peut être amené différentes application cible pour la même application pour les raisons suivantes :

  • Drill demandant de créer des destination sous FDMEE non pris en compte par l’application,
  • la méthode d’importation où il y a une différence entre des données qui contiennent que des données numérique et que d’autre interface contient un mixte entre numérique, texte et/ou date

Pour que ces différentes applications cibles utilisent les mêmes scripts, il suffit de renseigner le même dossier de travail en allant dans ‘Application Settings’ :

application settings

Quand on clique sur « Create Application Folder », FDMEE crée les dossiers suivant :

application folder

Après quand on va dans le menu Script Editor de FDMEE, on trouvera les mêmes scripts pour les applications ayant le même dossier de travail :

script editor

Réutilisation de scripts ou création de fonction multi application

FDMEE n’est pas lié à une seule application, ce qui amène à avoir des scripts utilisant les mêmes besoins dont le code doit être répétés car ne faisant pas partie de la même application. Même si on peut mettre toutes les applications cible FDMEE sur le même dossier de travail pour unifier les codes, on risque de se trouver avec des scripts très lourds à lire.

L’utilité de créer des fonctions prend son importance sous FDMEE, si on a plus d’une application planning à alimenter. En général dans une interface, on réalise les opérations suivantes :

  • Récupération des données à intégrer,
  • Mapping des données suivant la destination voulue,
  • Validation du mapping éventuellement envoi de mail si ligne à importer non mappée,
  • Suppression dans l’application cible suivant le périmètre en cours,
  • Envoi des données, • Envoi de mail si retour de l’envoi en erreur
  • Lancement de règle suivant l’interface (aggrégat, calcul…).

Pour les actions extérieures à FDMEE, on utilisera souvent le même code avec des paramètres différents. Il est intéressant de pouvoir mettre ses partie commune en fonction et que ses fonctions puissent être appelées par tous les scripts.

Pour pouvoir mettre des fonctions utilisables par tous, il suffit de réaliser un module jython accessible à toutes les interfaces de FDMEE.

  • Liste des bouts de script pouvant être appelé à plusieurs reprise :

Dans la partie commune on retrouve les variables d’environnement comme par exemple le compte utilisé pour exécuter les traitements, la localisation des batchs, les URL à utiliser pour lancer une règle planning, les paramètres pour envoyer un mail (serveur de mail, compte…) 

  • Création d’un fichier fonction en jython
jython

Après avoir créé le fichier fonction, il faut mettre le fichier accessible à FDMEE, le plus simple étant de le mettre dans un sous dossier du dossier racine de FDMEE (Application root folder) dont le chemin est accessible pour le compte de service de FDMEE et récupérable depuis une fonction standard de FDMEE fdmContext.

  • Appel du fichier fonction dans les scripts FDMEE pour pouvoir utiliser les fonctions créées

Dans les scripts, il suffit de faire un import classique de module en précisant le chemin du fichier fonction dans le script :

chemin script

Une fois appelé dans le script, on peut utiliser les fonctions qui auront été développées.

Par exemple l’envoi d’un mail générique en cas d’erreur qui envoi le log en cours avec des informations propres à l’interface. Dans la fonction, on a mis la récupération des paramètres comme le serveur de mail, le compte à utiliser pour envoyer le mail …