Jobs SAP

Les objets SAP déterminent les étapes de traitement qui seront exécutées dans le système cible. Ils peuvent contenir des instructions qui lancent plusieurs traitements (sous-jobs). Cette structure de job est répliquée dans Interface Web Automic. Le job SAP que vous créez dans Automation Engine est le parent de ces sous-jobs (processus enfants) et leur sert de conteneur.

À l'exécution du job SAP, ses enfants démarrent et s'affichent dans la liste des Tâches de la perspective Surveillance des processus avec le type d'objet JOBD et un RunID unique pour chacun. Vous pouvez vérifier leur statut dans le système cible, ajouter des commentaires, les relancer, les interrompre et les modifier, ainsi qu'ouvrir une liste d'objets dans laquelle ils sont en cours d'utilisation.

Pour de plus amples informations sur l'intégration entre Automation Engine et SAP, voir AE et SAP.

Consultez la rubrique Exemple : Créer un job SAP ABAP depuis AE pour avoir un exemple sur la manière de configurer votre système afin qu'il exécute un job SAP depuis Automation Engine.

Cette rubrique contient les sujets suivants :

Modèles SAP

Pour définir des jobs SAP, vous disposez des modèles suivants : R3, SAP_ABAP, SAP JAVA et SAP_PI.

Les modèles R3 et SAP_ABAP sont identiques. Ils sont simplement nommés différemment pour permettre aux utilisateurs de trouver le nom avec lequel ils sont le plus familiers.

Tous les modèles vous permettent

Les jobs R3 et SAP_ABAP vous permettent également d'importer des jobs SAP dans la page Traitement, à l'aide de formulaires.

Prérequis pour démarrer des jobs SAP depuis Interface Web Automic

Votre système Automation Engine est connecté à SAP via l'agent SAP qui interprète et transforme les commandes envoyées par le client pour que SAP les comprenne. Cela signifie que les seuls prérequis pour que votre système puisse créer des jobs via Interface Web Automic et les exécuter dans le client SAP sont :

De plus, pour les jobs SAP JAVA, n'oubliez pas que le job Java doit être déployé dans le Schedule Java. Cela le rend visible pour l'agent SAP et vous permet de définir un objet job comme instance de cette définition de job.

Pour définir un planificateur externe

  1. Ouvrez SAP NetWeaver Administrateur.
  2. Ouvrez Opérations > Jobs > Java > Planificateur.
  3. Cliquez Ajouter puis saisissez un nom et une description.
  4. L'utilisateur défini ici doit être paramétré dans l'objet Connexion (CONN).

Script facile à utiliser à base de formulaires

Créer des scripts pour les jobs SAP est particulièrement facile via les formulaires qui sont fournis par défaut avec Automation Engine. Ce sont des ensembles de commandes prédéfinis qui sont prêts à l'emploi pour créer des scripts sans se soucier de leur format. Voir Formulaires SAP.

Processus SAP enfants

En plus des pages Traitement communes à tous les jobs, SAP propose une page Post-traitement enfant supplémentaire. Le script que vous saisissez dans cette page est traité immédiatement après que chaque traitement enfant soit terminé. Voir Pages Traitement.

Redémarrer les Jobs SAP à partir de Automation Engine

Si un job échoue, (son statut est ENDED_NOT_OK), plutôt que d'initier une nouvelle requête, vous pouvez simplement le redémarrer à partir de la liste des tâches de la perspective Surveillance des processus.

Voir Surveiller et reprendre les tâches externes.

Suivre les jobs SAP via le Gestionnaire de tâches distantes

L'objet Gestionnaire de tâches distantes (JOBQ) vous permet d'afficher, de lancer, d'interrompre, intercepter et de surveiller des opérations externes exécutées sur des applications hors Automation Engine.

