HANA Job Scheduler

HANA Job Scheduler

Introduction

Certaines données de l’ERP SAP ne sont pas toujours stockées dans la base HANA de l’ERP. L’ERP les recalcule à chaque interrogation, ou besoin. Lorsque nous souhaitons avoir ces informations rapidement, ou dans le monde de la Business intelligence, il n’est pas toujours possible de lancer des calculs long ou couteux sur les données, nous devons pouvoir accéder directement à la donnée déjà calculée et stockée.

Dans la base HANA pour des besoins en Business Intelligence il est intéressant de pouvoir planifier des jobs permettant de stocker des données dans des tables personnalisées afin de répondre à certains besoins.

Nous pouvons dans l’outil SAP HANA Studio planifier de manière récurrente des tâches qui exécutent des procédures ou des scripts SQL afin de charger les résultats dans des tables personnalisées (comme un trigger). Ces opérations peuvent êtres répétées et planifiées sur un intervalle de temps.

Toutes les étapes de création des tables personnalisées, de création des jobs et des scripts SQL sont effectuées dans l’outil SAP HANA Studio, à l’exception de l’activation et du suivi des logs d’exécution de ces jobs. Pour la partie exécution, nous accédons au composant web XS Job Scheduler de SAP HANA via cette URL : http://<WebServerHost>:<SAPHANAinstance>/sap/hana/xs/admin/job

Création d’une table personnalisée et historisation de données quotidiennes

Prenons l’exemple du scénario suivant. Un client a besoin d’un tableau contenant l’historique des quantités de stock pour chaque jour, ainsi que le numéro de l’article, l’usine et l’emplacement de stockage correspondant. Ceci afin de pouvoir comparer et suivre jour après jour l’évolution de ses stocks.

Pour répondre à ce besoin, nous devons passer par les étapes suivantes :

  • Préparer les données initiales à stocker à partir de notre système source S4 HANA
  • Créer une vue de calcul dans SAP HANA Studio permettant le calcul des données
  • Créer une table pour le stockage final des données
  • Créer une procédure stockée dans SAP HANA Studio pour l’exécution du calcul
  • Créer un XS Javascript File et un XS Job Scheduler File pour la planification
  • Activer le XS Job Scheduler et consultez le log d’exécution

ETAPE 1 : Préparation des données initiales dans SAP HANA Studio

Ici, nous créons une table nommée « PRIMARY » qui lit et stocke les données recherchées de la table MARD. Nous ne pouvons pas appliquer des changements à cette table car elle fonctionne en mode « lecture seule ».

Table SAP HANA Studio

ÉTAPE 2 : Création d’une vue de calcul dans SAP HANA Studio

Pour déplacer ces données vers une table modifiable, nous créons une vue de calcul de type Cube « VUE_STOCK » basée sur la table « PRIMARY ».

Vue de calcul SAP HANA Studio
Restons connectés !

Inscrivez-vous à la newsletter Rapid Views !​

Soyez notifiés de nos derniers articles de blog, de nos prochains webinars et nos actualités !

ÉTAPE 3 : Création d’une table pour le stockage des données dans SAP HANA Studio

Ici, nous créons la table « Stock_Level » qui va contenir les données finales souhaitées dans le cas client, ainsi qu’un Timestamp pour l’historisation de la donnée.

Stockage de données SAP HANA Studio

ÉTAPE 4 : Création d’une procédure stockée dans SAP HANA Studio

Pour remplir la table « Stock_Level », nous devons construire une procédure « StockProced » qui ajoutera les nouvelles lignes en provenance de la vue « VUE_STOCK » dans cette table à chaque exécution du job.

Procédure Stockée SAP HANA Studio

ÉTAPE 5 : Création d’un XS Javascript File et XS Job Scheduler File dans SAP HANA Studio

Maintenant nous allons construire le script « VSL_STOCKPROCED » permettant d’appeler cette procédure et de l’exécuter, donc nous avons besoin d’un nouveau XS Javascript File créé à partir du repository de SAP HANA Studio. Vous devez au préalable avoir dans le repository de SAP HANA Studio un package. Dans notre exemple celui-ci s’appelle « XSProjectTest ».

Job Scheduler File SAP Hana Studio

Ensuite pour planifier l’exécution de ce job, nous créons cette fois-ci un nouveau XS Job Scheduler « VSL_STOCKPROCED_JOB » dans le même package « XSProjectTest » du repository SAP HANA Studio.

Repository SAP HANA Studio

ÉTAPE 6 : Activation du XS Job Scheduler et consultation des logs

Enfin pour activer et lancer le Job Schedule, nous accédons au site web précédemment mentionné « http://<WebServerHost>:<SAPHANAinstance>/sap/hana/xs/admin/jobs. » et nous trouvons bien notre Job « VSL_STOCKPROCED » dans le XS Job Dashboard :

Activation Job Scheduler Consultation Logs

La ligne qui nous intéresse dans notre exemple est celle-ci-dessous :

XS Job Scheduler Schema

En cliquant sur ce Job, nous retrouvons la partie de configuration ou nous devons cocher la case « Active » pour que le Job passe dans le statut ci-dessous et soit opérationnel :

Configuration Job Scheduler Active

Après l’exécution du job, nous avons les résultats suivants dans la table « Stock_Level » :

Stock Level Job Scheduler

Ci-dessous le log de suivi :

Log de suivi Job Details

Visualisation des données stockées

Pour pouvoir utiliser les données finales, dans cet exemple nous avons connecté l’outil de reporting Power BI à notre base HANA.

Dans SAP HANA Studio, une vue de fait « F_STOCK_DATA » basée sur la table de stockage « Stock_Level » a été créé :

Visualisation de données stockées

Dans le rapport Power BI nous avons importé le contenu de la vue « F_STOCK_DATA » via une connexion HANA :

Stock Quantity Evolution

Conclusion

Dons cet article nous avons montré que la base de données HANA n’est pas qu’une simple base de données de stockage. Grâce à ses fonctionnalités avancées nous pouvons, calculer, historiser, agréger et stocker de l’information dans des tables spécifiques. Ces opérations peuvent êtres planifiées et exécutées de manière automatique via des jobs.

Ces jobs peuvent aussi vous permettre de transformer les données (comme un trigger), ou d’exécuter toute autre opération dans votre base de données SAP HANA.

Ces données transformées, stockées, historisées, peuvent ensuite être utilisées dans n’importe quel outil de restitution.

Newsletter
Rapid Views

Soyez notifiés de nos derniers articles de blog, de nos prochains webinars et nos actualités !

Les derniers articles