Auxílios do VisualAge Generator

EZEDEST

EZEDEST altera dinamicamente o nome de recurso do sistema associado com um registro enquanto o programa está executando.

Você pode alterar o arquivo físico ou o conjunto de dados associado com o nome de arquivo lógico definido para um registro, movendo um item de dados ou literal que contém o novo nome de recurso do sistema para o arquivo, para dentro da palavra de função especial EZEDEST. Essa alteração acontece dinamicamente enquanto o programa está executando.

EZEDEST deve ser um nome do registro qualificado (recordname.EZEDEST) a menos que esteja implicitamente qualificado como nas seguintes condições:

Usos

EZEDEST pode ser utilizado como qualquer um dos seguintes:

As características de EZEDEST são as seguintes:

Tipo de dados: Caractere
Comprimento dos dados em bytes: Varia por tipo de arquivo
Valor salvo pelos segmentos: Sim

Considerações sobre Definição

O valor passado para EZEDEST tem que ser obrigatoriamente um nome de recurso de sistema válido para o ambiente de runtime e tipo de arquivo especificados quando o programa foi gerado. A seção Ambientes de Destino descreve os formatos de nome válidos por ambiente e tipo de arquivo.

Se houver mais de um registro com o mesmo nome de arquivo especificado, modificar EZEDEST em qualquer registro que tem esse nome de arquivo muda a definição de EZEDEST em todos os registros do programa que têm o mesmo nome de arquivo.

Sempre que uma operação de E/S é feita num registro, o programa faz a E/S no arquivo físico ou no conjunto de dados cujo nome está no item EZEDEST correspondente ao registro.

Use uma opção de E/S CLOSE para fechar o arquivo associado à definição atual de EZEDEST. Quando uma unidade de execução termina ou quando ocorre CONVERSE, todos os arquivos abertos são fechados, a menos que estejam sendo executados com o dispositivo de teste.

O arquivo físico aberto antes é fechado quando é executada uma opção de E/S correspondente a um registro de mesmo nome de arquivo VisualAge Generator e EZEDEST foi modificada. Se dois programas estiverem usando o mesmo nome de arquivo VisualAge Generator, EZEDEST terá obrigatoriamente que conter o mesmo valor. Do contrário, o arquivo físico aberto antes será fechado e será aberto o novo.

Antes de ser usado, o valor de EZEDEST é colocado em letra maiúscula. Contudo, seu valor dentro da palavra de função especial EZEDEST permanece inalterado.

A palavra de função especial EZEDEST vai dar verdadeiro quando comparada à versão em letra minúscula, ela se tiver sido inicializada assim.

EZEDEST é inicializada para o nome de recurso do sistema especificado durante a geração.

Usando EZEDEST com Arquivos Compartilhados em todos os Programas  Se EZEDEST for usada, todo programa que acessar o arquivo terá que definir EZEDEST para o arquivo. Se houver dois programas na mesma unidade de execução acessando o mesmo arquivo lógico, cada um deles terá que definir EZEDEST para o mesmo nome de recurso de sistema, para que ambos acessem o mesmo arquivo físico no tempo de execução.

Especificando o Nome do Recurso de Sistema na Geração  Se houver dois programas na mesma unidade de execução acessando o mesmo arquivo lógico, será preciso especificar o mesmo nome de recurso de sistema para o arquivo lógico na geração para que ambos acessem o mesmo arquivo físico no tempo de execução.

Ambientes de Destino

Ambiente Considerações de compatibilidade
VM CMS

SEQ
Não suportado.

SEQRS
O valor é um nome de arquivo CMS (fn ft fm), um nome completamente qualificado de arquivo MVS em minidisco formatado para OS (apenas para entrada) ou um nome DD de 8 bytes correspondente a arquivo seqüencial de sistema associado a um arquivo serial.

O nome DD é o valor de um comando FILEDEF ou DLBL especificado antes.

