Auxílios do VisualAge Generator
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.
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:
- Os dados recebidos do display para o item de dados especificado continhas
só brancos ou nulos ou ambos.
- O mapa contendo o item não foi convertido desde a inicialização do
programa ou desde o último mapa SET CLEAR.
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.
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.
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.
Selecione EZESYS no quadro de grupo Variações
para testar o sistema onde o seu programa está executando.
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:
- Quando especificado para um campo variável do mapa, dados foram fornecidos
pelo usuário do programa a última vez que o mapa foi exibido.
- Um SET MODIFIED foi efetuado antes da CONVERSE do mapa.
- O campo no mapa foi definido com um tag de dados modificado (MDT) na hora
da definição do mapa, e esta é a primeira exibição do mapa no programa ou a
primeira exibição do mapa após um SET CLEAR.
- Quando especificado para um mapa, testa efetivamente se algum campo
variável do mapa foi alterado.
Nota: | Isto poupa você de ter que testar cada campo do mapa separadamente.
|
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:
- Os dados recebidos do display para o item de dados especificado continhas
só brancos ou nulos ou ambos.
- O mapa contendo o item não foi convertido desde a inicialização do
programa ou desde o último mapa SET CLEAR.
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:
- Quando especificado para um campo variável do mapa, dados foram fornecidos
pelo usuário do programa a última vez que o mapa foi exibido.
- Um SET MODIFIED foi efetuado antes da CONVERSE do mapa.
- O campo no mapa foi definido com um tag de dados modificado (MDT) na hora
da definição do mapa, e esta é a primeira exibição do mapa no programa ou a
primeira exibição do mapa após um SET CLEAR.
- Quando especificado para um mapa, testa efetivamente se algum campo
variável do mapa foi alterado.
Nota: | Isto poupa você de ter que testar cada campo do mapa separadamente.
|
- NULL, NULOS
- Quando especificado para um campo variável do mapa, testa efetivamente se
alguns dos seguintes casos é verdadeiro:
- Os dados recebidos do display para o item de dados especificado continha
só nulos, brancos ou ambos. Os nulos são recebidos quando o usuário do
programa pressiona a tecla Apagar EOF.
- O mapa contendo o item não foi convertido desde a inicialização do
programa ou desde o último mapa SET CLEAR.
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.
- No cálculo do comprimento, os espaços em branco à esquerda, os espaços em
branco à direita e os nulos não são contados.
- Se o campo estiver em seu seu estado originalmente definido, o comprimento
é 0. Por exemplo, se o mapa contém texto padrão (inserido durante a
definição e ele não foi modificado de qualquer maneira durante a execução,
então o comprimento é calculado como 0. SET map CLEAR redefine um campo
colocando-o em seu estado originalmente definido.
- Se o campo não estiver em seu estado originalmente definido, então o
comprimento é calculado baseado no que foi exibido ou inserido na última
conversão.
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.
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:
- Os dados recebidos do display para o item de dados especificado continhas
só brancos ou nulos ou ambos.
- O mapa contendo o item não foi convertido desde a inicialização do
programa ou desde o último mapa SET CLEAR.
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:
- Os dados recebidos do display para o item de dados especificado continha
só nulos, brancos ou ambos. Os nulos são recebidos quando o usuário do
programa pressiona a tecla Apagar EOF.
- O mapa contendo o item não foi convertido desde a inicialização do
programa ou desde o último mapa SET CLEAR.
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.
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
Eis exemplos que ensinam a usar a instrução TEST:
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;
Para testar usando NUMERIC, digite:
TEST TEMPNUM NUMERIC IS-NUM,NOT-NUM; /* Chama a rotina adequada.
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.
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;
Para testar teclas PF de edição de desvio ou uma tecla
PA, codifique o seguinte:
TEST EZEAID BYPASS EZEFLO,EZERTN;
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 ]