VSAM - File Status - - Guia de referência - www.cadcobol.com.br



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

VSAM - File Status - Guia de referência
Código Descrição
00 execução com sucesso, processamento OK
02 O comando de I/O foi executado com sucesso mas, uma chave duplicada foi detectada;
Para um READ o valor de chave para chave corrente era igual ao valor da mesma chave no registro seguinte;
Para um WRITE ou REWRITE, o registro que acabou de ser gravado criou um valor de chave duplicada para pelo menos uma chave alternada que admite chaves duplicadas.
04 Um READ foi executado com sucesso mas, o tamanho do reg. sendo processado está diferente do que foi definido no programa
05 Um OPEN foi executado com sucesso, mas o arquivo referenciado não está presente na hora que o OPEN foi executado.
Se é OPEN I/O ou EXTENDED, o arquivo foi criado.
07 Um CLOSE com NO REWIND, REEL/UNIT ou FOR REMOVAL, ou OPEN com NO REWIND, o arq. referenciado não estava na unidade NON-REEL.
08 Chave duplicada do VSAM.
10 Condição AT END um READ seqüencial foi tentado e não existia um próximo registro lógico no arquivo, porque o fim do arquivo foi atingido, ou o primeiro READ foi executado em um arquivo que não estava presente.
Equivale ao AT END.
14 Um READ seqüencial foi tentado em um arq. relativo e o número de dígitos significativos no RRN era maior que o tamanho do item de dados da chave relativa descrita para o arquivo.
16 (EZT) registro não encontrado, erro de gravação (físico).
Índice KSDS é pequeno.
20 Condição INVALID KEY 0 Chave Inválida.
21 Existe uma condição de erro para um arquivo indexado acessado seqüencialmente.
O valor inicial da chave foi alterado pelo programa entre a execução bem sucedida e a execução do REWRITE seguinte para aquele arquivo, ou o valor ascendente das chaves foi violado;
  • Ex.: você incluiu a chave 10 e depois tentou incluir a chave 5;
  • 1 - WRITE seqüencial exige chaves classificadas;
    2 - ACCESS SEQUENTIAL e READ com skip sem START;
    3 - READ NEXT encontrou um reg. com chave menor que a anterior;
    4 - WRITE em registro com chave duplicada
    5 - REWRITE sem read prévio.
22 Foi feita uma tentativa de gravar um registro que criaria uma chave duplicada num arq. relativo; ou foi feita uma tentativa de gravar ou regravar um reg. que criaria uma chave primária duplicada ou uma chave alternada duplicada num arquivo indexado sem a frase DUPLICATES.
O valor da chave é aplicado para arq. KSDS em que a chave alternada foi definida com UNIQUE.
23 Nenhum registro encontrado;
Foi feita uma tentativa de acesso randômico em um reg. que não existe no arq.ou um START, ou READ randômico;
Foi tentado em um arq. que não estava presente;
EOF  após START - Registro não encontrado;
Opção GREATER THAN, usada e a chave HIGH-VALUES;
READ seqüencial após última gravação.
24 O arquivo estourou.(falta de espaço para KSDS);
SPLIT C.A com SHROPT=4 e DISP=SHR para KSDS;
Registro do índice alternado atingiu tamanho máximo;
Violação de limite arq. VSAM INDEXED ou RELATIVE;
Foi tentado incluir mais reg. do que foi especificado na definição do cluster.
Foi feita uma tentativa de gravar além dos limites externos de um arq. indexado ou relativo.
Ou um WRITE seqüencial foi tentado num arq. relativo e o número de dígitos significativos no RRN era maior que o tamanho dígitos significativos no RRN era maior que o tamanho do item  de dados da chave relativa desse arquivo.
28 Falta espaço em disco onde se encontra o arquivo.
30 Condição de erro permanente.
Provavelmente o arquivo está com problemas.
Restaurar o arq. do ultimo back-up e reprocessar o prog;

