Stockage des variables temporaires

Au sein des fichiers source, toutes les lignes ne contiennent pas forcément tous les champs. Par exemple, dans l'écran Georgia ci-dessous, les valeurs d'entité telles que 0565 0565 Test 3 sont présentées dans l'en-tête de chaque section du rapport après le libellé Bus Area/Dept, mais ne sont pas présentées sur chaque ligne. Par conséquent, les valeurs d'entité doivent être stockées dans des variables globales et affectées aux lignes du fichier source.

Pour le fichier Georgia, vous affectez le script suivant au champ Expression de la ligne Montant dans l'écran Formats d'import afin de stocker les valeurs d'entité dans des variables globales. Le script utilise l'instruction if et la fonction string pour déterminer si les lignes contiennent le libellé Bus Area / Dept:. Si une ligne contient le libellé, le script stocke la valeur d'entité (située à la position 33 et incluant 4 caractères) dans une variable globale. Si une ligne n'inclut pas le libellé, strfield est renvoyé.

Pour utiliser une variable globale, définissez une variable de chaîne en dehors de la fonction d'import. En cas d'affectation d'une valeur à la variable au sein de la fonction d'import, indiquez que cette variable est globale. Une variable définie en dehors de la fonction est disponible pour toutes les fonctions utilisées dans la session.

Les variables globales restent disponibles tout au long du processus de chargement des données Oracle Hyperion Financial Data Quality Management, Enterprise Edition en cours (contrairement aux variables locales, qui perdent leurs valeurs une fois le script en cours fermé). Les valeurs stockées dans un script peuvent ainsi être récupérées par d'autres scripts.

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

L'image montre le contenu du fichier de comptabilité Georgia.glo. Les valeurs d'entité sont incluses dans un en-tête au-dessus de chaque section de rapport.