SM36, SM37…Merci mais au revoir

Traitement en cours…
Terminé ! Vous figurez dans la liste.

Note : Une nouvelle version pour créer des application jobs est disponible et sera abordée dans un nouvel article. Cet article utilise d’anciennes interfaces.

Pour rappel, en ABAP Cloud (la seule version d’ABAP disponible pour S/4 HANA Cloud, Public Edition et celle recommandée pour les autres versions S/4 HANA Private Edition et On Premise), les écrans GUI ne sont plus disponibles, et toute UI doit être Fiori.

Qu’en est-il alors des REPORTs que nous avions l’habitude de programmer tous les jours ? toutes les heures ?

Une solution existe : Application Jobs disponible sur S/4 HANA cloud, Public/ Private Edition, On-Premise et BTP, Abap Environment. Comme indiquée dans la documentation, c’est une application Fiori standard pour planifier et surveiller des jobs.

Un ensemble d’applications standards est déjà disponible afin d’être planifié en arrière plan, mais il est également possible de créer ses propres jobs, c’est ce que nous allons décomposer ici.

Remplacer le REPORT

Si vous aviez pour habitude de programmer des Reports sur vos systèmes SAP, ce n’est plus possible avec la version ABAP Cloud.

En remplacement, nous créerons :

  • Une classe qui contiendra toute la logique que nous souhaitons mettre en place lors de ce job (cette classe doit implémenter les interfaces IF_APJ_DT_EXEC_OBJECT et IF_APJ_RT_EXEC_OBJECT)
  • Une fois cette classe créée nous créerons un « Job Catalog Entry », qui comme précisé dans la documentation : contient les informations nécessaires à la planification et à l’exécution d’une « application job ». Cela contient le nom de la classe créée précédemment et les informations sur la manière dont les champs de sélection sont rendus disponibles dans l’application.
  • Enfin, pour que le job soit disponible dans l’application Fiori Application Jobs, il faut créer un « Job Template » qui se réfère au « Job Catalog Entry » et contient des valeurs pour certains ou tous les champs de sélection. Dans la tuile Fiori Application Jobs, les champs de sélection apparaissent et sont pré-remplis avec les valeurs définies dans le template. Elles peuvent être remplacées par l’utilisateur.
  • Il est enfin possible de programmer son job dans la tuile Application Jobs OU d’utiliser l’API CL_APJ_RT_API pour effectuer cette programmation.
  • De manière générale, un business user utilisera toujours la tuile Application Jobs pour programmer des jobs alors qu’un développeur pourra passer par un bout de code pour programmer son job.
  • Il est également possible de créer des jobs lors de l’exécution de différents processus (comme ça pouvait être fait à l’époque avec les modules fonction JOB_OPEN, JOB_CLOSE, etc… mais désormais en passant par l’API CL_APJ_RT_API).

Créer la logique

Comme indiqué précédemment la première chose à faire est de créer une classe qui implémente les interfaces IF_APJ_DT_EXEC_OBJECT et IF_APJ_RT_EXEC_OBJECT

Dans la méthode if_apj_dt_exec_object~get_parameters, on indique les paramètres disponibles pour se Job et leur valeur par défaut s’il y en a.

Dans la méthode if_apj_rt_exec_object~execute, c’est toute la logique qui s’exécute. Ici ça ne fait rien de spéciale sauf retrourner les informations du JOB en question, mais il aurait été possible de mettre toute la logique souhaitée.

Créer le Job Catalog Entry

Créer le Job Catalog Entry et sélectionner la classe créée précédemment qui sera exécutée

Créer le Job Template

Vous y retrouverez les paramètres et les valeurs par défaut configurables :

Planification du Job

  • Via API

Créer une classe pouvant être executée directement en implementant l’interface if_oo_adt_classrun.

  • Via la tuile Fiori Application Jobs

Si vous êtes sur un système On Premise ou Private Cloud, on peut même vérifier en SM37 que ça a été correctement programmé.

A noter, sur BTP, ABAP environment et S/4 Cloud Public edition, il y a la création d’une application IAM nécessaire pour l’attribution des autorisations. Vous pouvez retrouver la gestion des autorisations pour On-Premise et S/4 Cloud Private Edition ici.

Application Fiori : https://fioriappslibrary.hana.ondemand.com/sap/fix/externalViewer/#/detail/Apps(%27F1240%27)/S16OP

Laisser un commentaire