Você está na página 1de 93

CICS

Comandos

NOV/2004

SUMRIO
24 COMANDOS PARA ENVIAR E RECEBER MAPAS.................................................................................................3
RECEIVE MAP......................................................................................................................................................................3
SEND MAP.............................................................................................................................................................................6
25 COMANDOS PARA TRATAMENTO DE ARQUIVOS............................................................................................11
DELETE................................................................................................................................................................................14
ENDBR.................................................................................................................................................................................16
READ....................................................................................................................................................................................17
READNEXT.........................................................................................................................................................................20
READPREV..........................................................................................................................................................................23
RESETBR.............................................................................................................................................................................26
REWRITE.............................................................................................................................................................................28
STARTBR.............................................................................................................................................................................30
UNLOCK..............................................................................................................................................................................32
WRITE..................................................................................................................................................................................33
26 COMANDOS PARA TRANSFERNCIA DE CONTROLE ENTRE PROGRAMAS ..........................................35
LINK.....................................................................................................................................................................................36
RETURN...............................................................................................................................................................................40
XCTL.....................................................................................................................................................................................42
EXEMPLO DE PROGRAMA COM DIVERSAS FUNES CICS.....................................................................................................44
EXEMPLO DE PROGRAMA COM LINK ...................................................................................................................................45
EXEMPLO DE PROGRAMA COM PASSAGEM DE DADOS VIA RETURN ...................................................................................46
27 COMANDOS PARA MANIPULAO DE TS / TD..................................................................................................47
DELETEQ ............................................................................................................................................................................47
READQ TD...........................................................................................................................................................................49
READQ TS............................................................................................................................................................................52
WRITEQ TD.........................................................................................................................................................................55
WRITEQ TS..........................................................................................................................................................................57
28 OUTROS COMANDOS

..........................................................................................................................................59

ASKTIME.............................................................................................................................................................................59
ASSIGN................................................................................................................................................................................59
BIF DEEDIT.........................................................................................................................................................................59
FORMATTIME.....................................................................................................................................................................60
HANDLE ABEND................................................................................................................................................................63
HANDLE AID......................................................................................................................................................................65
HANDLE CONDITION.......................................................................................................................................................67
IGNORE CONDITION.........................................................................................................................................................68
POP HANDLE......................................................................................................................................................................69
PUSH HANDLE...................................................................................................................................................................69
SEND.....................................................................................................................................................................................69
SYNCPOINT........................................................................................................................................................................70
APNDICES............................................................................................................................................................................71
EXEC INTERFACE BLOCK - EIB FIELDS................................................................................................................................72
RESUMO COMANDOS CICS....................................................................................................................................................81
EIBRESP CODES (COVERS CODES PRODUCED FROM I/O CALLS).........................................................................................86
RETORNOS / HANDLE CONDITIONS .......................................................................................................................................87
ASSIGNS : INFORMAES QUE PODEM SER OBTIDAS .........................................................................................................89
ABENDS MAIS COMUNS DO CICS .......................................................................................................................................91

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)
3

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.

Exemplos
EXEC CICS RECEIVE
INTO (WS-ATIV-ENTRADA)
LENGTH (WS-LEN-RECEIVE)
END-EXEC.
EXEC CICS RECEIVE
MAP('PRINC')
MAPSET('TABMTRJ')
INTO(PRINCI)
END-EXEC

Retornos
Algumas 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 anormalmente
MAPFAIL

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.
4

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)
ACCUM
ALARM
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 <MAPPED>|ACCUM<<JUSFIRST|JUSLAST|JUSTIFY()><HEADER()><TRAILER()>>
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
6

Indica que somente dados do programa devem ser enviados.


especificados para cada campo.

Os bytes de atributo devem ser

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
7

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)
8

END-EXEC

ERASE FREEKB

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 dataflow 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.
9

10

25 Comandos para tratamento de arquivos

11

RESUMO DE COMANDOS PARA TRATAMENTO DE ARQUIVOS VSAM

Leitura de registros
Leitura direta
o READ
Leitura sequencial (browsing)
o STARTBR
o READNEXT
o READPREV
o RESETBR
o ENDBR
Leitura skip-sequencial
o READNEXT

Atualizao de registros
REWRITE
UNLOCK

Deleo de registros
DELETE

Incluso de registros
WRITE

12

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.

13

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.
14

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

15

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

16

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
17

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

END-EXEC.

READ

INTO
(RG-TABA537-537)
LENGTH (WS-LEN-TABA537)
KEYLENGTH (WS-KEYLEN-TABA537)
DATASET ('TABA537')
RIDFLD (ST-CHV-ARQ-537)
UPDATE

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.

18

Retornos

DISABLED
DUPKEY
FILENOTFOUND
ILLOGIC
INVREQ
IOERR
ISCINVREQ
LENGERR
LOADING
LOCKED
NOTAUTH
NOTFND
NOTOPEN
RECORDBUSY
SYSIDERR

19

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-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

20

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
21

ENDFILE
FILENOTFOUND
ILLOGIC
INVREQ
IOERR
ISCINVREQ
LENGERR
LOADING
LOCKED
NOTAUTH
NOTFND
RECORDBUSY
SYSIDERR

22

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)
23

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.

24

Retornos

DUPKEY
ENDFILE
FILENOTFOUND
INVREQ
IOERR
ISCINVREQ
LENGERR
LOCKED
NOTAUTH
NOTFND
RECORDBUSY
SYSIDERR

25

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)

26

Exemplos
EXEC CICS RESETBR
FILE
('TABA501')
RIDFLD (ST-CHV-ARQ-501)
END-EXEC

Retornos

FILENOTFOUND
ILLOGIC
INVREQ
IOERR
ISCINVREQ
NOTAUTH
NOTFND
SYSIDERR

27

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

Parmetros
FILE(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.

Exemplos
EXEC 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

28

Retornos

CHANGED
DUPREC
FILENOTFOUND
ILLOGIC
INVREQ
IOERR
ISCINVREQ
LENGERR
NOTFND
LOCKED
NOSPACE
NOTAUTH
RECORDBUSY
SYSIDERR

29

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 datatable), 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)


30

Exemplos
EXEC

CICS

READ
INTO
LENGTH

(RG-TABA537-537)
(WS-LEN-TABA537)

END-EXEC.
EXEC

CICS

END-EXEC.
EXEC

CICS

END-EXEC

STARTBR
DATASET ('TABA538')
RIDFLD (ST-CHV-ARQ-538)
STARTBR
FILE
RIDFLD
KEYLENGTH
GTEQ
NOHANDLE

('TABA627')
(ST-CHV-TAB-627)
(WS-KEY-LEN)

Retornos

DISABLED
FILENOTFOUND
ILLOGIC
INVREQ
IOERR
ISCINVREQ
LOADING
NOTAUTH
NOTFND
NOTOPEN
SYSIDERR

31

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

32

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)

33

Exemplos
EXEC CICS WRITE

END-EXEC

DATASET ('TABA538')
FROM
(RG-TABA538-538)
LENGTH (WS-LEN-TABA538)
KEYLENGTH (WS-KEYLEN-TABA538)
RIDFLD (ST-CHV-ARQ-538)

Retornos

DISABLED
DUPREC
FILENOTFOUND
ILLOGIC
INVREQ
IOERR
ISCINVREQ
LENGERR
LOADING
LOCKED
NOSPACE
NOTAUTH
NOTOPEN
RECORDBUSY
SUPPRESSED
SYSIDERR

34

26 Comandos para transferncia de controle entre programas

Application program logical levels

35

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-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).
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
SYNCONRETURN

Para sistemas remotos (no locais)


36

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 hotpooled 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.
37

LENGERR

RESP2 values:
11
The 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.
38

SYSIDERR

RESP2 values:
18
The 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.

39

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.

40

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.

41

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-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).
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')

Retornos
INVREQ, LENGERR, NOTAUTH, PGMIDERR

INVREQ

RESP2 values:
8
An 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 hotpooled program on the stack.
200
An XCTL command with the INPUTMSG option is issued in a program invoked by DPL.
42

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:
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
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.

43

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

44

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' ...

45

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.

46

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-EXEC

Parmetros
|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

47

A queue indicada no pde ser encontrada.


QZERO

A queue indicada est vazia.


SYSIDERR

O sistema remoto indicado est indisponvel ou no est definido.

48

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

49

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.


50

Default : a task termina anormalmente.

51

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)

52

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.
53

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.

54

WRITEQ TD
Grava um registro lgico na TD.

Sintaxe
EXEC CICS WRITEQ TD
QUEUE()
< SYSID() >
FROM()
< LENGTH() >
END-EXEC

Parmetros
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.


55

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.

56

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)
57

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:

58

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.

ASSIGN
Coloca 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.
59

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
14-6704/B
$25.68

Contedo retornado
00146704B
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() >
60

<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<

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
61

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.

62

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
05 FILLER
05 WS-MES
05 FILLER
05 WS-DIA

PIC
PIC
PIC
PIC
PIC

9(02).
X(01).
9(02).
X(01).
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.
63

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.

64

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
RECEIVE).
Para indicar que o programa no ir efetuar processamento do AID, deve-se especificar a condio
sem mencionar um label; usa-se para desativar HANDLEs anteriores que no mais se deseja
estejam ativos.
Se nenhum HANDLE AID estiver ativo para uma condio, aps o RECEIVE o processamento
continua na instruo seguinte (ao RECEIVE), quando ento pode-se testar EIBAID para verificar
qual tecla foi pressionada.
Num comando pode-se especificar no mximo 16 condies.

