Estágio de destino externo: Seção de formatoDataStage®)

A seção Formato permite fornecer informações sobre o formato dos arquivos que você está gravando.

A seção Formato tem um formato semelhante à seção Propriedades.

Se você não mudar nenhuma das configurações de Formato, o estágio External Target produzirá um arquivo no formato a seguir:

  • Os dados compreendem colunas de comprimento variável contidas em aspas duplas.
  • Todas as colunas são delimitadas por uma vírgula, exceto a coluna final em uma linha.
  • As linhas são delimitadas por uma nova linha UNIX.

É possível usar o item Formatar como do menu de atalho na guia Formato para mudar rapidamente para um formato de coluna de largura fixa, usando novas linhas do DOS como delimitadores de linha ou produzindo um arquivo de formato COBOL.

Para mudar propriedades individuais, selecione um tipo de propriedade na árvore principal, em seguida, inclua as propriedades que você deseja configurar para a estrutura em árvore clicando nelas na janela Propriedades disponíveis para configuração. Em seguida, é possível configurar um valor para essa propriedade na caixa Valor da propriedade. A ajuda pop-up para cada uma das propriedades disponíveis aparecerá se você passar o ponteiro do mouse sobre ela.

Essa descrição usa os termos "registro" e "linha" e "campo" e "coluna" de modo intercambiável.

As seções a seguir listam os tipos de Propriedade e as propriedades disponíveis para cada tipo.

Nível de registro

Essas propriedades definem detalhes sobre como os registros de dados são formatados no arquivo simples. Onde é possível inserir um caractere, isso geralmente pode ser um caractere ASCII ou um caractere Unicode multibyte (se você tiver NLS ativado). As propriedades disponíveis são:
  • Fill char. Especifique um caractere ASCII ou um valor na faixa de 0 a 255. Também é possível escolher Espaço ou Nulo na lista suspensa. Este caractere é usado para preencher quaisquer lacunas em um registro gravado causado por propriedades de posicionamento da coluna. Configurado como 0 por padrão (que é o caractere NULL). Por exemplo, para configurá-lo no espaço, também é possível digitar o caractere de espaço ou inserir 32. Note que este valor é restrito a um byte, portanto, não é possível especificar um caractere Unicode multibyte.
  • Final delimiter string. Especifique uma sequência de caracteres a ser gravada após a última coluna de um registro no lugar do delimitador da coluna. Insira um ou mais caracteres; este precede o delimitador de registro se for usado um. Mutuamente exclusivo com o delimitador final, que é o padrão. Por exemplo, se você configurar Delimitador como vírgula e Sequência delimitadora final como `, ` (vírgula espaço - não é necessário inserir as vírgulas invertidas) todos os campos serão delimitados por uma vírgula, exceto o campo final, que é delimitado por uma vírgula seguida por um caractere de espaço ASCII.
  • Delimitador final. Especifique um caractere único a ser gravado após a última coluna de um registro no lugar do delimitador de campo. Digite um caractere ou selecione um de whitespace, end, none, null, tab ou comma. Veja o diagrama a seguir para uma ilustração.
    • whitespace. A última coluna de cada registro não incluirá nenhum espaço em branco final encontrado no final do registro.
    • end. A última coluna de cada registro não inclui o delimitador de campo. Essa é a configuração padrão.
    • none. A última coluna de cada registro não tem um delimitador; usado para campos de largura fixa.
    • Nulo. A última coluna de cada registro é delimitada pelo caractere nulo ASCII.
    • comma. A última coluna de cada registro é delimitada pelo caractere vírgula ASCII.
    • tab. A última coluna de cada registro é delimitada pelo caractere tab ASCII.
  • Intact. A propriedade intact especifica um identificador de um esquema parcial. Um esquema parcial especifica que apenas as colunas denominadas no esquema podem ser modificadas pelo estágio. Todas as outras colunas na linha são passadas inalteradas. O arquivo contendo o esquema parcial é especificado na propriedade Schema File na guia Propriedades. Esta propriedade tem uma propriedade dependente, Check intact, mas isso não é relevante para links de entrada.
  • Record delimiter string. Especifique uma sequência de caracteres a ser gravada no final de cada registro. Insira um ou mais caracteres. Este é mutuamente exclusivo com Record delimiter, que é o padrão, record type e record prefix.
  • Record delimiter. Especifique um único caractere a ser gravado no final de cada registro. Insira um caractere ou selecione um dos seguintes:
    • UNIX Newline (o padrão)
    • nulo

    (Para implementar uma nova linha do DOS, use a propriedade de sequência do delimitador de Registro configurada como "\R\N" ou escolha Formatar como > Terminador de linha do DOS no menu de atalho.)..

    Nota: O delimitador de registro é mutuamente exclusivo com string delimitador de Registro, prefixo de Registro e tipo de Registro.
  • Record length. Selecione Fixo onde campos de comprimento fixo estão sendo gravados. O IBM DataStage calcula o comprimento apropriado para o registro. Alternativamente, especifique o comprimento de registros fixos como número de bytes. Isto não é usado por padrão (arquivos padrão são delimitados por vírgula). O registro é preenchido até o comprimento especificado com zeros ou o caractere de preenchimento, se um tiver sido especificado.
  • Record Prefix. Especifica que um registro de comprimento variável é prefixado por um prefixo com comprimento de 1, 2 ou 4 bytes. Ele é configurado como 1 por padrão. Este é mutuamente exclusivo com Record delimiter, que é o padrão, e record delimiter string e record type.
  • Record type. Especifica que os dados consistem em registros bloqueados de comprimento variável (varying) ou registros implícitos (implicit). Se você escolher a propriedade implicit, os dados serão gravados como um fluxo sem limites de registro explícito. O término do registro será inferido quando todas as colunas definidas pelo esquema tiverem sido analisadas. A propriedade varying permite especificar um dos seguintes formatos IBM bloqueados ou estendidos: V, VB, VS, VBS ou VR. Os dados são importados usando um desses formatos. Esses formatos não estão disponíveis para exportação.

    Esta propriedade é mutuamente exclusiva com Record length, Record delimiter, Record delimiter string e Record prefix e, por parão, não é usada.

