Auxílios do VisualAge Generator

instrução TEST

TEST transfere o controle para uma função com base no status do campo testado, registro, mapa ou palavra de função especial com o prefixo EZE.

Se a instrução TEST estiver em uma função, True e False são nomes de função, EZEFLO, EZERTN ou EZECLOS. Se a instrução TEST estiver em uma instrução de fluxo do programa, True e False são nomes de função ou EZECLOS.

Na área de instruções, se você especificar ambos um nome verdadeiro e um nome falso em uma instrução TEST, você pode separar os nomes com uma vírgula. Se você especificar somente a parte falsa da instrução, você deve precedê-la com uma vírgula. Vírgulas são automaticamente inseridas para você quando você usa o gabarito da instrução TEST.

As variações para TEST são dadas abaixo.

Item de dados

Selecione Item de dados para verificar se um item de dados contém o seguinte:

BRANCOS, BRANCOS
Quando utilizado com itens de mapa, testa efetivamente se um dos seguintes casos for verdadeiro:

Quando utilizado com itens que não sejam mapas com tipo de dados CHA, MISTO ou DBCS, ele testa efetivamente se o item de dados contém apenas brancos.

NUMÉRICO
Se o item do mapa ou tipo do item de dados for um caractere ou misto, testa efetivamente se o campo contém os caracteres de 0 à 9. NUMERIC não pode ser usado com palavras EZE.

Registro DL/I

Selecione Registro DL/I para verificar o status ou condição da última função de DL/I E/S para um registro. As seguintes opções estão disponíveis:

DUP
Testa se há uma chave duplicada. A opção de E/S pode ou não ter sido bem-sucedida, dependendo de as chaves duplicadas serem ou não permitidas.

EOF
Testa se há o fim de um arquivo.

ERR
Testa se há um código de retorno que não seja zero (0) para bancos de dados de arquivos e relacionais ou branco para bancos de dados DL/I.

HRD
Testa se há algum erro permanente de E/S.

NRF
Testa se há um "nenhum registro encontrado" em um arquivo ou banco de dados.

UNQ
Testa se uma tentativa foi feita para incluir ou substituir uma registro em um arquivo ou banco de dados para o qual uma chave duplicada já existe.

EZEAID

Selecione EZEAID para verificar uma tecla de função que o usuário do programa pressiona durante E/S de mapa. As seguintes opções estão disponíveis:

DESVIAR
Qualquer uma das teclas especificadas como teclas de desvio para o mapa ou para o programa, se nenhuma tiver sido especificada para o mapa.

ENTER
A tecla ENTER foi pressionada.

PA
Qualquer tecla PA foi pressionada.

PAn
Onde "n" é um inteiro de 1 a 3. PAn está ativado se a tecla PA com o número correspondente tiver sido pressionada.

PF
Qualquer tecla de função foi pressionada.

PFn
Onde "n" é um inteiro de 1 a 24. PFn está ativado se a tecla de função com o número correspondente tiver sido pressionada.

EZESYS

Selecione EZESYS no quadro de grupo Variações para testar o sistema onde o seu programa está executando.

Mapa

Selecione Mapa para fazer com que a instrução verifique se um usuário do programa modificou qualquer campo de variável em um mapa. O valor é:

MODIFIED
Testa efetivamente se foram alterados os dados no campo variável. Os dados são considerados alterados quando alguma das seguintes condições é verdadeira:

Item de mapa

Selecione Item de mapa para verificar o status de um campo de variável específico em um mapa.

BLANK, BLANKS
Quando utilizado com itens de mapa, testa efetivamente se um dos seguintes casos for verdadeiro:

Quando utilizado com itens que não sejam mapas com tipo de dados CHA, MISTO ou DBCS, ele testa efetivamente se o item de dados contém apenas brancos.

CURSOR
Testa se o usuário deixou o cursor no item de dados especificado.

