• Aucun résultat trouvé

L'intergiciel WebMethods et le progiciel SAP ECC sont interconnectés de manière permanente. Néanmoins cette liaison nécessite fréquemment d'être interrompue pour permettre l'exécution des opérations suivantes :

 Backup de l'EAI WebMethods.

 Opérations de maintenance sur l'intergiciel ou sur SAP ECC.

 Transport de nouvelles versions des programmes et interfaces, tant sur SAP ECC que sur WebMethods.

Il est important que toutes les interruptions soient gérées de manière à garantir la stabilité des interfaces. Ainsi, lorsque SAP ECC est inactif alors WebMethods doit conserver les messages dans ses files d'attente tout au long de l'indisponibilité. Dès lors que le progiciel sera réactivé, les messages en attente devront être transmis dans l'exacte séquence de leur publication, tel que si le système n'avait jamais été désactivé. A l'inverse, lorsque l'EAI est inactif alors les iDocs en sortie de SAP ECC doivent rester dans le statut 30 « iDoc en attente de transfert ». Dès que WebMethods sera de nouveau disponible, alors ces messages devront être transférés en respectant leur ordre exact de création.

La conception de mécanismes spécifiques est nécessaire pour permettre d'automatiser ces coupures et réactivations, ou encore de les rendre facilement exécutables par les administrateurs systèmes. Ces solutions sont décrites dans des paragraphes dédiés ci-après.

8.4.1 Désactivation des transferts d'iDocs en sortie de SAP ECC

Les communications entre SAP ECC et WebMethods doivent être interrompues dès lors que l'intergiciel est indisponible. Les coupures et réactivations peuvent être déclenchées par l'ordonnanceur ControlM avant et après une tâche de sauvegarde générale, ou alors directement par les administrateurs de l'EAI au cours de l'exécution d'opérations de maintenance ou de transport des nouvelles versions des développements des interfaces.

SAP ECC transfère les iDocs vers l'intergiciel WebMethods dès lors que le programme standard RSEOUT00 est exécuté. Ainsi, pour empêcher l'envoi des messages il est nécessaire d'interrompre tous les appels à ce programme. Les exécutions de RSEOUT00 étant toujours activées par le cockpit de déclenchement des traitements et transferts d'iDocs, il suffit donc d'adapter ce dernier pour y inclure de nouveaux contrôles. Les interruptions devront pouvoir être commandées par ControlM et par WebMethods tout en garantissant que l'ordonnanceur ne puisse réactiver des traitements désactivés depuis l'intergiciel, et inversement.

Robial Benoît - Mise en place d'interfaces dans le cadre d'un projet d'implémentation du PGI SAP ECC

La mise en place de cette solution est simple. La table de configuration des traitements ordonnancés ZGL_DEL_IDOC comporte une zone « état » permettant de désactiver les exécutions automatiques. Ce mécanisme de contrôle doit être étendu par trois nouveaux champs à ajouter dans la table:

 Contrôle externe: oui ou non. Si oui, alors l'état du traitement peut être contrôlé à partir des outils externes à SAP ECC (intergiciel et ordonnanceur).

 Etat intergiciel: actif ou inactif. L'état sera positionné grâce à des outils à développer sur la plateforme d'administration de WebMethods.

 Etat ordonnanceur: actif ou inactif. Cet état est positionné par des appels à des programmes déclenchés depuis l'ordonnanceur ControlM.

Le programme du cockpit doit être modifié de manière à inclure les logiques suivantes:

 Si la zone « contrôle externe » est positionnée à « non », alors seul le champ « état » déjà présent dans la table ZGL_DEL_IDOC doit être utilisé pour déterminer si le traitement ordonnancé est actif ou inactif.

 Sinon si la zone « contrôle externe » est positionnée à « oui » (cas inverse), alors le traitement ordonnancé sera déterminé comme actif uniquement si les champs « état », « état intergiciel » et « état ordonnanceur » sont tous les trois positionnés avec la valeur « actif ».

Pour que ControlM puisse positionner adéquatement la valeur de la zone « état ordonnanceur » avant et après l'indisponibilité de l'intergiciel WebMethods, deux nouveaux programmes doivent être développés sur SAP ECC. Le premier lira la table ZGL_DEL_IDOC et positionnera à « inactif » la zone « état ordonnanceur » pour tous les traitements ayant le champ « contrôle externe » disposé à « oui », tandis que le second exécutera l'inverse en positionnant la zone « état ordonnanceur » à « actif ». Intégrés dans la chaîne d'arrêt et de redémarrage de l'intergiciel EAI, l'exécution de ces deux programmes permettra de geler et dégeler les traitements ordonnancés transférant les iDocs de SAP ECC vers WebMethods.

Les valeurs de la zone « état intergiciel » sont quant elles gérées directement à partir d'une interface web créée sur l'outil de supervision et d'administration de l'EAI WebMethods. La communication avec SAP ECC se réalise au moyen de modules de fonctions pouvant être appelés depuis l'extérieur de SAP (ces modules sont fréquemment nommés « BAPI »). La première fonction permet à WebMethods de lire les valeurs de la zone « état intergiciel » pour tous les traitements ayant le champ « contrôle externe » disposé à « oui ». La seconde et la troisième permettent quant à elles de disposer à « actif » ou à « inactif » la valeur de la zone « état intergiciel ». L'illustration ci-dessous représente l'outil conçu dans WebMethods pour permettre la gestion des états des traitements ordonnancés de SAP ECC. Les traitements sont gérés par

Robial Benoît - Mise en place d'interfaces dans le cadre d'un projet d'implémentation du PGI SAP ECC

groupe, ici au travers du groupe « GEN » utilisé pour les interfaces couvrant les besoins de plusieurs domaines fonctionnels.

Illustration 57: Outil WebMethods de gestion des états des traitements ordonnancés de SAP ECC.

8.4.2 Désactivation des transferts de messages entre l'EAI WebMethods et le progiciel SAP ECC

La désactivation de SAP ECC nécessitant d'exécuter une multitude de tâches, une procédure spécifique a dû être conçue sur l'ordonnanceur ControlM afin d'automatiser son traitement et ainsi de limiter les risques d'erreurs. Appelée « procédure de gel », cet enchainement de tâches concerne tant le progiciel SAP ECC que les systèmes qui y sont connectés. Elle consiste à désactiver des programmes, empêcher le déclenchement de nouveaux traitements ou encore à couper des connexions. Elle est exécutée à la demande par les administrateurs SAP. La gestion dans WebMethods de l'indisponibilité de SAP ECC a été mise en place grâce à de nouvelles étapes intégrées dans cette procédure. Des solutions pour interrompre les communications existant déjà sur l'intergiciel, il a suffit de configurer dans l'ordonnanceur ControlM un appel automatique à de nouvelles commandes lors de l'exécution des procédures de gel et de dégel. L'EAI WebMethods étant par défaut prévu pour constituer des files d'attente dès lors qu'une connexion est inactive, aucun autre développement ne fut nécessaire à la mise en place de ces règles.