Nos arquivos de origem, nem todas as linhas contêm todos os campos. Por exemplo, na tela Georgia mostrada abaixo, os valores de entidade como 0565 0565 Test 3
são apresentados no cabeçalho de cada seção de relatório após o rótulo Bus Area / Dept, mas não são apresentados em todas as linhas. Portanto, os valores de entidade devem ser armazenados em variáveis globais e atribuídos às linhas do arquivo de origem.
No caso do arquivo Georgia
, para armazenar valores de entidade em variáveis globais, na tela Formatos de Importação, atribua o script a seguir ao campo Expressão da linha Valor. O script usa uma instrução if..
e a função string
para determinar se as linhas contêm o rótulo Bus Area / Dept:
. Se uma linha contiver o rótulo, o script armazenará o valor de entidade (localizado na posição 33 e incluindo 4 caracteres) em uma variável global. Se uma linha não incluir o rótulo, strfield
será retornado.
Para usar uma variável global, defina uma variável de string fora da função de importação. Ao atribuir um valor para a variável dentro da função de importação, designe-o como global. Ao defini uma variável fora da função, ela ficará disponível para qualquer função usada nessa sessão.
As variáveis globais permanecem disponíveis em todo o processo de carregamento de dados atual do Oracle Hyperion Financial Data Quality Management, Enterprise Edition (ao contrário das variáveis locais, que perdem seus valores quando o script atual é fechado). Portanto, os valores armazenados a partir de um script podem ser recuperados por outros scripts.
GeorgiaCenter = ""
def GeorgiaGetCenter (strfield, strrecord):
if strrecord[15:31] == "Bus Area / Dept:":
global GeorgiaCenter
GeorgiaCenter = strrecord[32:36]
return strfield