Sintaxe
EXEC CICS HANDLE AID
< ANYKEY() >
< CLEAR() >
< CLRPARTN() >
< ENTER() >
< LIGHTPEN() >
< OPERID() >
< TRIGGER() >
< PA1() >
< PA2() >
< PA3() >
< PF1() >
< PF2() >
< PF3() >
< PF4() >
< PF5() >
< PF6() >
< PF7() >
< PF8() >
< PF9() >
< PF10() >
< PF11() >
< PF12() >
< PF13() >
< PF14() >
< PF15() >
< PF16() >
< PF17() >
< PF18() >
< PF19() >
< PF20() >
< PF21() >
< PF22() >
< PF23() >
< PF24() >
END-EXEC

65

Parmetros

ANYKEY (PA key, qualquer PF key, ou CLEAR key, mas no o ENTER)


CLEAR (Clear key)
CLRPARTN (Clrpartn key)
ENTER (ENTER key)
LIGHTPEN (attention de light-pen)
OPERID (card reader do operador, magnetic slot reader - MSR, ou MSRE MSR Extended)
PA1, PA2, or PA3 (PA keys)
PF1 through PF24 (PF keys)
TRIGGER (trigger field attention)

Exemplo
EXEC CICS HANDLE AID PA1(LAB1)
ANYKEY(LAB2) PF10
END-EXEC
Para PA : procedure name LAB1;
Para CLEAR , PA2, PA3 e todas PFs (exceto PF10) : procedure name LAB2
Para PF10 ou ENTER : controle retorna para a instruo seguinte ao comando de input

Retornos
INVREQ

RESP2 values:
200
The command was issued by a distributed program link server application.
Default action: terminate the task abnormally.

66

HANDLE CONDITION
Para tratamento de condies (como fim de arquivo, registro duplicado, I/O error, etc..) pelo programa;
ver a relao completa das condies no apndice.
Pode ser emitido para ativar, reativar ou cancelar (desativar) um processamento do usurio (exit)
referente a um trmino anormal.
Especifica-se a condio desejada e o procedure name correspondente instruo para a qual
deseja-se passar o controle.
Se o procedure name for omitido, o tratamento pelo programa (previamente ativado) desativado.
Num comando pode-se especificar no mximo 16 condies.
Se ocorrer uma condio que no tenha sido especificada no HANDLE CONDITION a ao
default ser feita (ver no apndice)
O escopo de um HANDLE CONDITION refere-se somente ao programa onde ele foi especificado /
executado.
O comando HANDLE CONDITION fica ativo enquanto o programa est sendo executado OU
Um comando IGNORE CONDITION para a mesma condio executado
Outro comando HANDLE CONDITION com a mesma condio for executado
Um comando LINK executado para chamar outro programa CICS : o tratamento em vigor
para a(s) condio(es) no herdado pelo programa chamado.
O comando HANDLE CONDITION (pode ser) temporariamente desativado por um parmetro
NOHANDLE ou RESP

Sintaxe
HANDLE CONDITION condition[(label)]

Parmetros
condition(label)

Indica o nome da condio e o label do programa para onde ser efetuado o desvio; ver no apndice a
relao completa das condies.

Exemplos
EXEC CICS HANDLE CONDITION
ERROR(ERRHANDL)
DUPREC(DUPRTN) LENGERR
END-EXEC
EXEC CICS HANDLE CONDITION
DUPREC (200-TRATA-ALTERACAO)
NOTOPEN (510-CLIENTES-NOT-OPEN)
ERROR
(522-CLIENTES-ERROR)
LENGERR (560-CLIENTES-LENGTH)
DSIDERR (565-CLIENTES-DSIDERR)
IOERR
(570-CLIENTES-IOERR)
END-EXEC.

67

IGNORE CONDITION
Para desativar o tratamento de condies pelo programa, previamente ativadas por HANDLE
CONDITION.
Caso, portanto, ocorra a condio, o processamento continua na instruo seguinte ao comando que
causou a condio, e o EIB posicionado para que possa ser testado (caso o programa no seja
terminado anormalmente).
Num comando pode-se especificar no mximo 16 condies.

Sintaxe
IGNORE CONDITION condition

Parmetros
condition
Indica o nome da condio que se deseja ignorar; ver no apndice a relao completa das condies.

68

POP HANDLE
Restaura a condio de HANDLE salva por PUSH.

Sintaxe
EXEC CICS

POP HANDLE END-EXEC

Exemplo
EXEC CICS

POP HANDLE END-EXEC

PUSH HANDLE
Salva a condio de HANDLE ativa.

Sintaxe
EXEC CICS

PUSH HANDLE END-EXEC

Exemplo
EXEC CICS

PUSH HANDLE END-EXEC

SEND
Sintaxe
EXEC CICS SEND TEXT
FROM()
< LENGTH() >
< FMHPARM() >
< REQID() >
< CURSOR() >
< LDC() | < ACTPARTN() > < OUTPARTN() > >
< MSR() >
< SET() | PAGING | TERMINAL < WAIT > < LAST > >
< PRINT >
< FREEKB >
< ALARM >
< L40 | L64 | L80 | HONEOM >
< ERASE < DEFAULT | ALTERNATE > >
< NLEOM >
< NOEDIT < MAPPED > | ACCUM << JUSFIRST | JUSLAST | JUSTIFY() >
< HEADER() > < TRAILER() > > >
< FORMFEED >

69

Exemplos
EXEC CICS
SEND TEXT
FROM
(WS-TEXTO3)
LENGTH (+60)
END-EXEC.

SYNCPOINT
Sintaxe
EXEC CICS SYNCPOINT <ROLLBACK>
END-EXEC

Exemplos
EXEC CICS SYNCPOINT ROLLBACK
END-EXEC

70

APNDICES

71

EXEC Interface Block - EIB fields


Um programa pode ler o contedo de qualquer campo do EIB, mas no pode alterar seu contedo.
EIBAID

X(1).

Tem o attention identifier (AID) associado ltima operao (input ou control).

EIBATT
EIBCALEN

X(1).
S9(4) COMP.

EIBCOMPL

X(1).

EIBCONF
EIBCPOSN
EIBDATE

X(1).
S9(4) COMP
S9(7) COMP-3

Indica que a RU contem dados header incluidos (X'FF').


Tem o tamanho ca communication area que foi passada ao aplicativo pelo ltimo
programa, usando as opes COMMAREA e LENGTH. Se no foi passada
communication area, tem zeros.
Indica, num comando RECEIVE, se os dados esto completos (X'FF'). Se a opo
NOTRUNCATE foi usada no comando RECEIVE, o CICS retem os dados em excesso
(alm do especificado no LENGTH ou MAXLENGTH). O campo EIBRECV posicionado
indicando que mais RECEIVE so necessrios. O campo EIBCOMPL no posicionado
at que o ltimo dado seja obtido. O campo EIBCOMPL sempre posicionado se o
comando RECEIVE no tiver a opo NOTRUNCATE.
Indica que um CONFIRM foi recebido (X'FF') para uma APPC conversation.
Tem a posio (endereo) do cursor associado ltima operao de input / control.

EIBDS

X(8)

EIBEOC
EIBERR
EIBERRCD

X(1)
X(1)
X(4)

EIBFMH
EIBFN

X(1)
X(2)

Tem a data em que a task foi iniciada. Este campo atualizado quando emitido o
comando ASKTIME. O formato decimal compactado (0CYYDDD+) onde C indic ao
sculo (0 = 1900; 1 = 2000) . Por ex. : 31 de dezembro de 1999 e 1de janeiro de 2000
tem valores de EIBDATE respectivamente de 0099365 e 0100001 .
Tem o identificador simblico do ltimo arquivo referenciado numa operrao de arquivo.
Indica end-of-chain na RU recebida (X'FF').
Indica que um erro foi recebido (X'FF') numa APPC conversation.
Se EIBERR posicionado, EIBERRCD tem o cdigo do erro que foi rcebido. Nos 2
primeiros bytes de EIBERRCD pode ter : X'0889' (Conversation error detectado) ou
X'0824' (SYNCPOINT ROLLBACK requested).
Indica que os dados do usurio recebidos ou acessados tem um FMH (X'FF').
Tem um cdigo que identifica o ltimo comando CICS emitido pela task.
Code Command
0202
0204
0206
0208
020A
020C
020E
0210

ADDRESS
HANDLE CONDITION
HANDLE AID
ASSIGN
IGNORE CONDITION
PUSH HANDLE
POP HANDLE
ADDRESS SET

0402
0404
0406
0408
040A
040C
040E
0410
0412
0414
0416
0418
041A
041C
041E
0420
0422
0424
0426
0428
042A
042C
042E
0430
0432
0434
0436
0438
043A
043C

RECEIVE
SEND
CONVERSE
ISSUE EODS
ISSUE COPY
WAIT TERMINAL
ISSUE LOAD
WAIT SIGNAL
ISSUE RESET
ISSUE DISCONNECT
ISSUE ENDOUTPUT
ISSUE ERASEAUP
ISSUE ENDFILE
ISSUE PRINT
ISSUE SIGNAL
ALLOCATE
FREE
POINT
BUILD ATTACH
EXTRACT ATTACH
EXTRACT TCT
WAIT CONVID
EXTRACT PROCESS
ISSUE ABEND
CONNECT PROCESS
ISSUE CONFIRMATION
ISSUE ERROR
ISSUE PREPARE
ISSUE PASS
EXTRACT LOGONMSG