DATA
Testa se há dados que não sejam brancos ou nulos dentro do item de mapa especificado. Ou o usuário inseriu os dados ou os dados foram movidos para o campo antes de gravar na tela.

MODIFIED
Testa efetivamente se foram alterados os dados no campo variável. Os dados são considerados alterados quando alguma das seguintes condições é verdadeira:

NULL, NULOS
Quando especificado para um campo variável do mapa, testa efetivamente se alguns dos seguintes casos é verdadeiro:

Quando utilizado com itens que não sejam mapas com tipo de dados CHA, MISTO ou DBCS, ele testa efetivamente se o item de dados contém apenas brancos.

NUMERIC
Se o item do mapa ou tipo do item de dados for um caractere ou misto, testa efetivamente se o campo contém os caracteres de 0 à 9. NUMERIC não pode ser usado com palavras EZE.

nnn, +nnn, -nnn
Compara o comprimento dos dados retornados contra o valor nnn, o qual é um literal numérico. Se nenhum sinal preceder o número, o teste é de uma condição IS EQUAL TO. Se um sinal + preceder o número, a condição testada é IS GREATER THAN. Para um sinal de subtração (-) precedendo um número, o teste é IS LESS THAN.

Registro

Selecione Registro para testar o status de um registro ou para testar uma condição que diz respeito ao arquivo associado a um registro. As seguintes opções estão disponíveis:

DUP
Testa se há uma chave duplicada. A opção de E/S pode ou não ter sido bem-sucedida, dependendo de as chaves duplicadas serem ou não permitidas.

EOF
Testa se há o fim de um arquivo.

ERR
Testa se há um código de retorno que não seja zero (0) para bancos de dados de arquivos e relacionais ou branco para bancos de dados DL/I.

FMT
Testa o formato de um arquivo junto ao que foi definido.

FNA
Testa a disponibilidade de um arquivo.

FNF
Testa se há "nenhum arquivo encontrado" para o registro.

FUL
Testa se há uma chave de fila de arquivo cheio ou armazenamento temporário superior a 32767.

FUL não é definido para arquivos em série não-VSAM em MVS/TSO e MVS batch. Ao invés disso, um término anormal (B37) é recebido.

HRD
Testa se há algum erro permanente de E/S.

LOK
Testa se há uma condição de lockout em um sistema OS/400.

NRF
Testa se há um "nenhum registro encontrado" em um arquivo ou banco de dados.

UNQ
Testa se uma tentativa foi feita para incluir ou substituir uma registro em um arquivo ou banco de dados para o qual uma chave duplicada já existe.

Item SQL

Selecione Item SQL para testar se um item de dados em um registro de linha SQL possui qualquer das seguintes características:

BLANK, BLANKS
Quando utilizado com itens de mapa, testa efetivamente se um dos seguintes casos for verdadeiro:

Quando utilizado com itens que não sejam mapas com tipo de dados CHA, MISTO ou DBCS, ele testa efetivamente se o item de dados contém apenas brancos.

NULL, NULOS
Quando especificado para um campo variável do mapa, testa efetivamente se alguns dos seguintes casos é verdadeiro:

Quando utilizado com itens que não sejam mapas com tipo de dados CHA, MISTO ou DBCS, ele testa efetivamente se o item de dados contém apenas brancos.

NUMERIC
Se o item do mapa ou tipo do item de dados for um caractere ou misto, testa efetivamente se o campo contém os caracteres de 0 à 9. NUMERIC não pode ser usado com palavras EZE.

TRUNC
Testa se um caractere ou um item DBCS em um registro de linha SQL foi truncado (caracteres não-brancos excluídos à direita) da última vez que o valor do item foi lido do banco de dados relacional. O truncamento pode apenas ocorrer quando a coluna no banco de dados é maior do que o item de dados.

O indicador TRUNC é redefinido sempre que um valor for movido para o item, ou quando o item estiver definido para NULL.

