CICS_Comandos

Embed Size (px)

Citation preview

Mainframes IBM

CICS

Comandos

NOV/2004

SUMRIO

324 Comandos para enviar e receber mapas

RECEIVE MAP3SEND MAP625 Comandos para tratamento de arquivos10DELETE12ENDBR14READ15READNEXT18READPREV21RESETBR24REWRITE26STARTBR28UNLOCK30WRITE3126 Comandos para transferncia de controle entre programas33LINK34RETURN38XCTL40Exemplo de programa com diversas funes CICS42Exemplo de programa com LINK43Exemplo de programa com passagem de dados via RETURN4427 Comandos para manipulao de TS / TD45DELETEQ45READQ TD47READQ TS49WRITEQ TD52WRITEQ TS5428 Outros comandos56ASKTIME56ASSIGN56BIF DEEDIT56FORMATTIME57HANDLE ABEND60HANDLE AID62HANDLE CONDITION64IGNORE CONDITION65POP HANDLE66PUSH HANDLE66SEND66SYNCPOINT67APNDICES68EXEC Interface Block - EIB fields69Resumo comandos CICS78EIBRESP Codes (covers codes produced from I/O calls)83Retornos / Handle Conditions84ASSIGNs : informaes que podem ser obtidas86ABENDS mais comuns do CICS88

24 Comandos para enviar e receber mapas

RECEIVE MAP

Recebe dados digitados em uma rea de um programa aplicativo.

A posio do cursor aps o RECEIVE MAP colocada em EIBCPOSN, e o terminal attention identifier (AID) colocado em EIBAID. Se dados devem ser recebidos, deve-se especificar opo INTO ou SET. Se o RECEIVE foi emitido somente para detectar o attention identifier (AID), pode-se omitir tanto o INTO quanto o SET.

Sintaxe

EXEC CICS RECEIVE MAP()

< SET() | INTO() >

< MAPSET() >

< FROM() < LENGTH() > < MAPPINGDEV() < AID() > < CURSOR() > > | TERMINAL

< ASIS > < INPARTN() > >

END-EXEC

Parmetros

ASIS

Indica que o que for digitado em minsculo no deve ser convertido para maisculo (no se aplica ao primeiro RECEIVE de uma transao ou se a tela tem dados antes de a transao ser iniciada).

FROM(data-area)

Indica a rea de dados que contm os dados a serem mapeados. Isto deve incluir o prefixo de 12 bytes gerado pelo parmetro TIOAPFX=YES das macros DFHMDI e DFHMSD.

INPARTN(name)

Somente para terminais que suportam parties (indica o nome, com 1 a 2 caracteres, da partio na qual o operador do terminal deve digitar os dados).

INTO(data-area)

Indica o nome da rea onde os dados devem ser colocados. Se no for especificado, o nome default o nome do mapa sufixado da letra I.

LENGTH(data-value)Indica o tamanho da rea (colocado em uma half-word). No deve ser maior que o tamanho especificado no parmetro FROM, mas o LENGTH deve incluir os 12 bytes de prefixo gerados pelo TIOAPFX=YES nas macros DFHMDI e DFHMSD.

MAP(name)

Indica o nome do mapa (1-7 caracteres).

MAPSET(name)

Indica o nome do mapset (1-7 caracteres).

SET(ptr-ref)

Indica o ponteiro que deve ser posicionado com o endereo do prefixo de 12 bytes da rea de dados do mapa. A referncia vlida at o prximo receive ou o fim da task.

TERMINAL

Indica que os dados de entrada devem ser lidos do terminal que originou a transao.

ExemplosEXEC CICS RECEIVE

INTO (WS-ATIV-ENTRADA)

LENGTH (WS-LEN-RECEIVE)

END-EXEC.

EXEC CICS RECEIVE

MAP('PRINC')

MAPSET('TABMTRJ')

INTO(PRINCI)

END-EXEC

RetornosAlgumas condies podem ocorrer combinadas; neste caso, somente uma passada para o programa.

EIBRCODE, entratanto, indica TODAS as condies ocorridas.

EOC

Se a RU (request/response unit) foi recebida com end-of-chain. Somente para LUs (logical units).

Default action: ignorado.

EODS Ocorre se no foram recebidos dados (somente um FMH). Vale para 3770 batch LUs e 3770/3790 batch data interchange LUs.

Default: task terminada anormalmente.

INVMPSZ Se o mapa grande demais para o terminal.

Default : task terminada anormalmente

INVPARTN Se a partio especificada no est definida no partition set associado ao programa.

Default : task terminada anormalmente

INVREQ Se o comando RECEIVE MAP emitido numa task nonterminal (tasks nonterminal no tem TIOA ou TCTTE).

Default : task terminada anormalmenteMAPFAIL Se os dados tem tamanho zeroou no contm SBA.

Ocorre tambm se o programa emite o comando RECEIVE MAP e o operador responde pressionando a CLEAR ou uma PA key, ou ENTER ou PF key sem ter digitado dados.

Default : task terminada anormalmente

PARTNFAIL Se o operador do terminal tenta digitar mais de 3 vezes dados numa partioque no seja a especificada na opo INPARTN.

Default : task terminada anormalmente

RDATT Se o comando RECEIVE MAP terminado pelo operador pressionando uma ATTN key que no a RETURN (s para 2741).

Default : ignorado.

UNEXPIN Se dados inesperados ou irreconhecveis so recebidos. Somente para terminais batch.

Default : task terminada anormalmente

SEND MAP

Envia dados do mapa para o terminal.

Sintaxe :

SEND MAP(name)

ACCUMALARM

CURSOR(data-value)DATAONLY

ERASE[|DEFAULT|ALTERNATE|ERASEAUP|]

FMHPARM(name)

FORMFEED

FREEKB

FROM(data-area)

FRSET

|LDC(name)|[ACTPARTN(name)|OUTPARTN(name)]

LENGTH(data-value)

MAPONLY

MAPSET(name)

MSR(data-value)

NLEOM

NOEDIT |ACCUM

NOFLUSH

|L40|L64|L80|HONEOM|

PAGING

PRINT

REQID(name)

SET(ptr-ref) < MAPPingdev() > | PAGING | TERMINAL < WAIT > < LAST >

Parmetros

ACCUM

Indica que um comando que faz parte de uma mensagem lgica (completada por SEND PAGE ou deletada por PURGE MESSAGE).

ACTPARTN(name)

Somente para terminais que suportam parties. Indica o nome (1-2 caracteres) da partio a ser ativada.

ALARM

Indica que o alarme deve ser ativado.

ALTERNATE

Indica que o terminal deve usar o tamanho de tela ALTERNATE.

CURSOR(data-value)

Indica onde o cursor deve ser posicionado aps o SEND MAP. O campo indicado em data-value deve ser uma half-word.

DATAONLY

Indica que somente dados do programa devem ser enviados. Os bytes de atributo devem ser especificados para cada campo.

DEFAULT

Indica que o terminal deve usar o tamanho de tela DEFAULT.

ERASE

Indica que o buffer (ou partio) deve ser limpo e o cursor deve voltar para o canto superior esquerdo aps o SEND.

IMPORTANTE : em qualquer transao, a primeira operao de SEND deve sempre ter ERASE.

ERASEAUP

Indica que antes da exibio, todos os campos no protegidos (All UnProtected) devem ser limpos.

FMHPARM(name)

Somente para LU 3650.

FORMFEED

Indica que deve ser feito pulo para a prxima pgina (em terminais impressores). Neste caso, lembrar que o controle de FORMFEED deve estar no incio do buffer; o programa (mapa) no pode por nenhuma informao nele.

FREEKB

Indica que o teclado deve ser destravado aps a exibio dos dados.

FROM(data-area)

Indica a rea com os dados a enviar. Se omitido, assume o nome do mapa com o sufixo O. A rea deve incluir os 12 bytes de prefixo da opo TIOAPFX=YES das macros DFHMDI e DFHMSD.

FRSET

Indica que os MDTs de todos os campos devem ser posicionados na condio de unmodified (field reset) antes de o mapa ser exibido.

HONEOM

Indica que deve ser usado o tamanho default da linha da impressora.

LAST

Somente para LUs.

LDC(name)

Indica o nome do logical device code (LDC).

LENGTH(data-value)

Indica o tamanho dos dados (numa half-word). Deve incluir os 12 bytes de prefixo.

MAP(name)

Indica o nome do mapa a ser usado (1-7 caracteres).

MAPONLY

Indica que somente os dados default do mapa devem ser enviados.

MAPSET(name)

Indica o nome do mapset (1-7 caracteres) a ser usado.

MSR(data-value)

Somente para cartucho de fitas em terminais 8775 ou 3643.

NLEOM

Indica que os dados de impressao devem ter brancos e o caracter NL (new line) , alm do caracter de EOM (end of message). Deve ser especificao para o primeiro comando SEND MAP usado para construir uma logical message.

NOFLUSH

Indica que o CICS no deve limpar as pginas ao final, mas deve retornar o controle ao programa (com a condio OVERFLOW posicionada em EIBRESP).

OUTPARTN(name)

Indica o nome (1-2 caracteres) da partio para a qual os dados devem ser enviados.

PAGING

Indica que os dados de sada no devem ser enviados imediatamente para o terminal, mas colocados em TS e exibidos em resposta a comandos de paginao dados pelo operador.

PRINT

Indica que uma operao de impresso deve ser iniciada numa impressora 3270.

REQID(name)

Indica um prefixo de 2 caracteres a ser usado como parte do TS identifier para CICS message recovery.

SET(ptr-ref)