Ver os seguintes error codes no manual vsam:
Se OPEN/CLOSE = 132, 144, 164, 176, 184;
Se I/O = X BC;
Erro de I-O na UFCB (irrecuperável);
Erro de I-O na USER CATALOG VSAM;
Erro de I-O no LABEL do volume;
Erro de paginação (virtual x real);
Erro de I-O no arquivo VSAM (irrecuperável).
34 Volume cheio (falta de espaço) para ESDS-SPLIT C.A com SHROPT=4 e DISP = SHR para ESDS.
Violação do limite arquivo VSAM seqüencial.
Um erro permanente existe porque houve uma violação dos limites; foi feita uma tentativa de gravar além dos limites externos de um arquivo seqüencial.
35 Um OPEN INPUT , I-O ou EXTENDED foi tentado em um arq. que não estava presente.
Faltou CARTÃO DD. Arquivo Vazio. confira ddname com select.
37 Foi tentado um OPEN em um arq. que não suporta o modo de open especificado no comando.

Possíveis violações são :

foi especificado EXTEND ou OUTPUT mas o arquivo não suporta gravação
foi especificado I-O mas o arquivo não suporta operações de Entrada e Saída
foi especificado INPUT mas o arq não suporta leitura
arquivo SAM mas no select  foi colocado AS-xxxxx no nome.
38 Um OPEN foi tentado num arquivo previamente fechado com LOCK.
39 Um OPEN não funcionou porque foi detectado um conflito entre os atributos do arq. no prog. esses atributos incluem a organização do arq. (seq, index,rel.) a chave primaria,as chaves alternadas, o tipo de reg. fixo ou variável, tamanho do reg. lógico, fator de bloco e código indicado.
41 condição de erro de lógica.
  Foi tentado um OPEN para um arquivo já aberto.
42 Foi tentado um CLOSE para um arquivo que não estava aberto.
43 Para um arquivo em MASS STORAGE acessado seqüencialmente, o último comando de I/O executado antes de um REWRITE não foi um READ bem sucedido;
ou para arquivos relativos ou indexados acessados seqüencialmente, o último comando executado de I/O executado antes de um DELETE ou REWRITE não foi um READ bem sucedido.
44 Uma violação de limites ocorreu porque foi feita uma tentativa de regravar um reg num arq. e esse reg. não era do mesmo tamanho do registro substituído, ou foi feita uma tentativa de gravar ou regravar um reg. que era maior ou menor do que o menor registro permitido pela clausula RECORD IS VARYING do arquivo.
46 Um READ seqüencial foi tentado em um arquivo aberto como INPUT ou I/O e não foi estabelecido um próximo reg. porque o READ anterior não foi bem sucedido ou causou um AT END.
47 Foi tentado um READ num arquivo que não foi aberto como INPUT ou I/O.
48 Foi tentado um WRITE num arq. que não foi aberto como OUTPUT, I/O ou EXTENDED.
49 Foi tentado um REWRITE ou DELETE num arq, que não foi aberto como I/O.
56 Violação de segurança, definição de um arq. em área protegida, necessita criar ALIAS para o nome do arquivo.
90 Condição definida de implementação.
Causa indeterminada, passe um VERIFY uma causa possível é OPEN OUTPUT de um arq. vsam reusável com DISP = NEW, mas com access Indexed;
  • Retirar o ACCESS INDEXED ou mudar DISP para Old;
  • OPEN - nome externo da select não compatível;
  • OPEN INPUT ou I-O em arquivo não inicializado;
  • TIMESTAMP do DATA INDEX não checa com a da VTOC ou entre si;
  • Faltando passar VERIFY no arquivo;
  • Faltando cartão DD para arquivo;
  • RBA não corresponde a registro nenhum;
  • STRNO especificado está insuficiente, aumentar-Tipo de processamento (OUTPUT) incompatível com OPEN
  • 1- OPEN INPUT com WRITE;
  • 2- OPEN OUTPUT com REWRITE;
  • 3- OPEN I-O com ACCESS SEQUENTIAL e WRITE;
  • Cláusula ORGANIZATION INDEXED informada indevidamente para ESDS;
  • WRITE via RBA para KSDS indevido;
  • Tentativa de DELETE em ESDS;
  • Falta cláusula ORGANIZATION IS INDEXED para um KSDS;
  • Falta cláusula ORGANIZATION IS RELATIVE para um RRDS;
  • START em arquivo ESDS/RRDS inválido
  • WRITE em arquivo VSAM com SHROPT = 1;
  • Tamanho da chave igual a zeros na CLUSTER, ou tamanho da chave no programa difere com o da CLUSTER;
  • READ, REWRITE, DELETE, START em arquivo aberto como OUTPUT;
  • READ em arquivo SPANNED sem cláusula INTO;
  • READ para RBA em arquivo SPANNED;
  • READ via BATCH sem BUILDINDEX  anterior no índice alternado;
  • READ via RBA para um RRDS não permitido;
  • READ via RBA uma base via PATH não;
  • Abertura de arquivo REUSE com acesso DYNAMIC ou RANDOM;
  • Parâmetro DISP não especificado no // DLBL;
  • Parâmetro DISP=NEW não especificado no // DLBL;