Registro SQL

Selecione Registro SQL para verificar o status ou condição da última função de SQL E/S para um registro.

DED
Testa se um conflito ocorreu quando duas transações separadas tentaram atualizar os registros sendo mantidos por outros bloqueios.

DED somente ocorre para registros de linha SQL e é um erro permanente. Ao utilizar o DB2, o SQLCODE é -911. O código de erro DED pode ser recebido apenas se EZEFEC for igual a 1.

DUP
Testa se há uma chave duplicada. A opção de E/S pode ou não ter sido bem-sucedida, dependendo de as chaves duplicadas serem ou não permitidas.

EOF
Testa se há o fim de um arquivo.

ERR
Testa se há um código de retorno que não seja zero (0) para bancos de dados de arquivos e relacionais ou branco para bancos de dados DL/I.

FMT
Testa o formato de um arquivo junto ao que foi definido.

FNA
Testa a disponibilidade de um arquivo.

FNF
Testa se há "nenhum arquivo encontrado" para o registro.

FUL
Testa se há uma chave de fila de arquivo cheio ou armazenamento temporário superior a 32767.

FUL não é definido para arquivos em série não-VSAM em MVS/TSO e MVS batch. Ao invés disso, um término anormal (B37) é recebido.

HRD
Testa se há algum erro permanente de E/S.

LOK
Testa se há uma condição de lockout em um sistema OS/400.

NRF
Testa se há um "nenhum registro encontrado" em um arquivo ou banco de dados.

UNQ
Testa se uma tentativa foi feita para incluir ou substituir uma registro em um arquivo ou banco de dados para o qual uma chave duplicada já existe.

Informações de referência

Exemplos

Eis exemplos que ensinam a usar a instrução TEST:

Instrução TEST usando NULL

No exemplo seguinte, o controle transfere para a função AOK se a coluna STA no registro SQLR é nulo; caso contrário o controle transfere para a função TRYGEN.

TEST SQLR.STA NULLS AOK,TRYGEN;

Instrução TEST usando NUMERIC

Para testar usando NUMERIC, digite:

TEST TEMPNUM NUMERIC IS-NUM,NOT-NUM;  /* Chama a rotina adequada.

Instrução TEST usando MODIFIED

Para passar o controle para MOD se um item for modificado, e passar o controle para NOMOD se ele não for modificado, digite:

TEST ITEM MODIFIED MOD,NOMOD;

Para passar o controle para MOD somente se um item for modificado, digite:

TEST ITEM MODIFIED MOD;

Se o item não estiver modificado, a instrução imediatamente após a instrução TEST é executada.

Para passar controle para NOMOD, caso um item não tenha sido modificado, digite:

TEST ITEM MODIFIED ,NOMOD;

Se o item for modificado, a instrução imediatamente seguinte a instrução TEST é executada.

Testando uma tecla de função

Para testar se PF1 foi pressionado pelo usuário do programa, digite:

TEST EZEAID PF1 TRUEGP,FALSEGP;

Uma variação que é um teste somente para uma condição verdadeira é:

TEST EZEAID PF1 TRUEGP;

O conjunto TRUEGP de instruções é executado somente se (neste exemplo) PF1 for pressionado.

O uso do teste para testar o falso ocorre da seguinte maneira:

TEST EZEAID PF1 ,FALSEGP;

Teste de teclas PF de edição de desvio ou uma tecla PA

Para testar teclas PF de edição de desvio ou uma tecla PA, codifique o seguinte:

TEST EZEAID BYPASS EZEFLO,EZERTN;

Teste dos resultados da última E/S de um registro

Você pode usar uma instrução TEST para testar os resultados da última operação de E/S para um registro. A instrução seguinte executa a função ERR1 se REC1 tiver uma condição de fim de arquivo:

TEST REC1 EOF ERR1;


[ Início da Página | Página Anterior | Próxima Página | Índice ]