Especifica o pointer a ser colocado como endereo dos dados.

Se houver TIOAPFX=YES no mapa, o pointer retornado contem o endereo do prefixo da TIOA. Os dados do usurio comeam no deslocamento 12 a partir do incio da TIOA.

TERMINAL

Indica que os dados de sada devem ser enviados para o terminal que iniciou a transao.

WAIT

Indica que o controle no deve ser retornado ao aplicativo at que a operao de sada tenha sido completada. Se WAIT no for especificado, o controle volta ao aplicativo quando a operao foi iniciada, mas ainda no terminou.

Exemplos EXEC CICS SEND

MAP('PRINC')

MAPSET('TABMTRJ')

FROM(PRINCO)

ERASE FREEKB

END-EXEC

EXEC CICS SEND

FROM (WS-AREA-RETORNO)

LENGTH (100)

ERASE

END-EXEC.

Retornos Algumas condies podem ocorrer combinadas; neste caso, somente uma passada para o programa.

EIBRCODE, entratanto, indica TODAS as condies ocorridas.

IGREQCD

Se houve uma tentativa de executar um comando SEND MAP depois que um comando SIGNAL data-flow control com RCD code foi recebido de uma LUTYPE4.

Default : task terminada anormalmente

IGREQID

Se o prefixo especificado em REQID diferente do estabelecido por um REQID anterior, ou do default estabelecido para esta mensagem logica --REQID (**).

Default : task terminada anormalmente

INVLDC

Se o mnemnico LDC especificado no est incluido n alista LDC para a LU.

Default : task terminada anormalmente

INVMPSZ

Se o mapa grande demais para o terminal.

INVPARTN

Se a partio especificada no est definida no partition set associado ao aplicativo.

Default : task terminada anormalmente

OVERFLOW

Se os dados no cabem na pgina.

Default : condio ignorada.

RETPAGE

Se a opo SET for especificada e uma pgina completada est pronta para retorno ao aplicativo.

Default : controle volta ao aplicativo no ponto seguinte ao SEND MAP.

TSIOERR

Erro irrecupervel de I/O em TS.

Default : task terminada anormalmente

WRBRK

Somente para 2741.

Default : condio ignorada.

25 Comandos para tratamento de arquivos

RESUMO DE COMANDOS PARA TRATAMENTO DE ARQUIVOS VSAM

Leitura de registros

Leitura direta

READ

Leitura sequencial (browsing)

STARTBR

READNEXT

READPREV

RESETBR

ENDBR

Leitura skip-sequencial

READNEXT

Atualizao de registros

REWRITE

UNLOCK

Deleo de registros

DELETE

Incluso de registros

WRITE

LEITURA DIRETA (em KSDS)

Deve-se identificar / fornecer :

a chave (inteira) do registro que se deseja ler (obteno de registro nico Unique key)) ou

a chave parcial (primeiras n posies esquerda) do registro no qual deseja-se posicionar o arquivo para que as leituras seqenciais subseqentes obtenham os registros desejados (Generic Key).

LEITURA SEQUENCIAL - BROWSING (em KSDS)

Inicia-se o browse com o comando STARTBR, identificando o registro (inicial) de forma anloga leitura direta.

No entanto, o STARTBR no disponibiliza o registro, apenas posiciona o arquivo no registro desejado, para que o READNEXT emitido em seguida efetue a leitura propriamente dita.

READNEXT l seqencialmente ( frente) desde o ponto marcado pelo STARTBR (pode-se posicionar o arquivo no incio colocando low-values na chave para posicionamento do STARTBR).

READPREV l seqencialmente (para trs) desde o ponto marcado pelo STARTBR (pode-se posicionar o arquivo no final colocando high-values na chave para posicionamento do STARTBR).

RESETBR pode ser utilizado para reposicionar o arquivo em outro registro.

Para terminar uma seqncia de Browse, obrigatrio dar o comando ENDBR.

ATUALIZAO (em KSDS)

Para atualizar o contedo de um registro, deve-se acess-lo inicialmente atravs de sua leitura (READ UPDATE). Aps obtido o registro, providencia-se sua modificao pelo aplicativo, e, em seguida, atravs do REWRITE efetua-se sua atualizao.

Cada REWRITE deve estar associado a um READ UPDATE atravs de um elemento comum (especificado em TOKEN).

READ UPDATE providencia o LOCK e, aps o REWRITE (ou no) deve-se providenciar o UNLOCK.

INCLUSO (em KSDS)

Deve-se preparar o registro a ser includo, identificar a chave que ir ser a base para incluso na area de dados e nos ndices (atravs do parmetro Ridfld) e emitir o comando WRITE.

Para atualizar o contedo de um registro, deve-se acess-lo inicialmente atravs de sua leitura. Aps obtido o registro,

DELEO (em KSDS)

Para deletar UM registro : acess-lo inicialmente atravs de sua leitura (READ UPDATE); aps obtido o registro, providencia-se sua deleo atravs do DELETE (sem Ridfld).

Para deletar UM CONJUNTO de registros, utilizar o comando DELETE com generic key : todos os registros com chave que casem com a parte (que deve ter tamanho menor que a chave total) da chave especificada sero deletados; a quantidade de registros deletados devolvida para o programa se for especificada a opo NUMREC.

DELETE

O DELETE elimina (deleta) um registro lgico de um arquivo. necessrio que antes tenha sido dado um comando READNEXT ou READPREV co UPDATE para deletar o registro lido (se houver duplicidade de chave responsabilidade do programa acessar cada um dos registros e deletar um a um).

Sintaxe

EXEC CICS

DELETE FILE()

< SYSID() >

< TOKEN() | RIDFLD() < KEYLENGTH() < GENERIC < NUMREC() > > > >

< RBA | RRN >

< NOSUSPEND >

END-EXEC

Parmetros

FILE(filename)

nome do arquivo

GENERIC

(Somente Vsam KSDS) indica que a chave de pesquisa genrica (KEYLENGTH menor que o tamanho da chave total). KEYLENGTH(data-value)

tamanho da chave (em uma halfword, em binrio) para comparao, que est no RIDFLD.

NOSUSPEND

no aguardar se o registro estiver com LOCK.

NUMREC(data-area)

(Somente para Vsam KSDS) : especifica uma halfword onde o CICS coloca, em binrio, o nmero de registros deletados.

|RBA|RRN|

RRN : para RRDS;

RBA : indica que o RIDFLD especifica um rba (relative byte address) indica para VSAM KSDS

RIDFLD(data-area)

(Record IDentification FieLD) = area que contm a chave do registro que se deseja ler; se for xFF em todos os bytes, indica preparao para browse com READPREV.

SYSID(systemname)

para sistemas remotos (no locais)

TOKEN(data-area)

Somente para RLS; identificador para este READ UPDATE (valor em binrio numa fullword) : valor retornado para o aplicativo pelo CICS, para uso em (eventual futuro) REWRITE / DELETE / UNLOCK referente ao registro trazido por um READ UPDATE.

Exemplos

EXEC CICS DELETE

FILE('MASTVSAM')

RIDFLD(ACCTNO)

KEYLENGTH(len)

GENERIC

NUMREC(NUMDEL)

END-EXEC

Retornos CHANGED

DISABLED

DUPKEY

FILENOTFOUND

ILLOGIC

INVREQ

IOERR

ISCINVREQ

LOADING

LOCKED

NOTAUTH

NOTFND

NOTOPEN

RECORDBUSY

SYSIDERR

ENDBR

O ENDBR termina um browse.

Sintaxe

EXEC CICS ENDBR

FILE()

< SYSID() >

< REQID( +00000 ) >

END-EXEC

Parmetros

FILE(filename)

Nome do arquivo. REQID(data-value)

Indica um valor (em uma half-word, em binrio), que identifica o browse a ser terminado, quando se usa multiplos browses num mesmo arquivo.

SYSID(systemname)

para sistemas remotos (no locais)

Exemplos EXEC CICS ENDBR

FILE(TABA501)

END-EXEC.

Retornos DISABLED

FILENOTFOUND

ILLOGIC

INVREQ

IOERR

ISCINVREQ

LOADING

NOTAUTH

NOTFND

NOTOPEN

SYSIDERR

READ

Para o leitura de um registro de um arquivo VSAM.

Sintaxe :

EXEC CICS READ

FILE()

< SYSID() >

( SET() | INTO() )

< LENGTH() >

RIDFLD()

< KEYLENGTH() < GENERIC > >

< RBA | RRN | DEBREC | DEBKEY >

< GTEQ | EQUAL >

< UNCOMMITTED | CONSISTENT | REPEATABLE | UPDATE < TOKEN() > >

< NOSUSPEND >

END-EXEC

Parmetros

EQUAL ou GTEQ

condio para READ genrico : igual ou (maior ou igual)

|DEBKEY|DEBREC|RBA|RRN|

DBEKEY e DEBREC : para DBAM blocado;

RRN : para RRDS;

RBA : indica que o RIDFLD especifica um rba (relative byte address) indica para VSAM KSDS

CONSISTENT

(RLS only) FILE(filename)

nome do arquivo

INTO(data-area)

nome da rea para leitura do registro

KEYLENGTH(data-value)

tamanho para comparao de GENERIC KEY

GENERIC

chave base para pesquisa

NOSUSPEND

no aguardar se o registro estiver com LOCK.

REPEATABLE

(RLS only)

RIDFLD(data-area)

(Record IDentification FieLD) = area que contm a chave do registro que se deseja ler

SET

o CICS deve providenciar um buffer para a leitura, e retornar sua localizao para o aplicativo, aps nele colocar o registro lido.