Se não tiver sido definido nenhum valor para EZEDEST, o programa procurará ver primeiro se foi pré-alocado conjunto de dados que usa o nome de arquivo lógico como nome DD. Se não foi, o nome de recurso de sistema especificado na geração será usado para acessar o arquivo.

Quando se passa um nome de conjunto de dados para EZEDEST, o recurso é alocado dinamicamente para o nome do arquivo de registro de EZEDEST por meio de um comando CMS FILEDEF. A alocação é feita com a opção DISP definida para OLD, o que obriga o conjunto de dados a ser regravado toda vez que é aberto para saída.

VSAM
Não suportado.

VSAMRS
O valor é um nome de conjunto de dados de 44 bytes ou um nome DD de 8 bytes correspondente a um arquivo VSAM associado a um arquivo indexado, relativo ou serial.

O nome DD é o valor de um comando DLBL especificado antes.

Se não tiver sido definido valor para EZEDEST em algum arquivo, o programa procurará ver primeiro se foi pré-alocado conjunto de dados que usa o nome do arquivo lógico como nome DD. Se não foi, o nome de recurso de sistema especificado na geração será usado para acessar o arquivo.

Quando se passa um nome de conjunto de dado para EZEDEST, o recurso é alocado dinamicamente para o nome do arquivo de registro de EZEDEST por meio de um comando CMS DLBL. A alocação é feita com a opção DISP definida para OLD, o que obriga o conjunto de dados a ser regravado toda vez que é aberto para saída.


VM batch
GSAM
Não suportado.
SEQ
Não suportado.
SEQRS
Igual a VM CMS.
VSAM
Não suportado.
VSAMRS
Igual a VM CMS.

CICS para MVS/ESA

SPOOL
O valor é o nome do arquivo de entrada ou saída correspondente a um arquivo JES SPOOL associado a um arquivo serial.

Nome do arquivo de entrada: userid.class. O parâmetro userid é o nome de um gravador externo de 4 a 8 caracteres ou um asterisco (*). Se for usado nome de gravador externo, o CICS exigirá que os 4 primeiros caracteres do nome sejam iguais aos 4 primeiros caracteres do APPLID CICS usados para identificar a região do CICS para o ACF/VTAM. O parâmetro class é uma classe spool de 1 caractere. A classe é opcional e assume por padrão o valor "A". O tamanho máximo do nome é de 10 bytes. Consulte o manual de personalização do CICS para saber mais a esse respeito.

Nome do arquivo de saída: nodeid.userid.class. O parâmetro nodeid é uma ID do nó do sistema de 1 a 8 caracteres ou um asterisco (*). O parâmetro userid é uma ID de de usuário do sistema de 1 a 8 caracteres ou um asterisco (*). O parâmetro class é uma classe spool de 1 caractere. Class é opcional e assume por padrão o valor "A". Se class não for especificado, userid também será opcional e assumirá por padrão a ID de usuário do CICS (mesmo valor armazenado em EZEUSRID). O tamanho máximo do nome é de 19 bytes. Consulte o manual de personalização do CICS para saber mais a esse respeito.

TEMPMAIN
O valor é um nome de fila de 8 bytes correspondente a uma fila de armazenamento temporário principal associada a arquivo relativo ou serial. Alguns nomes de fila são reservados para serem usados por VisualAge Generator Server for MVS, VSE, and VM e são pré-fixados com EZE.

Quando um nome de fila de armazenamento temporário é passado para EZEDEST, a fila é criada dinamicamente, a menos que já exista. Um único arquivo de fila de armazenamento temporário não pode ser compartilhado por vários usuários ao mesmo tempo. É usado um ENQ CICS para serializar o acesso ao arquivo quando ele é referenciado pela primeira vez no programa. É emitido um DEQ quando o programa fecha o arquivo.

TEMPAUX
TEMPAUX é como TEMPMAIN, com a diferença de que se destina a fila de armazenamento temporária auxiliar.