043E

EXTRACT ATTRIBUTES

0602
0604
0606
0608
060A
060C
060E
0610
0612
0614

READ
WRITE
REWRITE
DELETE
UNLOCK
STARTBR
READNEXT
READPREV
ENDBR
RESETBR

0802
0804
0806

WRITEQ TD
READQ TD
DELETEQ TD

0A02
0A04
0A06

WRITEQ TS
READQ TS
DELETEQ TS

0C02
0C04

GETMAIN
FREEMAIN

0E02
0E04
0E06
0E08
0E0A
0E0C
0E0E

LINK
XCTL
LOAD
RETURN
RELEASE
ABEND
HANDLE ABEND

1002
1004
1006
1008
1008
1008
100A
100C

ASKTIME
DELAY
POST
START
START ATTACH
START BREXIT
RETRIEVE
CANCEL

1202
1204
1206
1208

WAIT EVENT
ENQ
DEQ
SUSPEND

1402
1404
1406
1408

WRITE JOURNALNUM
WAIT JOURNALNUM
WRITE JOURNALNAME
WAIT JOURNALNAME

1602

SYNCPOINT

1802
1804
1806
1808
180A
180C
180E
1810
1812

RECEIVE MAP
SEND MAP
SEND TEXT
SEND PAGE
PURGE MESSAGE
ROUTE
RECEIVE PARTN
SEND PARTNSET
SEND CONTROL

1C02

DUMP

1E02
1E04
1E06
1E08
1E0A
1E0C
1E0E
1E10
1E12
1E14

ISSUE
ISSUE
ISSUE
ISSUE
ISSUE
ISSUE
ISSUE
ISSUE
ISSUE
ISSUE

2002

BIF DEEDIT

ADD
ERASE
REPLACE
ABORT
QUERY
END
RECEIVE
NOTE
WAIT
SEND

73

2004
2006
2008
200A
200C
200E
2014
2016
2018
201A
201C
201E

DEFINE COUNTER
GET COUNTER
UPDATE COUNTER
DELETE COUNTER
REWIND COUNTER
QUERY COUNTER
DEFINE DCOUNTER
GET DCOUNTER
UPDATE DCOUNTER
DELETE DCOUNTER
REWIND DCOUNTER
QUERY DCOUNTER

3402
3404
3406
3408
340E
3410
3412
3414
3416
3418
341A
341C
341E
3420
3422
3424
3426
3428
342A
342C
342E
3430
3432
3434
3436
3438
343A
343C

DEFINE ACTIVITY
DEFINE PROCESS
RUN ACTIVITY
RUN ACQPROCESS
ACQUIRE PROCESS
ACQUIRE ACTIVITYID
DELETE CONTAINER
GET CONTAINER
PUT CONTAINER
RESET ACTIVITY
CHECK ACTIVITY
CANCEL ACTIVITY
CANCEL ACQPROCESS
SUSPEND ACTIVITY
SUSPEND ACQPROCESS
RESUME ACTIVITY
RESUME ACQPROCESS
DELETE ACTIVITY
LINK ACQPROCESS
LINK ACTIVITY
CANCEL ACQACTIVITY
RUN ACQACTIVITY
LINK ACQACTIVITY
SUSPEND ACQACTIVITY
RESUME ACQACTIVITY
CHECK ACQPROCESS
CHECK ACQACTIVITY
RESET ACQPROCESS

3602
3602
3604
3608
360A
360E
3610
3612
3614
3616
3618
361A

DEFINE INPUT EVENT


DEFINE COMPOSITE EVENT
DELETE EVENT
ADD SUBEVENT
REMOVE SUBEVENT
TEST EVENT
RETRIEVE REATTACH EVENT
RETRIEVE SUBEVENT
DEFINE TIMER
DELETE TIMER
CHECK TIMER
FORCE TIMER

3802
3804
3806
3808
380A
380C
380E
3810
3814

WEB
WEB
WEB
WEB
WEB
WEB
WEB
WEB
WEB

3C02
3C04
3C06
3C08

DOCUMENT
DOCUMENT
DOCUMENT
DOCUMENT

3E0E
3E10

EXTRACT TCPIP
EXTRACT CERTIFICATE

4802
4804

ENTER TRACENUM
MONITOR

RECEIVE
SEND
READ
STARTBROWSE
READNEXT
ENDBROWSE HTTPHEADER
WRITE
EXTRACT
RETRIEVE
CREATE
INSERT
RETRIEVE
SET

74

4A02
4A04

ASKTIME ABSTIME
FORMATTIME

5602
5604
5606
5610

SPOOLOPEN
SPOOLREAD
SPOOLWRITE
SPOOLCLOSE

5E06
5E22
5E32

CHANGE TASK
WAIT EXTERNAL
WAITCICS

6A02
6C02
6C12

QUERY SECURITY
WRITE OPERATOR
ISSUE DFHWTO

7402
7404
7406
7408

SIGNON
SIGNOFF
VERIFY PASSWORD
CHANGE PASSWORD

7E02

DUMP TRANSACTION

Codes 82nn and 84nn are used by the CICS Front End Programming Interface.

EIBFREE

X(1)

EIBNODAT

X(1)

EIBRCODE

X(6)

Indica que o programa aplicativo no pode continuar usando um recurso. Deve liberar o
recurso ou terminar para que o recurso seja liberado pelo CICS. (X'FF').
Indica que no foram enviados dados pela aplicao remota (X'FF'). Uma mensagem foi
recebida do sistema remoto somente com informaes de controle.
Tem o response code (cdigo de retorno) do CICS depois que uma funo solicitada pelo
ltimo comando CICS foi completada.
Nota: para novos comandos onde EIBRESP e EIBRESP2 so os meios adequados de
obter o retorno do CICS, o byte 3 do EIBRCODE tem o mesmo valor de EIBRESP. Para
retorno normal, este campo tem 6X'00'
A lista a seguir tem os valores dos bytes e seus respectivos nomes associados aos
retornos, para teste (NOTAS NO FIM DESTA TABELA)
EIBFN
02 ..

EIBRCODE
E0 .. .. .. .. ..

Condition
INVREQ

04
04
04
04
04
04
04
04
04
04
04
04
04
04
04
04
04
04
04
04
04
04
04
04
04
04

..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..

04
10
C1
C2
D0
D2
D3
D4
D5
E0
E1
E3
E4
E5
E6
E7
E8
EA
EB
EC
ED
F1
..
..
..
..

..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
20
40
..
..

..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..

..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
F6
F7

..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..

..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..

EOF
EODS
EOF
ENDINPT
SYSIDERR (see note 1)
SESSIONERR (see note 2)
SYSBUSY (see note 3)
SESSBUSY
NOTALLOC
INVREQ (see note 4)
LENGERR (see note 5)
WRBRK
RDATT
SIGNAL
TERMIDERR
NOPASSBKRD
NOPASSBKWR
IGREQCD
CBIDERR
PARTNERIDERR
NETNAMEIDERR
TERMERR
EOC
INBFMH
NOSTART
NONVAL

06
06
06
06
06
06
06
06
06

..
..
..
..
..
..
..
..
..

01
02
03
05
08
0C
0D
0F
80

..
..
..
..
..
..
..
..
..

..
..
..
..
..
..
..
..
..

..
..
..
..
..
..
..
..
..

..
..
..
..
..
..
..
..
..

..
..
..
..
..
..
..
..
..

FILENOTFOUND
ILLOGIC (see note 6)
LOCKED
RECORDBUSY
INVREQ
NOTOPEN
DISABLED
ENDFILE
IOERR (see note 6)

75

06
06
06
06
06
06
06
06
06
06

..
..
..
..
..
..
..
..
..
..

81
82
83
84
85
86
D0
D1
D6
E1

..
..
..
..
..
..
..
..
..
..

..
..
..
..
..
..
..
..
..
..

..
..
..
..
..
..
..
..
..
..

..
..
..
..
..
..
..
..
..
..

..
..
..
..
..
..
..
..
..
..

NOTFND
DUPREC
NOSPACE
DUPKEY
SUPPRESSED
LOADING
SYSIDERR (see note 1)
ISCINVREQ
NOTAUTH
LENGERR

08
08
08
08
08
08
08
08
08
08
08
08

..
..
..
..
..
..
..
..
..
..
..
..

01
02
04
08
10
C0
D0
D1
D6
D7
E0
E1

..
..
..
..
..
..
..
..
..
..
..
..

..
..
..
..
..
..
..
..
..
..
..
..

..
..
..
..
..
..
..
..
..
..
..
..

..
..
..
..
..
..
..
..
..
..
..
..

..
..
..
..
..
..
..
..
..
..
..
..

QZERO
QIDERR
IOERR
NOTOPEN
NOSPACE
QBUSY
SYSIDERR (see note 1)
ISCINVREQ
NOTAUTH
DISABLED
INVREQ
LENGERR

0A
0A
0A
0A
0A
0A
0A
0A
0A

..
..
..
..
..
..
..
..
..

01
02
04
08
20
D0
D1
D6
E1

..
..
..
..
..
..
..
..
..

..
..
..
..
..
..
..
..
..

..
..
..
..
..
..
..
..
..