Padrões de campo

Define propriedades padrão para colunas gravadas no arquivo ou arquivos. Estas são aplicadas a todas as colunas gravadas, mas podem ser substituídas para colunas individuais na seção Colunas. As propriedades disponíveis são:
  • Actual field length. Especifica o número de bytes a preencher com o caractere de preenchimento quando um campo é identificado como nulo. Quando o IBM DataStage identifica um campo nulo, ele grava um campo deste comprimento cheio de caracteres Fill. Este é mutuamente exclusivo com o valor de campo Null.
  • Delimiter. Especifica o delimitador final de todos os campos do registro. Digite um caractere ASCII ou selecione entre whitespace, end, none, null, comma ou tab.
    • whitespace. Caracteres de espaço em branco no final de uma coluna são ignorados, ou seja, não são tratados como parte da coluna.
    • end. O fim de um campo é considerado o delimitador, ou seja, não há delimitador separado. Isso não é o mesmo que uma configuração de `None' que é usada para campos com colunas de largura fixa.
    • none. Nenhum delimitador (usado para largura fixa).
    • Nulo. O caractere ASCII nulo é usado.
    • comma. O caractere ASCII de vírgula é usado.
    • tab. O caractere ASCII de tab é usado.
  • Delimiter string. Especifique uma sequência de caracteres a ser gravada no final de cada campo. Insira um ou mais caracteres. Isso é mutuamente exclusivo com Delimitador, que é o padrão. Por exemplo, especificar `, ` (vírgula espaço - não é necessário inserir vírgulas invertidas) delimitaria cada campo com `, ` a menos que substituído por campos individuais.
  • Null field length. O comprimento em bytes de um campo de comprimento variável que contém um nulo. Quando um campo de comprimento variável é gravado, o IBM DataStage grava um valor de comprimento null field length se o campo contém um nulo. Esta propriedade é mutuamente exclusiva com null field value.
  • Null field value. Especifica o valor gravado para campo nulo se a origem for configurada como null. Pode ser um número, uma sequência de caracteres ou caractere de escape literal do tipo C. Por exemplo, é possível representar um valor de byte por \ooo, em que cada o é um dígito octal 0 a 7 e o primeiro o é < 4, ou por \xhh, em que cada h é um dígito hexadecimal 0 a F. Deve-se usar este formulário para codificar valores de bytes não imprimíveis.

    Esta propriedade é mutuamente exclusiva com Null field length e Actual length. Para uma representação de dados de largura fixa, é possível usar caractere de preenchimento (da seção Geral de Padrões de tipo) para especificar um caractere final repetido se o valor especificado for mais curto do que a largura fixa do campo.

    Null field value tem uma subpropriedade denominada Null field value separator. Ela se destina ao resultado e deve ser ignorada nas guias Formatar pertencentes aos links de entrada.

  • Prefix bytes. Especifica se essa coluna no arquivo de dados é prefixada por 1, 2 ou 4 bytes contendo, como um valor binário, o comprimento da coluna ou o valor de tag para um campo com tag.

    É possível usar essa opção com campos de comprimento variável. Campos de comprimento variável podem ser delimitados por um caractere ou precedidos por um prefixo de 1, 2 ou 4 bytes contendo o comprimento do campo. O IBM DataStage insere o prefixo antes de cada campo.

    Essa propriedade é mutuamente exclusiva com as propriedades Delimitador, Aspas e Delimitador final, que são usadas por padrão.

  • Print field. Esta propriedade não é relevante para links de entrada.
  • Quote. Especifica que campos de comprimento variável são colocados entre aspas simples, aspas duplas ou outro caractere ou par de caracteres. Escolha Simples ou Duplo, ou insira um caractere. É configurado como aspas duplas por padrão.

    Ao gravar, o IBM DataStage insere o caractere de aspas simples inicial, os dados, e um caractere de aspas simples final. Os caracteres de aspas não são contados como parte do comprimento de um campo.

  • Vector prefix. Para campos que são vetores de comprimento variável, especifica um prefixo de 1, 2 ou 4 bytes contendo o número de elementos no vetor. É possível substituir esse prefixo padrão por vetores individuais.

    Vetores de comprimento variável devem utilizar um prefixo no vetor ou um link para outro campo a fim de especificar o número de elementos no vetor. Se o vetor de comprimento variável tiver um prefixo, use esta propriedade para indicar o comprimento do prefixo. O IBM DataStage insere a contagem de elementos como um prefixo de cada campo vetorial de comprimento variável. Por padrão, o comprimento do prefixo é considerado como um byte.

Padrões de Tipo

São propriedades que se aplicam a todas as colunas de um tipo de dado específico, a menos que especificamente substituído no nível da coluna. Elas são divididas em vários subgrupos de acordo com o tipo de dados.

Geral

Essas propriedades se aplicam a vários tipos de dados (a menos que substituídos no nível da coluna):
  • Byte order. Especifica como vários tipos de dados de byte (exceto tipos de dados de sequência e brutos) são ordenados. Escolha entre:
    • little-endian. O byte alto está à direita.
    • big-endian. O byte alto está à esquerda.
    • native-endian. Conforme definido pelo formato nativo da máquina. Este é o padrão.
  • Formato de Dados. Especifica o formato de representação de dados de um campo. Aplica-se a campos de todos os tipos de dados, exceto string, ustring e raw e a campos record, subrec ou tagged contendo pelo menos um campo que não seja string nem raw. Escolha entre:
    • binário
    • texto (o padrão)

      Uma configuração de binário tem significados diferentes quando aplicada a diferentes tipos de dados:

    • Para decimais, binário significa empacotado.
    • Para outros tipos de dados numéricos, binário significa "não texto".
    • Para datas, binário é equivalente a especificar a propriedade julian para o campo de data.
    • Para horário, o binário é equivalente a midnight_seconds.
    • Para registro de data e hora, binário especifica que o primeiro número inteiro contém uma contagem de Dia Juliano para a parte da data do registro de data e hora e o segundo número inteiro especifica a parte do horário do registro de data e hora como o número de segundos a partir da meia-noite. Um registro binário de data e hora especifica que dois números inteiros de 32 bits são gravados.

      Por padrão, os dados são formatados como texto, da seguinte forma:

    • Para o tipo de dados de data, o texto especifica que os dados a serem gravados contém uma data baseada em texto no formato %aaaa-%mm-%dd, ou no formato de data padrão, se você tiver definido um novo em um sistema NLS.
    • Para o tipo de dados decimais: um campo representa um decimal em um formato de sequência com um espaço extra ou '-' seguido por dígitos decimais com um separador decimal integrado, se a escala não for zero. O formato de sequência de destino é: [+ | -]ddd.[ddd] e quaisquer argumentos de precisão e escala são ignorados.
    • Para os campos numéricos (int8, int16, int32, uint8, uint16, uint32, sfloat e dfloat): o IBM DataStage assume que campos numéricos são representados como texto.
    • Para o tipo de dados de tempo: o texto especifica que o campo representa tempo na forma baseada em texto %hh: %nn:%ss.
    • Para o tipo de data do registro de data e hora: o texto especifica um registro de ata e hora baseado em texto no formato %aaaa-%mm-%dd %hh:%nn:%ss ou no formato de data padrão se você tiver definido um novo em um sistema NLS.
  • Field max width. O número máximo de bytes em uma coluna representada como uma sequência de caracteres. Insira um número. Isso é útil onde você está armazenando números como texto. Se você estiver usando um conjunto de caracteres de largura fixa, será possível calcular o comprimento exatamente. Se você estiver usando um conjunto de caracteres de comprimento variável, calcule uma largura máxima adequada para os seus campos. Aplica-se a campos de todos os tipos de dados, exceto data, hora, registro de data e hora, bruto; e registro, sub-registro ou identificação, se eles contiverem pelo menos um campo desse tipo.
  • Field width. O número de bytes em um campo representado como uma sequência de caracteres. Insira um número. Isso é útil onde você está armazenando números como texto. Se você estiver usando um conjunto de caracteres de largura fixa, poderá calcular o número de bytes exatamente. Se for uma codificação de comprimento variável, baseie seu cálculo na largura e frequência de seus caracteres de largura variável. Aplica-se a campos de todos os tipos de dados, exceto data, hora, registro de data e hora, bruto; e registro, sub-registro ou identificação, se eles contiverem pelo menos um campo desse tipo.

    Se você não especificar nem largura de campo nem largura de campo máxima, os campos numéricos gravados como texto terão o seguinte número de bytes como sua largura máxima:

    • Números inteiros de 8 bits assinados ou não assinados: 4 bytes
    • Números inteiros de 16 bits com sinal ou sem sinal: 6 bytes
    • Números inteiros de 32 bits com sinal ou sem sinal: 11 bytes
    • Números inteiros de 64 bits com sinal ou sem sinal: 21 bytes
    • flutuação de precisão única: 14 bytes (assinar, dígito, separador decimal, fração 7, "E", assinar, expoente 2)
    • flutuação de precisão dupla: 24 bytes (assinar, dígito, separador decimal, fração 16, "E", assinar, expoente 3)
    Importante: Se você estiver usando colunas de caracteres Unicode, deve-se calcular o comprimento de campo em bytes e especificar esse valor na propriedade da coluna Width de Campo.
  • Pad char. Especifica o caractere de preenchimento usado quando sequências de caracteres ou valores numéricos são gravados em uma representação de sequência de caracteres externa. Insira um caractere (byte único para sequências de caracteres, pode ser multibyte para ustrings) ou escolha nulo ou espaço. O caractere de preenchimento é usado quando a representação em sequência externa é maior que o necessário para reter o campo gravado. Nesse caso, a sequência externa é preenchida com o caractere de preenchimento para seu comprimento integral. O espaço é o padrão. Aplica-se a tipos de dados string, ustring e numéricos e a tipos de registro, subrec ou tagged se eles contiverem pelo menos um campo deste tipo.
  • Character set. Especifica o conjunto de caracteres. Escolha entre ASCII ou EBCDIC. O padrão é ASCII. Aplica-se a todos os tipos de dados, exceto bruto e ustring e registro, subrec ou tagged que não contêm campos diferentes do bruto ou ustring.

Sequência

Essas propriedades são aplicadas a colunas com um tipo de dados de sequência, a menos que seja substituído no nível da coluna.
  • Export EBCDIC as ASCII. Selecione isto para especificar que os caracteres EBCDIC são gravados como caracteres ASCII. Aplica-se a campos do tipo de dados de sequência e a campos de registro, subrec ou tagged se eles contêm pelo menos um campo deste tipo.
  • Import ASCII as EBCDIC. Não relevante para links de entrada.

Decimal

Essas propriedades são aplicadas a colunas com um tipo de dados decimais, a menos que seja substituído no nível da coluna.
  • Allow all zeros. Especifica se deve tratar uma coluna de decimal compactado que contém todos os zeros (que normalmente é ilegal) como uma representação válida de zero. Selecione Sim ou Não. O padrão é Não.
  • Separador Decimal. Especifique o caractere ASCII que age como separador decimal (ponto por padrão).
  • Packed. Selecione uma opção para especificar o que contêm as colunas decimais e escolha:
    • Sim para especificar que as colunas decimais contêm dados em formato decimal compactado (o padrão). Isto tem as sub-propriedades a seguir:

      Confira. Selecione Sim para verificar se os dados estão compactados ou Não para não verificar.

      Signed. Selecione Sim para usar o sinal existente ao gravar colunas decimais. Selecione Não para gravar um sinal positivo (0xf) independentemente do valor do sinal real das colunas.

    • Não (separado) para especificar que eles contêm decimal não compactado com um byte de sinal separado. Isto tem a sub-propriedade a seguir:

      Sign Position. Escolha à esquerda ou à direita conforme apropriado.

    • No (zoned) para especificar que eles contêm um decimal não empacotado em texto ASCII ou EBCDIC. Isto tem a sub-propriedade a seguir:

      Sign Position. Escolha à esquerda ou à direita conforme apropriado.

    • Não (overpunch) para especificar que o campo possui um byte inicial ou final que contém um caractere que especifica o valor numérico desse byte e se o número como um todo tem sinal negativo ou positivo. Isto tem a sub-propriedade a seguir:

      Sign Position. Escolha à esquerda ou à direita conforme apropriado.

  • Precision. Especifica a precisão onde uma coluna decimal é gravada em formato de texto. Insira um número. Quando um decimal é gravado em uma representação de sequência de caracteres, o IBM DataStage usa a precisão e a escala definidas para o campo decimal de origem para determinar o comprimento da sequência de caracteres de destino. As propriedades de precisão e escala substituem esse padrão. Ao serem definidas, o IBM DataStage trunca ou preenche o decimal de origem para ajustar o tamanho da sequência de caracteres de destino. Se você também especificou a propriedade field width, o IBM DataStage truncará ou preencherá o decimal de origem para ajustar o tamanho especificado por field width.
  • Rounding. Especifica como arredondar uma coluna decimal ao gravá-la. Escolha entre:
    • para cima (máximo). Coluna de origem truncada em direção ao infinito positivo. Esse modo corresponde ao modo IEEE 754 Arredondar para cima. Por exemplo, 1,4 torna-se 2, -1,6 torna-se -1.
    • para baixo (mínimo). Coluna de origem truncada em direção ao infinito negativo. Esse modo corresponde ao modo IEEE 754 Arredondar para baixo. Por exemplo, 1,6 torna-se 1, -1,4 torna-se -2.
    • valor mais próximo. Arredondar a coluna de origem para o valor representável mais próximo. Esse modo corresponde ao modo COBOL ROUNDED. Por exemplo, 1,4 torna-se 1, 1,5 torna-se 2, -1,4 torna-se -1, -1,5 torna-se -2.
    • truncar em direção a zero. Este é o padrão. Descarte os dígitos fracionários à direita do dígito fracionado mais à direita suportado pelo destino, independentemente da assinatura. Por exemplo, se o destino for um número inteiro, todos os dígitos fracionados serão truncados. Se o destino for outro decimal com uma escala menor, trunque para o tamanho de escala do decimal de destino. Esse modo corresponde à função COBOL INTEGER-PART. Usando esse método 1,6 torna-se 1, -1,6 torna-se -1.
  • Scale. Especifica como arredondar um decimal de origem quando sua precisão e escala são maiores que as do destino. Por padrão, quando IBM DataStage grava um decimal de origem em uma representação de sequência de caracteres, ele usa a precisão e a escala definidas para o campo decimal de origem para determinar o comprimento da sequência de caracteres de destino. É possível substituir o padrão por meio das propriedades precision e scale. Ao fazer isso, o iBM DataStage trunca ou preenche o decimal de origem para ajustar o tamanho da sequência de caracteres de destino. Se você também especificou a propriedade field width, o IBM DataStage truncará ou preencherá o decimal de origem para ajustar o tamanho especificado por field width.

Numérico

Essas propriedades se aplicam aos campos número inteiro e valor flutuante, a menos que sejam substituídos no nível da coluna.
  • C_format. Execute conversão de dados não padrão de dados de número inteiro ou de vírgula flutuante para uma sequência de caracteres. Esta propriedade especifica uma sequência de formatação em linguagem C usada para gravação de sequências de caracteres de número inteiro ou de vírgula flutuante. Isso é passado para sprintf(). Por exemplo, especificar um formato C de %x e uma largura de campo de 8 garante que números inteiros sejam gravados como sequências de caracteres hexadecimais de 8 bytes.
  • In_format. Essa propriedade não é relevante para links de entrada..
  • Out_format. Sequência de formatação usada para conversão de dados de número inteiro ou de vírgula flutuante para uma sequência de caracteres. Isso é passado para sprintf(). Por padrão, o IBM DataStage chama a função C sprintf() para converter um campo numérico formatado como dados de número inteiro ou de vírgula flutuante para uma sequência de caracteres. Se esta função não produzir dados em um formato satisfatório, será possível especificar a propriedade out_format para transmitir argumentos de formatação para sprintf().

Data

Essas propriedades são aplicadas a colunas com um tipo de dados de data, a menos que seja substituído no nível da coluna. Todos estes são incompatíveis com uma configuração de Formato de dados de texto.
  • Days since. As datas são gravadas como um número inteiro assinado contendo o número de dias desde a data especificada. Insira uma data no formato %aaaa-%mm-%dd.
  • Format string. O formato de sequência de uma data. Por padrão isto é %aaaa-%mm-%dd.
  • Is Julian. Selecione isso para especificar que datas são gravadas como um valor numérico que contém o Dia Juliano. Um Dia Juliano especifica a data como o número de dias a partir de 4713 a.C. 1 de janeiro, 12:00 horas (meio-dia) GMT.

Horário

Essas propriedades são aplicadas a colunas com um tipo de dados de horário, a menos que seja substituído no nível da coluna. Todos estes são incompatíveis com uma configuração de Formato de dados de texto.
  • Format string. Especifica o formato de colunas representando o horário como uma sequência de caracteres.
  • Is midnight seconds. Selecione isso para especificar que os horário são gravados como um número inteiro binário 32 bits contendo o número de segundos decorridos desde a meia-noite anterior.

Registro de data e hora

Essas propriedades são aplicadas a colunas com um tipo de dados de registro de data e hora, a menos que seja substituído no nível da coluna.
  • Format string. Especifica o formato de uma coluna representando um registro de data e hora como uma sequência de caracteres. Assume como padrão %aaaa-%mm-%dd %hh:%nn:%ss. O formato combina o formato para sequências de caracteres de data e sequências de caracteres de horário.