OBSERVAÇÃO:
Pode ocorrer quando o FREE-SPACE do CI e/ou CA de indices estiver com zeros, e o VSAM não conseguiu fazer um SPLIT de CI ou CA.

SOLUÇÃO :
Redefinir CLUSTER aumentando o CISIZE de INDEX e aumentando o FREE-SPACE de CI/CA de INDEX.

91 Apenas  VSAM : erro de passwordPassword especificada na CLUSTER difere do programa.
92 Erro de lógica  verifique a lista abaixo :
READ/WRITE em arq. não aberto ou já fechado arq. definido como ESDS e noprog. está como KSDS  ou vice-versa;

Erro na posição da chave, confira o programa;
Foi dado START em arquivo fechado;

READ :
tamanho do registo errado;
tamanho da chave errada;
ler arquivo fechado;

OPEN :
Open em arquivo aberto;

CLOSE :
Close em arquivo já fechado;

LAY-OUT definido na working storage para READ INTO não comporta o registro lido;
REWRITE ou DELETE sem READ previo;
Tentativa de alteração do tamanho da chave;
Tamanho do registro no programa maior  que o da CLUSTER, ou = a zeros, ou menor que a soma do tamanho da chave com o deslocamento, ou tamanho de um registro RRDS difere do definido na CLUSTER;

Numero de BUFFERS insuficiente para o processamento do arquivo;
READ após EOF
Arquivo não está aberto;
Incompatibilidade entre acesso ao arquivo e função utilizada (WRITE,READ,DELETE).
93 Apenas VSAM:

Recurso não disponível;
OPEN - arquivo já aberto - em outro job com DISP=OLD;
C.I. presa  por outra TASK;
Volume não montado;
Memória virtual na partição/REGION insuficiente para o programa;
Tentativa de abrir como I/O ou OUTPUT por TASK ou partição;

DISP=OLD com mais de um OPEN no mesmo programa. (mudar para DISP=SHR).
94 Apenas VSAM com opção de compilador CMPR2 sem indicador de posição de arquivo para solicitação seqüencial.

Não existe pointer do próximo registro à acessar para ESDS;
READ sem OPEN previo ou WRITE sem OPEN ÁREA para RRDS.

95 Apenas VSAM : informação de arq. inválida ou incompleta;

Informação do arquivo inválida ou incompleta;
OPEN em índice alternado inválido, deve ser PATH;
Informações do arquivo na VTOC não checa com a do CLUSTER no catálogo;

Arquivo não constata do catálogo VSAM informado;
Tamanho do deslocamento da chave no programa não checa com a da CLUSTER;
Falta cláusula INDEXED para KSDS ou cláusula ORGANIZATION incompatível com a da CLUSTER
OPEN OUTPUT para arquivo não recém definido;
Arquivo KSDS definido como ESDS ou vice-versa.
96 Apenas VSAM : não foi colocado cartão DD para este arquivo;
REWRITE alterando a chave;
Nome externo no JCL não é  compatível com o programa;
OPEN - DD statement missing.
97 Apenas VSAM : OPEN efetuado com sucesso, a integridade do arquivo foi verificada;
Arquivo não fechado corretamente antes da re-abertura.


Volta a página anterior

Volta ao Menu Principal