..
..
..
..
..
..
..
..
..

..
..
..
..
..
..
..
..
..

ITEMERR
QIDERR
IOERR
NOSPACE
INVREQ
SYSIDERR (see note 1)
ISCINVREQ
NOTAUTH
LENGERR

0C ..
0C ..

E1 .. .. .. .. ..
E2 .. .. .. .. ..

LENGERR
NOSTG

0E
0E
0E
0E
0E

..
..
..
..
..

01
D6
E0
E1
F1

..
..
..
..
..

..
..
..
..
..

..
..
..
..
..

..
..
..
..
..

..
..
..
..
..

PGMIDERR
NOTAUTH
INVREQ
LENGERR
TERMERR

10
10
10
10
10
10
10
10
10
10
10
10
10

..
..
..
..
..
..
..
..
..
..
..
..
..

01
04
11
12
20
81
D0
D1
D6
D8
E1
E9
FF

..
..
..
..
..
..
..
..
..
..
..
..
..

..
..
..
..
..
..
..
..
..
..
..
..
..

..
..
..
..
..
..
..
..
..
..
..
..
..

..
..
..
..
..
..
..
..
..
..
..
..
..

..
..
..
..
..
..
..
..
..
..
..
..
..

ENDDATA
IOERR
TRANSIDERR
TERMIDERR
EXPIRED
NOTFND
SYSIDERR (see note 1)
ISCINVREQ
NOTAUTH
USERIDERR
LENGERR
ENVDEFERR
INVREQ

12 ..
12 ..
12 ..

32 .. .. .. .. ..
E0 .. .. .. .. ..
E1 .. .. .. .. ..

ENQBUSY
INVREQ
LENGERR

14
14
14
14
14
14
14

01
02
05
06
07
09
D6

JIDERR
INVREQ
NOTOPEN
LENGERR
IOERR
NOJBUFSP
NOTAUTH

..
..
..
..
..
..
..

..
..
..
..
..
..
..

..
..
..
..
..
..
..

..
..
..
..
..
..
..

..
..
..
..
..
..
..

..
..
..
..
..
..
..

16 ..

01 .. .. .. .. ..

ROLLEDBACK

18
18
18
18
18
18

01
02
04
08
20
40

INVREQ
RETPAGE
MAPFAIL
INVMPSZ (see note 7)
INVERRTERM
RTESOME

..
..
..
..
..
..

..
..
..
..
..
..

..
..
..
..
..
..

..
..
..
..
..
..

..
..
..
..
..
..

..
..
..
..
..
..

76

EIBRECV
EIBREQID
EIBRESP

X(1)
X(1)
S9(8) COMP

18
18
18
18
18
18
18
18
18
18
18
18
18
18
18

..
..
..
..
..
..
..
..
..
..
..
..
..
..
..

80
E1
E3
E4
..
..
..
..
..
..
..
..
..
..
..

..
..
..
..
02
04
08
10
20
40
80
..
..
..
..

..
..
..
..
..
..
..
..
..
..
..
01
04
08
10

..
..
..
..
..
..
..
..
..
..
..
..
..
..
..

..
..
..
..
..
..
..
..
..
..
..
..
..
..
..

..
..
..
..
..
..
..
..
..
..
..
..
..
..
..

RTEFAIL
LENGERR
WRBRK
RDATT
PARTNFAIL
INVPARTN
INVPARTNSET
INVLDC
UNEXPIN
IGREQCD
TSIOERR
OVERFLOW
EODS
EOC
IGREQID

1A
1A
1A
1A
1A
1A
1A
1A
1A

..
..
..
..
..
..
..
..
..

E0
04
08
0C
10
E1
..
..
..

..
..
..
..
..
..
11
2B
..

..
..
..
..
..
..
..
..
20

..
..
..
..
..
..
..
..
..

..
..
..
..
..
..
..
..
..

..
..
..
..
..
..
..
..
..

INVREQ
DSSTAT
FUNCERR
SELNERR
UNEXPIN
LENGERR
EODS
IGREQCD
EOC

22 ..
4A ..

80 .. .. .. .. ..
.. .. .. 01 .. ..

INVEXITREQ
INVREQ

56
56
56
56
56
56
56
56
56
56
56
56
56
56
56

..
..
..
..
..
..
..
..
..
..
..
..
..
..
..

NOTFND
INVREQ
NOTOPEN
ENDFILE
ILLOGIC
LENGERR
NOSTG
NOTAUTH
NOSPOOL
ALLOCERR
STRELERR
OPENERR
SPOLBUSY
SPOLERR
NODEIDERR

..
..
..
..
..
..
..
..
..
..
..
..
..
..
..

..
..
..
..
..
..
..
..
..
..
..
..
..
..
..

..
..
..
..
..
..
..
..
..
..
..
..
..
..
..

0D
10
13
14
15
16
2A
46
50
55
56
57
58
59
5A

..
..
..
..
..
..
..
..
..
..
..
..
..
..
..

..
..
..
..
..
..
..
..
..
..
..
..
..
..
..

Indica que o programa aplicativo deve continuar a receber dados por RECEIVE (X'FF').
Tem o request identifier assinalado pelo CICS para um comando que use intervalo.
Tem o nmero que corresponde condio de RESP que ocorreu. Esses nmeros so
(em decimal):
No.
Condition
00
NORMAL
01
ERROR
02
RDATT
03
WRBRK
04
EOF
05
EODS
06
EOC
07
INBFMH
08
ENDINPT
09
NONVAL
10
NOSTART
11
TERMIDERR
12
FILENOTFOUND
13
NOTFND
14
DUPREC
15
DUPKEY
16
INVREQ
17
IOERR
18
NOSPACE
19
NOTOPEN
20
ENDFILE
21
ILLOGIC
22
LENGERR
23
QZERO
24
SIGNAL
25
QBUSY

77

26
27
28
29
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
53
54
55
56
57
58
59
60
61
62
63
64
65
66
69
70
72
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114

ITEMERR
PGMIDERR
TRANSIDERR
ENDDATA
EXPIRED
RETPAGE
RTEFAIL
RTESOME
TSIOERR
MAPFAIL
INVERRTERM
INVMPSZ
IGREQID
OVERFLOW
INVLDC
NOSTG
JIDERR
QIDERR
NOJBUFSP
DSSTAT
SELNERR
FUNCERR
UNEXPIN
NOPASSBKRD
NOPASSBKWR
SYSIDERR
ISCINVREQ
ENQBUSY
ENVDEFERR
IGREQCD
SESSIONERR
SYSBUSY
SESSBUSY
NOTALLOC
CBIDERR
INVEXITREQ
INVPARTNSET
INVPARTN
PARTNFAIL
USERIDERR
NOTAUTH
SUPPRESSED
NOSPOOL
TERMERR
ROLLEDBACK
END
DISABLED
ALLOCERR
STRELERR
OPENERR
SPOLBUSY
SPOLERR
NODEIDERR
TASKIDERR
TCIDERR
DSNNOTFOUND
LOADING
MODELIDERR
OUTDESCRERR
PARTNERIDERR
PROFILEIDERR
NETNAMERR
LOCKED
RECORDBUSY
UOWNOTFOUND
UOWLNOTFOUND
LINKABEND
CHANGED
PROCESSBUSY
ACTIVITYBUSY
PROCESSERR
ACTIVITYERR
CONTAINERERR
EVENTERR
TOKENERR
NOTFINISHED
POOLERR

78

115
116
117

EIBRESP2

S9(8) COMP

EIBRLDBK
EIBRSRCE

X(1)
X(8)

TIMERERR
SYMBOLERR
TEMPLATERR

Tem informaes mais detalhadas referentes condio de RESP ocorrida. Para requests
de files remotos, EIBRESP2 tem zeros.
Indica rollback.
Tem o symbolic identifier do recurso sendo acessado pelo ltimo comando, conforme
tabela a seguir :
Command type
Resource
Length
BMS
Map name
7
File control
File name
8
Interval control
Transaction name
4
Journal control
Journal number
H
Journal control
Journal name
8
Program control
Program name
8
Temporary storage control
TS queue name
8 or 16
Terminal control
Terminal name; LU name; LU6.1
session or APPC convid
4
Transient data control
TD queue name
4
Notes:
1. H= halfword binary.
2. Identifiers less than eight characters in length are padded on the right with blanks.
3. Identifiers greater than eight characters in length will be truncated.

EIBSIG

X(1)

Indica que foi recebido SIGNAL (X'FF').

EIBSYNC

X(1)

EIBSYNRB

X(1)

EIBTASKN
EIBTIME

S9(7) COMP-3
S9(7) COMP-3

Indica que o programa aplicativo deve efetuar um syncpoint ou terminar. Antes de fazer
isso, ele deve se assegurar que outros recursos que possui sejam postos em send state,
ou liberados (X'FF').
Indica que o programa aplicativo deve emitir um comando SYNCPOINT ROLLBACK
(X'FF').
Tem o nmero da task assinalado pelo CICS ( em decimal compactado)

EIBTRMID
EIBTRNID

X(4)
X(4)

Tem o horrio em que a task foi iniciada (atualizado pelo comando ASKTIME). Formato
decimal compactado (0HHMMSS+), podendo ter valores desde 0000000+ to 0240000+
(0000000+ e 0240000+ so vlidos).
Tem a identificao do terminal simblico do terminal ou LU associado task.
Tem o identificador da transao simblica da task.