SYSID(systemname)

para sistemas remotos (no locais)

TOKEN(data-area)

identificador para este READ UPDATE (valor em binrio numa fullword) : valor retornado para o aplicativo pelo CICS, para uso em (eventual futuro) REWRITE / DELETE / UNLOCK referente ao registro trazido por um READ UPDATE.

UNCOMMITTED

Registro lido sem integridade de leitura (mesmo que haja (esteja havendo) alguma atualizao nele por outra task.

UPDATE

Indica que o registro deve ser obtido (lido) para que se possa efetuar um update ou delete. Se no for especificado, assume read-only.

Exemplos EXEC CICS READ

INTO (RG-TABA537-537)

LENGTH (WS-LEN-TABA537)

KEYLENGTH (WS-KEYLEN-TABA537)

DATASET ('TABA537')

RIDFLD (ST-CHV-ARQ-537)

UPDATE

END-EXEC.

EXEC CICS READ

INTO(WS-REGTABEMP)

FILE('TABEMP')

RIDFLD(CODEMP)

END-EXEC.

EXEC CICS READ

INTO(WS-REGTABEMP)

LENGTH(RECLEN)

FILE('TABEMP')

RIDFLD(CODEMP)

KEYLENGTH(4)

GENERIC

GTEQ

UPDATE

END-EXEC.

Retornos DISABLED

DUPKEY

FILENOTFOUND

ILLOGIC

INVREQ

IOERR

ISCINVREQ

LENGERR

LOADING

LOCKED

NOTAUTH

NOTFND

NOTOPEN

RECORDBUSY

SYSIDERR

READNEXT

Usado para efetuar leitura sequencial para a frente de registros em um arquivo (leitura sequencial = browse).

A sequncia de READNEXT`s deve iniciar por um STARTBR e o fim deve ser por um ENDBR.

UDATE pode ser especificado somente se o arquivo estiver sendo acesado no modo RLS (UPDATE no pode ser especificado no STARTBR ou RESETBR).

CICS suporta somente 1 TOKEN num browse; o TOKEN de um (cada) READNEXT invalida o TOKEN anterior.

Sintaxe

EXEC CICS READNEXT

FILE()

< SYSID() >

( SET() | INTO() )

< LENGTH() >

RIDFLD()

< KEYLENGTH() >

< REQID( +00000 ) >

< RBA | RRN >

< UNCOMMITTED | CONSISTENT | REPEATABLE | UPDATE TOKEN() >

< NOSUSPEND >

END-EXECParmetros

CONSISTENT

(RLS only) FILE(filename)

nome do arquivo

INTO(data-area)

nome da rea para leitura do registro

KEYLENGTH(data-value)

tamanho da chave (em uma halfword, em binrio) para comparao, que est no RIDFLD.

LENGTH(data-area)

Tamanho (em uma halfword, em binrio) do registro a ser lido.

NOSUSPEND

no aguardar se o registro estiver com LOCK.

|RBA|RRN|

RRN : para RRDS;

RBA : indica que o RIDFLD especifica um rba (relative byte address) indica para VSAM KSDS

REPEATABLE

(RLS only)

REQID(data-value)

Indica um valor (em uma half-word, em binrio), que identifica um browse, quando se usa multiplos browses num mesmo arquivo.

RIDFLD(data-area)

(Record IDentification FieLD) = area que contm a chave do registro que se deseja ler; se for xFF em todos os bytes, indica preparao para browse com READPREV.

SET

o CICS deve providenciar um buffer para a leitura, e retornar sua localizao para o aplicativo, aps nele colocar o registro lido.

SYSID(systemname)

para sistemas remotos (no locais)

TOKEN(data-area)

identificador para este READ UPDATE (valor em binrio numa fullword) : valor retornado para o aplicativo pelo CICS, para uso em (eventual futuro) REWRITE / DELETE / UNLOCK referente ao registro trazido por um READ UPDATE.

UNCOMMITTED

Registro lido sem integridade de leitura (mesmo que haja (esteja havendo) alguma atualizao nele por outra task.

UPDATE

Indica que o registro deve ser obtido (lido) para que se possa efetuar um update ou delete. Se no for especificado, assume read-only.

Exemplos EXEC CICS READNEXT

DATASET ('TABA538')

RIDFLD (ST-CHV-ARQ-538)

INTO (RG-TABA538-538)

END-EXEC.

EXEC CICS READNEXT

DATASET ('TABP138')

INTO (RG-TABA538-538)

LENGTH (LENGTH OF RG-TABA538-538)

RIDFLD (ST-CHV-ALTER-538)

NOHANDLE

END-EXEC.

Retornos DUPKEY

ENDFILE

FILENOTFOUND

ILLOGIC

INVREQ

IOERR

ISCINVREQ

LENGERR

LOADING

LOCKED

NOTAUTH

NOTFND

RECORDBUSY

SYSIDERR

READPREV

Usado para efetuar leitura sequencial para trs de registros em um arquivo (leitura sequencial = browse).

A sequncia de READPREV`s deve iniciar por um STARTBR e o fim deve ser por um ENDBR.

UDATE pode ser especificado somente se o arquivo estiver sendo acesado no modo RLS (UPDATE no pode ser especificado no STARTBR ou RESETBR).

CICS suporta somente 1 TOKEN num browse; o TOKEN de um (cada) READPREV invalida o TOKEN anterior.

Sintaxe

EXEC CICS READPREV

FILE()

< SYSID() >

( SET() | INTO() )

< LENGTH() >

RIDFLD()

< KEYLENGTH() >

< REQID( +00000 ) >

< RBA | RRN >

< UNCOMMITTED | CONSISTENT | REPEATABLE | UPDATE TOKEN() >

< NOSUSPEND >

END-EXEC

Parmetros

CONSISTENT

(RLS only) FILE(filename)

nome do arquivo

INTO(data-area)

nome da rea para leitura do registro

KEYLENGTH(data-value)

tamanho da chave (em uma halfword, em binrio) para comparao, que est no RIDFLD.

LENGTH(data-area)

Tamanho (em uma halfword, em binrio) do registro a ser lido.

NOSUSPEND

no aguardar se o registro estiver com LOCK.

|RBA|RRN|

RRN : para RRDS;

RBA : indica que o RIDFLD especifica um rba (relative byte address) indica para VSAM KSDS

REPEATABLE

(RLS only)

REQID(data-value)

Indica um valor (em uma half-word, em binrio), que identifica um browse, quando se usa multiplos browses num mesmo arquivo.

RIDFLD(data-area)

(Record IDentification FieLD) = area que contm a chave do registro que se deseja ler; se for xFF em todos os bytes, indica preparao para browse com READPREV.

SET

o CICS deve providenciar um buffer para a leitura, e retornar sua localizao para o aplicativo, aps nele colocar o registro lido.

TOKEN(data-area)

Somente para RLS; identificador para este READ UPDATE (valor em binrio numa fullword) : valor retornado para o aplicativo pelo CICS, para uso em (eventual futuro) REWRITE / DELETE / UNLOCK referente ao registro trazido por um READ UPDATE.

SYSID(systemname)

para sistemas remotos (no locais)

TOKEN(data-area)

Somente para RLS; identificador para este READ UPDATE (valor em binrio numa fullword) : valor retornado para o aplicativo pelo CICS, para uso em (eventual futuro) REWRITE / DELETE / UNLOCK referente ao registro trazido por um READ UPDATE.

UNCOMMITTED

Registro lido sem integridade de leitura (mesmo que haja (esteja havendo) alguma atualizao nele por outra task.

UPDATE

Indica que o registro deve ser obtido (lido) para que se possa efetuar um update ou delete. Se no for especificado, assume read-only.

Exemplos EXEC CICS READPREV

DATASET ('TABA538')

RIDFLD (ST-CHV-ARQ-538)

INTO (RG-TABA538-538)

END-EXEC.

EXEC CICS READPREV

DATASET('TABA505')

LENGTH(WS-LEN)

INTO(RG-TABA505-505)

RIDFLD(ST-CHV-ARQ-505)

NOHANDLE

END-EXEC.

Retornos DUPKEY

ENDFILE

FILENOTFOUND

INVREQ

IOERR

ISCINVREQ

LENGERR

LOCKED

NOTAUTH

NOTFND

RECORDBUSY

SYSIDERR

RESETBR

Usado para reposicionar um arquivo durante um browse (o reposicionamento pode tambm ser feito, ao invs de usar o RESETBR, se modificar o RIDFLD antes de um READNEXT ou READPREV) ou para mudar as caractersticas do browse (indicadas no STARTBR ; as caractersticas que podem ser alteradas so as especificadas nas opes GENERIC, GTEQ, e RBA).

Sintaxe

EXEC CICS RESETBR

FILE()

< SYSID() >

RIDFLD()

< KEYLENGTH() < GENERIC > >

< REQID( +00000 ) >

< RBA | RRN >

< GTEQ | EQUAL >

END-EXEC

Parmetros

FILE(filename)

nome do arquivo

GENERIC = (VSAM KSDS)

chave base para pesquisa (tamanho especificado em KEYLENGTH).

GTEQ ou EQUAL

condio para READ genrico : igual ou (maior ou igual)

KEYLENGTH(data-value)

tamanho da chave (em uma halfword, em binrio) para comparao, que est no RIDFLD.

REQID(data-value)

Indica um valor (em uma half-word, em binrio), que identifica um browse, quando se usa multiplos browses num mesmo arquivo.

RIDFLD(data-area)

(Record IDentification FieLD) = area que contm a chave do registro que se deseja ler; se for xFF em todos os bytes, indica preparao para browse com READPREV.

|RBA|RRN|

RRN : para RRDS;

RBA : indica que o RIDFLD especifica um rba (relative byte address) indica para VSAM KSDS

SYSID(systemname)

para sistemas remotos (no locais)

ExemplosEXEC CICS RESETBR

FILE ('TABA501')

RIDFLD (ST-CHV-ARQ-501)

END-EXECRetornos FILENOTFOUND

ILLOGIC

INVREQ

IOERR

ISCINVREQ

NOTAUTH

NOTFND

SYSIDERR

REWRITE

O REWRITE atualiza (in-place) um registro lgico num arquivo. Deve-se antes emitir um READ com a opo UPDATE.

Sintaxe

EXEC CICS REWRITE

FILE()

< SYSID() >

FROM()

< LENGTH() >

< TOKEN() >

< NOSUSPEND >

END-EXEC

ParmetrosFILE(filename)

nome do arquivo

FROM(data-area)

nome da rea para regravao do registro

LENGTH(data-area)

Tamanho (em uma halfword, em binrio) do registro a ser atualizado.

NOSUSPEND

no aguardar se o registro estiver com LOCK.

SYSID(systemname)

para sistemas remotos (no locais)

TOKEN(data-area)

Somente para RLS; identificador para este READ UPDATE (valor em binrio numa fullword) : valor retornado para o aplicativo pelo CICS, para uso em (eventual futuro) REWRITE / DELETE / UNLOCK referente ao registro trazido por um READ UPDATE.

ExemplosEXEC CICS REWRITE

FROM(RECORD)

FILE('MASTER')

TOKEN(APTOK)

END-EXEC

EXEC CICS REWRITE

DATASET ('TABA538')

FROM (RG-TABA538-538)

LENGTH (WS-LEN-TABA538)

END-EXEC

Retornos CHANGED

DUPREC

FILENOTFOUND

ILLOGIC

INVREQ

IOERR

ISCINVREQ

LENGERR

NOTFND

LOCKED

NOSPACE

NOTAUTH

RECORDBUSY

SYSIDERR

STARTBR

O STARTBR posiciona (somente ponteiros !!!) um arquivo num ponto especificado, para, a partir da, efetuar browse.

IMPORTANTE : o STARTBR NO L registro nenhum; o registro somente ser lido quando for emitido um READ NEXT ou READ PREV.

O posicionamento pode ser feito com base na chave (primria ou alternada) do registro (KSDS ou data-table), no RBA (normal ou alternado) (KSDS ou ESDS), no RRN (RRDS)

Sintaxe

STARTBR

FILE(filename)

[SYSID()]

RIDFLD(data-area)

[KEYLENGTH() [GENERIC] ]

[REQID(data_value)]

[RBA | RRN | DEBREC | DEBKEY ]

[GTEQ | EQUAL ]Parmetros

EQUAL ou GTEQ

condio para READ genrico : igual ou (maior ou igual)

FILE(filename)

Nome do arquivo a ser acessado. GENERIC = (VSAM KSDS)

chave base para pesquisa (tamanho especificado em KEYLENGTH).

KEYLENGTH(data-value)

Tamanho da chave (colocado em uma harf-word, em binrio). Obrigatrio se GENERIC foi especificado.

|DEBKEY|DEBREC|RBA|RRN|

DBEKEY e DEBREC : para DBAM blocado;

RRN : para RRDS;

RBA : indica que o RIDFLD especifica um rba (relative byte address) indica para VSAM KSDS

REQID(data-value)

Indica um valor (em uma half-word, em binrio), que identifica um browse, quando se usa multiplos browses num mesmo arquivo.

RIDFLD(data-area)

(Record IDentification FieLD) = area que contm a chave do registro que se deseja ler; se for xFF em todos os bytes, indica preparao para browse com READPREV.

SYSID(systemname)

para sistemas remotos (no locais)

Exemplos EXEC CICS READ

INTO (RG-TABA537-537)

LENGTH (WS-LEN-TABA537)

END-EXEC.

EXEC CICS STARTBR

DATASET ('TABA538')

RIDFLD (ST-CHV-ARQ-538)

END-EXEC.

EXEC CICS STARTBR

FILE ('TABA627')

RIDFLD (ST-CHV-TAB-627)

KEYLENGTH (WS-KEY-LEN)

GTEQ

NOHANDLE

END-EXEC

Retornos DISABLED

FILENOTFOUND

ILLOGIC

INVREQ

IOERR

ISCINVREQ

LOADING

NOTAUTH

NOTFND

NOTOPEN

SYSIDERR

UNLOCK

O UNLOCK libera um recurso (registro lgico) previamente colocado em lock por meio de um READ com UPDATE.

Sintaxe

EXEC CICS UNLOCK

FILE()

< SYSID() >

< TOKEN() >

END-EXEC

Parmetros

FILE(filename)

nome do arquivo

SYSID(systemname)

para sistemas remotos (no locais)

TOKEN(data-area)

Somente para RLS; identificador para este READ UPDATE (valor em binrio numa fullword) : valor retornado para o aplicativo pelo CICS, para uso em (eventual futuro) REWRITE / DELETE / UNLOCK referente ao registro trazido por um READ UPDATE.

Exemplos

EXEC CICS UNLOCK

FILE(TABA501)

END-EXEC

Retornos DISABLED

FILENOTFOUND

ILLOGIC

INVREQ

IOERR

ISCINVREQ

NOTAUTH

NOTOPEN

SYSIDERR

WRITE

O WRITE grava (adiciona) um registro lgico (novo) num arquivo.

Os contedos do campo chave no registro e no campo RIDFLD devem ser o mesmo.

Sintaxe

EXEC CICS WRITE FILE()

< SYSID() >

FROM()

< LENGTH() >

RIDFLD()

< KEYLENGTH() >

< RBA | RRN >

< MASSINSERT >

< NOSUSPEND >

END-EXEC

Parmetros

FILE(filename)

nome do arquivo

FROM(data-area)

Indica a rea de onde deve ser obtido o registro lgico a ser gravado. KEYLENGTH(data-value)

tamanho da chave (em uma halfword, em binrio) para comparao, que est no RIDFLD.

LENGTH(data-area)

Tamanho (em uma halfword, em binrio) do registro a ser lido.

MASSINSERT

Indica que o WRITE parte de um conjunto (operao de incluso em massa). NOSUSPEND

no aguardar se o registro estiver com LOCK.

|RBA|RRN|

RRN : para RRDS;

RBA : indica que o RIDFLD especifica um rba (relative byte address) indica para VSAM KSDS

RIDFLD(data-area)

(Record IDentification FieLD) = area que contm a chave do registro que se deseja ler; se for xFF em todos os bytes, indica preparao para browse com READPREV.

SYSID(systemname)

para sistemas remotos (no locais)

Exemplos

EXEC CICS WRITE DATASET ('TABA538')

FROM (RG-TABA538-538)

LENGTH (WS-LEN-TABA538)

KEYLENGTH (WS-KEYLEN-TABA538)

RIDFLD (ST-CHV-ARQ-538)

END-EXEC

Retornos DISABLED

DUPREC

FILENOTFOUND

ILLOGIC

INVREQ

IOERR

ISCINVREQ

LENGERR

LOADING

LOCKED

NOSPACE

NOTAUTH

NOTOPEN

RECORDBUSY

SUPPRESSED

SYSIDERR

26 Comandos para transferncia de controle entre programas

Application program logical levels

LINK

Efetua o link com outro programa (chamada para transferncia de controle), esperando que haja retorno para o programa CHAMADOR.

Quando o comando RETURN for emitido pelo programa CHAMADO, o controle retornado a ele, na instruo subseqente ao LINK.

Durante a execuo do programa CHAMADO, valem os processos (handling conditions, attention ids, abends, etc) dele e no do chamador; quando o controle retorna ao chamador, passam a valer novamente os processos do CHAMADOR.

Sintaxe

EXEC CICS LINK PROGRAM()

< COMMAREA() < LENGTH() > < DATALENGTH() > >

< SYSID() >

< SYNCONRETURN >

< TRANSID() >

< INPUTMSG() < INPUTMSGLEN() > >

END-EXECParmetros

COMMAREA(data-area) Indica a communication area que deve ser passada para o pragrama chamado (em COBOL, o programa chamado deve dar a ela o nome de DFHCOMMAREA).

DATALENGTH(data-value) Indica uma halfword que contem, em binrio, o tamanho da rea (contgua) de comunicao (COMMAREA), a ser passada para o programa chamado (o qual, conveniente que verifique o tamanho).

INPUTMSG(data-area) Indica o nome da rea que tem os dados a serempassados para o programa chamado (no primeiro RECEIVE). Os dados ficam disponveis at o RECEIVE.

INPUTMSGLEN(data-value) Indica o nome da halfword que deve conter, em binrio, o tamanho da rea passada (INPUTMSG).

LENGTH(data-value) Indica o tamanho (em binrio, numa halfword), em bytes, da communication area (mximo = 32500 bytes).

PROGRAM(name) Indica o nome do programa para o qual o controle deve ser passado. Uso de apstrofes :

EXEC CICS LINK PROGRAM('PROGX')

PROGX o nome do programa

EXEC CICS LINK PROGRAM(DAREA)

DAREA o nome de uma rea (varivel) que contm o nome do programa

SYNCONRETURNPara sistemas remotos (no locais)

SYSID(systemname)

para sistemas remotos (no locais)

TRANSID(name)

Indica o nome da transao espelho que a regio remota deve attachar e sob a qual deve ser executado o programa (se no especificado, assume CSMI, CPMI, ou CVMI).

Exemplo

EXEC CICS LINK

PROGRAM(PROGNAME)

COMMAREA(COMA)

LENGTH(LENA)

DATALENGTH(LENI)

SYSID('CONX')

END-EXEC

Retornos

INVREQ, LENGERR, NOTAUTH, PGMIDERR, ROLLEDBACK, SYSIDERR, TERMERR

INVREQ RESP2 values:

8 A LINK command with the INPUTMSG option is issued for a program that is not associated with a terminal, or that is associated with an APPC logical unit, or an IRC session.

14 The SYNCONRETURN option is specified but the program issuing the link request (the client program) is already in conversation with a mirror task in the remote region specified on the SYSID option. (That is, a unit of work (UOW) is in progress, or the system initialization parameter MROFSE=YES has been specified in the client region.) In this case, the client program is in an incorrect state to support the SYNCONRETURN option.

15 The program issuing the link request is already in conversation with a mirror task and the TRANSID specified is different from the transaction identifier of the active mirror.

16 The TRANSID specified is all blanks.

17 The TRANSID supplied by the dynamic routing program is all blanks.

19 A LINK command with the INPUTMSG option is issued for a program that is the subject of a DPL request; that is, SYSID is also specified.

30 The program manager domain has not yet been initialized. This is probably due to a link request having been made in a first stage PLT.

41 A LINK has been attempted to a Java program while there is already a JVM program on the link stack.

43 A LINK has been attempted to a hot-pooled Java program object while there is already a hot-pooled program on the link stack.

44 A LINK has been attempted to a Java program, but the JVMpool is disabled.

45 A LINK has been attempted to a Java program, but the JVM profile cannot be found.

46 A LINK has been attempted to a Java program, but the JVM profile is not valid.

47 A LINK has been attempted to a Java program, but the system properties file cannot be found.

48 A LINK has been attempted to a Java program, but the user class cannot be found.

Default action: terminate the task abnormally.

Note: RESP2 values are not returned to the client for conditions occurring in a DPL server program.

LENGERR RESP2 values:

11The COMMAREA length is less than 0 or greater than 32767.

12 The length specified on the DATALENGTH option is a negative value.

13 The length specified on the DATALENGTH option is > the length specified on the LENGTH option.

26 The COMMAREA address is zero, but the COMMAREA length is non zero.

27 The INPUTMSG length is < 0 or > 32767. Also occurs in any of the following situations:

The length specified on the LENGTH option is greater than the length of the data area specified in the COMMAREA option, and

while that data was being copied a destructive overlap occurred because of the incorrect length.

Default action: terminate the task abnormally.

Note: RESP2 values are not returned to the client for conditions occurring in a DPL server program.

NOTAUTH RESP2 values:

101 A resource security check has failed on PROGRAM(name).

Default action: terminate the task abnormally.

PGMIDERR RESP2 values:

1 A program has no entry in the PPT and either program autoinstall was switched off, or the program autoinstall control program indicated that the program should not be autoinstalled.

2 A program is disabled.

3 A program could not be loaded because

This was the first load of the program and the program load failed, usually because the load module could not be found.

This was a subsequent load of the program, but the first load failed.

In order to reset the load status the load module must be in the DFHRPL concatenation, and a SET PROGRAM NEWCOPY will be required.

21 The program autoinstall control program failed either because the program autoinstall control program is incorrect, incorrectly defined, or as a result of an abend in the program autoinstall control program. Program autoinstall is disabled and message DFHPG0202 or DFHPG0203 written to the CSPL.

22 The model returned by the program autoinstall control program was not defined in the PPT table, or was not enabled.

23 The program autoinstall control program returned invalid data.

24 Define for the program failed due to autoinstall returning an invalid program name or definition.

25 The dynamic routing program rejected the link request.

Default action: terminate the task abnormally.

Note: RESP2 values are not returned to the client for conditions occurring in a DPL server program.

ROLLEDBACK RESP2 values:

29 The SYNCONRETURN is specified and the server program is unable successfully to take a syncpoint. The server program has taken a rollback, and all changes made to recoverable resources in the remote region, within the current unit of work, are backed out.

Default action: terminate the task abnormally.

SYSIDERR RESP2 values:

18The SYSID specified cannot be found in the intersystem table.

20 The remote system specified by SYSID is an LUTYPE6.1-connected system. Distributed program link requests are not supported on LUTYPE6.1 connections.

Notes:

1. There is no local queuing in the event of a SYSIDERR.

2. RESP2 values are not returned for conditions occurring on DPL requests.

28 The remote system specified by SYSID is not in service.This response can also indicate that the transaction has not been defined on the remote system.

29 The remote system specified by SYSID is in service, but there are no sessions available, and the dynamic routing program has chosen not to queue the link request.

31 The request to allocate a session to the remote system has been rejected.

32 The queue of allocate requests for sessions to the remote system has been purged.

Default action: terminate the task abnormally.

TERMERR RESP2 values:

17 An irrecoverable error occurs during the conversation with the mirror (for example, if the session fails, or if the server region fails).

Default action: terminate the task abnormally.

Note: RESP2 values are not returned to the client for conditions occurring in a DPL server program.

RETURN

Retorna o controle para o programa chamador (ou , em ltima instncia, para o CICS).

Sintaxe

EXEC CICS RETURN

< TRANSID() < COMMAREA() < LENGTH() > > < IMMEDIATE > >

< INPUTMSG() < INPUTMSGLEN() > >

< ENDACTIVITY >

END-EXEC

Parmetros

COMMAREA(data-area) Indica a communication area que deve ser passada para o pragrama chamado (em COBOL, o programa chamado deve dar a ela o nome de DFHCOMMAREA). A commarea liberada antes de o prximo programa ser iniciado; uma cpia dela criada e um pointeiro passado.

ENDACTIVITY Somente para programas com BTS (Business Transaction Services) activities.

IMMEDIATE Assegura que a commarea seja passada para o programa correto; pode ser usado somente pelo programa dce mais alto nvel (o que retornar o controle para o CICS).

INPUTMSG(data-area) Indica o nome da rea que tem os dados a serempassados para o programa chamado (no primeiro RECEIVE). Os dados ficam disponveis at o RECEIVE.

INPUTMSGLEN(data-value) Indica o nome da halfword que deve conter, em binrio, o tamanho da rea passada (INPUTMSG).

LENGTH(data-value) Indica o tamanho (em binrio, numa halfword), em bytes, da communication area (mximo = 32500 bytes).

TRANSID(name) Indica o nome da transao (1-4 caracteres) a ser usada com a prxima mensagem de entrada do terminal da task que emitiu o RETURN.

Exemplos

EXEC CICS RETURN

END-EXEC.

EXEC CICS RETURN

TRANSID('TBTJ')

COMMAREA(WS-CTRL-MAPA)

END-EXEC.

Retornos

INVREQ, LENGERR

INVREQ RESP2 values:

1 A RETURN command with the TRANSID option is issued in a program that is not associated with a terminal.

2 A RETURN command with the COMMAREA or IMMEDIATE option is issued by a program that is not at the highest logical level.

4 A RETURN command with the TRANSID option is issued in a program that is associated with an APPC logical unit.

8 A RETURN command with the INPUTMSG option is issued for a program that is not associated with a terminal, or that is associated with an APPC logical unit, or an IRC session.

30 PG domain not initialized. Parameters are not allowed on the EXEC RETURN statement in first stage PLT programs.

200 A RETURN command is issued with an INPUTMSG option by a program invoked by DPL.

Default action: terminate the task abnormally.

LENGERR RESP2 values:

11 The COMMAREA length is less than 0 or greater than 32763.

26 The COMMAREA ADDRESS passed was zero, but the commarea length was non-zero.

27 The INPUTMSG LENGTH was less than 0 or greater than 32767.

Default action: terminate the task abnormally.

XCTL

Transfere o controle de um programa para outro (num mesmo nvel).

O programa emitente do XCTL liberado (encerrado).

Se o programa para o qual o controle transferido no est carregado na memria, ele carregado.

Sintaxe

EXEC CICS XCTL

PROGRAM()

< COMMAREA() < LENGTH() > >

< INPUTMSG() < INPUTMSGLEN() > >

END-EXECParmetros

COMMAREA(data-area) Indica a communication area que deve ser passada para o pragrama chamado (em COBOL, o programa chamado deve dar a ela o nome de DFHCOMMAREA).

INPUTMSG(data-area) Indica o nome da rea que tem os dados a serempassados para o programa chamado (no primeiro RECEIVE). Os dados ficam disponveis at o RECEIVE.

INPUTMSGLEN(data-value) Indica o nome da halfword que deve conter, em binrio, o tamanho da rea passada (INPUTMSG).

LENGTH(data-value) Indica o tamanho (em binrio, numa halfword), em bytes, da communication area.

PROGRAM(name) Indica o nome do programa para o qual o controle deve ser passado.

Exemplo

EXEC CICS XCTL PROGRAM('PROG2')

RetornosINVREQ, LENGERR, NOTAUTH, PGMIDERR

INVREQ RESP2 values:

8An XCTL command with the INPUTMSG option is issued for a program that is not associated with a terminal, or that is associated with an APPC logical unit, or an IRC session.

29 EXEC XCTL is not allowed in a GLUE or TRUE.

30 The program manager domain has not yet been initialized. This is probably due to a XCTL request having been made in a first stage PLT.

43 An XCTL has been attempted to a hot-pooled Java program object while there is already a hot-pooled program on the stack.

200 An XCTL command with the INPUTMSG option is issued in a program invoked by DPL.

Default action: terminate the task abnormally.

LENGERR RESP2 values:

11 LENGTH is less than 0 or greater than 32763.

26 The COMMAREA address passed was zero, but LENGTH was non-zero.

27 INPUTMSGLEN was less than 0 or greater than 32767.

28 LENGTH or INPUTMSGLEN is greater than the length of the data area specified in the COMMAREA or INPUTMSG options, and while that data was being copied a destructive overlap occurred because of the incorrect length.

Default action: terminate the task abnormally.

NOTAUTH RESP2 values:

101A resource security check has failed on PROGRAM(name).

Default action: terminate the task abnormally.

PGMIDERR RESP2 values:

1 A program has no entry in the PPT and either program autoinstall was switched off, or the program autoinstall control program indicated that the program should not be autoinstalled.

2 The program is disabled.

3 A program could not be loaded because:

This was the first load of the program and the program load. failed, usually because the load module could not be found.

This was a subsequent load of the program, but the first load failed.

9 The installed program definition is for a remote program.

21 The program autoinstall control program failed either because the program autoinstall control program is incorrect, incorrectly defined, or as a result of an abend in the program autoinstall control program.

22 The model returned by the program autoinstall control program was not defined in the PPT table, or was not enabled.

23 The program autoinstall control program returned invalid data.

24 Define for the program failed due to autoinstall returning an invalid program name or definition.

Default action: terminate the task abnormally.

Exemplo de programa com diversas funes CICS

ID DIVISION.

PROGRAM-ID. PLTPROG.

ENVIRONMENT DIVISION.

DATA DIVISION.

WORKING-STORAGE SECTION.

77 APPLID PIC X(8) VALUE SPACES.

77 SYSID PIC X(4) VALUE SPACES.

01 COMM-DATA.

03 AREA-PTR USAGE IS POINTER.

03 AREA-LENGTH PIC S9(8) COMP.

LINKAGE SECTION.

01 COMMON-WORK-AREA.

03 APPL-1-ID PIC X(4).

03 APPL-1-PTR USAGE IS POINTER.

03 APPL-2-ID PIC X(4).

03 APPL-2-PTR USAGE IS POINTER.

PROCEDURE DIVISION.

MAIN-PROCESSING SECTION.

* Obtain APPLID and SYSID values

EXEC CICS ASSIGN APPLID(APPLID)

SYSID(SYSID)

END-EXEC.

* Set up addressability to the CWA

EXEC CICS ADDRESS

CWA(ADDRESS OF COMMON-WORK-AREA)

END-EXEC.

* Get 12KB of CICS-key storage for the first application ('APP1')

MOVE 12288 TO AREA-LENGTH.

EXEC CICS GETMAIN SET(AREA-PTR)

FLENGTH(AREA-LENGTH)

SHARED

END-EXEC.

* Initialize CWA fields and link to load program

* for storage area 1.

MOVE 'APP1' TO APPL-1-ID.

SET APPL-1-PTR TO AREA-PTR.

EXEC CICS LINK PROGRAM('LOADTAB1')

COMMAREA(COMM-DATA)

END-EXEC.

* Get 2KB of user-key storage for the second application ('APP2')

MOVE 2048 TO AREA-LENGTH.

EXEC CICS GETMAIN SET(AREA-PTR)

FLENGTH(AREA-LENGTH)

SHARED

USERDATAKEY

END-EXEC.

* Initialize CWA fields and link to load program

* for storage area 2.

MOVE 'APP2' TO APPL-2-ID.

SET APPL-2-PTR TO AREA-PTR.

EXEC CICS LINK PROGRAM('LOADTAB2')

COMMAREA(COMM-DATA)

END-EXEC.

EXEC CICS RETURN

END-EXEC.

MAIN-PROCESSING-EXIT.

GOBACK.

Sample code for loading the CWA

Exemplo de programa com LINK * Programa chamador

IDENTIFICATION DIVISION.

PROGRAM ID. 'PROG1'.

.

WORKING-STORAGE SECTION.

01 COM-REGION.

02 FIELD PICTURE X(3).

.

PROCEDURE DIVISION.

MOVE 'ABC' TO FIELD. EXEC CICS LINK PROGRAM('PROG2')

COMMAREA(COM-REGION)

LENGTH(3) END-EXEC.

.

* Programa chamado

IDENTIFICATION DIVISION.

PROGRAM-ID. 'PROG2'.

.

LINKAGE SECTION.

01 DFHCOMMAREA.

02 FIELD PICTURE X(3).

.

PROCEDURE DIVISION.

IF EIBCALEN GREATER ZERO

THEN

IF FIELD EQUALS 'ABC' ...

Exemplo de programa com passagem de dados via RETURN * Programa chamador

IDENTIFICATION DIVISION.

PROGRAM-ID. 'PROG1'.

.

WORKING-STORAGE SECTION.

01 TERMINAL-STORAGE.

02 FIELD PICTURE X(3).

02 DATAFLD PICTURE X(17).

.

PROCEDURE DIVISION.

MOVE 'XYZ' TO FIELD.

EXEC CICS RETURN TRANSID('TRN2')

COMMAREA(TERMINAL-STORAGE)

LENGTH(20) END-EXEC.

.

* Programa chamado

IDENTIFICATION DIVISION.

PROGRAM-ID. 'PROG2'

.

LINKAGE SECTION.

01 DFHCOMMAREA.

02 FIELD PICTURE X(3).

02 DATAFLD PICTURE X(17).

.

PROCEDURE DIVISION.

IF EIBCALEN GREATER ZERO

THEN

IF FIELD EQUALS 'XYZ'

MOVE 'ABC' TO FIELD.

EXEC CICS RETURN END-EXEC.

27 Comandos para manipulao de TS / TD

DELETEQ

Deleta dados (registros) da TS ou da TD.

Sintaxe

EXEC CICS

DELETEQ | TD | TS |

QUEUE(name)

[SYSID(name)]

END-EXECParmetros

|TD|TS| Indica se o registro a deletar da TD ou da TS.

QUEUE(name) Indica o nome da queue onde est o registro a ser deletado.

SYSID(systemname)

para sistemas remotos (no locais)

Exemplo

EXEC CICS DELETEQ TS

QUEUE (WS-NOME-TS)

END-EXEC

Retornos

IOERR

Erro indeterminado durante operao de I/O

ISCINVREQ

Erro indeterminado em sistema remoto

ITEMERR

Nmero do tem especificado invlido

LENGERR

Tamanho do registro invlido ou inexistente.

NOSPACE

Falta de espao para efetuar a operao.

QIDERR

A queue indicada no pde ser encontrada.

QZERO

A queue indicada est vazia.

SYSIDERR

O sistema remoto indicado est indisponvel ou no est definido.

READQ TD

L dados (registros) da TD.

READQ TD reads transient data from a queue (after which the record is no longer available).

If the READQ TD command attempts to access a record in a logically recoverable intrapartition queue that is being written to, or deleted by, another task, and there are no more committed records, the command waits until the queue is no longer being used for output. If, however, the NOSUSPEND option has been specified, or there is an active HANDLE CONDITION for QBUSY, the QBUSY condition is raised.

Sintaxe

READQ TD

QUEUE(name)

INTO(data-area)

SET(ptr-ref)

LENGTH(data-area)

SYSID(systemname)

NOSUSPEND

Parmetros

INTO(data-area)

Nome da rea para leitura do registro

LENGTH(data-area)

Tamanho (em uma halfword, em binrio) do registro a ser lido.

NOSUSPEND

No aguardar se o registro estiver com LOCK.

QUEUE(name) Indica o nome da queue (1-4 caracteres) a ser lida.

SET(pointer)

O CICS deve providenciar um buffer para a leitura, e retornar sua localizao para o aplicativo, aps nele colocar o registro lido.

SYSID(systemname)

Para sistemas remotos (no locais)

Exemplos

EXEC CICS READQ TD

QUEUE('CSML')

INTO(WS-REG-CSML)

LENGTH(TAM-REG)

END-EXEC

EXEC CICS READQ TD

QUEUE(EX1)

SET(PREF)

END-EXEC

Retornos

DISABLED, INVREQ, IOERR, ISCINVREQ, LENGERR, LOCKED, NOTAUTH, NOTOPEN, QBUSY, QIDERR, QZERO, SYSIDERR

DISABLED A queue est indisponvel.

Default : a task termina anormalmente.

INVREQ A queue expartition foi aberta como sada e foi dado um READQ.

Default : a task termina anormalmente.

IOERR Erro de I/O e o registro foi lido (se ele no conseguiu ser lido, a condio indicada QZERO).

Default : a task termina anormalmente.

ISCINVREQ O sistema remoto indica uma falha desconhecida.

Default : a task termina anormalmente.

LENGERR Um READQ foi dado para uma rea cujo tamanho insuficiente para conter o registro.

Default : a task termina anormalmente.

LOCKED A queue est com o acesso bloqueado.

Default : a task termina anormalmente.

NOTAUTH A task solicitante no tem autorizao para acessar a queue indicada.

Default : a task termina anormalmente.

NOTOPEN A queue extrapartition est fechada.

Default : a task termina anormalmente.

QBUSY Foi dado um READQ TD numa queue intrapartition que est sendo gravada / atualizada por outra task.

Default : condio ignorada

QIDERR A queue indicada no pde ser localizada.

Default : a task termina anormalmente.

QZERO A queue est vazia ou seu fim (EOF) foi atingido.

Default : a task termina anormalmente.

SYSIDERR O sistema remoto indicado no existe ou o link est fechado.

Default : a task termina anormalmente.

READQ TS

L dados (registros) da queue de TS.

Sintaxe

EXEC CICS READQ TS

( QUEUE() | QNAME() )

< SYSID() >

( SET() | INTO() )

< LENGTH() >

< ITEM() | NEXT >

< NUMITEMS() >

END-EXEC

Parmetros

INTO(data-area) Indica a rea onde o registro deve ser lido.

ITEM(data-value) Indica uma halfword que contm o nmero do tem que corresponde ao registro que se deseja ler.

LENGTH(data-area) Indica uma halfword que contm o tamanho do registro a ser lido.

Se for especificado INTO, no necessrio especificar LENGTH.

Se for especificado SET, LENGTH obrigatrio.

NEXT Indica que a leitura deve ser do prximo registro lgico sequencial (em relao ao ltimo lido pela task ou o primeiro, se no foi lido nenhum).

NUMITEMS(data-area) Indica uma halfword na qual o CICS coloca o nmero de itens que h na queue.

QUEUE(name) Indica o nome simblico (1-8 caracteres) da queue a ser lida.

QNAME(name) Indica nome simblico (1-16 caracteres) da queue a ser lida (alternativa a QUEUE).

SET

o CICS deve providenciar um buffer para a leitura, e retornar sua localizao para o aplicativo, aps nele colocar o registro lido.

SYSID(systemname)

para sistemas remotos (no locais)

Exemplos

EXEC CICS READQ TS

ITEM(1)

QUEUE(UNIQNAME)

INTO(DATA)

LENGTH(LDATA)

EXEC CICS READQ TS

QUEUE(DESCRQ)

SET(PREF)

LENGTH(LENG)

NEXT Retornos

INVREQ, IOERR, ISCINVREQ, ITEMERR, LENGERR, NOTAUTH, QIDERR, SYSIDERR

INVREQ occurs in either of the following situations:

the queue was created by CICS internal code.

the queue name specified consists solely of binary zeroes.

Default action: terminate the task abnormally.

IOERR RESP2 values:

5 There is an irrecoverable input/output error for a shared queue.

Default action: terminate the task abnormally.

ISCINVREQ O sistema remoto indica uma falha desconhecida.

Default action: terminate the task abnormally.

ITEMERR occurs in any of the following situations:

The item number specified is invalid (that is, outside the range of item numbers written to the queue).

An attempt is made to read beyond the end of the queue using the NEXT (default) option.

Default action: terminate the task abnormally.

LENGERR occurs when the length of the stored data is greater than the value specified by the LENGTH option.

This condition only applies to the INTO option and cannot occur with SET.

Default action: terminate the task abnormally.

NOTAUTH RESP2 values:

101 A resource security check has failed on QUEUE(name).

Default action: terminate the task abnormally.

QIDERR A queue indicada no pde ser localizada.

Default action: terminate the task abnormally.

SYSIDERR RESP2 values:

4 The CICS region in which the temporary storage command is executed fails to connect to the TS server managing the TS pool that supports the referenced temporary storage queue. (For example, this can happen if the CICS region is not authorized to access the temporary storage server).

SYSIDERR can also occur if the temporary storage server has not been started, or because the server has failed (or been stopped) while CICS continues executing.Also occurs in any of the following situations:

When the SYSID option specifies a name that is neither the local system nor a remote system (made known to CICS by defining a CONNECTION).

When the link to the remote system is closed.

Default action: terminate the task abnormally.

WRITEQ TD

Grava um registro lgico na TD.

Sintaxe

EXEC CICS WRITEQ TD

QUEUE()

< SYSID() >

FROM()

< LENGTH() >

END-EXECParmetros

FROM(data-area) Indica a rea de onde o registro ser obtido para gravao.

LENGTH(data-value) Indica uma halfword que contm o tamanho do registro a ser gravado.

QUEUE(name) Indica o nome simblico (1-4 caracteres) da queue a ser gravada.

SYSID(systemname)

para sistemas remotos (no locais).

Exemplos

EXEC CICS WRITEQ TD

QUEUE('CSML')

FROM(MESSAGE)

LENGTH(LENG)

Retornos

DISABLED A queue est indisponvel.

Default : task terminada anormalmente.

INVREQ Foi dado um WRITEQ numa extrapartition queue aberta como input.

Default : task terminada anormalmente.

IOERR Um I/O error ocorreu na gravao.

Default : task terminada anormalmente.

ISCINVREQ O sistema remoto indica uma falha desconhecida.

Default : task terminada anormalmente.

LENGERR

A WRITEQ no especifica um tamanho (LENGTH) consistente com o RECORDSIZE ou com o control interval do arquivo intrapartition.

Default : task terminada anormalmente.

LOCKED A queue est com o acesso bloqueado.

Default : task terminada anormalmente.

NOSPACE Falta de espao para efetuar a operao. Default : task terminada anormalmente.

NOTAUTH A task solicitante no tem autorizao para acessar a queue indicada.

Default : task terminada anormalmente.

NOTOPEN A queue extrapartition est fechada.

Default : task terminada anormalmente.

QIDERR A queue indicada no pde ser localizada.

Default : task terminada anormalmente.

SYSIDERR O sistema remoto indicado no existe ou o link est fechado.

Default : task terminada anormalmente.

WRITEQ TS

Grava dados (registros) na TS.

Sintaxe

EXEC CICS WRITEQ TS

( QUEUE() | QNAME() )

< SYSID() >

FROM()

< LENGTH() >

< NUMITEMS() | ITEM() < REWRITE > >

< MAIN | AUXILIARY >

< NOSUSPEND >

END-EXEC

Parmetros

AUXILIARY Indica que o registro deve ser gravado em disco (e no em memria).

FROM(data-area) Indica a rea de onde os dados so obtidos para a gravao.

ITEM(data-area) Indica uma halfword que contm o nmero do tem (registro) a ser substitudo (REWRITE deve ter sido tambm especificado).

LENGTH(data-value) Indica uma halfword que contm o tamanho do registro a ser gravado (max.= 32763).

MAIN Indica que o registro deve ser gravado em memria (e no em disco).

NOSUSPEND No suspender o programa se no houver espao (prosseguir, avisando por meio da condio de retorno NOSPACE). Somente para queue em disco.

NUMITEMS(data-area) Indica uma halfword na qual o CICS coloca o nmero de itens que h na queue, aps o WRITE.

QUEUE(name) Indica o nome simblico (1-8 caracteres) da queue a ser lida.

QNAME(name) Indica nome simblico (1-16 caracteres) da queue a ser lida (alternativa a QUEUE).

No usar X'FA' a X'FF', ou **, ou $$, ou DF no incio do nome (reservados para o CICS).

REWRITE Indica que o registro referenciado existe e ser regravado.

SYSID(systemname)

para sistemas remotos (no locais)

Retornos

INVREQ, IOERR, ISCINVREQ, ITEMERR, LENGERR, LOCKED, NOSPACE, NOTAUTH, QIDERR, SYSIDERR

INVREQ O nome da queue somente zeros binrios ou a queue est com lock ou a queue foi criada por CICS internal code.

Default : task termina anormalmente.

IOERR RESP2 values:

5 There is an irrecoverable input/output error for a shared queue.

Default : task termina anormalmente.

ISCINVREQ O sistema remoto indica uma falha desconhecida.

Default : task termina anormalmente.

ITEMERR O nmero do tem (registro) no vlido ou maior que o mximo (32767)

Default : task termina anormalmente.

LENGERR O tamanho especificado negativo, zero ou > 32763

Default : task termina anormalmente.

LOCKED RESP2 values:

0 The request cannot be performed because use of the queue has been restricted owing to a unit of work failing in-doubt.

Default : task termina anormalmente.

NOSPACE Foi especificado NOSUSPEND e no h espao para a gravaoda TS.

Default : task termina anormalmente.

NOTAUTH RESP2 values:

101 A resource security check has failed on QUEUE(name).

Default : task termina anormalmente.

QIDERR A queue referenciada no pde ser encontrada.

Default : task termina anormalmente.

SYSIDERR RESP2 values:

4 The CICS region in which the temporary storage command is executed fails to connect to the TS server managing the TS pool that supports the referenced temporary storage queue, or TS server has not been started, or server has failed (or been stopped), or the SYSID option specifies na invalid name or the link to the remote system is closed.

Default : task termina anormalmente.

28 Outros comandos

ASKTIME

Obtm data e hora (e atualiza EIBDATE e EIBTIME).

Sintaxe

ASKTIME ABSTIME(data-area)

Parmetros

ABSTIME(data-area) Indica uma rea que receber a hora no formato decimal compactado (milisegundos arredondados em centsimos desde 00:00 de 1 de Janeiro de 1900.

Exemplos

EXEC CICS ASKTIME ABSTIME(utime)

01 UTIME PIC S9(15) COMP-3. Fica com contedo similar a 002837962864820. ASSIGNColoca na varivel especificada a informao solicitada. Ex. nome do usurio.

Sintaxe

ASSIGN informao_solicitada(varivel)

Ver no Apndice a relao completa das informaes que podem ser obtidas.

Exemplo

03 WS-USUARIO-ID PIC X(08) VALUE SPACES.

EXEC CICS ASSIGN

USERID (WS-USUARIO-ID)

END-EXEC.

BIF DEEDIT

Desedita um campo (built-in function).

Caracteres alfabticos e especiais so removidos, e os dgitos restantes so alinhados direita e feito o preenchimento com zeros esquerda. Se o campo terminar com hfen (-) ou carriage return (CR) colocada zona negativa (X'D') no ltimo byte direita.

Se o ltimo byte direita tiver zona X'A' a X'F', e a parte numrica for X'0' a X'9', ele no alterado.

Sintaxe

BIF DEEDIT

FIELD(data-area)

LENGTH(data-value)

Parmetros

FIELD(data-area) Indica o campo a ser editado.

LENGTH(data-value) Indica o tamanho, em bytes.

Exemplo

EXEC CICS BIF DEEDIT

FIELD(CONTG)

LENGTH(9)

Remove todos os caracteres que no sejam dgitos decimais do campo CONTG, e retorna o resultado no mesmo campo.

Contedo Original Contedo retornado

14-6704/B 00146704B

$25.68 000002568

Retornos

LENGERR Se o LENGTH for menor que 1.

Default : task termina anormalmente.

FORMATTIME

Transforma data e hora do formato absoluto (oriundo do ASKTIME) num formato conforme solicitado.

Valores (de milisegundos, de origem) de meio segundo (ou menos) faltando para meia-noite so arredondados para 23:59:59.

Sintaxe

EXEC CICS FORMATTIME

ABSTIME()

< YYDDD() >

< YYMMDD() >

< YYDDMM() >

< DDMMYY() >

< MMDDYY() >

< YYYYDDD() >

< YYYYMMDD() >

< YYYYDDMM() >

< DDMMYYYY() >

< MMDDYYYY() >

< FULLDATE() >

< DATE() >

< DATEFORM() >

< DATESEP() >

< DAYCOUNT() >

< DAYOFWEEK() >

< YYYYDDMM() >

< DDMMYYYY() >

< MMDDYYYY() >

< FULLDATE() >

< DATE() >

< DATEFORM() >

< DATESEP() >

< DAYCOUNT() >

< DAYOFWEEK() >

< DAYOFMONTH() >

< MONTHOFYEAR() >

< YEAR() >

< TIME() < TIMESEP() > >

Parmetros

ABSTIME(data-area) Indica a rea que contm o valor (em decimal compactado) que equivale quantidade de milisegundos decorridos desde 00:00 de 1 de Janeiro de 1900, e deve ser convertido (em Cobol : PIC S9(15) COMP-3)

DATE(data-area) Indica a varivel que deve receber a data no formato especificado em DATEFORM.

Separadores sero colocados se necessrio.

Se no for solicitado separadores, o valor retornado alinhado esquerda, em 8 bytes.

DATEFORM(data-area) Indica a varivel onde o CICS devolve o formato definido pela instalao. O CICS retorna YYMMDD, DDMMYY, ou MMDDYY (6 caracteres) de acordo com o definido no sistema.

DATESEP(data-value) Indica o caracter que o CICS deve colocar como separador entre YY e MM e DD.

Se omitido, no ser colocado separador. Se especificado DATESEP(), assume barra (/).

DAYCOUNT(data-area) Indica a varivel onde o CICS coloca o nmero de dias decorridos desde 1 de Janeiro de1900 (dia 1); deve ser uma fullword (o nmero ser devolvido em binrio).

DAYOFMONTH(data-area) Indica a varivel onde o CICS deve retornar o nmero do dia no ms (nmero binrio em fullword).

DAYOFWEEK(data-area) Indica o nome da varivel (fullword) onde o CICS coloca o nmero (binrio) que indica o dia da semana : Domingo=0; 2feira=1; 3 feira=2; 4 feira=3; 5feira=4;6feira=5;Sbado=6.

DDMMYY(data-area) Indica a varivel (8 bytes em caracter) onde o CICS deve retornar a data, no formato dia/mes/ano (por ex.: 21/10/98 se for pedido separator /) ou sem as barras (por ex.: 211098 seguidos de 2 brancos se no for pedido separator).

DDMMYYYY(data-area) Indica a varivel (10 bytes em caracter) onde o CICS deve retornar a data, no formato dia/mes/ano (por ex.: 21/10/1998 se for pedido separator /) ou sem as barras (por ex.: 21101998 seguidos de 2 brancos se no for pedido separator).

FULLDATE(data-area) Indica a varivel (10 bytes em caracter) onde o CICS deve retornar a data, no formato indicado poer DATEFORM , com o ano com 4 dgitos.

MMDDYY(data-area) Indica a varivel (8 bytes em caracter) onde o CICS deve retornar a data, no formato ms/dia/ano (por ex.: 10/21/98 se for pedido separator /) ou sem as barras (por ex.: 102198 seguidos de 2 brancos se no for pedido separator).

MMDDYYYY(data-area) Indica a varivel (10 bytes em caracter) onde o CICS deve retornar a data, no formato ms/dia/ano (por ex.: 10/21/98 se for pedido separator /) ou sem as barras (por ex.: 102198 seguidos de 2 brancos se no for pedido separator).

MONTHOFYEAR(data-area) Indica a varivel na qual colocado o nmero do ms (fullword em binrio) : (Janeiro=1,... Dezembro=12).

TIME(data-area) Indica a varivel que deve receber o horrio (tipo 24hs , formato hh:mm:ss);

Separadores sero colocados conforme especificado em TIMESEP.

TIMESEP(data-value) Indica o caracter que o CICS deve colocar como separador entre HH e MM e SS.

Se omitido, ser assumido :.

YEAR(data-area) Indica a varivel na qual colocado o nmero do ano (fullword em binrio).

YYDDD(data-area) Indica a varivel (6 bytes) na qual o CICS coloca a data na forma YY/DDD (com separator se assim solicitado por DATESEP).

YYDDMM(data-area) Indica a varivel (8 bytes) na qual o CICS coloca a data na forma YY/DD/MM (ex.: 95/30/10) , com separator se assim solicitado via DATESEP.

YYMMDD(data-area) Indica a varivel (8 bytes) na qual o CICS coloca a data na forma YY/MM/DD (ex.: 95/10/30) , com separator se assim solicitado via DATESEP.

YYYYDDD(data-area) Indica a varivel (8 bytes) na qual o CICS coloca a data na forma YYYY/DDD (ex.: 1995/200) , com separator se assim solicitado via DATESEP.

YYYYDDMM(data-area) Indica a varivel (10 bytes) na qual o CICS coloca a data na forma YYYY/DD/MM (ex.: 1995/30/12) , com separator se assim solicitado via DATESEP.

YYYYMMDD(data-area) Indica a varivel (10 bytes) na qual o CICS coloca a data na forma YYYY/MM/DD (ex.: 1995/12/30) , com separator se assim solicitado via DATESEP.

Exemplos

EXEC CICS ASKTIME ABSTIME(ws-time)

Se devolver 002837962864828 em ws-time

EXEC CICS FORMATTIME ABSTIME(ws-time)

DATESEP('-') DDMMYY(ws-date)

TIME(ws-time) TIMESEP

Devolve 06-12-89 em ws-date e 19:01:05 em "ws-time".

EXEC CICS FORMATTIME

ABSTIME(WS-ABS)

YYMMDD (WS-YYMMDD)

END-EXEC

...

03 WS-YYMMDD.

05 WS-ANO PIC 9(02).

05 FILLER PIC X(01).

05 WS-MES PIC 9(02).

05 FILLER PIC X(01).

05 WS-DIA PIC 9(02).

Retornos

INVREQ RESP2 values:

1 The ABSTIME value is less than zero or not in packed-decimal format.

Default action: terminate the task abnormally.

HANDLE ABEND

Para tratamento de trmino anormal.

Pode ser emitido para ativar, reativar ou cancelar (desativar) um processamento do usurio (exit) referente a um trmino anormal.

Pode-se suspender o comando por meio de PUSH HANDLE e POP HANDLE.

Quando uma task termina anormalmente, o CICS verifica se deve ser ativada uma rotina do usurio (abend exit) ; a verificao comea no nvel do programa onde ocorreu o abend e continua nos nveis mais altos. No primeiro que for achada a existncia de exit (via HANDLE) o desvio (para a rotina indicada no HANDLE) efetuado.

Se for especificada COMMAREA, ela ser passada para o programa (caso PROGRAM seja especificado).

Sintaxe

EXEC CICS Handle ABend

< Label() | Program() | Cancel | Reset >

END-EXEC

Parmetros

CANCEL Indica que um exit estabelecido (ativado) anteriormente deve ser cancelado (desativado).

LABEL(label) Indica o procedure name do programa para onde deve ser efetuado o desvio quando o trmino anormal for detectado (s para Cobol).

PROGRAM(name) Indica o nome do programa para o qual o controle passado se a task terminar anormalmente.

O programa deve sempre terminar com ABEND (exceto se for chamado por erro de lgica do chamador).

RESET Indica que o exit desativado por um HANDLE ABEND CANCEL deve ser reativado.

Exemplo

EXEC CICS HANDLE ABEND

PROGRAM('EXITPGM')

END-EXEC

Retornos

NOTAUTH, PGMIDERR (PROGRAM only)

NOTAUTH Se o programa emitente no tiver autorizao para executar (chamar) o PROGRAM(name).

Default : task termina anormalmente.

PGMIDERR RESP2 values:

1 The program has no entry in the PPT and autoinstall for programs is not active.

2 The program is disabled.

9 The installed program definition is for a remote program.

Default : task termina anormalmente.

HANDLE AID

Estabelece que o processamento das condies de attention (AIDs = attention identifiers) especificadas deve ser feito pelo aplicativo (vlido somente para Cobol e PL/I).

Indica labels (nomes de pontos do programa; procedure names, no caso de Cobol) de rotinas para as quais o CICS deve passar o controle quando um AID recebido de um device (aps um