TRANSIENT
O valor é um nome DCT de 4 bytes para fila de dados transientes associada a arquivo serial. O nome da fila de dados transientes tem que ser definido para CICS.

VSAM
O valor é um nome FCT de 8 bytes relativo a um arquivo VSAM associado a um arquivo indexado, relativo ou serial.

MVS/TSO

SEQ
Não suportado.

SEQRS
O valor é um nome de conjunto de dados de 54 bytes ou um nome DD de 8 bytes relativo a um arquivo seqüencial de sistema associado a um arquivo serial.

Se não tiver sido definido valor para EZEDEST em algum arquivo, o programa procurará ver se foi pré-alocado conjunto de dados que usa o nome do arquivo lógico como nome DD. Se não foi, o nome de recurso de sistema especificado na geração será usado para acessar o arquivo.

Quando se passa um nome de conjunto de dados para EZEDEST, o recurso é alocado dinamicamente para o nome do arquivo de registro de EZEDEST usando uma chamada supervisora MVS (SVC99). A alocação é feita com a opção DISP definida para SHR, o que obriga o conjunto de dados a ser regravado toda vez que é aberto para saída.

VSAM
Não suportado.

VSAMRS
O valor é o nome de um conjunto de dados de 44 bytes ou um nome DD de 8 bytes para um arquivo VSAM associado a um arquivo indexado, relativo ou serial.

Se não tiver sido definido valor para EZEDEST em algum arquivo, o programa procurará ver primeiro se foi pré-alocado conjunto de dados que usa o nome do arquivo lógico como nome DD. Se não foi, o nome de recurso de sistema especificado na geração será usado para acessar o arquivo.

Quando se passa um nome de conjunto de dados para EZEDEST, o recurso é alocado dinamicamente para o nome do arquivo de registro de EZEDEST usando uma chamada supervisora MVS (SVC99). A alocação é feita com a opção DISP definida para SHR, o que força o conjunto de dados a ser regravado toda vez que é aberto para saída.


MVS batch
GSAM
Não suportado.
SEQ
Não suportado.
SEQRS
Igual a SEQRS no MVS/TSO.
VSAM
Não suportado.
VSAMRS
Igual a VSAMRS no MVS/TSO.

IMS/VS

MMSGQ
O valor de EZEDEST não é colocado em letra maiúscula nesse tipo de arquivo.

Nome do arquivo de entrada: Não-suportado.

Nome do arquivo de saída: O valor é o nome do terminal lógico de 8 bytes ou o código de transação para uma fila de mensagens multisegmentada com um arquivo serial. O arquivo tem que ser associado a um PCB alternativo modificável ou PCB alternativo expresso modificável. O código da transação ou nome do terminal têm que ser definidos para o sistema IMS.

SMSGQ
O valor de EZEDEST não é colocado em letra maiúscula nesse tipo de arquivo.

Nome do arquivo de entrada: Não-suportado.

Nome do arquivo de saída: O valor é o nome do terminal lógico de 8 bytes ou o código de transação para uma fila de mensagens de segmento único com um arquivo serial. O arquivo tem que ser associado a um PCB alternativo modificável ou PCB alternativo expresso modificável. O código da transação ou nome do terminal têm que ser definidos para o sistema IMS.


IMS BMP
GSAM
Não suportado.
MMSGQ
Igual a MMSGQ no IMS/VS.
SEQ
Não suportado.
SEQRS
Igual a SEQRS no MVS/TSO.
SMSGQ
Igual a SMSGQ no IMS/VS.
VSAM
Não suportado.
VSAMRS
Igual a VSAMRS no MVS/TSO.

CICS para VSE

SPOOL
O valor é o nome de um recurso de sistema de entrada ou saída de um arquivo SPOOL.

