Temporäre Variablen speichern

In Quelldateien sind nicht alle Felder in allen Zeilen enthalten. Beispiel: Im unten dargestellten Fenster "Georgia" sind Entitywerte wie 0565 0565 Test 3 nicht in jeder Zeile, sondern im Header der jeweiligen Berichtsabschnitte nach dem Label "Bus Area/Dept" enthalten. Aus diesem Grund müssen Entitywerte in globalen Variablen gespeichert werden und den Zeilen der Quelldatei hinzugefügt werden.

Um für die Datei Georgia Entitywerte in globalen Variablen zu speichern, weisen Sie im Fenster "Importformate" das folgende Skript zum Feld "Ausdruck" der Zeile "Betrag" hinzu. Das Skript verwendet eine if...-Anweisung und die string-Funktion, um festzustellen, ob das Label Bus Area / Dept in den Zeilen enthalten ist. Wenn das Label in einer Zeile enthalten ist, speichert das Skript den Entitywert (befindet sich an Position 33 und enthält 4 Zeichen) in einer globalen Variablen. Wenn eine Zeile das Label nicht enthält, wird strfield zurückgegeben.

Um eine globale Variable zu verwenden, definieren Sie eine Zeichenfolgenvariable außerhalb der Importfunktion. Wenn Sie der Variablen innerhalb der Importfunktion einen Wert zuweisen, legen Sie die Variable als global fest. Wenn eine Variable außerhalb der Funktion definiert wird, ist sie für jede in dieser Session verwendete Funktion verfügbar.

Die globalen Variablen bleiben während des aktuellen Dataload-Prozesses in Oracle Hyperion Financial Data Quality Management, Enterprise Edition verfügbar (im Gegensatz zu lokalen Variablen, deren Werte beim Schließen des aktuellen Skriptes verloren gehen). Daher können in einem Skript gespeicherte Werte von anderen Skripten abgerufen werden.

GeorgiaCenter = "" 
def GeorgiaGetCenter (strfield, strrecord):
    if strrecord[15:31] == "Bus Area / Dept:":
        global GeorgiaCenter 
        GeorgiaCenter = strrecord[32:36]
    return strfield

Das Bild zeigt den Inhalt der Hauptbuch-Datei "Georgia.glo". Die Entity-Werte befinden sich im Header der jeweiligen Berichtsabschnitte.