Job (SM36) configuration période de lancement

Job (SM36) configuration période de lancement

Messagede rouback1976 » 28 Novembre 2012, 14:30

Bonjour,

Je viens de créer un Job "ZTEST" (transaction SM36) et j'aimerai que celui-ci soit lancé tous les jours SAUF entre le 1er et le 9 de chaque mois.

Autrement dit, celui-ci sera lancé :
- tous les jours à 6h00 du 9/12/2012 au 31/12/2012.
- tous les jours à 6h00 du 9/01/2013 au 31/01/2013.
- tous les jours à 6h00 du 9/02/2013 au 31/02/2013.
- ...

Pouvez-vous m'aider ?
P.S. : Je dois trouver une solution standard sans utiliser le calendrier SAP (transaction SCAL).

C'est assez urgent.

Un grand merci d'avance ;) .

Bàv.
Rouback
rouback1976
Posteur débutant
Posteur débutant
 
Messages: 6
Inscription: 28 Novembre 2012, 14:09

Re: Job (SM36) configuration période de lancement

Messagede thoul » 28 Novembre 2012, 15:30

Bonjour,

Je vois 2 solutions assez rapide à mettre en place:
Créer 23 jobs mensuels correspondant à 1 jour du mois et planifiés en exécution mensuelle
-Job_J9 (Mensuel)
-Job_J10 (Mensuel)
...
Job_J31 (Mensuel)

Je pense que pour les mois à moins de 31 jours, SAP gère sans problème.

Autre solution plus longue à mettre en place mais plus 'jolie' et permettant d'être évolutive pour d'autre traitement avec la même problématique.
-Créer un programme spécifique de planification de job. Il analyse la date du jour et, en fonction du traitement à exécuter (par exemple via une table des programmes à exécuter avec les périodes d'exécution de ces programmes), planifie ou pas le job correspondant.

Le programme de planification des jobs étant à planifier en quotidien
thomas
'si il n'y a pas de solution, c'est qu'il n'y a pas de problème'
Avatar de l’utilisateur
thoul
Posteur confirmé
Posteur confirmé
 
Messages: 62
Inscription: 26 Juillet 2010, 10:56

Re: Job (SM36) configuration période de lancement

Messagede rouback1976 » 29 Novembre 2012, 07:08

Bonjour Thoul,

Merci pour ton aide.

Concernant tes propositions je vais en discuter avec mon client.

Je pense que je vais le pousser à choisir la 2e proposition.

Je vous tiens au courant.

Merci encore ;)
rouback1976
Posteur débutant
Posteur débutant
 
Messages: 6
Inscription: 28 Novembre 2012, 14:09

Re: Job (SM36) configuration période de lancement

Messagede rouback1976 » 29 Novembre 2012, 08:24

Rebonjour,

J'ai peut-être une autre idée ...

Pourquoi ne pas créer un programme qui va simplement modifier le paramètre d'activation/désactivation d'un job ?
Connaissez-vous un moyen ABAP d'activer/désactiver un job (fonction ou autre) ?

Donc, j'aurai au niveau de l'écran de sélection :

- Nom du job
- Flag Active/Désactive Job

Ensuite je vais créer deux autres job,
le 1er job va exécuter mon programme chaque 1er du mois à 00h00 avec une variante qui mettra le Falg à ' ' ce qui aura pour effet de désactiver le job.
le 2e job va exécuter mon programme le 9 du mois à 6h00 avec une variante qui mettra le Falg à 'X' ce qui aura pour effet d'activer le job.

Qu'en pensez-vous?

Merci d'avance.
Rouback
rouback1976
Posteur débutant
Posteur débutant
 
Messages: 6
Inscription: 28 Novembre 2012, 14:09

Re: Job (SM36) configuration période de lancement

Messagede thoul » 29 Novembre 2012, 09:38

Bonjour,