L'objet Gestionnaire de tâches distantes permet de recueillir des critères de filtrage identifiant les tâches externes que vous souhaitez contrôler. Les processus externes qui correspondent à ces critères (dans ce cas, les jobs SAP) sont ensuite affichés dans la fenêtre des tâches de la perspective Surveillance des processus comme sous-tâches de l'objet Gestionnaire de tâches distantes (à condition que l'arborescence soit activée). Leur type d'objet est JOBD.

Veuillez consulter Considérations importantes pour les traitements SAP pour obtenir des informations supplémentaires sur les jobs SAP et le Gestionnaire de tâches distantes.

Jobs SAP ABAP

Les options disponibles dans la page SAP pour les jobs ABAP peuvent être utilisées chaque fois que l'agent SAP crée un job en arrière-plan dans le système SAP au moment de l'exécution. Toutefois, il n'est pas nécessaire pour l'Automation Engine de créer un job d'arrière-plan SAP pour chaque cas d'utilisation. Copier une variante, par exemple, ne requiert pas de job. Cela peut être fait avec un seul appel de fonction à distance (BAPI_XBP_VARIANT_COPY) au système SAP. Dans ce cas, les propriétés du job dans les sections Paramètres de démarrage et Destinataire de la liste de spool sont inutiles.

D'un autre côté, un job SAP peut créer de multiples jobs SAP en arrière-plan au moment de l'exécution. Appliquer la fonction pour la soumission du programme SAP ABAP (R3_ACTIVATE_REPORT) deux fois dans un seul job Automation Engine entraînerait la création de deux jobs SAP en arrière-plan par défaut. Dans ce cas, les propriétés du job dans les sections Paramètres de démarrage et Destinataire de la liste de spool seraient appliquées à chaque job d'arrière-plan dans SAP. Si définis, les deux jobs auraient le même nom de job dans SAP.

SAP BW : Données pour les steps des chaînes publiées en tant que variables de script

Dans le cas de jobs SAP avec chaînes BW, l'agent crée les variables de script pour chaque processus enfant. Ces variables et leurs valeurs sont automatiquement accessibles dans la fenêtre Post-traitement (enfant), et apparaissent dans la fenêtre Détails des tâches.

Ce tableau fournit des informations sur les clés, les variables et les valeurs possibles :

Code Nom de variable Valeur au niveau de la chaîne Valeur au niveau du step Valeur au niveau du step du job
LOGID &@sap_bw_logid# "Identifiant de journalisation pour la chaîne de processus (par ex., DAUDN8Z697MBBFNJ4Q75JS80C)." "Identifiant de journalisation pour la chaîne de processus (par ex., DAUDN8Z697MBBFNJ4Q75JS80C)." "Identifiant de journalisation pour la chaîne de processus (par ex., DAUDN8Z697MBBFNJ4Q75JS80C)."
NAME &@sap_bw_name# Nom technique de la chaîne de processus (par ex. Z_NI) Nom technique de la chaîne de processus (par ex. Z_NI) Nom technique de la chaîne de processus (par ex. Z_NI)
ID &@sap_bw_id# vide "Identifiant technique du step (par ex., DAUDN966N6KGDOWMEAPP5TFV0)" "Identifiant technique du step (par ex., DAUDN966N6KGDOWMEAPP5TFV0)"
STEPNAME &@sap_bw_stepname# vide Nom technique du step (p. ex. RSM04000_ALV) Nom technique du step (p. ex. RSM04000_ALV)
TYPE &@sap_bw_type# vide Type de step du traitement (par ex., ABAP). Type de step du traitement (par ex., ABAP).
STATUS &@sap_bw_status# vide Statut du job du step de la chaîne (par ex., F) Statut du job du step de la chaîne (par ex., F)
JOBNAME &@sap_bw_jobname# vide vide Nom de job SAP du job (par ex., BI_PROCESS_TRIGGER)
JOBCOUNT &@sap_bw_jobcount# vide vide Numéro de job SAP du job (par ex., 13450100)
TYPE_TEXT &@sap_bw_type_text# "E_TYPE_TEXT de RSPC_API_PROCESS_GET_INFO (par ex. traitement local)" "E_TYPE_TEXT de RSPC_API_PROCESS_GET_INFO (par ex. traitement de démarrage)" "E_TYPE_TEXT de RSPC_API_PROCESS_GET_INFO (par ex. traitement de démarrage)"
VARIANT_TEXT &@sap_bw_variant_text# "E_VARIANT_TEXT de RSPC_API_PROCESS_GET_INFO (par ex. CHAIN avec chaîne imbriquée)" "E_VARIANT_TEXT de RSPC_API_PROCESS_GET_INFO (par ex. Startni)" "E_VARIANT_TEXT de RSPC_API_PROCESS_GET_INFO (par ex. Startni)"
RESTART_COUNT &@restart_count# "nombre de redémarrages par BW_SET_CONSTRAINT, ou 0 si pas encore accessible" "nombre de redémarrages par BW_SET_CONSTRAINT, ou 0 si pas encore accessible" "nombre de redémarrages du parent par BW_SET_CONSTRAINT, ou 0 si pas encore accessible"
RESTART_COUNT_MAX &@sap_bw_max_restart_count# "nombre maximum de redémarrages BW_SET_CONSTRAINT, ou 0 si pas encore accessible" "nombre maximum de redémarrages par BW_SET_CONSTRAINT, ou 0 si pas encore accessible" "nombre de redémarrages du parent par BW_SET_CONSTRAINT, ou 0 si pas encore accessible"

Jobs SAP Java

Les jobs SAP Java vous permettent de gérer les jobs dans le Scheduler Java de SAP. Pour pouvoir les utiliser, la définition du job Java doit être déployée dans Java Scheduler. Cela la rend visible pour l'agent SAP et vous permet de créer un job SAP Java dans Automation Engine qui est une instance du job dans SAP.

Entre le job SAP JAVA et le job Automation Engine, il existe une relation 1:1.

Dans Paramètre de démarrage, vous sélectionnez la Définition de job qui est disponible dans le Scheduler SAP. À cet effet, et pourvu que la connexion avec le système SAP cible soit disponible, cliquer sur le bouton de navigation pour ouvrir un dialogue permettant de sélectionner un job SAP Java.

Dans la section Paramètres du job, vous pouvez déterminer comment gérer les jobs enfants ainsi que les journaux des jobs créés dans SAP.

Remarque : Les jobs SAP Java peuvent également contenir des sous-traitements. Le job SAP que vous spécifiez dans Automation Engine est le parent et sert de conteneur pour ces jobs enfants. Le type d'objet de ses enfants est JOBD. Si vous voulez les afficher comme subordonnés du job dans la liste des tâches (perspective Surveillance des processus), vous devez cocher la case Répliquer les enfants.

Cas particuliers

Dans un environnement comportant plusieurs nœuds, les jobs du Scheduler Java sont exécutés sur le nœud sur lequel le service de planification est actif. Si un nœud est désactivé ou défaillant, le traitement des jobs se poursuit sur un autre nœud.

L'agent tente périodiquement de restaurer la connexion au scheduleur Java si elle a été perdue pendant l'exécution du job. Le job reste actif dans l'Automation Engine avec le statut Attente d'un système distant.

Le job s'interrompt si l'appel du planificateur Java génère une erreur. Dans ce cas, il n'existe pas de rapport sur ses données d'exécution. L'erreur est journalisée dans le rapport "Log d'agent" et dans le fichier journal de l'agent SAP. Le job est interrompu avec le code retour 403.

Définir des jobs SAP

Une définition de job SAP se compose des pages suivantes :

Conseil : Certains rapports de jobs SAP peuvent être très longs. Automation Engine Propose des objets feuille de style prêts à l'emploi que vous pouvez utiliser pour les formater. Pour plus d'informations, voir Feuille de style (XSL).

Définir un job SAP

Prérequis :

  1. Dans la perspective Conception des processus, cliquez sur Ajouter objet. Dans la boîte de dialogue, faites défiler vers le bas pour développer la liste des jobs (JOBS) et sélectionner un des modèles disponibles.
  2. Saisissez un nom et cliquez sur Ajouter objet.
  3. Les pages de définition du job SAP s'ouvrent en affichant celle spécifique à SAP. Définissez les paramètres pour les jobs SAP ABAP ou SAP Java selon la description.

  4. Accédez aux Pages Traitement et saisissez-y votre script.

  5. Accédez à la Page Attributs et spécifiez les paramètres d'exécution. C'est là que vous définissez la relation entre le job, l'agent qui se connectera au client SAP concerné et l'objet Login contenant les informations d'identification.

    Vous pouvez facilement vérifier les paramètres de votre job avant de l'exécuter :

    1. Ouvrez la liste Explorateur dans la perspective Conception des processus.
    2. Sélectionnez le job et cliquez sur le bouton Détails de la barre d'outils.
    3. Les principales données concernant le job s'affichent.

Jobs SAP ABAP

Section Paramètres de démarrage :

Section Destinataire de la liste de spool :

Définissez les principales informations, telles que le Destinataire, le Type d'adresse, etc. L'utilisation des options Statut d'envoi du rapport, Statut du rapport par mail et Pas d'impression nécessite les packages de support SAP suivants :

Jobs SAP Java

Sections Paramètres de démarrage et Définition de job :

  1. Cliquez sur le bouton de navigation à la droite du champ Définition du job pour ouvrir un dialogue dans lequel vous pouvez choisir le job SAP Java. Les champs d'entrée et/ou de sélection qui correspondent au job sélectionné sont affichés ci-dessous.

  2. Dans Paramètres du job, définissez les éléments suivants :

    • Jobs enfants

      Le job dans le système SAP peut avoir des sous-jobs.

      • Activez Attendre les processus enfants si vous voulez que le job Automation Engine attende la fin de ces sous-jobs. Ensuite, Automation Engine peut aussi se terminer.
      • Activez Interrompre quand le processus enfant est interrompu si vous souhaitez que le job Automation Engine s'interrompe dès l'interruption d'un sous-job dans le système SAP.
      • Le job SAP que vous spécifiez dans l'Automation Engine sert de conteneur pour ces sous-jobs dans SAP; le type d'objet de ses enfants est JOBD. Si vous souhaitez les afficher comme subordonnés du job dans la liste des tâches (perspective Surveillance des processus), vous devez activer Répliquer les processus enfants.
    • Rapport de job

      • Activez et saisissez une valeur dans Supprimer après X jours pour supprimer le log du job du Scheduler Java après le nombre spécifié de jours.
      • Activez Ne pas supprimer si vous souhaitez conserver le log du job dans le Scheduler Java.
      • Activez Utiliser les paramètres par défaut pour utiliser les paramètres spécifiés dans la définition du job dans SAP.

      Le log du job est toujours supprimé avec l'instance du job.

    • Lignes par bloc

      Spécifiez ici le nombre de lignes de jobs JXBP à récupérer.

Pour toute information sur la section Rapport du job, voir Rapports des jobs.

Cas d'application

Les sujets listés ci-dessous sont des exemples :

Étapes suivantes

La liste ci-dessous tente d'illustrer l'un des schémas possibles pour définir et travailler avec les objets Job, et fournit de brèves descriptions sur les actions que vous pouvez entreprendre, des informations supplémentaires permettant de comprendre la manière de travailler et des liens vers des rubriques les détaillant :

  1. Définir les paramètres généraux du job, qui incluent les éléments suivants :

    • Les éléments de base, sur la Page Général.
    • Si nécessaire, appliquez un objet Sync au job. Pour plus d'informations, voir Page Sync.
    • Dans la Page Exécution, spécifiez les paramètres à utiliser pour les calculs de la durée d'exécution.

      Cette information est importante pour planifier et surveiller les tâches. Elle est également utilisée dans les simulations et simulations automatiques.

    • L'utilisateur administrateur peut affiner la configuration des droits au niveau de l'objet dans la Page Autorisations.
    • Spécifiez les attributs d'objet importants dans la Page Attributs. Parmi les autres paramètres importants, vous devez y affecter les objets Agent et Login permettant d'y accéder.

      Important ! Votre définition dans l'attribut Générer la tâche à : L'activation / l'exécution peut avoir un impact important sur les heures d'exécution de vos jobs. Consultez la section Générer à l'activation ou à l’exécution décrivant l'implication de chaque option.

    • Enregistrez les fichiers de sortie qui seront produits lors de leur traitement dans la page Fichiers de sortie externes. Afin de pouvoir effectuer des recherches dans ces fichiers de sortie et, si nécessaire, des actions de suivi, spécifiez ces paramètres dans la page Analyse de la sortie. Pour plus d'informations, voir Pages Sortie.

    • Vous pourriez vouloir utiliser des variables ou des prompts. Pour cela, accédez à la Page Variables et à la Page Prompt Sets.

      Consultez la section Variables et objets VARA pour vous familiariser avec les différents types de variables et d'objets VARA proposés dans un système Automation Engine.

    • Vous pouvez vouloir définir les paramètres pour sauvegarder et restaurer une tâche de job lorsqu'elle est incluse dans un workflow. Cela est utile pour récupérer le dernier statut bien terminé dans le cas de processus n'ayant pas bien terminé. Pour cela, accédez la Page Rollback.
    • La Page Gestion des versions fait la liste de toutes les versions d'un objet et vous permet de le restaurer à une version antérieure en cas de mauvaise configuration.
    • Saisissez les informations sur le job que vous définissez dans la Page Documentation.
  2. Les objets Job (JOBS) contiennent trois Pages Traitement vous permettant de saisir les scripts à traiter. Ils proposent un certain nombre de fonctions pratiques pour vous aidez dans votre travail. Si vous avez saisi des scripts dans chacune de ces pages, ils seront traités dans l'ordre suivant :

    1. Pré-traitement
    2. Traitement
    3. Post-traitement enfant (SAP et PeopleSoft uniquement)
    4. Post-traitement
  3. Vous pouvez facilement réutiliser le code, en utilisant des objets Objets Include (JOBI), qui permettent de gagner du temps et de maintenir la cohérence de vos scripts.
  4. Exécutez le job.

    Il y a de nombreuses manières de le faire, lesquelles peuvent être regroupées ainsi :

    Important ! Le JCL généré peut être modifié. Cependant les modifications du JCL n'affectent que l'exécution pour laquelle elles ont été faites et non pour la définition du job. Le rapport contient le JCL d'origine et le JCL modifié, avec une ligne supplémentaire indiquant l'auteur de la modification du contenu.

  5. Lorsque les jobs sont traités, Automation Engine génère des fichiers de sortie et des rapports garantissant la traçabilité et le contrôle. Consultez les rubriques suivantes pour en savoir plus à ce sujet :

    Pour afficher le résultat de la génération, procédez comme suit :

    1. Ouvrez la fenêtre Rapports, voir Accéder aux rapports.
    2. Sélectionnez JCL dans la liste déroulante Rapports.
  6. Surveillez la tâche générée.

    Dès que l'objet est activé, il devient accessible sous forme de tâche dans la perspective Surveillance des processus. La liste Tâche vous permet de voir son statut.

    Faites un clic droit pour ouvrir son moniteur (voir Surveiller les jobs) ; il contient trois pages fournissant les informations les plus importantes sur les paramètres des jobs.

    Vous pouvez également accéder au Moniteur du job à partir de la perspective Conception des processus.

  7. La perspective Surveillance des processus propose un certain nombre de fonctions selon le statut du job. Voir Travailler avec des tâches.

Voir aussi :