Notas:
1. Se ocorrer SYSIDERR, informaes complementares existem nos bytes 1 e 2 de EIBRCODE :
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..

04
04
04
04
04
04
04
08
08
08
08
0C
0C
0C
0C
0C

00 .. .. ..
request was for a function that is not valid
04 .. .. ..
no session available and NOQUEUE
08 .. .. ..
modename not found (for APPC only).
0C .. .. ..
modename not valid (for APPC only).
10 .. .. ..
task canceled or timed out during allocation (for APPC only).
14 .. .. ..
mode group is out of service (for APPC only).
18 .. .. ..
close - DRAIN=ALL (for APPC only).
.. .. .. ..
sysid is not available.
00 .. .. ..
no session available, all sessions are out of service, or released, or being quiesced.
04 .. .. ..
no session available, request to queue rejected by XZIQUE global user exit program.
08 .. .. ..
no session available; request rejected by XZIQUE global user exit program.
xx .. .. ..
sysid definition error.
00 .. .. ..
name not that of TCTSE.
04 .. .. ..
name not that of remote TCTSE.
08 .. .. ..
mode name not found.
0C .. .. ..
profile not found.

2. Se ocorrer SESSIONERR, informaes complementares existem nos bytes 1 e 2 de EIBRCODE :


..
..
..
..

08
0C
0C
0C

.. .. .. ..
session out of service
xx .. .. ..
session definition error
00 .. .. ..
name not found
0C .. .. ..
profile not found.

79

3. Se ocorrer SYSBUSY num comando ALLOCATE, o byte 3 de EIBRCODE indica onde a condio de erro
foi detectada :
.. .. .. 00 .. ..
.. .. .. 01 .. ..
.. .. .. 02 .. ..

the request was for a session to a connected terminal or system.


the request was for a session to a remotely connected terminal or system, and the error
occurred in the terminal-owning region (TOR) or an intermediate system.
the request was for a session to a remotely connected terminal or system, and the error
occurred in the application-owning region (AOR)

4. Se ocorrer INVREQ, informaes adicionais podem existir nos bytes 1 ou 3 de EIBRCODE :


.. 24 .. .. .. ..
.. .. .. 04 .. ..
.. .. .. 08 .. ..
.. .. .. 0C .. ..
use.
.. .. .. 10 .. ..
.. .. .. 14 .. ..
.. .. .. 18 .. ..
.. .. .. 1C .. ..
.. .. .. 20 .. ..
.. .. .. 28 .. ..
.. .. .. 2C .. ..

ISSUE PREPARE command STATE error.


ALLOCATE command - TCTTE already allocated.
FREE command - TCTTE in wrong state.
CONNECT PROCESS command. SYNCLVL 2 requested but cannot be supported on session in
EXTRACT ATTACH command incorrect data.
SEND command - CONFIRM option specified, but conversation not SYNCLVL 1.
EXTRACT TCT command - incorrect netname.
an incorrect command has been issued for the terminal or logical unit in use.
an incorrect command has been issued for the LUTYPE6.2 conversation type in use.
GETMAIN failure on ISSUE PASS command.
Command invalid in DPL environment.

5. Se ocorrer LENGERR, informaes adicionais podem existir nos bytes 1 ou 3 de EIBRCODE :


..
..
..
..

00
04
08
0C

..
..
..
..

..
..
..
..

..
..
..
..

..
..
..
..

input data is overlong and has been truncated.


on output commands, an incorrect (FROM) LENGTH has been specified, either < zero or > 32.767.
on input commands, an incorrect (TO) LENGTH has been specified, > 32.767.
length error has occurred on ISSUE PASS command.

Note: This field is not used exclusively for the above and may take other values.
6. Se ocorrer ILLOGIC ou IOERR, informaes adicionais existem no campo EIBRCODE
.. xx xx xx xx ..
BDAM response.
.. xx .. .. .. ..
VSAM return code.
.. .. xx .. .. ..
VSAM error code.

onde :

byte 3 = VSAM problem determination code (ILLOGIC only)


byte 4 = VSAM component code (ILLOGIC only)

7. Se ocorrer INVMPSZ, o byte 3 do campo EIBRCODE tem o cdigo do terminal :


.. .. .. xx .. ..

terminal code.

80

Resumo comandos CICS


[ ] indicate optional parameters, [ | ] indicates a choice of one of the options listed (or none), { | }
indicates you must specify one of the options.
Abend
Address

Allocate
Asktime
Assign
Bif deedit
Build attach

Cancel
Change task
Connect process

Converse

Delay

Delete

Deleteq td
Deleteq ts
Deq
Dump

force the current task to terminate abnormally


EXEC CICS ABEND [ABCODE(name)] [CANCEL] [NODUMP] END-EXEC.
lets you access system information maintained in storage outside your program
EXEC CICS ADDRESS [ACEE(pointer-ref)] [COMMAREA(pointer-ref)]
[CSA(pointer-ref)] [CWA(pointer-ref)] [EIB(pointer-ref)] [TCTUA(pointer-ref)]
[TWA(pointer-ref)] END-EXEC.
establishes a distributed processing session with another system
EXEC CICS ALLOCATE SYSID(name) [PROFILE(name)] [NOQUEUE |
NOSUSPEND] [STATE(data-area)] END-EXEC.
obtain current time and date
EXEC CICS ASKTIME [ABSTIME(data-area)] END-EXEC.
obtain information from various system control areas
EXEC CICS ASSIGN option(data-area) END-EXEC.
formats alphanumeric data into numeric data
EXEC CICS BIF DEEDIT FIELD(data-area) [LENGTH(data-value)] END-EXEC.
creates an ATTACH FMH used to initiate a background transaction with LU6.1 or MRO
EXEC CICS BUILD ATTACH ATTACHID(name) [PROCESS(name)]
[RESOURCE(name)] [RPROCESS(name)] [RRESOURCE(name)] [QUEUE(name)]
[IUTYPE(data-value)] [DATASTR(data-value)] [RECFM(data-value)] END-EXEC.
cancels the effect of a DELAY, POST, or START command
EXEC CICS CANCEL [REQID(name)] [TRANSID(name)] [SYSID(name)] ENDEXEC.
changes the priority of the current task
EXEC CICS CHANGE TASK PRIORITY(data-value) END-EXEC.
initiates an application program on a remote system once a session has been
ALLOCATEd
EXEC CICS CONNECT PROCESS {CONV(name) | SESSION(name) }
PROCNAME(data-area) PROCLENGTH(data-area) SYNCLEVEL(data-area)
[PIPLIST(data-area) PIPLENGTH(data-value)] [STATE(data-area)] END-EXEC.
send data to a remote process and receive a response
EXEC CICS CONVERSE [CONVID(name) | SESSION(name)]
[ATTACHID(name)] FROM(data-area) { FROMLENGTH(data-area) |
FROMFLENGTH(data-area) } { INTO(data-area) | SET(pointer-ref) }
{TOLENGTH(data-area) | TOFLENGTH(data-area) } [MAXLENGTH(data-value) |
MAXFLENGTH(data-value)] [NOTRUNCATE] [STATE(data-area)] END-EXEC.
suspend a task
EXEC CICS DELAY [INTERVAL(hhmmss) | TIME(hhmmss) | FOR [HOURS(hh)]
[MINUTES(mm)] [SECONDS(ss)] | UNTIL [HOURS(hh)] [MINUTES(mm)]
[SECONDS(ss)]] [REQID(name)] END-EXEC.
remove a record from a file
EXEC CICS DELETE { DATASET(name) | FILE(name) } [RIDFLD(data-area)
[KEYLENGTH(data-value) [GENERIC [NUMREC(data-area)]]]] [RBA | RRN]
[SYSID(name)] END-EXEC.
remove a record from a transient data queue
EXEC CICS DELETEQ TD QUEUE(name) [SYSID(name)] END-EXEC.
Remove a record from a temporary storage queue
EXEC CICS DELETEQ TS QUEUE(name) [SYSID(name)] END-EXEC.
release a user defined resource
EXEC CICS DEQ RESOURCE(data-area) [LENGTH(data-value)] [LUW | TASK |
MAXLIFETIME(data-area)] END-EXEC.
force a storage dump
EXEC CICS DUMP [TRANSACTION] DUMPCODE(name) [FROM(data-area)
[LENGTH(data-value) | FLENGTH(data-value)]] [SEGMENTLIST(data-area)
LENGTHLIST(data-area) NUMSEGMENTS(data-area)] [COMPLETE] [TRT]
81

Endbr
Enq
Enter

Extract attach

Extract attributes
Extract process

Formattime

Free
Freemain
Getmain

Handle abend
Handle aid
Handle condition
Ignore condition
Link

Load

[TASK] [STORAGE] [PROGRAM] [TERMINAL] [TABLES] [DCT] [FCT] [PCT]


