2017-06-21 4 views
0

J'ai OdiOSCommand avec la commande:OdiOSCommand Assign Variable

OdiOSCommand "-ERR_FILE=/home/oracle/jmt.err" "-WORKING_DIR=#PROJECT_DIR" "-SYNCHRONOUS=YES" "-CAPTURE_OUT_STREAM=ON_ERROR[NONE]" "-CAPTURE_ERR_STREAM=ON_ERROR[NONE]" 
#TEMP = "hello world !" 

Mais cette façon d'attribuer ne fonctionne pas.

Le même problème se trouve dans echo "something"> #TEMP. Cela ne fera rien.

#TEMP ne contient toujours qu'une valeur par défaut. Ai-je besoin d'une syntaxe spéciale pour manipuler les variables ODI dans les commandes? Pourriez-vous me donner un exemple comment puis-je attribuer une valeur à la variable ODI?

Merci beaucoup.

Répondre

0

Aucune autre façons de modifier une variable ODI sauf deux possibilités:

  1. utilisation étape variable avec le type Refresh Variable
  2. utilisation étape variable avec le type Set Variable

glisser-déposer variable dans un paquet et choisissez le type approprié sur l'onglet Général dans la fenêtre Propriétés.

Si vous recherchez un mécanisme plus flexible pour stocker des valeurs dans la mémoire pendant la session, vous pouvez utiliser des substitutions Java BeanShell. Anywehere vous pouvez écrire

<@TEMP="Hello world!"@> 

Cette substitution disparaîtra lors de l'exécution, mais la variable TEMP gardera valeur attribuée en session est en cours d'exécution. Quelque part dans d'autres étapes, vous pouvez écrire

<@[email protected]> 

Et maintenant la substitution est remplacée par la valeur actuelle de la variable. Vous pouvez également utiliser ces constructions dans l'assignation de variable ODI ou le rafraîchissement.