Beruflich Dokumente
Kultur Dokumente
SEND................................................................................................................................................................2
RECEIVE.........................................................................................................................................................4
CONTROLE DE PROGRAMA........................................................................................................................6
LINK.................................................................................................................................................................6
XCTL................................................................................................................................................................8
RETURN........................................................................................................................................................10
ABEND..........................................................................................................................................................12
MEMRIA TEMPORRIA...........................................................................................................................13
WRITEQ TS...................................................................................................................................................13
READQ TS.....................................................................................................................................................16
DELETEQ TS.................................................................................................................................................18
CONTROLE DE MAPAS...............................................................................................................................19
SEND MAP....................................................................................................................................................19
Controle de terminal
SEND
SINTAXE
EXEC CICS SEND
FUNO
Envia o contedo de <rea de dados> para o terminal ou uma unidade logica.
OPES
FROM (<rea de dados>)
Especifica o nome da rea de dados que contem o contedo a ser enviado
ao terminal ou unidade lgica.
LENGTH (<tam. rea de dados>)
Especifica o nome de uma varivel que contem o tamanho em bytes da
<rea de dados>.
O formato da rea de dados deve ser BIN FIXED(15).
WAIT
?
ERASE
Limpa o contudo existente na tela do terminal, antes de enviar a nova
<rea de dados>.
EXEMPLOS
DCL
AX_MENS
CHAR(11)
INIT(TREINAMENTO);
Se for codificado uma <rea de dados> maior que o <tam. rea de dados>, ser
truncado o contedo da rea de dados para o tamanho que estiver especificado no
LENGTH, no ativando a funo LENGERR.
Se o SEND...FROM for utilizado sem a clusula ERASE o contudo da <rea de
dados> ser mostrado a partir (inclusive) da posio em que o cursos estiver
posicionado no vdeo, sobrepondo somente o contedo das posies que sero
utilizadas pelo SEND..FROM.
RECEIVE
SINTAXE
EXEC CICS RECEIVE
INTO (<rea de dados>)
[LENGTH (<tam. rea de dados>)];
EXEC CICS RECEIVE
SET (<pointer>)
[LENGTH (<tam. rea de dados>)];
FUNO
Ler dados de um terminal ou uma unidade lgica.
OPES
INTO (<rea de dados>)
Especifica o nome da rea de dados que receber os dados capturados do
terminal.
SET
(<pointer>)
Especifica o POINTER, onde ser armazenado o endereco inicial da rea
que ter os dados capturados do terminal.
EXEMPLOS
DCL
AX_MENS
CHAR(11)
INIT( );
INTO (AX_MENS)
LENGTH(11);
DCL
DCL
AX_MENS
P
CHAR(11)
POINTER;
BASE(P);
SET (P)
LENGTH(11);
DICAS
Se as informaes capturadas na tela tiverem um tamanho menor do que a <rea
de dados> o CICS colocar a mensagem na rea de dados e no alterar o
contedo dos bytes a direita restantes.
O <tam. rea de dados> ser alterada para o tamanho em bytes capturado na
tela.
Se as informaes capturadas na tela tiverem um tamanho maior do que a <rea
de dados> o CICS truncar o contedo. Os caracteres direita sero ignorados.
O <tam. rea de dados> ser alterada para o tamanho em bytes capturado na tela
e ser ativada a condio de erro (LENGERR erro de comprimento).
O LENGERR no ocorrer caso o RECEIVE esteja sendo usado com a opo SET
pois o SET ir somente enderear o rea (TIOA) onde encontra-se a informao
recebida pelo terminal, mas importante atentar para se a rea recebida for maior
ou menor que o esperedo pode causar um STORAGE VIOLATION
(invaso
de rea) podendo prejudicar outras aplicaes ou desativar o CICS.
Controle de Programa
LINK
SINTAXE
EXEC CICS LINK
FUNO
Passa o controle de um programa de aplicao de nvel superior para um
programa
de nvel inferior.
OPES
PROGRAM
(<nome do programa>)
EXEMPLOS
1. Programa chamador
DCL AX_TESTE
CHAR(3)
INIT(TRN);
ID
A
IF .....
2. Programa chamado
PROGCH: PROC (PT) OPTIONS (MAIN);
VOLTA
DCL PT
POINTER;
DCL 1 AX_TESTE BASED (PT),
2 AX_T1
CHAR(3);
IF AX_TESTE = TRN THEN
...
...
EXEC CICS RETURN;
END PROGCH;
DICAS
Quando um programa emite uma chamado a outro programa o programa chamado
deve estar cadastrado na tabela do cics (PPT), caso contrrio ocorrer uma
condio de execo PGMIDERR.
do
XCTL
SINTAXE
EXEC CICS XCTL
FUNO
Passa o controle de um programa de aplicao para outro definitivamente.
OPES
PROGRAM
(<nome do programa>)
EXEMPLOS
2. Programa chamador
DCL AX_TESTE
CHAR(3)
INIT(TRN);
ID
A
2. Programa chamado
PROGCH: PROC (PT) OPTIONS (MAIN);
DCL PT
POINTER;
DCL 1 AX_TESTE BASED (PT),
2 AX_T1
CHAR(3);
IF AX_TESTE = TRN THEN
...
...
EXEC CICS RETURN;
END PROGCH;
DICAS
Quando um programa emite uma chamado a outro programa o programa chamado
deve estar cadastrado na tabela do cics (PPT), caso contrrio ocorrer uma
condio de execo PGMIDERR.
Quando o programa chamado termina ou executado um EXEC CICS RETURN o
controle da execuo volta para o programa de nvel superior ao programa
chamado, o programa chamador aps o XCTL pode ser suprimido da memria se
nenhum outro programa estiver chamando-o.
RETURN
SINTAXE
EXEC CICS RETURN
[TRANSID(<nome da transao>)]
[COMMAREA (<rea de dados>)]
[LENGTH
(<tam. rea de dados>)];
FUNO
Finaliza o programa em execuo e retorna o controle a um programa de nvel
superior ou para o prprio CICS.
OPES
TRANSID
(<nome da transao>)
10
EXEMPLOS
Termino de programa.
EXEC CICS RETURN;
Termino de programa, chamando outro programa sem passar
parmetros.
EXEC CICS RETURN TRANSID(TRN1);
Termino de programa, e chamada ao mesmo passando parametro.
DCL AX_TESTE
CHAR(3)
BASED(P) ;
DICAS
A instruo RETURN com TRANSID devolve o controle de volta ao CICS. O PCP
analisa o parmetro TRANSID e armazena o codigo da transao, com outras
informaes sobre o terminal associado a tarefa. Aps o usurio teclar alguma PF,
PA ou Enter a tarefa associada ao terminal ser iniciada. Este processo
chamado de PSEUDO-CONVERSACIONAL.
11
ABEND
SINTAXE
EXEC CICS ABEND [ABCODE (<nome do abend>);
FUNO
Gera um trmino anormal da transao em execuo.
OPES
ABCODE
(<nome do abend>)
DICAS
Este comando substitui o CALL ABEND utilizado por aplicaes PL/1, pois o CALL
ABEND proibido utilzar em programas CICS.
12
Memria Temporria
WRITEQ TS
SINTAXE
EXEC CICS WRITEQ TS
QUEUE
FROM
[LENGTH
[ITEM
[Rewrite];
(nome da rea)
(<rea de dados>)]
(<tam. rea de dados>)]
(<nr. do item>)]
FUNO
Grava dados temporrios em uma QUEUE (fila) de memria, na memria principal
ou auxiliar.
OPES
QUEUE
(<nome da rea>)
(<rea de dados>)
Especifica o nome de uma varivel que ter os dados a ser enviado para a
fila de memria temporria.
LENGTH
(<nr. do item>>
Especifica um nmero seqncial do item(registro) que ser associado a
<rea de dados> gravada na QUEUE (fila).
Seu formato deve ser BIN FIXED (15).
13
REWRITE
Este comando ir sobrepor os dados atuais da memria temporria
(QUEUE) para os dados contidos na <rea de dados> com o mesmo
nmero de ITEM.
Se o REWRITE for especificado a opo ITEM deve ser obrigatriamente
especificada.
EXEMPLOS
1)
DCL
AX_NOME
CHAR(40);
AX_NOME = TREINAMENTO;
EXEC CICS WRITEQ TS
FROM(AX_NOME)
QUEUE (TRN1)
LENGTH (11);
.........
2)
DCL AX_NOME
CHAR(40)
DCL TAMANHO
BIN FIXED(15)
INIT(TREINAMENTO);
INIT(11);
FROM(AX_NOME)
QUEUE (TRN1)
LENGTH (TAMANHO);
......
3)
DCL AX_NOME
CHAR(40)
DCL TAMANHO
BIN FIXED(15)
INIT(TREINAMENTO);
INIT(11);
DCL AX_ITEM
BIN FIXED(15)
FROM (AX_NOME)
QUEUE (TRN1)
LENGTH (TAMANHO)
ITEM
(AX_ITEM);
DICAS
14
INIT(2);
15
READQ TS
SINTAXE
EXEC CICS READQ TS
QUEUE
INTO
[LENGTH
[ITEM
(nome da rea)
(<rea de dados>)
(<tam. rea de dados>)]
(<nr. do item>)] ou [NEXT];
FUNO
Ler dados gravados na TS.
OPES
QUEUE
(<nome da rea>)
(<rea de dados>)
Especifica o nome de uma varivel que receber os dados existentes na
TS.
LENGTH
(<nr. do item>>
Especifica um nmero seqncial do item(registro) que ser recuperado da
TS. Seu formato deve ser BIN FIXED (15).
NEXT
Especifica que a leitura da TS dever ser feita em ordem sequencial de
gravao. Est a opo DEFAULT na falta da especificao do ITEM.
16
EXEMPLOS
1)
DCL
AX_NOME
CHAR(40);
INTO(AX_NOME)
QUEUE (TRN1);
.........
2)
DCL AX_NOME
CHAR(40)
DCL TAMANHO
BIN FIXED(15)
INIT(TREINAMENTO);
INIT(11);
INTO(AX_NOME)
QUEUE (TRN1)
LENGTH (TAMANHO);
......
3)
DCL AX_NOME
CHAR(40)
DCL TAMANHO
BIN FIXED(15)
INIT(TREINAMENTO);
INIT(11);
DCL AX_ITEM
BIN FIXED(15)
INIT(2);
INTO
(AX_NOME)
QUEUE (TRN1)
LENGTH (TAMANHO)
ITEM
(AX_ITEM);
DICAS
Em uma leitura concorrente de um mesmo registro na TS por duas ou mais
aplicaes, o registro estar disponvel somente para uma nica aplicao, e os
outros tero acesso aos prximos registros na seqncia.
17
DELETEQ TS
SINTAXE
EXEC CICS DELETEQ TS
QUEUE
(nome da rea);
FUNO
Eliminar todos os dados temporrios associados com a QUEUE (fila).
OPES
QUEUE
(<nome da rea>)
18
Controle de Mapas
SEND MAP
SINTAXE
EXEC CICS WRITEQ TS
QUEUE
FROM
[LENGTH
[ITEM
[Rewrite];
(nome da rea)
(<rea de dados>)
(<tam. rea de dados>)]
(<nr. do item>)]
FUNO
Grava dados temporrios em uma QUEUE (fila) de memria, na memria principal
ou auxiliar.
OPES
QUEUE
(<nome da rea>)
(<rea de dados>)
Especifica o nome de uma varivel que ter os dados a ser enviado para a
fila de memria temporria.
LENGTH
(<nr. do item>>
Especifica um nmero seqncial do item(registro) que ser associado a
<rea de dados> gravada na QUEUE (fila).
Seu formato deve ser BIN FIXED (15).
19
REWRITE
Este comando ir sobrepor os dados atuais da memria temporria
(QUEUE) para os dados contidos na <rea de dados> com o mesmo
nmero de ITEM.
Se o REWRITE for especificado a opo ITEM deve ser obrigatriamente
especificada.
EXEMPLOS
1)
DCL
AX_NOME
CHAR(40);
AX_NOME = TREINAMENTO;
EXEC CICS WRITEQ TS
FROM(AX_NOME)
QUEUE (TRN1)
LENGTH (11);
.........
2)
DCL AX_NOME
CHAR(40)
DCL TAMANHO
BIN FIXED(15)
INIT(TREINAMENTO);
INIT(11);
FROM(AX_NOME)
QUEUE (TRN1)
LENGTH (TAMANHO);
......
3)
DCL AX_NOME
CHAR(40)
DCL TAMANHO
BIN FIXED(15)
INIT(TREINAMENTO);
INIT(11);
DCL AX_ITEM
BIN FIXED(15)
FROM (AX_NOME)
QUEUE (TRN1)
LENGTH (TAMANHO)
ITEM
(AX_ITEM);
DICAS
20
INIT(2);
21