[PPT] [SIT] [TCT] END-EXEC.
terminate a browse operation
EXEC CICS ENDBR { DATASET(name) | FILE(name) } REQID(data-value)
[SYSID(name)] END-EXEC.
reserve a user defined resource
EXEC CICS ENQ RESOURCE(data-area) [LENGTH(data-value)] [NOSUSPEND]
[LUW | TASK | MAXLIFETIME(data-area)] END-EXEC.
write a user trace entry into the CICS trace table
EXEC CICS ENTER {TRACENUM(data-value) | TRACEID(data-value) }
[FROM(data-area) [FROMLENGTH(data-area)]] [RESOURE(data-area)]
[EXCEPTION] END-EXEC.
retrieve values from an ATTACH FMH
EXEC CICS EXTRACT ATTACH [ATTACHID(name) | CONVID(name) |
SESSION(name)] [PROCESS(name)] [RESOURCE(name)] [RPROCESS(name)]
[RRESOURCE(name)] [QUEUE(name)] [IUTYPE(data-value)] [DATASTR(datavalue)] [RECFM(data-value)] END-EXEC.
determine the current state of an MRO or APPC conversation
EXEC CICS EXTRACT ATTRIBUTES [CONVID(name) | SESSION(name)]
[STATE(data-value)] END-EXEC.
used in a back end program to obtain information passed via the CONNECT PROCESS
command in the front end program
EXEC CICS EXTRACT PROCESS [CONVID(name) | SESSION(name)]
[PROCNAME(data-value)PROCLENGTH(data-area) [MAXPROCLEN(datavalue)]] [SYNCLEVEL(data-area)] [PIPLIST(data-area) PIPLENGTH(data-value)]
END-EXEC.
convert time to required format
EXEC CICS FORMATTIME ABSTIME(data-value) [YYDDD(data-area)]
[YYMMDD(data-area)] [YYDDMM(data-area)] [DDMMYY(data-area)]
[MMDDYY(data-area)] [DATE(data-area) [DATEFORM(data-area)]]
[DATESEP[(data-value)]] [DAYCOUNT(data-area)] [DAYOFWEEK(data-area)]
[DAYOFMONTH(data-area)] [MONTHOFYEAR(data-area)] [YEAR(data-area)]
[TIME(data-area) [TIMESEP[(data-value)]]] END-EXEC.
release a distributed processing session
EXEC CICS FREE [CONVID(name) | SESSION(name)] [STATE(data-area)] ENDEXEC.
release virtual storage
EXEC CICS FREEMAIN { DATA(data-area) | DATAPOINTER(pointer-ref) }
END-EXEC.
acquire virtual storage
EXEC CICS GETMAIN SET(pointer-ref) { LENGTH(data-value) |
FLENGTH(data-value) [BELOW] } [INITIMG(data-value)] [NOSUSPEND]
[SHARED] {USERKEY | CICSKEY] END-EXEC.
establish abend exits
EXEC CICS HANDLE ABEND { PROGRAM(name) | LABEL(label) | CANCEL |
RESET } END-EXEC.
establish routines to be invoked when AID keys (enter, pf and pa keys) are detected by a
receive map
EXEC CICS HANDLE AID option [(label)] END-EXEC.
specifies how certain exception conditions should be processed
EXEC CICS HANDLE CONDITION condition-name [(label)] END-EXEC.
specifies that certain exception conditions should be ignored
EXEC CICS IGNORE CONDITION condition-name ... END-EXEC.
invoke a program, return to the next statement after completion
EXEC CICS LINK PROGRAM(name) [COMMAREA(data-area) [LENGTH(datavalue)] [DATALENGTH(data-value)]] [INPUTMSG(data-area)
[INPUTMSGLEN(data-value)]] [SYSID(name)] [SYNCONRETURN]
[TRANSID(name)] END-EXEC.
retrieve and load an object module and return its length and address
EXEC CICS LOAD PROGRAM(name) [SET(pointer-ref)] [LENGTH(data-area) |
82

FLENGTH(data-area)] [ENTRY(pointer-ref)] [HOLD] END-EXEC.


restores handle abend, aid, and conditions temporarily suspended by push handle
EXEC CICS POP HANDLE END-EXEC.
Post
create a Timer Event Control Area
EXEC CICS POST [INTERVAL(hhmmss) | TIME(hhmmss) | AFTER
[HOURS(hh)] [MINUTES(mm)] [SECONDS(ss)] | AT [HOURS(hh)]
[MINUTES(mm)] [SECONDS(ss)]] SET(pointer-ref) [REQID(name)] END-EXEC.
Purge message
delete a logical message before the task terminates
EXEC CICS PURGE MESSAGE END-EXEC.
Push handle
temporarily suspend handle abend, aid, and conditions
EXEC CICS PUSH HANDLE END-EXEC.
Read
read a record from a file
EXEC CICS READ { DATASET(name) | FILE(name) } { INTO(data-area) |
SET(pointer-ref) } [LENGTH(data-area)] RIDFLD(data-area)
[KEYLENGTH(data-area) [GENERIC]] [SYSID(name)] [RBA | RRN] [GTEQ |
EQUAL] [UPDATE] END-EXEC.
Readnext
read the next sequential record from a file
EXEC CICS READNEXT { DATASET(name) | FILE(name) } { INTO(data-area) |
SET(pointer-ref) } [LENGTH(data-area)] RIDFLD(data-area)
[KEYLENGTH(data-area)] [SYSID(name)] [RBA | RRN] [REQID(data-value)]
END-EXEC.
Readprev
read the previous sequential record from a file
EXEC CICS READPREV { DATASET(name) | FILE(name) } { INTO(data-area) |
SET(pointer-ref) } [LENGTH(data-area)] RIDFLD(data-area)
[KEYLENGTH(data-area)] [SYSID(name)] [RBA | RRN] [REQID(data-value)]
END-EXEC.
Readq td
read a record from a transient data queue
EXEC CICS READQ TD QUEUE(name) { INTO(data-area) | SET(pointer-ref) }
[LENGTH(data-area)] [SYSID(name)] [NOSUSPEND] END-EXEC.
Readq ts
read a record from a temporary storage queue
EXEC CICS READQ TS QUEUE(name) { INTO(data-area) | SET(pointer-ref) }
[LENGTH(data-area)] [NUMITEMS(data-area)] [ITEM(data-value) | NEXT]
[SYSID(name)] END-EXEC.
Receive (distributed) receive data sent by a remote process
EXEC CICS RECEIVE [CONVID(name) | SESSION(name)] { INTO(data-area) |
SET(pointer-ref) } { LENGTH(data-area) | FLENGTH(data-area) }
[MAXLENGTH(data-value) | MAXFLENGTH(data-value)] [NOTRUNCATE]
[STATE(data-area)] END-EXEC.
Receive (terminal) retrieve input data from a terminal
EXEC CICS RECEIVE { INTO(data-area) | SET(pointer-ref) } { LENGTH(dataarea) | FLENGTH(data-area) } [MAXLENGTH(data-value) | MAXFLENGTH(datavalue)] [NOTRUNCATE] [ASIS] [BUFFER] END-EXEC.
Receive map
receive data from a terminal via BMS
EXEC CICS RECEIVE MAP(name) [MAPSET(name)] [INTO(data-area) |
SET(pointer-ref)] [ASIS] END-EXEC.
Release
free virtual storage acquired via a load command
EXEC CICS RELEASE PROGRAM(name) END-EXEC.
Resetbr
re-establish position for a browse
EXEC CICS RESETBR { DATASET(name) | FILE(name) } RIDFLD(data-area)
[KEYLENGTH(data-value) [GENERIC]] [RBA | RRN] [GTEQ | EQUAL]
[REQID(data-value)] [SYSID(name)] END-EXEC.
Retrieve
retrieves data passed to another program via the start command
EXEC CICS RETRIEVE [INTO(data-area) | SET(pointer-ref)] [LENGTH(dataarea)] [RTRANSID(data-area)] [RTERMID(data-area)] [QUEUE(data-area)]
[WAIT] END-EXEC.
Return
return to the invoking program
EXEC CICS RETURN [TRANSID(name) [COMMAREA(data-area)
LENGTH(data-value)]] [IMMEDIATE]] [INPUTMSG(data-area)
[INPUTMSGLEN(data-value)]] END-EXEC.
Rewrite
updates a record in a file
Pop handle

83

Route

Send (distributed)

Send (terminal)

Send control

Send map

Send page
Send text

Send text noedit

Signoff
Signon

Start

Startbr

Suspend
Syncpoint

EXEC CICS REWRITE { DATASET(name) | FILE(name) } FROM(data-area)


