COBOL - Configuration section - ALPHABET clause



Desenvolvido por DORNELLES Carlos Alberto - Analista de Sistemas - Brasília DF. - cad_cobol@hotmail.com

COBOL - Configuration section - ALPHABET clause
Enterprise COBOL for z/OS, V4.2, Language Reference

A cláusula ALPHABET fornece um meio de relacionar um nome de alfabeto a um conjunto de códigos de caracteres especificado ou a uma sequência de intercalação.

O conjunto de códigos de caracteres relacionados ou a sequência de intercalação podem ser usados ??para dados alfanuméricos, mas não para DBCS ou dados nationais.

ALPHABET alphabet-name-1 IS
alphabet-name-1 especifica uma sequência de intercalação quando usada em:
  • A cláusula PROGRAM COLLATING SEQUENCE do parágrafo objeto-computador
  • A frase COLLATING SEQUENCE da instrução SORT ou MERGE

alphabet-name-1 especifica um conjunto de códigos de caracteres quando usado em:

  • A cláusula COD-SET da entrada FD
  • A cláusula SYMBOLIC CHARACTERS
STANDARD-1
Especifica o conjunto de caracteres ASCII.

STANDARD-2
Especifica a versão de referência internacional do conjunto de caracteres codificados ISO / IEC 646 de 7 bits para intercâmbio de informações.

NATIVE
Especifica o conjunto de códigos de caracteres nativos.
Se a cláusula ALPHABET for omitida, o EBCDIC será assumido.

EBCDIC
Especifica o conjunto de caracteres EBCDIC.

literal-1, literal-2, literal-3
Especifica que a sequência de intercalação de dados alfanuméricos é determinada pelo programa, de acordo com as seguintes regras:
  • A ordem na qual os literais aparecem especifica o número ordinal, em sequência crescente, dos caracteres nessa sequência de intercalação.
  • Cada literal numérico especificado deve ser um número inteiro não assinado.
  • Cada literal numérico deve ter um valor que corresponda a uma posição ordinal válida dentro da sequência de intercalação em vigor.

    Consulte EBCDIC and ASCII collating sequences - Sequências de intercalação EBCDIC e ASCII para obter os números ordinais de caracteres nas seqüências de intercalação EBCDIC e ASCII de byte único.

  • Cada caractere em um literal alfanumérico representa esse caractere real no conjunto de caracteres.
    (Se o literal alfanumérico contiver mais de um caractere, cada caractere, começando pelo mais à esquerda, receberá uma posição ascendente sucessiva nessa seqüência de intercalação.)
  • Quaisquer caracteres não especificados explicitamente assumem posições nessa seqüência de intercalação mais altas do que qualquer um dos caracteres especificados explicitamente.
    A ordem relativa dentro da sequência de intercalação desses caracteres não especificados é sua ordem relativa na sequência de intercalação indicada pela opção do compilador COLLSEQ.
  • Dentro de uma cláusula alphabet-name, um determinado caractere não deve ser especificado mais de uma vez.
  • Cada literal alfanumérico associado a uma frase THROUGH ou ALSO deve ter um caractere.
  • Quando a frase THROUGH é especificada, os caracteres contíguos no conjunto de caracteres nativos que começam com o caractere especificado pelo literal-1 e terminam com o caractere especificado pelo literal-2 são atribuídos sucessivamente a posições ascendentes nessa sequência de intercalação.

    Essa sequência pode ser crescente ou decrescente dentro do conjunto de caracteres nativo original.
    Ou seja, se "Z" THROUGH "A" for especificado, os valores ascendentes, da esquerda para a direita, para as letras maiúsculas serão:

         ZYXWVUTSRQPONMLKJIHGFEDCBA
  • Quando a frase ALSO é especificada, os caracteres especificados como literal-1, literal-3, ... são atribuídos à mesma posição nesta sequência de intercalação.
    Por exemplo, se você especificar:
        "D" ALSO "N" ALSO "%"

    os caracteres D, N e% são todos considerados na mesma posição na sequência de intercalação.

  • Quando a frase ALSO é especificada e o nome-do-alfabeto-1 é mencionado em uma cláusula SYMBOLIC CHARACTERS, apenas o literal-1 é usado para representar o caractere no conjunto de caracteres.
  • O caractere que tem a posição ordinal mais alta nessa sequência de intercalação está associado à constante figurativa HIGH-VALUE.
    Se mais de um caractere tiver a posição mais alta devido à especificação da frase ALSO, o último caractere especificado (ou o padrão para quando nenhum caractere não for especificado explicitamente) será considerado o caractere HIGH-VALUE para instruções procedurais, como DISPLAY e o campo de envio em uma instrução MOVE.
    (Se o exemplo da frase ALSO fornecido acima foi especificado como os caracteres de alta ordem dessa sequência de intercalação, o caractere HIGH-VALUE seria%.)
  • O caractere que tem a posição ordinal mais baixa nessa sequência de intercalação está associado à constante figurativa LOW-VALUE.
    Se mais de um caractere tiver a posição mais baixa devido à especificação da frase ALSO, o primeiro caractere especificado será o caractere LOW-VALUE.
    (Se o exemplo da frase ALSO fornecido acima fosse especificado como os caracteres de ordem inferior da sequência de intercalação, o caractere LOW-VALUE seria D.)

Quando literal-1, literal-2 ou literal-3 é especificado, o nome do alfabeto não deve ser referido em uma cláusula CODE-SET (consulte a cláusula CODE-SET ).

literal-1, literal-2 e literal-3 devem ser literais alfanuméricos ou numéricos.
Todos devem ter a mesma categoria.
Uma literal de ponto flutuante, uma literal national, uma literal DBCS ou uma constante figurativa de caractere simbólico não deve ser especificada.



© Copyright IBM Corp.