VisualAge Generator Server for MVS, VSE, and VM não faz verificação de erro para garantir que a combinação certa de valores seja especificada para os qualificadores do nome de recurso do sistema. (Por exemplo: node tem que ser o nó de sistema atual quando queue é RDR; não é válido enviar arquivo VSE/POWER RDR para outro nó.) Em vez disso, os valores de cada qualificador de nome de recurso do sistema serão enviados a VSE/POWER. O código de retorno de VSE/POWER será colocado na palavra de função especial EZERT8, onde poderá ser acessado pelo programa VisualAge Generator.

Nome do arquivo de entrada: userid.class.

Userid é o nome de um gravador externo de 4 a 8 caracteres ou um asterisco (*). Se for usado nome de gravador externo, o CICS exigirá que os 4 primeiros caracteres sejam iguais aos 4 primeiros caracteres do APPLID CICS usado para identificar a região do CICS para o ACF/VTAM.

Class é uma classe spool de 1 caractere. Class é opcional e assume por padrão o valor "A".


CICS para VSE (continuação)

SPOOL
O formato do nome do recurso do sistema de saída é: jobname.queue.disp.form.node.userid.parm.

Jobname é um nome de 1 a 8 caracteres que define o nome de job da parte da fila de VSE/POWER. Jobname é usado a menos que queue seja PUN ou LST, caso em que o valor de jobname é ignorado e a parte da fila de VSE/POWER jobname é a ID do programa CICS para VSE. Em todos os outros casos, o asterisco (*) do qualificador assume por padrão o nome do arquivo VisualAge Generator relativo ao registro.

É preciso especificar um qualificador jobname ou um asterisco (*). Todos os outros qualificadores podem ter asterisco ou ficar em branco. Se ficar em branco, não será possível especificar nenhum qualificador subseqüente.

Queue são 3 caracteres que identificam a fila de VSE/POWER de destino do arquivo. O Dispositivo de Controle de Relatórios do (RCF) CICS é usado para arquivos que especificam RDR ou PRT nesse campo.

  • RDR para saída de job
  • LST para saída de lista
  • PUN para saída de punch
  • PRT para saída de lista (usando o Dispositivo de Controle de Relatório CICS)

Qualquer outro caractere para queue causa erro no nome do spool. Asterisco (*) ou espaço em branco para o qualificador assumem por padrão a fila PRT. LST ou PRT especifica que o arquivo vai fazer parte da fila LST de VSE/POWER, mas PRT usa comandos RCF, ao passo que LST não usa. Quando se tenta usar RCF sem ter RCF instalado no sistema CICS, este retorna uma mensagem de erro. Este erro pode ser um abend da transação AEY9, uma condição NO SPOOL ou a mensagem:

O sistema de spool não está
disponível.

Quando queue é PRT ou LST, o arquivo é aberto pelo VisualAge Generator Server for MVS, VSE, and VM com a opção ASA, que especifica que o relatório é criado com caractere de controle de impressora do American National Standard no início de cada linha de dados. Ao usar arquivo serial, use caracteres de controle de carro válidos. Se o arquivo for de impressão, VisualAge Generator Server for MVS, VSE, and VM irá encarregar-se de acrescentar o caractere de controle de impressora do American National Standard.


CICS para VSE (continuação)

SPOOL
O formato do nome do recurso do sistema de saída é: jobname.queue.disp.form.node.userid.parm.

Disp é um caractere simples que especifica o status de disposição do VSE/POWER da parte da fila depois que fechar:

D
Processa o job e o exclui em seguida
H
Mantém na fila até ser liberado
K
Processa o job e o mantém na fila após o processamento
L
Deixa na fila até ser liberado

Qualquer outro caractere causa erro de nome de spool. Esse qualifier não se aplica quando queue é LST ou PUN. Asterisco ou espaço em branco para esse qualifier assumem por padrão "D".

Form são 4 caracteres que identificam a saída da impressão. Um asterisco ou um espaço em branco assumem a forma normalizada da localização. Esse qualifier se aplica quando queue é LST ou PRT e é ignorado por todas as outras filas. Node são de 1 a 8 caracteres que especificam o identificador de nós do sistema. Asterisco ou espaço em branco assumem por padrão o identificador de nós do sistema atual.