[LENGTH(data-area)] [SYSID(name)] END-EXEC.
allows BMS messages to be routed to multiple terminals
EXEC CICS ROUTE [LIST(data-area)] [OPCLASS(data-area)]
[INTERVAL(hhmmss) | AFTER [HOURS(hh)] [MINUTES(mm)] [SECONDS(ss)] |
AT [HOURS(hh)] [MINUTES(mm)] [SECONDS(ss)]] [ERRTERM{(name)]]
[TITLE(data-area)] [REQID(name)] [NLEOM] END-EXEC.
send data to a remote process
EXEC CICS SEND [CONVID(name) | SESSION(name)] [ATTACHID(name)]
[FROM(data-area) [LENGTH(data-area) | FLENGTH(data-area)]] [INVITE |
LAST] [CONFIRM | WAIT] [STATE(data-area)] END-EXEC.
send data to a terminal
EXEC CICS SEND FROM(data-area) [LENGTH(data-area) | FLENGTH(dataarea)] [DEST(name)] [WAIT] [INVITE | LAST] [DEFRESP] [STRFIELD] [ERASE]
[CTLCHAR(data-area)] END-EXEC.
send device control instructions to a terminal
EXEC CICS SEND CONTROL [ERASEAUP | ERASE] [ALARM] [FREEKB]
[FRSET] [CURSOR(data-value)] [PRINT] [FORMFEED] [ACCUM] [PAGING |
TERMINAL [WAIT] [LAST]] [L40 | L64 | L80 | HONEOM] [REQID(name)] ENDEXEC.
send data to a terminal via BMS
EXEC CICS SEND MAP(name) [MAPSET(name)] [FROM(data-area)]
[LENGTH(data-value)] [DATAONLY | MAPONLY] [ERASEAUP | ERASE]
[ALARM] [FREEKB] [FRSET] [CURSOR(data-value)] [PRINT] [FORMFEED]
[NLEOM] [ACCUM] [PAGING | TERMINAL [WAIT]] [LAST] [L40 | L64 | L80 |
HONEOM] [REQID(name)] END-EXEC.
write the last page of a BMS message to temporary storage
EXEC CICS SEND PAGE [RELEASE [TRANSID(name)] | RETAIN] [AUTOPAGE
| NOAUTOPAGE] [OPERPURGE] [TRAILER(data-area)] END-EXEC.
send data to a terminal letting BMS automatically format the data
EXEC CICS SEND TEXT FROM(data-area) [LENGTH(data-value)] [ERASE]
[ALARM] [FREEKB] [CURSOR(data-value)] [PRINT] [FORMFEED] [NLEOM]
[ACCUM] [PAGING | TERMINAL [WAIT]] [LAST] [HEADER(data-area)]
[TRAILER(data-area)] [JUSTIFY(datavalue) | JUSFIRST | JUSLAST] [L40 | L64 |
L80 | HONEOM] [REQID(name)] END-EXEC.
send data to a terminal similar to terminal control but can direct to temporary storage
using paging option
EXEC CICS SEND TEXT NOEDIT FROM(data-area) [LENGTH(data-value)]
[ERASE] [ALARM] [FREEKB] [PRINT] [PAGING | TERMINAL [WAIT] [LAST]]
[L40 | L64 | L80 | HONEOM] [REQID(name)] END-EXEC.
signs the user off cics
EXEC CICS SIGNOFF END-EXEC.
signs the user on to cics
EXEC CICS SIGNON USERID(datavalue) [PASSWORD(data-value)]
[NEWPASSWORD(data-value)] [OIDCARD(data-value)] [NATLANG(data-value)]
[natlanginuse(data-area)] [ESMRESP(data-area)] END-EXEC.
initiate another task after or at a specified time
EXEC CICS START TRANSID(name) [INTERVAL(hhmmss) | TIME(hhmmss) |
AFTER [HOURS(hh)] [MINUTES(mm)] [SECONDS(ss)] | AT [HOURS(hh)]
[MINUTES(mm)] [SECONDS(ss)]] [TERMID(name)] [SYSID(name)]
[REQID(name)] [FROM(data-area) [LENGTH(data-value)]] [RTRANSID(name)]
[RTERMID(name)] [QUEUE(name)] [NOCHECK] [PROTECT] END-EXEC.
initiate a browse
EXEC CICS STARTBR { DATASET(name) | FILE(name) } RIDFLD(data-area)
[KEYLENGTH(data-area) [GENERIC]] [SYSID(name)] [RBA | RRN] [GTEQ |
EQUAL] [REQID(data-value)] END-EXEC.
temporarily return control to cics
EXEC CICS SUSPEND END-EXEC.
rollback or make permanent updates applied to protected resources
EXEC CICS SYNCPOINT [ROLLBACK] END-EXEC.
84

Unlock
Wait convid
Wait event
Wait journalnum

Write

Write journalnum

Write operator

Writeq td
Writeq ts

Xctl

release a record held by a READ UPDATE command


EXEC CICS UNLOCK { DATASET(name) | FILE(name) } [SYSID(name)] ENDEXEC.
suspend task until accumulated data has been transmitted during an APPC conversation
EXEC CICS WAIT CONVID(name) [STATE(data-area)] END-EXEC.
delay the task until a previously issued POST has expired
EXEC CICS WAIT EVENT ECADDR(pointer-value) END-EXEC.
synchronizes the current task with a previously written journal entry by suspending the
task until the record has been successfully written to the journal file
EXEC CICS WAIT JOURNALNUM(data-value) [REQID(data-value)] [STARTIO]
END-EXEC.
write a record to a file
EXEC CICS WRITE { DATASET(name) | FILE(name) } FROM(data-area)
[LENGTH(data-area)] RIDFLD(data-area) [KEYLENGTH(data-area)]
[SYSID(name)] [RBA | RRN] [MASSINSERT] END-EXEC.
write a record to the journal file
EXEC CICS WRITE JOURNALNUM(data-value) JTYPEID(data-value)
FROM(data-area) [LENGTH(data-area)] [PREFIX(data-value) [PFXLENG(datavalue)]] [REQID(data-area)] [WAIT] [STARTIO] [NOSUSPEND] END-EXEC.
write a message to a system console
EXEC CICS WRITE OPERATOR TEXT(data-value) [TEXTLENGTH(data-value)]
[ROUTECODES(data-value) [NUMROUTES)data-value)]] [ACTION(data-value) |
EVENTUAL | IMMEDIATE | CRITICAL | REPLY(data-area)
MAXLENGTH(data-value) [REPLYLENGTH(data-area)] [TIMEOUT(datavalue)]] END-EXEC.
write a record to a transient data queue
EXEC CICS WRITEQ TD QUEUE(name) FROM(data-area) [LENGTH(dataarea)] [SYSID(name)] END-EXEC.
write a record to a temporary storage queue
EXEC CICS WRITEQ TS QUEUE(name) FROM(data-area) [LENGTH(data-area)]
[ITEM(data-value) [REWRITE]] [NUMITEMS(data-area)] [SYSID(name)] [MAIN |
AUXILIARY] [NOSUSPEND] END-EXEC.
terminate the current program and execute the one specified
EXEC CICS XCTL PROGRAM(name) [COMMAREA(data-area) [LENGTH(datavalue)]] [INPUTMSG(data-area) [INPUTMSGLEN(data-value)]] END-EXEC.

85

EIBRESP Codes (covers codes produced from I/O calls)


Value
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
53
54

Condition
NORMAL
ERROR
RDATT
WRBRK
EOF
EODS
EOC
INBFMH
ENDINPT
NONVAL
NOSTART
TERMIDERR
FILENOTFOUND
NOTFND
DUPREC
DUPKEY
INVREQ
IOERR
NOSPACE
NOTOPEN
ENDFILE
ILLOGIC
LENGERR
QZERO
SIGNAL
QBUSY
ITEMERR
PGMIDERR
TRANSIDERR
ENDDATA
EXPIRED
RETPAGE
RTEFAIL
RTESOME
TSIOERR
MAPFAIL
INVERRTERM
INVMPSZ
IGREQID
OVERFLOW
INVLDC
NOSTG
JIDERR
QIDERR
NOJBUFSP
DSSTAT
SELNERR
FUNCERR
UNEXPIN
NOPASSBKRD
NOPASSBKWR
SYSIDERR
ISCINVREQ

Value
55
56
57
58
59
60
61
62
63
64
65
66
69
70
72
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
121

Condition
ENQBUSY
ENVDEFERR
IGREQCD
SESSIONERR
SYSBUSY
SESSBUSY
NOTALLOC
CBIDERR
INVEXITREQ
INVPARTNSET
INVPARTN
PARTNFAIL
USERIDERR
NOTAUTH
SUPPRESSED
NOSPOOL
TERMERR
ROLLEDBACK
END
DISABLED
ALLOCERR
STRELERR
OPENERR
SPOLBUSY
SPOLERR
NODEIDERR
TASKIDERR
TCIDERR
DSNNOTFOUND
LOADING
MODELIDERR
OUTDESCRERR
PARTNERIDERR
PROFILEIDERR
NETNAMERR
LOCKED
RECORDBUSY
UOWNOTFOUND
UOWLNOTFOUND
LINKABEND
CHANGED
PROCESSBUSY
ACTIVITYBUSY
PROCESSERR
ACTIVITYERR
CONTAINERERR
EVENTERR
TOKENERR
NOTFINISHED
POOLERR
TIMERERR
SYMBOLERR
TEMPLATERR
RESUNAVAIL

86

Retornos / Handle Conditions


ACTIVITYBUSY
ACTIVITYERR
ALLOCERR
CBIDERR
CONTAINERERR
CHANGED
CSDERR
DISABLED
DSNNOTFOUND
DSSTAT
DUPKEY
DUPREC
DUPRES
END
ENDDATA
ENDFILE
ENDINPT
ENQBUSY
ENVDEFERR
EOC
EODS
EOF
ERROR
EVENTERR
EXPIRED
FILENOTFOUND
FUNCERR
IGREQCD
IGREQID
ILLOGIC
INBFMH
INVERRTERM
INVEXITREQ
INVLDC
INVMPSZ
INVPARTN
INVPARTNSET
INVREQ
INVTSREQ
IOERR
ISCINVREQ
ITEMERR
JIDERR
LENGERR
LINKABEND
LOADING
LOCKED
MAPFAIL
MODELIDERR
NETNAMEIDERR
NODEIDERR
NOJBUFSP
NONVAL
NOPASSBKRD
NOPASSBKWR
NOSPACE
NOSPOOL
NOSTART
NOSTG
NOTALLOC
NOTAUTH
NOTFINISHED
NOTFND
NOTOPEN
OPENERR

87

