2017-06-21 3 views
0

Ich habe mit dem Befehl OdiOSCommand:OdiOSCommand zuweisen 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 !" 

Aber diese Art der Zuweisung funktioniert nicht.

Das gleiche Problem ist in Echo "etwas"> # TEMP. Das wird nichts tun.

# TEMP enthält weiterhin nur den Standardwert.

Benötige ich spezielle Syntax, um ODI-Variablen in Befehlen zu manipulieren? Können Sie mir ein Beispiel geben, wie kann ich der ODI-Variablen einen Wert zuweisen?

Vielen Dank.

Antwort

0

keine anderen Möglichkeiten, eine ODI Variable außer zwei Möglichkeiten zu ändern:

  1. Verwendung Variable Schritt mit Typ Refresh Variable
  2. Verwendung Variable Schritt mit Typ-Variable in ein Paket Set Variable

Drag-and-Drop und wählen Sie den richtigen Typ auf der Registerkarte Allgemein im Eigenschaftenfenster.

Wenn Sie nach einem flexibleren Mechanismus zum Speichern von Werten im Speicher während der Sitzung suchen, können Sie Java BeanShell-Substitutionen verwenden. Anywehere Sie

<@TEMP="Hello world!"@> 

Diese Substitution auf die Ausführung schreiben kann verschwinden, aber TEMP Variable zugewiesenen Wert halten, während Sitzung ausgeführt wird. Irgendwo in weiteren Schritten können Sie schreiben

<@[email protected]> 

Und jetzt ist die Ersetzung durch den aktuellen Wert der Variablen ersetzt. Sie können solche Konstruktionen auch in der ODI-Variablenzuordnung oder -auffrischung verwenden.