Automic Workload Automation

Expand all | Collapse all

Créer (PSET) une variable avec comme nom une variable

Jump to Best Answer
  • 1.  Créer (PSET) une variable avec comme nom une variable

    Posted 03-29-2019 03:20 PM

    Bonjour,

     

    Quelqu'un sait comment créer (PSET) une variable avec comme nom une variable?

     

     

    :SET &vhnd# = PREP_PROCESS_VAR('VARA.BR.GENERIC')

    :     IF GET_PROCESS_INFO(&vhnd#, ROWS)> 0

    :         PROCESS &vhnd#

    :           SET &vara# = GET_PROCESS_LINE(&vhnd#,1)

    :           SET &value# = GET_PROCESS_LINE(&vhnd#,2)

    :           PRINT "VARA = &vara#"

    :           PRINT "vALUE = &value#"

    :           PSET &&vara# = &value#

    :         ENDPROCESS

    :       ENDIF

    :CLOSE_PROCESS &vhnd#

     

     

    Nous avons un VARA avec des variables génériques.  Comme notre workflow (JOBP) contient plusieurs tâches (JOBS), j'aimerais ne pas avoir à inclure mon JOBI à toutes les tâches si possible.  Comment faut-il faire?

     

    Merci,

    Mylene



  • 2.  Re: Créer (PSET) une variable avec comme nom une variable

    Posted 04-01-2019 03:54 AM

    Bonjour Mylène,

     

    Avez-vous essayé avec :SET_SCRIPT_VAR? 

     

    https://docs.automic.com/documentation/webhelp/french/ALL/components/DOCU/12.2/AWA%20Guides/help.htm#Script/Reference/SE… 

     

    Cordialement,

    Antoine



  • 3.  Re: Créer (PSET) une variable avec comme nom une variable

    Posted 04-01-2019 07:38 AM

    Oui.  Mais encore...  si j'ajoute mon "include" (JOBI) dans mon "workflow" (JOBP), les valeurs ne sont pas disponibles dans les tâches (JOBS).   

     

    :SET &vhnd# = PREP_PROCESS_VAR('VARA.BR.BRAPPSRV')

    :      IF GET_PROCESS_INFO(&vhnd#, ROWS)> 0

    :         PROCESS &vhnd#

    :           SET &vara# = GET_PROCESS_LINE(&vhnd#,1)

    :           SET &value# = GET_PROCESS_LINE(&vhnd#,2)

    :           SET_SCRIPT_VAR &vara# = &value#

    :           PRINT '&vara# = &value#'

    :         ENDPROCESS

    :       ENDIF

    :CLOSE_PROCESS &vhnd#



  • 4.  Re: Créer (PSET) une variable avec comme nom une variable
    Best Answer

    Posted 04-01-2019 08:44 AM

    Je viens de lire votre autre post en Anglais. 

     

    En effet il ne semble pas que les variables créées via GENERATE_SCRIPT_VARS puissent être utilisées directement par les tâches "enfants".

    Il existe une solution moins "propre" qui consisterait à utiliser : PUB[LISH].

     

    Petit exemple ci-dessous:

     

    VARA

     

    Processus du workflow

     

    Job dans le workflow 

     

    Résultat

     

    Cette solution n'est cependant pas idéale dans la mesure où il faut connaître à l'avance le nom des variables à passer...

     

    A.



  • 5.  Re: Créer (PSET) une variable avec comme nom une variable

    Posted 04-01-2019 09:13 AM

    Donc PSET ou PUB...  le résultat sera le même?



  • 6.  Re: Créer (PSET) une variable avec comme nom une variable

    Posted 04-01-2019 10:14 AM

    Oui, dans ce cas précis.

     

    Je cherche cependant ue manière qui permettrait de prendre en compte les changements dans l'objet vara de facon dynamique, sans avoir à publier chaque variable une par une.   

     

    Je mets à jour la discussion quand / si je trouve.

     

    Cordialement,

    A.



  • 7.  Re: Créer (PSET) une variable avec comme nom une variable

    Posted 04-01-2019 11:21 AM

    Ce serait vraiment génial! Merci :-)



  • 8.  Re: Créer (PSET) une variable avec comme nom une variable

    Posted 04-02-2019 04:32 AM

    Bonjour,

     

    Après quelques tests supplémentaires, il s'avère que les variables seront accessibles dans les tâches enfants pourvu qu'elles figurent dans l'onglet "variables & Prompts" du workflow. 

    Elles recoivent alors les valeurs correctes.

     

    Toujours pas de moyen d'utiliser les variables sans les avoir nommées explicitement cependant.

     

    Cordialement,

    A.



  • 9.  Re: Créer (PSET) une variable avec comme nom une variable

    Posted 04-02-2019 10:37 AM

    C'est déjà beaucoup mieux pour nous!!  Merci beaucoup pour ton aide :-)