Userid é o nome de um gravador externo de 4 a 8 caracteres ou um asterisco (*). Se for usado nome de gravador externo, o CICS exigirá que os 4 primeiros caracteres sejam iguais aos 4 primeiros caracteres do APPLID CICS usado para identificar a região do CICS para o ACF/VTAM.

Parm é válido quando a fila é LST e é ignorado em todas as outras filas. Parm especifica operandos de saída para arquivos na fila VSE/POWER LST, que são usados como entrada na opção OUTDESCR do comando VSECICS SPOOLOPEN OUTPUT.


CICS para VSE (continuação)

SPOOL
É preciso especificar esse qualifier no formato correto para a opção OUTDESCR. Os qualifiers usam as mesmas palavras-chave usadas na instrução VSE/POWER LST para os operandos de saída definidos pelo usuário, mas a sintaxe muda um pouco. Por exemplo, se desejar utilizar FORMDEF FORM1 e PAGEDEF PAGE1, a cadeia do qualificador será:
  FORMDEF(FORM1) PAGEDEF(PAGE1)

e o arquivo em spool poderá ter a seguinte forma:

  JOBNAME1.LST.*.*.*.*.FORMDEF(FORM1) PAGEDEF(PAGE1)

O comprimento da cadeia do qualifier é variável e depende do comprimento da especificação do arquivo de spool até este ponto. O comprimento total da especificação do arquivo de spool não pode ultrapassar 65 caracteres.

TEMPMAIN
Igual a CICS para MVS/ESA.
TEMPAUX
Igual a CICS para MVS/ESA.
TRANSIENT
Igual a CICS para MVS/ESA.
VSAM
O valor é um nome FCT de 7 bytes para arquivo VSAM associado a arquivo indexado, relativo ou serial.

VSE batch

SEQ
Não suportado.

SPOOL
O formato do nome do recurso do sistema de um arquivo de saída SPOOL é: jobname.queue.class.disp.form.node.userid

nome do job
Igual a CICS para VSE.

fila
Asterisco (*) ou espaço em branco neste campo assumem por padrão a fila LST. PRT pode ser usado, mas o parâmetro fila será alterado para LST por VisualAge Generator Server for MVS, VSE, and VM.

class
O parâmetro class é uma classe spool de 1 caractere. A classe é opcional e assume por padrão o valor "A".

disp
Igual a CICS para VSE.

form
Igual a CICS para VSE.

node
Igual a CICS para VSE.

userid
Igual a CICS para VSE.

VSAM
Não suportado.

VSAMRS
O valor é um nome DD de 7 bytes correspondente a um arquivo VSAM associado a arquivo indexado, relativo ou serial.

Se não tiver sido definido valor para EZEDEST em algum arquivo, o programa procurará ver primeiro se foi pré-alocado conjunto de dados que usa o nome do arquivo lógico como nome DD. Se não foi, o nome de recurso de sistema especificado na geração será usado para acessar o arquivo.

A alocação dinâmica de recursos para EZEDEST não é suportada. Qualquer tentativa de alocação dinâmica resultará em mensagem ELA0007P.


CICS para OS/2

OS2COBOL
O valor é um nome de arquivo OS/2 de 65 bytes correspondente a um arquivo de dados COBOL nativo associado a um arquivo indexado, relativo ou serial. O compartilhamento de arquivos em arquivos de dados gerenciados pelo COBOL não é suportado. Sempre que é aberto, o arquivo recebe um bloqueio exclusivo que permanece até ele ser fechado.

TEMPMAIN
Igual a CICS para MVS/ESA.

TEMPAUX
Igual a CICS para MVS/ESA.

TRANSIENT
Igual a CICS para MVS/ESA.

VSAM
Igual a CICS para MVS/ESA.

