Almacenamiento de variables temporales

Dentro de los archivos de origen, no todas las líneas contienen todos los campos. Por ejemplo, en la pantalla Georgia mostrada a continuación, los valores de entidad, como 0565 0565 Test 3, se presentan en la cabecera de cada sección de informe tras la etiqueta Bus Area/Dept, pero no se presentan en cada línea. Por lo tanto, los valores de entidad deben almacenarse en variables globales y asignarse a las líneas del archivo de origen.

En el caso del archivo Georgia, para almacenar valores de entidad en variables globales, en la pantalla Formatos de importación, debe asignar el siguiente script al campo Expresión de la fila Importe. El script utiliza una sentencia if... y la función string para determinar si las líneas contienen o no la etiqueta Bus Area / Dept. Si una línea contiene la etiqueta, el script almacena el valor de entidad (localizado en la posición 33 con 4 caracteres) en una variable global. Si una línea no incluye la etiqueta, se devuelve strfield.

Para utilizar una variable global, defina una variable de cadena fuera de la función de importación. Al asignar un valor para la variable dentro de la función de importación, desígnela como global. Al definir una variable fuera de la función, está disponible para cualquier función utilizada en esa sesión.

Las variables globales permanecen disponibles a lo largo del proceso de carga de datos de Oracle Hyperion Financial Data Quality Management, Enterprise Edition actual (a diferencia de las variables locales, que pierden sus valores cuando se cierra el script actual). Por lo tanto, otros scripts pueden recuperar los valores almacenados desde dentro de un script.

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

En la imagen se muestra el contenido del archivo del libro mayor Georgia.glo. Los valores de entidad se incluyen en la cabecera de la parte superior de cada sección de informe.