OUTDESCRERR
OVERFLOW
PARTNERIDERR
PARTNFAIL
PGMIDERR
POOLERR
PROCESSBUSY
PROCESSERR
PROFILEIDERR
QBUSY
QIDERR
QZERO
RDATT
RECORDBUSY
RESIDERR
RESUNAVAIL
RETPAGE
ROLLEDBACK
RTEFAIL
RTESOME
SELNERR
SESSBUSY
SESSIONERR
SIGNAL
SPOLBUSY
SPOLERR
STRELERR
SUPPRESSED
SYMBOLERR
SYSBUSY
SYSIDERR
TASKIDERR
TCIDERR
TEMPLATERR
TERMERR
TERMIDERR
TIMERERR
TOKENERR
TRANSIDERR
TSIOERR
UNEXPIN
UOWLNOTFOUND
UOWNOTFOUND
USERIDERR
VOLIDERR

88

ASSIGNs : informaes que podem ser obtidas


<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<

ABCODE() >
ABDUMP() >
ABPROGRAM() >
ACTIVITY() >
ACTIVITYID() >
ALTSCRNHT() >
ALTSCRNWD() >
APLKYBD() >
APLTEXT() >
APPLID() >
ASRAINTRPT() >
ASRAKEY() >
ASRAPSW() >
ASRAREGS() >
ASRASPC() >
ASRASTG() >
BRIDGE() >
BTRANS() >
CMDSEC() >
COLOR() >
CWALENG() >
DEFSCRNHT() >
DEFSCRNWD() >
DELIMITER() >
DESTCOUNT() >
DESTID() >
DESTIDLENG() >
DS3270() >
DSSCS() >
EWASUPP() >
EXTDS() >
FACILITY() >
FCI() >
GCHARS() >
GCODES() >
GMMI() >
HILIGHT() >
INITPARM() >
INITPARMLEN() >
INPARTN() >
INVOKINGPROG() >
KATAKANA() >
LANGINUSE() >
LDCMNEM() >
LDCNUM() >
MAPCOLUMN() >
MAPHEIGHT() >
MAPLINE() >
MAPWIDTH() >
MSRCONTROL() >
NATLANGINUSE() >
NETNAME() >
NEXTTRANSID() >
NUMTAB() >
OPCLASS() >
OPID() >
ORGABCODE() >
OUTLINE() >
PAGENUM() >
89

<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<

PARTNPAGE() >
PARTNS() >
PARTNSET() >
PRINSYSID() >
PROCESS() >
PROCESSTYPE() >
PROGRAM() >
PS() >
QNAME() >
RESSEC() >
RESTART() >
RETURNPROG() >
SCRNHT() >
SCRNWD() >
SIGDATA() >
SOSI() >
STARTCODE() >
STATIONID() >
SYSID() >
TASKPRIORITY() >
TCTUALENG() >
TELLERID() >
TERMCODE() >
TERMPRIORITY() >
TEXTKYBD() >
TEXTPRINT() >
TRANPRIORITY() >
TWALENG() >
UNATTEND() >
USERID() >
USERNAME() >
USERPRIORITY() >
VALIDATION() >

90

ABENDS mais comuns do CICS


Erro

Explanao

Soluo / Ao / Observao

ABM0

The specified map was not found


in the specified mapset.

AEIx
...
AEYx

There are numerous abends that


start with AEI or AEY. They
indicate that an exception has
occured, and RESP (or NOHANDLE)
is not is use. The last
character indicates the exact
error.
CICS detected an exceptional
condition for which no EXEC CICS
HANDLE CONDITION command is
active and the RESP or NOHANDLE
option is not included in the
associated command.
Because of their similar
characteristics, these abnormal
termination codes for the EXEC
interface program are described
as a group.

An ABM0 error means that the map name in the


COBOL program does not match the map name in
front of the DFHMDI assembler macro. Review
the COBOL and assembler programs and make sure
that the names match.
This error can occur when executing either a
SEND MAP or RECEIVE MAP command.
Check that you have not misspelled the map
name.
AEIA
ERROR
AEID
EOF (end of file)
AEIE
EODS
AEIG
INBFMH
AEIH
ENDINPT
AEII
NONVAL
AEIJ
NOSTART
AEIK
TERMIDERR
AEIL
FILENOTFOUND
AEIM
NOTFND
AEIN
DUPREC
AEIO
DUPKEY
AEIP
INVREQ
AEIQ
IOERR
AEIR
NOSPACE
AEIS
NOTOPEN
AEIT
ENDFILE
AEIU
ILLOGIC
AEIV
LENGERR (*)
AEIW
QZERO
AEIZ
ITEMERR
AEI0
PGMIDERR
AEI1
TRANSIDERR
AEI2
ENDDATA
AEI3
INVTSREQ
AEI8
TSIOERR
AEI9
MAPFAIL
AEYA
INVERRTERM
AEYB
INVMPSZ
AEYC
IGREQID
AEYE
INVLDC
AEYG
JIDERR
AEYH
QIDERR
AEYJ
DSSTAT
AEYK
SELNERR
AEYL
FUNCERR
AEYM
UNEXPIN
AEYN
NOPASSBKRD
AEYO
NOPASSBKWR
AEYP
SEGIDERR
AEYQ
SYSIDERR
AEYR
ISCINVREQ
AEYT
ENVDEFERR
AEYU
IGREQCD
AEYV
SESSIONERR
AEYX
USERIDERROR
AEYY
NOTALLOC
AEYZ
CBIDERR
AEY0
INVEXITREQ
AEY1
INVPARTNSET
AEY2
INVPARTN
AEY3
PARTNFAIL
AEY7
NOTAUTH
AEY9
DB2/IDMS database is not up

91

Alguns detalhes
AEI0 = A PGMIDERR has occurred. This typically
occurs if the SNPNAME= operand specified the
wrong name for the signon program and TNDGMM
has attempted to EXEC CICS LINK to a program
that is not defined in the PPT. Check that the
TNDCICS SNPNAME= operand during the TNDGMM
assembly specified the proper signon program
name.
AEI1 = AEI1 is the CICS transaction abend
indicating TRANSIDERR or invalid transaction
code used. This will typically mean that
TNDGMM has attempted to EXEC CICS START an
initial transaction which is not known to
CICS.
The transaction that entered CICS via the SSI
or SSX is not defined (or is disabled) within
CICS' PCT. Display the status of the
transaction (CEMT, etc.) and evaluate why CICS
would not accept the transaction id.
AEI9 = There are two possible reasons why this
abend has occurred:
The data to be mapped has a length of zero or
does not contain a set-buffer-address (SBA)
sequence. It applies to 3270 devices only. The
receiving data area holds the unmapped input
data stream. The amount of unmapped data moved
to the user's area is limited to the length
specified in the LENGTH option of the RECEIVE
MAP command.
The program has issued a RECEIVE MAP command
to which the terminal operator has responded
by pressing (a) either a CLEAR or PA key, (b)
ENTER, or (c) a function key without entering
data.
AEIV = There are 3 possible reasons why this
abend has occurred:
1 - The record length (01 RECORD-LENGTH PIC
S9(4) COMP VALUE...) specified in workingstorage does not match the record length
stored on the file
2 - The calculated record length, obtained
from adding up the number of characters
defined in the working storage layout does not
match the specified record length (RECORDLENGTH) or the length stored on the file
3 - The picture given to RECORD-LENGTH is not
stored as a two byte field. Usually this error
occurs because the picture is S9(8) instead of
S9(4) or is not COMP.

AFCA
AICA

A dataset could not be accessed


because it was disabled.
indicates time-out

This abend usually occurs if your program is


looping. There are CICS parameters that
determine how long a task can run without
giving up control. The ICVR parameter in the
CICS SIT table can be used to specify a value
for all tasks running in CICS, or you can
specify a RUNAWAY value when you define a
transaction . If a program is looping then you
may not get an AICA abend, because the timer
can be reset when certain events occur, eg
some EXEC CICS commands may reset the timer to
zero.

92

AKCP
AKCT
APCT

ASRA
ATCH

ATCI

AKCP and AKCT indicate that a


timeout of the task occurred.
AKCP and AKCT indicate that a
timeout of the task occurred.
A program was not found or was
disabled.
(An APCT error means that mapset
name in the COBOL program does
not match the mapset name in
front of the DFHMSD assembler
macro. Review the COBOL and
assembler programs and make sure
that the names match. This error
can occur when executing either
a SEND MAP or RECEIVE MAP
command.)
It indicates a Program Check
Exception, roughly equivalent to
having an S0C7 in a batch
program.
ATCH and ATCI indicates that the
task was purged. The task may
have been purged by someone
issuing a CEMT command to purge
the task, or by CICS because the
Deadlock timeout limit has been
exceeded or because there was
not enough virtual storage
available to run all the tasks
in CICS (Short on Storage)
ATCH and ATCI indicates that the
task was purged. The task may
have been purged by someone
issuing a CEMT command to purge
the task, or by CICS because the
Deadlock timeout limit has been
exceeded or because there was
not enough virtual storage
available to run all the tasks
in CICS (Short on Storage)

This may be due to a deadlock.


This may be due to a deadlock.
Check the transaction definition to see if the
program name was misspelled.
Check that the program is enabled.
Check that the program is in an appropriate
Load Library (ie one defined to the current
CICS system).

Check for spaces in a packed decimal numeric


field and changes to the file and record
layouts.

93

Você também pode gostar