OS/400 O tipo do arquivo tem que ser SEQ ou VSAM. O valor pode ser deslocado para EZEDEST de uma das seguintes formas:
LIB/FILE MEMBER
Especificando-se explicitamente Biblioteca, Arquivo e Membro
LIB/FILE
O primeiro membro do arquivo será usado
FILE MEMBER
*LIBL será usado para localizar o arquivo
FILE
*LIBL será usado para localizar o arquivo e seu primeiro membro será usado.

O comando OVRDBF é usado para suportar EZEDEST em OS/400. Se o valor no EZEDEST for modificado, será feito o seguinte durante a execução de uma E/S do arquivo:

  1. CLOSE arquivo antigo
  2. Sobrepõe-se ao nome do novo arquivo em EZEDEST
  3. OPEN arquivo novo

O valor definido em EZEDEST é propagado a partir do nível da chamada, sendo alterado em todos os níveis de chamada subordinados a ele. A propagação porém não se dá se o arquivo tiver sido aberto antes pelo programa.

OS/2 (GUI) Não suportado.
Windows (GUI) Não suportado.
Java (GUI) Não suportado.
OS/2 (C++) O nome do arquivo depende do sistema.
AIX O nome do arquivo depende do sistema.
HP-UX O nome do arquivo depende do sistema.
Solaris O nome do arquivo depende do sistema.
CICS para Solaris

SEQ
O valor é o nome do arquivo Solaris. No Solaris, o comprimento máximo pode variar.

TEMPMAIN
O valor é um nome de fila de armazenamento temporário de 1 a 8 bytes.

Quando um nome de fila de armazenamento temporário é passado para EZEDEST, a fila é criada dinamicamente, a menos que já exista. Um único arquivo de fila de armazenamento temporário não pode ser compartilhado por vários usuários ao mesmo tempo. É usado um ENQ CICS para serializar o acesso ao arquivo quando ele é referenciado pela primeira vez no programa. É emitido um DEQ quando o programa fecha o arquivo.

TEMPAUX
TEMPAUX é como TEMPMAIN, com a diferença de que se destina a fila de armazenamento temporária auxiliar.

TRANSIENT
O valor é um nome de fila de dados transientes de 1 a 4 bytes definido na tabela de controle de destino (DCT) do CICS.

VSAM
Igual a VSAM para CICS para MVS/ESA.

CICS for AIX

SEQ
O valor é o nome do arquivo AIX. No AIX, o comprimento máximo pode variar.

TEMPMAIN
O valor é um nome de fila de armazenamento temporário de 1 a 8 bytes.

Quando um nome de fila de armazenamento temporário é passado para EZEDEST, a fila é criada dinamicamente, a menos que já exista. Um único arquivo de fila de armazenamento temporário não pode ser compartilhado por vários usuários ao mesmo tempo. É usado um ENQ CICS para serializar o acesso ao arquivo quando ele é referenciado pela primeira vez no programa. É emitido um DEQ quando o programa fecha o arquivo.

TEMPAUX
TEMPAUX é como TEMPMAIN, com a diferença de que se destina a fila de armazenamento temporária auxiliar.

TRANSIENT
O valor é um nome de fila de dados transientes de 1 a 4 bytes definido na tabela de controle de destino (DCT) do CICS.

VSAM
Igual a VSAM para CICS para MVS/ESA.

Windows NT Igual a OS/2 (C++).
CICS para Windows NT Igual a CICS for AIX.
Dispositivo de Teste Na execução de um programa, não se deve usar o mesmo nome de recurso de sistema em programa que está sendo executado no dispositivo de teste e em programa que está sendo executado como programa gerado.

Exemplo de

MOVE IITEM TO MYREC.EZEDEST;
 
MOVE 'IMSTRNX' TO MYREC1.EZEDEST;
 
IF EZESYS IS MVSCICS;
   MYREC1.EZEDEST = 'TDQ1';
ELSE;
   IF EZESYS IS TSO;
      MYREC1.EZEDEST = 'MYUSERID.TEST.RECFILE';
   END;
END;


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