Je ne connais pas de statut de job actif/inactif donc je suis un peu sceptique sur la méthode. Les statuts de jobs sont les valeurs les plus approchantes mais, si je ne dis pas de bêtise, elles dépendent directement des conditions de lancements définies pour le job et donc on ne peut pas modifier uniquement le statut (liste des statuts de jobs: http://help.sap.com/saphelp_nw70/helpdata/en/c4/3a8016505211d189550000e829fbbd/content.htm)
Je pense donc qu'une solution avec développement impliquerait l'utilisation des MF JOB_OPEN et JOB_CLOSE.

Sinon, sur le principe que tu évoques, elle me semble peu "lisible" au niveau du suivi des jobs (planification de 2 jobs pour en traiter un 3ème, le suivi d'exploit se complique...). Mais ça n'est que mon point de vue qu'on peut ne pas partager.

Enfin, même si elle n'est pas élégante, la solution de "multijobs" (1/jour) permet quand même une mise en place immédiate, contrôlée entièrement par la personne qui fait l'exploit SAP et qui ne coute rien en temps de dév. Et ça, les clients y sont souvent sensibles... ;)
Elle nécessite en revanche des règles de nommages explicites pour que, la encore, le suivi d'exploit soit le plus évident possible.

En tout cas, fais nous savoir la solution retenue, il est toujours utile d'avoir des infos et d'autres points de vue
thomas
'si il n'y a pas de solution, c'est qu'il n'y a pas de problème'
Avatar de l’utilisateur
thoul
Posteur confirmé
Posteur confirmé
 
Messages: 62
Inscription: 26 Juillet 2010, 10:56

Re: Job (SM36) configuration période de lancement

Messagede rouback1976 » 29 Novembre 2012, 10:06

Merci pour ton aide, j'avoue que ma proposition n'est pas des plus élégante :?

Pour être plus précis ... le job tourne pour le moment en PROD tous les jours à 6h00 et donc je pensai juste lancer un petit programme le 1er du mois pour désactiver le job en question et ensuite relancer le programme le 9 du mois pour le réactiver.

Mon client en a discuté avec les utilisateurs et ceux-ci vont lancer mon programme manuellement (donc plus besoin des 2 jobs pour traiter le 3e).

Comment faire ?
J'ai trouvé les fonctions BP_JOB_ABORT et BP_JOB_ACTIVE mais la 1er à besoin d'un id et la seconde est vide au niveau du code !!

Merci encore.
rouback1976
Posteur débutant
Posteur débutant
 
Messages: 6
Inscription: 28 Novembre 2012, 14:09

Re: Job (SM36) configuration période de lancement

Messagede thoul » 29 Novembre 2012, 10:33

Je comprend la logique mais je suis sceptique sur le postulat de base qui est de dire que l'on peut "désactiver" un job.
Arrives-tu à dérouler ton scenario manuellement?

Pour moi, si le job est planifié en quotidien et que tu fais un abort du job (via un MF qui existe surement mais que je ne connais pas), tu auras aborté le job planifié et donc toutes ses exécutions postérieures... Il faudra donc re-planifier un nouveau job quotidien...

C'est pour cela que la logique de créer un job quand il doit être lancé me semble plus "facile" que d'interrompre un job quotidien sur certains jours (et comment faire sans avoir à le recréer après chaque interruption?)
thomas
'si il n'y a pas de solution, c'est qu'il n'y a pas de problème'
Avatar de l’utilisateur
thoul
Posteur confirmé
Posteur confirmé
 
Messages: 62
Inscription: 26 Juillet 2010, 10:56

Re: Job (SM36) configuration période de lancement

Messagede rouback1976 » 29 Novembre 2012, 11:35

Merci, je commence à comprendre .. enfin je crois :)

Le fait de mettre en veille le job va supprimer les entrées dans TBTCS, TBTCO,... mais aussi supprimer définitivement la création périodique de ce job, c'est ça ?

Donc dans ce cas, la seule solution serait de supprimer mon job le 1er de chaque mois et ensuite en recréer un le 9.
rouback1976
Posteur débutant
Posteur débutant
 
Messages: 6
Inscription: 28 Novembre 2012, 14:09

Re: Job (SM36) configuration période de lancement

Messagede rouback1976 » 03 Décembre 2012, 11:09

Bonjour,

Voilà j'ai opté pour une autre solution.

J'ai créé un job qui va lancer tous les jours mon nouveau programme.
Mon programme va simplement lire le paramètre ZJOB de l'utilisateur (table usr05).
Si celui-ci est à X alors je lance le programme liè à l'ancien job, sinon je ne fais rien.

L'utilisateur devra juste cocher ou non ce paramètrev pour lancer ou non son programme.

Merci encore à Thoul ;-)
rouback1976
Posteur débutant
Posteur débutant
 
Messages: 6
Inscription: 28 Novembre 2012, 14:09

Re: Job (SM36) configuration période de lancement

Messagede nancy10001 » 10 Juin 2014, 10:17

Thanks for sharing this nice information
nancy10001
Posteur débutant
Posteur débutant
 
Messages: 1
Inscription: 10 Juin 2014, 10:00
Localisation: Chennai


Retourner vers Multi modules

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités