Comando DEFINE FIELD

Define um campo de dados físico em um layout da tabela do Analytics.

Sintaxe

DEFINE FIELD nome_campo tipo_dados posição_inicial comprimento <decimais|formato_de_data> <NDATETIME> <PIC formato> <AS nome_exibicao> <WIDTH caracteres> <SUPPRESS> <observação_do_campo>

Parâmetros

Nome Descrição
nome_campo

O nome do campo.

Nota

Os nomes dos campos estão limitados a 256 caracteres alfanuméricos maiúsculos e minúsculos. O nome pode incluir o caractere de sublinhado ( _ ) mas nenhum outro caractere especial e nenhum espaço. O nome não pode começar com um número.

O Analytics apresenta uma variedade de palavras-chave reservadas que não podem ser usadas como nomes de campos. Para obter uma lista completa, consulte Palavras-chave reservadas.

tipo_de_dados

O tipo de dados a usar para interpretar os dados. Para obter uma lista de tipos de dados compatíveis, consulte Tipos de dados compatíveis.

Por exemplo, números de fatura podem ser armazenadas como valores numéricos na origem dos dados. Para tratar esses valores como cadeias em vez de números, você pode definir o campo como dados de caracteres.

posição_inicial

A posição inicial em bytes do campo no arquivo de dados do Analytics.

Nota

Analytics não Unicode 1 byte = 1 caractere
Analytics Unicode, dados em ASCII estendido (ANSI) 1 byte = 1 caractere
Analytics Unicode, dados Unicode 2 bytes = 1 caractere

Para dados Unicode, normalmente você deve especificar uma posição inicial em bytes ímpar. A especificação de uma posição inicial par pode causar exibição incorreta de caracteres.

comprimento

O comprimento do campo em bytes.

Nota

Analytics não Unicode 1 byte = 1 caractere
Analytics Unicode, dados em ASCII estendido (ANSI) 1 byte = 1 caractere
Analytics Unicode, dados Unicode 2 bytes = 1 caractere

Para dados Unicode, especifique apenas um número de bytes par. A especificação de um número ímpar de bytes pode causar exibição incorreta de caracteres.

decimais

opcional

O número de casas decimais para campos numéricos.

formato_de_data

opcional

O formato de data nos campos de data de origem.

Para campos de datahora ou hora, use PIC formato. Você também pode usar PIC formato para campos de data.

Se os dados de origem incluem separadores como barras, você deve incluir os separadores em formato_de_data. Por exemplo, se os dados de origem são 31/12/2014, você deve inserir o formato como DD/MM/AAAA. Não coloque formato_de_data entre aspas.

NDATETIME

opcional

Valores de data, datahora ou hora armazenados em um campo numérico são tratados como dados de datahora.

NDATETIME exige que você também especifique o formato de datahora da origem PIC formato.

PIC formato

opcional

Nota

Aplica-se somente a campos numéricos ou de datahora.

  • campos numéricos o formato de exibição de valores numéricos em exibições e relatórios do Analytics
  • campos datahora o formato físico dos valores datahora nos dados de origem (ordem de caracteres de data e hora, separadores e assim por diante)

    Nota

    Para campos de datahora, formato deve corresponder exatamente ao formato físico dos dados de origem. Por exemplo, se os dados de origem são 31/12/2014, você deve inserir o formato como "DD/MM/AAAA".

formato deve estar entre aspas.

AS nome_exibicao

opcional

O nome de exibição (título alternativo da coluna) para o campo na exibição. Se você quiser que o nome de exibição seja o mesmo que o nome do campo, não use AS.

Especifique nome_exibicao como uma cadeia entre aspas. Utilize um ponto e vírgula (;) entre palavras se quiser uma quebra de linha no título da coluna.

WIDTH caracteres

opcional

A largura de exibição do campo em caracteres.

O valor especificado controla a largura de exibição do campo em exibições e relatórios do Analytics. A largura de exibição nunca altera os dados. No entanto, pode ocultá-los se for menor que o comprimento do campo.

A largura de exibição não pode ser inferior ao comprimento de nome_campo ou de nome_exibicao.

Se você omitir WIDTH, a largura de exibição será definida como o comprimento do campo em caracteres.

Nota

Os caracteres especificados por WIDTH são caracteres de largura fixa. A mesma quantidade de espaço é alocada a cada caractere, independentemente da largura do caractere real.

Por padrão, as exibições do Analytics usam uma fonte de largura proporcional que não corresponde ao espaçamento dos caracteres de largura fixa.

Se você quiser uma correspondência de um para um entre o valor de WIDTH e os caracteres na exibição, poderá alterar a configuração Fonte Proporcional na caixa de diálogo Opções para uma fonte de largura fixa, como Courier New.

SUPPRESS

opcional

Aplica-se somente a campos numéricos.

Suprime a totalização automática de um campo numérico em relatórios do Analytics.

A totalização de alguns campos numéricos não é apropriada. Por exemplo, um campo de custo unitário ou um campo de taxa de desconto.

observação_do_campo

opcional

O texto de uma observação de campo adicionada à definição de campo no layout da tabela.

observação_do_campo deve ser o último parâmetro, depois de todos os outros parâmetros obrigatórios e opcionais. O texto não pode ter várias linhas. Não é necessário usar aspas.

Exemplos

Definição de um campo de caracteres

Definição de um campo de caracteres denominado DescProd. O título da coluna na exibição é Descrição do produto.

Analytics não Unicode

  • Começa em: byte 12 (posição de caractere 12)
  • Comprimento: 24 bytes (24 caracteres)
DEFINE FIELD DescProd ASCII 12 24 AS "Descrição do produto"

Analytics Unicode, dados em ASCII estendido (ANSI)

  • Começa em: byte 12
  • Comprimento: 24 bytes (24 caracteres)
DEFINE FIELD DescProd ASCII 12 24 AS "Descrição do produto"

Analytics Unicode, dados Unicode

  • Começa em: byte 13
  • Comprimento: 48 bytes (24 caracteres)
DEFINE FIELD DescProd UNICODE 13 48 AS "Descrição do produto"

Definição de um campo numérico

Define um campo numérico chamado QtdDisp. Na exibição, a coluna usa o formato de exibição especificado e o título é Quantidade disponível.

  • Começa em: byte 61
  • Comprimento: 10 bytes
  • Casas decimais: nenhuma
DEFINE FIELD QtdDisp NUMERIC 61 10 0 PIC "(9.999.999)" AS "Quantidade disponível"

Definição de um campo datahora de dados de caracteres

Os primeiros dois exemplos abaixo definem um campo datahora chamado Data_Transação usando dados de caracteres de origem. Nos dados de origem, o formato da data é DD/MM/AAAA. Nenhum título de coluna é especificado. Portanto, o título da coluna assumirá o valor padrão de nome do campo.

  • Começa em: byte 20
  • Comprimento: 10 bytes

Aqui, o formato de data é especificado usando formato_de_data:

DEFINE FIELD Data_da_transação DATETIME 20 10 DD/MM/YYYY

Aqui, o formato de data é especificado usando PIC formato:

DEFINE FIELD Data_da_transação DATETIME 20 10 PIC "DD/MM/AAAA"

Para definir campos datahora que incluem dados de tempo, você deve usar PIC formato.

O exemplo abaixo define um campo datahora chamado carimbo_de_data_e_hora_do_email. Nos dados de origem, o formato de datahora é AAAA/MM/DD hh:mm:ss-hh:mm.

  • Começa em: byte 1
  • Comprimento: 25 bytes
DEFINE FIELD carimbo_de_data_e_hora_do_email DATETIME 1 25 PIC "AAAA/MM/DD hh:mm:ss-hh:mm"

Definição de um campo datahora de dados numéricos

Usando os dados numéricos de origem, define um campo datahora denominado Carimbo_de_data_e_hora_do_recebimento com o formato de datahora especificado nos dados de origem.

  • Começa em: byte 15
  • Comprimento: 15 bytes
DEFINE FIELD Carimbo_de_data_e_hora_do_recebimento DATETIME 15 15 PIC "AAAAMMDD,hhmmss"

Definição de um campo datahora "numérico"

Usando os dados numéricos de origem, define um campo numérico denominado Carimbo_de_data_e_hora_do_recebimento com o formato de datahora especificado nos dados de origem.

O parâmetro NDATETIME permite que os valores armazenados no campo numérico sejam tratados como dados de datahora pelo Analytics.

  • Começa em: byte 15
  • Comprimento: 15 bytes
  • Casas decimais: 6
DEFINE FIELD Carimbo_de_data_e_hora_do_recebimento PRINT 15 15 6 NDATETIME PIC "AAAAMMDD.hhmmss"

Definição de um campo de dados físico que leia dados compactados de mainframe

Você pode usar o parâmetro NDATETIME para criar um campo de dados físico que lê valores de datas de um campo numérico compactado.

O Analytics não pode reconhecer uma data em um número que esteja compactado em menos bytes que um por dígito e que não exiba formato de data. Portanto, é necessário descompactar o número com NDATETIME para obter o número completo de dígitos e então especificar o formato de data com PIC.

Para indicar com precisão quais números representam o dia, o mês e o ano, especifique o mesmo formato de data do layout do registro compactado:

DEFINE FIELD nome_do_campo_de_data NUMERIC 1 8 0 NDATETIME PIC "AAAAMMDD"

Observações

Nota

Para obter mais informações sobre o funcionamento desse comando, consulte a Ajuda do Analytics.

Sobrescrita de campos em um script

Você pode sobrescrever um campo em um layout de tabela definindo um campo que usa o mesmo nome que o campo existente. Se SET SAFETY estiver definido como ON, uma caixa de diálogo de confirmação será exibida antes que o campo existente seja sobrescrito.

Para evitar a interrupção do script, você pode definir SET SAFETY como OFF. O campo existente será sobrescrito sem confirmação adicional.

Tipos de dados compatíveis

Categoria de dados Tipo de dados
Caractere ASCII
CUSTOM
EBCDIC
NOTE
PCASCII
UNICODE
Numérico ACCPAC
ACL
BASIC
BINARY
FLOAT
HALFBYTE
IBMFLOAT
MICRO
NUMERIC
PACKED
PRINT
UNISYS
UNSIGNED
VAXFLOAT
ZONED
Datahora DATETIME
Lógico LOGICAL
Guia de scripting do ACL 14.1