Você está na página 1de 164

|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

C I C S / M V S
(Customer Information Control System / Multiple Virtual Storage)
Verso

2.1.1

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

S U M R I O
Introduo
CICS/MVS (Customer Information Control System /
Multiple Virtual Storage) .......................................
Conveno ................................................................
Organizao do Sistema
Viso global das tabelas e mdulos de gerncia do CICS/MVS ...............
Componentes do CICS/MVS
Mdulos de gerncia do CICS/MVS ........................................
Tabelas internas do CICS/MVS ...........................................
reas internas do CICS/MVS .............................................
Blocos de Controle do CICS/MVS .........................................
Fluxo de transao do CICS/MVS ...........................................
Restries do PL/I sob o CICS/MVS ..........................................
Tamanho de Programa ......................................................
Tamanho da rea de Trabalho ..............................................
O N
E R R O R
S Y S T E M ..............................................
Exemplo de uma aplicao CICS/MVS ..........................................
Execution Interface Block (EIB) ............................................
Formato de um comando CICS/MVS no PL/I .....................................
Conveno para Codificao de um comando CICS/MVS no PL/I ..................
Manipulao de Erro de Comandos CICS/MVS
Condies de Exceo .....................................................
H A N D L E
C O N D I T I O N .........................................
H A N D L E
C O N D I T I O N
E R R O R ............................
I G N O R E
C O N D I T I O N .........................................
O p o
N O H A N D L E .............................................
O p o
R E S P .....................................................
Controle de Terminal
Mdulo de Controle de Terminal (TCP) .....................................
R E C E I V E ............................................................
S E N D ..................................................................
Controle de Programa
Mdulo de Controle de Programa (PCP) .....................................
R E T U R N ..............................................................
L I N K ..................................................................
X C T L ..................................................................
L O A D ..................................................................
R E L E A S E ............................................................
Transao conversacional .................................................
Transao Pseudo-conversacional ..........................................
R E T U R N
T R A N S I D ..............................................
A B E N D ................................................................
Dados Transitrios
Conceitos de Dados Transitrios ..........................................
Filas de Dados Transitrios ..............................................
Destinos de Extrapartio ................................................
Destinos de Intrapartio ................................................
Iniciao de Transao Autom tica ........................................
W R I T E Q
T D ........................................................
R E A D Q
T D ..........................................................
D E L E T E Q
T D ......................................................

1
2
3
4
5
6
6
7
19
20
20
21
23
27
29
30
31
32
35
36
37
38
41
44
50
53
55
56
59
62
64
65
66
67
70
71
72
72
73
74
76
78
80

Memria Tempor ria


Registro de Memria Tempor ria ........................................... 81
W R I T E Q
T S ........................................................ 83
R E A D Q
T S .......................................................... 85
D E L E T E Q
T S ...................................................... 86
Requisio de data e hora no CICS/MVS
A S K T I M E ............................................................ 87
F O R M A T T I M E ...................................................... 88
Mapas
BMS (Basic Mapping Support) .............................................. 93
Independncia de Equipamento ............................................. 94
Independncia de Formato ................................................. 95
Mapas Fsicos ............................................................ 95
Mapas Simblicos ......................................................... 95
Formato de Campo (FIELD) ............................................... 95
Formato de Bloco ....................................................... 96
Formato de Texto ....................................................... 96
Conjunto de Mapas (MAPSET) ............................................... 97
R E C E I V E
M A P ..................................................... 99
S E N D
M A P .......................................................... 101
A P N D I C E S
APNDICE A
Chamada de rotina CICS/MVS pelo NATURAL ..................................
Rotina CICS/MVS chamada tanto por aplicao
CICS/MVS como por aplicao NATURAL ....................................
APNDICE B
Lista das Condies de Exceo ...........................................
APNDICE C
Lista dos Cdigos de ABEND ...............................................
APNDICE D
Contedo do INCLUDE DFHBMSCA .............................................
APNDICE E
Contedo do INCLUDE DFHAID ...............................................
Comando HANDLE AID .......................................................
APNDICE F
Compilao de fontes PL/I-CICS/MVS .......................................
Execuo de uma aplicao PL/I-CICS/MVS ..................................
APNDICE G
Comandos CICS/MVS ........................................................
G L O S S R I O ..........................................................

103
107
109
115
133
137
140
143
149
153
165

Pag. 1
I n t r o d u o
C I C S / M V S
(Customer Information Control System / Multiple Virtual Storage)

CICS/MVS um produto (SOFTWARE) IBM, que manipula aplicaes ON-LINEs, composto de um conjunto de programas modulares (MACRO SISTEMA) de uso geral em
comunicao de dados que suporta uma rede de centenas de terminais.
O CICS/MVS oferece o seguinte:
*

Controle concorrente (simultneo) da execuo de aplicaes, servindo v rios


usurios ON-LINE.

Funes necess rias para que os programas de aplicao comuniquem-se com


terminais locais, remotos e com subsistemas.

Controle de arquivos e banco de dados, em conjunto com os v rios mtodos


acessos fornecidos pela IBM.

Facilidades para se comunicar com outros CICS/MVS residentes no mesmo computador ou em computadores interligados.

de

Ficar
mais f cil imaginar que o CICS/MVS um sistema operacional dentro do
prprio sistema operacional. Nestes termos, o CICS/MVS um sistema operacional,
cujo JOB cria um ambiente para a execuo de aplicaes ON-LINE, incluindo
INTERFACEs a arquivos e banco de dados.
------------------------------------------------------------------------------
|
|
|
-------------------------------
|
|
|
Sistema Operacional
|
|
|
|
|
|
|
|
-----------------------
|
|
|
|
|
C I C S / M V S
|
|
|
|
|
|
|
|
|
|
-------
|
|
---------------
|
|
-------
|
|
|
|
|
|
| Programa de |
|
|
|
|
|
|
|
|<---->|<->|<->| Aplicao
|<->|<->|<--->|
|
|
|
-----
|
|
| do Usu rio
|
|
|
|
|
|
|
-----
|
|
---------------
|
|
-------
|
|
-------
|
-----------------------
|
arquivos e
|
|
------------------------------- banco de dados
|
|
|
------------------------------------------------------------------------------
Ambiente ON-LINE CICS/MVS
O
sistema
como
um
(Data-Base/Data-Communication).

todo

conhecido

como

sistema

DB/DC

Pag. 2

C o n v e n o
-----------------------------------------------------------------------------
|
Transao (Transaction)
|
Tarefa (Task)
|
-----------------------------------------------------------------------------
| Uma transao pode ser considerada
|Unidade b sica de trabalho que o com- |
|
como sendo uma unidade de
|
putador deve realizar. Para o
|
| processamento (que consiste de um ou |CICS/MVS representa a execuo de uma |
|mais programas de aplicao) iniciada | transao para um nico usurio.
|
|
por um nico pedido de execuo,
|
|
| sempre atravs de um terminal. Uma
|
|
| transao ainda pode necessitar da
|
|
|iniciao de uma ou mais tarefas para |
|
|
a sua execuo.
|
|
-----------------------------------------------------------------------------

Pag. 3
Organizao do Sistema
Viso global das tabelas e mdulos de gerncia do CICS/MVS
------------------------------------------------------------------------------
|
|
|
CICS/MVS ADDRESS SPACE
|
|
|
|
-----------------------------
|
|
|
Management Modules
|
|
|
--------------------------------------------------------
|
|
|
Terminal
|
Task
|
Program
|
File
|
|
|
|
Control
|
Control
|
Control
|
Control
|
|
|
--------------------------------------------------------
|
|
|
Storage
|
Dump
|
Basic
|
|
|
|
|
Control
|
Control
|
Mapping
|
Etc.
|
|
|
|
|
|
Support
|
|
|
|
--------------------------------------------------------
|
|
|
|
-----------------------------
|
|
|
Control
Tables
|
|
|
------------------------------------------------------
|
|
| Terminal | Program
|Processing | File
|Destination|
|
|
| Control
| Control
|Program
| Control
|Control
|
|
|
| Table
| Table
|Table
| Table
|Table
|
|
|
-------------------------------------------------------
|
|
|
|
-----------------------------
|
|
|
Service
Programs
|
|
|
----------------------------------------------------------
|
|
|
System Initialization
|
System Termination
|
|
|
----------------------------------------------------------
|
|
|
|
-----------------------------
|
|
| Dynamic Storage Area
|
|
|
----------------------------------------------------------
|
|
| ---------------
---------------
|
|
|
| | Terminal
|
| File
|
|
|
|
| | Input/Output |
| Input/Output |
|
|
|
| | Areas (TIOAs) |
| Areas (FIOAs) |
|
|
|
| ---------------
---------------
|
|
|
| -------------------
|
|
|
| | Transaction
|
|
|
|
| | Work Areas (TWAs) |
|
|
|
| -------------------
|
|
|
-----------------------------------------------------------
|
|
|
|
|
------------------------------------------------------------------------------

Pag. 4
Componentes do CICS/MVS
O sistema CICS/MVS consiste em:
*

Mdulos de gerncia;

Tabelas;

reas internas;

Blocos de Controle.

Mdulos de gerncia do CICS/MVS


so os programas do CICS/MVS que fazem INTERFACE entre o sistema operacional
e os programas de aplicao. Cada mdulo de gerncia realiza uma funo especial. Por exemplo, quando um programa de aplicao emite um pedido para ler um
registro, o mdulo de gerncia, FILE CONTROL PROGRAM processa o referido pedido.
Quando um programa de aplicao emitir um pedido para enviar uma mensagem ao
terminal, o mdulo de gerncia TERMINAL CONTROL PROGRAM atua como o INTERFACE.
Pedidos de I/O so feitos ao CICS/MVS, ao invs de ao sistema operacional como
feito quando os programas esto no ambiente de processamento BATCH.
-----------------------------------------------------------------------------
|
Mdulos
|
Descrio
|
-----------------------------------------------------------------------------
| FCP (File Control
| Gerncia de arquivo. Controla todas as operaes dos |
|
Program)
|
arquivos ISAM, DAM e VSAM.
|
-----------------------------------------------------------------------------
| KCP (tasK Control
| Gerncia de tarefa. Controla o uso da CPU dentro da
|
|
Program)
|
partio do CICS/MVS e cria as tarefas.
|
-----------------------------------------------------------------------------
|PCP (Program Control |
Gerncia de programa. Localiza os programas e
|
|
Program)
|
carrega-os na partio do CICS/MVS.
|
-----------------------------------------------------------------------------
|SCP (Storage Control | Gerncia de memria. Controla a alocao e liberao |
|
Program)
|
da memria na rea de memria dinmica (DSA) da
|
|
|
regio/partio do CICS/MVS.
|
-----------------------------------------------------------------------------
|TCP (Terminal Control | Gerncia de terminal. Assegura a comunicao entre o |
|
Program)
| programa de aplicao e o terminal conectado a este
|
|
|
programa no momento.
|
-----------------------------------------------------------------------------
| TDP (Transient Data |Gerncia de dados transitrios. Controla as operaes |
|
Program)
|
relacionadas com arquivos sequenciais.
|
-----------------------------------------------------------------------------
|
TSP (Temporary
| Gerncia de memria tempor ria. Controla a memria
|
| Storage Program)
|
tempor ria de dados.
|
-----------------------------------------------------------------------------

Pag. 5
-----------------------------------------------------------------------------
|
Mdulos
|
Descrio
|
-----------------------------------------------------------------------------
| DCP (Dump Control
|Mdulo que fornece o DUMP de qualquer tarefa CICS/MVS |
|
Program)
|
(e opcionalmente as tabelas do CICS/MVS).
|
-----------------------------------------------------------------------------
|ICP (Interval Control | Controla todos os servios referentes a hora, por
|
|
Program)
|exemplo, a suspenso de uma tarefa por um determinado |
|
|
perodo de tempo.
|
-----------------------------------------------------------------------------
|
ISC
|Fornece facilidades de comunicao entre um CICS/MVS e |
| (Intercommunication |outro que pode estar residente no mesmo computador ou |
| Control Program)
|
em um outro computador interligado.
|
-----------------------------------------------------------------------------
| BMS (Basic Mapping
| Mdulo que facilita a exibio de informao em uma
|
|
Support)
|
grande variedade de terminais e oferece ainda a
|
|
|independncia de dispositivos, paginao em terminal, |
|
|
e capacidade de direcionamento de mensagem.
|
-----------------------------------------------------------------------------
Tabelas internas do CICS/MVS
Definem o ambiente do sistema CICS/MVS. As tabelas, que so geradas pelo programador de sistemas, esto funcionalmente associadas com os mdulos de
gerncia. Por exemplo, todas as definies de arquivo esto na FILE CONTROL TABLE de modo que as definies podem ser compartilhadas por todos os programas de
aplicao e tarefas. Por este motivo, os arquivos no so definidos no programa
de aplicao como quando eles esto num programa BATCH. A TERMINAL CONTROL TABLE
define cada terminal na rede; assim o programa de aplicao no precisa
preocupar-se com os atributos fsicos dos v rios terminais no sistema. Nem todos
os mdulos de gerncia tem tabelas associadas.
-----------------------------------------------------------------------------
|
Tabelas
|
Descrio
|
-----------------------------------------------------------------------------
| DCT (Destination
|
Tabela de destino. Contm informaes sobre a
|
|
Control Table)
| definio do arquivo sequencial gerenciado pelo TDP. |
-----------------------------------------------------------------------------
| FCT (File Control
|Tabela de arquivo. Contm entradas para arquivos ISAM, |
|
Table)
| DAM, ou VSAM gerenciado pelo FCP, com a definio de |
|
|
arquivo correspondente.
|
-----------------------------------------------------------------------------
|PCT (Program Control |Tabela de transao. Contm uma entrada por cdigo de |
|
Table)
|
transao definido, a fim de conferir o cdigo e
|
|
|
associ -lo com um programa em processamento.
|
-----------------------------------------------------------------------------
|
PPT (Program
| Tabela de programas. Contm uma entrada por programa |
| Processing Table)
| em processamento, dando o endereo do programa na
|
|
|
memria.
|
-----------------------------------------------------------------------------

Pag. 6
-----------------------------------------------------------------------------
|
Tabelas
|
Descrio
|
-----------------------------------------------------------------------------
|TCT (Terminal Control |Tabela de terminais. Contm uma entrada para cada ter- |
|
Table)
| minal controlado pelo CICS/MVS dentro da instalao
|
|
|
descrevendo o terminal e seu estado.
|
-----------------------------------------------------------------------------
reas internas do CICS/MVS
-----------------------------------------------------------------------------
| reas internas
|
Descrio
|
-----------------------------------------------------------------------------
| TIOA (Terminal I/O
|
rea
de entrada/sada de terminal.
|
|
Area)
|
|
-----------------------------------------------------------------------------
|FIOA (File I/O Area) |
rea
de entrada/sada de arquivo.
|
|
|
|
-----------------------------------------------------------------------------
| EIB (Exec Interface |
Ver "Bloco de Interface de Execuo".
|
|
Block)
|
|
-----------------------------------------------------------------------------
Blocos de Controle do CICS/MVS
-----------------------------------------------------------------------------
|
|
|
-----------------------------------------------------------------------------
| TCA (Task Control
|
rea
que contm informaes pertinentes
|
|
Area)
|tarefa. Contm indicadores de localizao para o pro- |
|
| grama de aplicao e para a entrada do terminal na
|
|
|
TERMINAL CONTROL TABLE.
|
-----------------------------------------------------------------------------
| CSA (Common System
|
Principal bloco de controle do CICS/MVS. Contm,
|
|
Area)
|informao geral do sistema usada pelos v rios mdulos |
|
|de gerncia, incluindo os endereos das tabelas e dos |
|
|
prprios mdulos de gerncia.
|
-----------------------------------------------------------------------------

Pag. 7
Fluxo de transao do CICS/MVS
O CICS/MVS supervisiona toda a atividade de comunicao de dados, o que significa que o CICS/MVS:
*
*
*

gerencia os terminais,
gerencia os dados, e
gerencia os programas de aplicao.

Vejamos o que acontece quando uma transao do CICS/MVS entrada num


nal.

termi-

Quando o CICS/MVS for inicializado, todos os mdulos principais de gerncia,


tabelas, e a Common System Area (CSA) so carregados na memria.
A seguinte ilustrao mostra a CSA na regio/partio do CICS/MVS. Os mdulos
de gerncia e tabelas sero adicionados ao diagrama conforme se fizer referncia
a eles.
------------------------------------------------------------------------------
|
--------------------------------
|
|
|
Common
System
Area
|
|
|
--------------------------------
|
|
|
|
--------
|
|
|
------
|
|
|
|
|
|
|
|
|
|
|
------
|
|
|
|
--
|
|
|
|
----
|
|
|
|
terminal
|
|
--------------------------------
|
------------------------------------------------------------------------------
Uma transao entrada por um operador de terminal consiste de duas partes:
uma identificao de transao seguida por dados que devem ser processados. Considerar que um operador queira ter informao sobre a situao de um tem de
invent rio. A identificao de transao "STAT" e o nmero do tem a ser verificado 195.
------------------------------------------------------------------------------
|
|
|
-> identificao da transao
|
|
------------------
|
|
|STAT 195--------------> nmero do tem do
|
|
|
|
invent rio a ser
|
|
|
|
verificado
|
|
|
|
|
|
|
|
|
|
-----------------
|
|
---------
|
|
-----------
|
|
terminal
|
|
|
------------------------------------------------------------------------------

Pag. 8
Quando a transao STAT entrada, o mdulo de gerncia TCP l a entrada na
regio/partio do CICS/MVS. Antes que os dados possam ser armazenados, a
memria deve ser obtida para uma TIOA (rea de entrada/sada do terminal). O TCP
pede que o SCP aloque a quantidade apropriada de memria. O SCP o mdulo de
gerncia que usado por todos os outros mdulos do CICS/MVS e programas de
aplicao da regio/partio. Uma vez adquirida a memria, o TCP move a mensagem
de entrada para a TIOA.
------------------------------------------------------------------------------
|
|
|
--------------------------------
|
|
|
Common
System
Area
|
|
|
--------------------
|
|
||TCP|||SCP||
|
|
|

|
|
|
|
|
--------
|
|
|
------STAT 195|
|
|
|
TIOA
|
|
|
|
|
|
|
------
|
|
| |STAT 195|
|
--
|
|
|
|
----
|
|
|
|
terminal
|
|
--------------------------------
|
|
|
------------------------------------------------------------------------------
Todos os terminais no sistema so descritos na TCT, sendo cada terminal representado por uma entrada (TCTTE - Terminal Control Table Terminal Entry).
Sempre que uma mensagem for recebida de um terminal, um indicador de localizao
para a rea de entrada do terminal armazenada nesta TCTTE do terminal.
------------------------------------------------------------------------------
|
|
|
--------------------------------
|
|
|
Common
System
Area
|
|
|
------------------------------
|
|
| TCP | SCP |
|
|
|
----------
|
|
|
|
|
--------
|
|
|
------------|TCTTE|--------STAT 195|
|
|
|
TIOA V
|
|
|
|
|
| --------
------- |
------
|
|
| |STAT 195|
------- |
--
|
|
| --------
------- |
----
|
|
|
|
terminal
|
|
--------------------------------
|
|
|
------------------------------------------------------------------------------

Pag. 9
Notar que nenhuma outra transao pode ser lanada a partir deste terminal
at que a transao, presentemente solicitada haja concludo.
Aps a entrada da transao, o KCP que possui a funo de iniciar uma tarefa
para processar a transao, verifica na PCT para determinar se a identificao
da transao de entrada v lida. O PCT contm uma entrada para cada transao
que possa ser processada no sistema. Cada entrada da PCT contm, entre outras
coisas, uma identificao de transao e o nome do programa de aplicao que
deve ser executada em resposta quela transao.
Se uma identificao de transao que entrou estiver listada na PCT, o KCP
cria uma tarefa para processar a transao. A criao de uma tarefa envolve a
obteno e inicializao de uma rea de Controle de Tarefa (TCA). A TCA
o bloco de controle que o CICS/MVS usa para controlar o processamento de uma
transao. Ela d
acesso a todas as reas de memria obtidas em conexo com a
tarefa. A TCA tambm serve como o veculo de comunicao entre o programa de
aplicao e os mdulos de gerncia do CICS/MVS.
Uma vez criada uma TCA para uma tarefa, esta tarefa ligada ao terminal
requisitante por meio de indicadores de localizao armazenados tanto na TCA
como na TCTTE. Em transao conversacional haver subsequentes mensagens de entrada. Estas mensagens so passadas para a tarefa como dados.
------------------------------------------------------------------------------
|
|
|
|
|
--------------------------------
|
|
|
Common
System
Area
|
|
|
------------------------
|
|
| TCP | SCP ||KCP||
PCT
|
|
|
----------
|
|
|
|
|STAT:||| |
|
|
|
|STATPGM| |
|
|
|
|
|
|
|
||||||||| |
|
|
|
TIOA
|
|
|
| --------
------- |
--------
|
|
| |STAT 195-------->| TCTTE --------STAT 195|
|
|
| --------
--->------- |
|
|
|
|
|
|
------- |
------
|
|
| |||TCA 1|----
------- |
--
|
|
|
------- |
----
|
|
|
|
terminal
|
|
--------------------------------
|
|
|
|
|
------------------------------------------------------------------------------

Pag. 10
O Bloco de Interface de Execuo (EIB) criado e inicializado com informaes
da tarefa. O Execute Interface Program (EIP) responsvel pela converso dos
comandos codificados em pedidos que podem ser interpretados pelos mdulos de
gerncia.
------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
--------------------------------
|
|
|
Common
System
Area
|
|
|
-----------------------
|
|
| TCP | SCP | KCP ||EIP||
|
|
|
---------------
|
|
|
|
PCT
|
|
|
|
------- |
|
|
|
|STAT: | |
|
|
|
|STATPGM| |
|
|
|
------- |
|
|
|
|
| |
|
|
|
------- |
|
|
|
TIOA
|
|
|
| --------
------- |
--------
|
|
| |STAT 195-------->| TCTTE --------STAT 195|
|
|
| --------
--->------- |
|
|
|
|
| --------
|
------- |
------
|
|
| | TCA 1 ----
------- |
--
|
|
| --------
------- |
----
|
|
|
|
terminal
|
|
|
|
|
|
|
||EIB|| |
|
|
|
|
|
|
|
|
|
|
--------------------------------
|
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------

Pag. 11
A entrada da PCT para uma transao especifica o nome do programa de
aplicao que deve processar a transao. O nome do programa usado pelo
Program Control Program (PCP) para selecionar e iniciar este programa.
Todos os programas de aplicao sob o CICS/MVS so descritos na Processing
Program Table (PPT). A entrada da PPT para um programa contm informaes para a
localizao do programa na biblioteca de programas do CICS/MVS, e se um programa
j est ou no na memria e em uso. O PCP verifica a entrada na PPT para o programa (STATPGM no nosso exemplo) e carrega o programa na memria se necess rio.
A cpia da AUTOMATIC STORAGE do programa para a tarefa tambm criada
ocasio.

nesta

------------------------------------------------------------------------------
|
|
|
|
|
--------------------------------
|
|
|
Common
System
Area
|
|
|
----------------------
|
|
| TCP | SCP | KCP | EIP ||PCP|| |
|
|
-------------------- |
|
|
|
PPT
PCT
|
|
|
|

------- |
|
|
|
|STATPGM|
|STAT: | |
|
|
|

|STATPGM| |
|
|
|

------- |
|
|
|

|
| |
|
|
|

------- |
|
| ---------
|
TIOA
|
|
| |Bibliot. |
| --------
------- |
--------
|
| |
de
--- |STAT 195-------->| TCTTE --------STAT 195|
|
| |programas|
| --------
--->------- |
|
|
|
| ---------
| --------
|
------- |
------
|
|
| | TCA 1 ----
------- |
--
|
|
| --------
------- |
----
|
|
|
----- |
terminal
|
|
| |Defin.das----
| EIB | |
|
|
| | reas de|
V
----- |
|
|
| |||dados|||
|
|
|
| |Cpia das||
|
|
|
| ||Instr.|||| reas de||
|
|
|
| |doSTATPGM|||||dados|||
|
|
|
|
|
|
|
|
|
|
|
--------------------------------
|
|
|
|
|
------------------------------------------------------------------------------

Pag. 12
Uma das primeiras coisas que um programa de aplicao deve fazer quando ele
recebe o controle enviar um comando RECEIVE do TCP. Em resposta a este comando, o EIP move a mensagem de entrada da TIOA para a rea de trabalho do programa e ento libera a TIOA. (Se a opo SET estiver especificada no comando
RECEIVE,
um indicador de localizao (POINTER) dentro do programa ser
posicionado para apontar para a TIOA).
------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
-----------------------------------
|
|
|
Common
System
Area
|
|
|
------------------------------
|
|
| TCP | SCP | KCP | EIP | PCP |
|
|
|
-------------------------
|
|
|
|
PPT
PCT
|
|
|
|
-------
-------
|
|
|
|
|STATPGM|
|STAT: |
|
|
|
|
-------
|STATPGM|
|
|
|
|
-------
-------
|
|
|
|
-------
|
|
|
|
|
|
-------
-------
|
|
| ---------
|
|
|
| |Bibliot. |
|
-------
|
--------
|
| |
de
---
------------>| TCTTE -----------STAT 195|
|
| |programas|
|
|
-------
|
|
|
|
| ---------
| ------------
-------
|
------
|
|
| | TCA 1 |
|
-------
|
--
|
|
| ----------- |
-------
|
----
|
|
| --------- | |
-----
|
terminal
|
|
| |Defin.das| | ---->| EIB |
|
|
|
| | reas de| V
-----
|
|
|
| | dados |
|
|
|
| ---------|STAT 195|||
|
|
|
| | Instr. |||||||||||||
|
|
|
| |doSTATPGM|||||||||||||
|
|
|
| ---------
|
|
|
|
W/S COPY
|
|
|
-----------------------------------
|
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------

Pag. 13
A seguir, o STATPGM emite um pedido para a leitura do registro 195 do arquivo
MESTRE. O File Control Program (FCP) usa a entrada da File Control Table (FCT)
para o arquivo para determinar suas caractersticas.
O FCP inicia ento a
operao de leitura.
------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
-----------------------------------
|
|
|
Common
System
Area
|
|
|
-------------------------
|
|
| TCP | SCP | KCP | EIP | PCP ||FCP||
|
|
-------------------------
|
|
|
FCT
PPT
PCT
|
|
| ---------
|
-------
------- |
|
| | Arquivo |
| |MASTER |
|STATPGM|
|STAT: | |
|
| |
---
-------
|STATPGM| |
|
| | MESTRE |
|
-------
------- |
|
| ---------
|
-------
|
| |
|
|
|
-------
------- |
|
| ---------
|
|
|
| |Bibliot. |
|
-------
|
--------
|
| |
de
---
------------>| TCTTE -----------STAT 195|
|
| |programas|
|
|
-------
|
|
|
|
| ---------
| ------------
-------
|
------
|
|
| | TCA 1 |
|
-------
|
--
|
|
| ----------- |
-------
|
----
|
|
| --------- | |
-----
|
terminal
|
|
| |Defin.das| | ---->| EIB |
|
|
|
| | reas de| V
-----
|
|
|
| | dados |----------
|
|
|
| ---------|STAT 195 |
|
|
|
| | Instr. ||
|
|
|
|
| |doSTATPGM||
|
|
|
|
| -------------------
|
|
|
|
W/S COPY
|
|
|
-----------------------------------
|
|
|
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------

Pag. 14
Nesse interm, suponha que um operador em um outro terminal tenha entrado uma
transao STAT para o nmero de tem 210. Pelo fato de o CICS/MVS ser um sistema
de multiexecuo de tarefas, uma tarefa pode ser iniciada para processar esta
segunda operao enquanto a primeira estiver esperando pelo trmino de uma
operao de I/O. Todo o processamento de inicializao de tarefa descrito para a
primeira tarefa ocorre agora para a nova tarefa.
------------------------------------------------------------------------------
|
|
|
-----------------------------------
|
|
|
Common
System
Area
|
|
|
------------------------------
|
|
| TCP | SCP | KCP | EIP | PCP | FCP |
|
|
------------------------------
|
|
|
FCT
PPT
PCT
|
|
| ---------
| -------
-------
------- |
|
| | Arquivo |
| |MASTER |
|STATPGM|
|STAT: | |
--------
|
| |
--- -------
-------
|STATPGM| | ---STAT 195|
|
| | MESTRE |
| -------
-------
------- | |
|
|
|
| ---------
| -------
-------
|
| | |
------
|
|
| -------
-------
------- | |
--
|
| ---------
|
| |
----
|
| |Bibliot. |
|
-------
| |
terminal
|
| |
de
---
------------>| TCTTE -------
--------
|
| |programas|
|
|
------------------STAT 210|
|
| ---------
| ------------
| TCTTE - - |
|
|
|
|
| | TCA 1 |
|
-------<- '|
------
|
|
| ----------- |
------- | '|
--
|
|
| --------- | |
----- | '|
----
|
|
| |Defin.das| | ---->| EIB | | '|
terminal
|
|
| | reas de| V
----- | '|
|
|
| | dados |----------
| '|
|
|
| ---------|STAT 195 |
| '|
|
|
| |Instr. do||
|'|
|
|
| | STATPGM ||
|||TCA 2||'|
|
|
| -------------------'|
|
|
|
W/S COPY
| |
'|
|
|
|
----------<- |
'|
|
|
|
|STAT 210 |
V
'|
|
|
|
|
| '|
|
|
|
|
|||EIB|| '|
|
|
|
---------- '|
|
|
|
W/S COPY
TIOA
'|
|
|
|
'|
|
|
|
|STAT 210|<-|
|
|
|

|
|
|
|
|
|
|
-----------------------------------
|
|
|
------------------------------------------------------------------------------

Pag. 15
O STATPGM ento iniciado para a nova tarefa. O comando RECEIVE (ver mais
adiante) emitido para acesso mensagem de entrada, e um pedido emitido para
ler o registro 210 do arquivo MESTRE. Enquanto o FCP estiver processando este
pedido, a primeira tarefa retoma o controle.
O registro para o tem 195 foi lido pelo FCP na memria intermedi ria de
arquivo. Como resultado do comando READ (ver mais adiante) do programa (opo
INTO), o registro movido desta memria intermedi ria para a rea de trabalho
do programa.
------------------------------------------------------------------------------
|
-----------------------------------
|
|
|
Common
System
Area
|
|
|
------------------------------
|
|
| TCP | SCP | KCP | EIP | PCP | FCP |
|
|
------------------------------
|
|
|
FCT
PPT
PCT
|
|
| ---------
| -------
-------
------- |
|
| | Arquivo |
| |MASTER |
|STATPGM|
|STAT: | |
--------
|
| |
--- -------
-------
|STATPGM| | ---STAT 195|
|
| | MESTRE |
| -------
-------
------- | |
|
|
|
| ---------
| -------
-------
|
| | |
------
|
|
| -------
-------
------- | |
--
|
| ---------
|
| |
----
|
| |Bibliot. |
|
-------
| |
terminal
|
| |
de
---
------------>| TCTTE -------
--------
|
| |programas|
|
|
------------------STAT 210|
|
| ---------
| ------------
| TCTTE - - |
|
|
|
|
| | TCA 1 |
|
-------<- '|
------
|
|
| ----------- |
------- | '|
--
|
|
| --------- | |
----- | '|
----
|
|
| |Defin.das| | ---->| EIB | | '|
terminal
|
|
| | reas de| V
----- | '|
|
|
| | dados |----------
| '|
|
|
| ---------|STAT 195 |
| '|
|
|
| |Instr. do|| 195...
|------'|
|
|
| | STATPGM ||
|| TCA 2 |'|
|
|
| -----------------------'|
|
|
|
----------
| |
'|
|
|
|
V
W/S COPY
| |
'|
|
|
| ----------<- |
'|
|
|
| |195...|||||STAT 210 |
V
'|
|
|
| |
|----- '|
|
|
| FILE BUFFER|
|| EIB | '|
|
|
|
--------------- '|
|
|
|
W/S COPY
TIOA
'|
|
|
|
'|
|
|
|
|STAT 210|<-|
|
|
|

|
|
|
|
|
|
|
-----------------------------------
|
------------------------------------------------------------------------------

Pag. 16
O programa formata ento uma resposta para a consulta e emite um comando SEND
(ver mais adiante) do TCP para transmitir a mensagem. o CICS/MVS obtm uma TIOA
para a mensagem e posiciona um indicador na TCTTE indicando que este terminal
tem uma sada pendente.
------------------------------------------------------------------------------
|
|
|
|
|
-----------------------------------
|
|
|
Common
System
Area
|
|
|
------------------------------
|
|
| TCP | SCP | KCP | EIP | PCP | FCP |
|
|
------------------------------
|
|
|
FCT
PPT
PCT
|
|
| ---------
| -------
-------
------- |
|
| | Arquivo |
| |MASTER |
|STATPGM|
|STAT: | |
--------
|
| |
--- -------
-------
|STATPGM| | ---STAT 195|
|
| | MESTRE |
| -------
-------
------- | |
|
|
|
| ---------
| -------
-------
|
| | |
------
|
|
| -------
-------
------- | |
--
|
| ---------
|
| |
----
|
| |Bibliot. |
| |PART 195/QTY 257| -------
| |
terminal
|
| |
de
--- ->| TCTTE -------
--------
|
| |programas|
| TIOA ------------>------------------STAT 210|
|
| ---------
| ------------
| TCTTE |
|
|
|
|
|
| | TCA 1 |
|
-------<- |
------
|
|
| ----------- |
------- | |
--
|
|
| --------- | |
----- | |
----
|
|
| |Defin.das| | ---->| EIB | | |
terminal
|
|
| | reas de| V
----- | |
|
|
| | dados |
| |
|
|
| ---------|STAT 195 |
| |
|
|
| |Instr. do|| 195...
|------ |
|
|
| | STATPGM ||PART 195 || TCA 2 | |
|
|
| ---------|QTY 257
|----- |
|
|
|
| |
|
|
|
|
W/S COPY
| |
|
|
|
|
----------<- |
|
|
|
|
|STAT 210 |
V
|
|
|
|
|
|-----
|
|
|
|
|
|| EIB |
|
|
|
|
---------------
|
|
|
|
W/S COPY
|
|
|
|
|
|
|
-----------------------------------
|
|
|
|
|
------------------------------------------------------------------------------

Pag. 17
Depois do comando SEND, o programa de aplicao emite um comando RETURN (ver
mais adiante) para terminar a tarefa. Quando a tarefa termina, toda a memria da
tarefa liberada exceto a rea de sada do terminal. Esta rea retida pelo
CICS/MVS at que o TCP tenha realmente transmitido a mensagem. Neste ponto, o
STATPGM ainda est sendo usado pela tarefa pedida do segundo terminal.
------------------------------------------------------------------------------
|
|
|
|
|
-----------------------------------
|
|
|
Common
System
Area
|
|
|
------------------------------
|
|
| TCP | SCP | KCP | EIP | PCP | FCP |
|
|
------------------------------
|
|
|
FCT
PPT
PCT
|
|
| ---------
| -------
-------
------- |
|
| | Arquivo |
| |MASTER |
|STATPGM|
|STAT: | |
--------
|
| |
--- -------
-------
|STATPGM| | ---STAT 195|
|
| | MESTRE |
| -------
-------
------- | |
|
|
|
| ---------
| -------
-------
|
| | |
------
|
|
| -------
-------
------- | |
--
|
| ---------
| ----------------
| |
----
|
| |Bibliot. |
| |PART 195/QTY 257| -------
| |
terminal
|
| |
de
--- ----------------->| TCTTE -------
--------
|
| |programas|
| TIOA
------------------STAT 210|
|
| ---------
|
| TCTTE |
|
|
|
|
|
|
-------<- |
------
|
|
|
------- | |
--
|
|
| ---------
| |
----
|
|
| |Defin.das|
| |
terminal
|
|
| | reas de|
| |
|
|
| | dados |
| |
|
|
| ---------
| |
|
|
| |Instr. do|
------ |
|
|
| | STATPGM |
| TCA 2 | |
|
|
| ---------
----- |
|
|
|
| |
|
|
|
|
----------<- |
|
|
|
|
|STAT 210 |
V
|
|
|
|
|
|-----
|
|
|
|
|
|| EIB |
|
|
|
|
---------------
|
|
|
|
W/S COPY
|
|
|
|
|
|
|
-----------------------------------
|
|
|
|
|
------------------------------------------------------------------------------

Pag. 18
Quando a primeira tarefa termina, a segunda tarefa pode prosseguir o
processamento. Ela tambm formata uma resposta, emite um comando SEND, e termina. Quando esta tarefa termina, o PCP marca a entrada na PPT para o STATPGM
como no-em-uso, mas o programa permanece na memria enquanto a memria no for
necess ria. Isto permite que o CICS/MVS reuse a cpia que j est na memria
caso o programa seja pedido por uma outra transao.
------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
-----------------------------------
|
|
|
Common
System
Area
|
|
|
------------------------------
|
|
| TCP | SCP | KCP | EIP | PCP | FCP |
|
|
------------------------------
|
|
|
FCT
PPT
PCT
|
|
| ---------
| -------
-------
------- |
|
| | Arquivo |
| |MASTER |
|STATPGM|
|STAT: | |

|
| |
--- -------
-------
|STATPGM| | ---STAT 195|
|
| | MESTRE |
| -------
-------
------- | |
|QTY 257 |
|
| ---------
| -------
-------
|
| | |

|
|
| -------
-------
------- | |
--
|
| ---------
|
| |
----
|
| |Bibliot. |
|
-------
| |
terminal
|
| |
de
---
| TCTTE -------
--------
|
| |programas|
|
-------
|
|STAT 210|
|
| ---------
|
--- TCTTE -----------
|
|
|
|
|
-------
|
------
|
|
|
|
-------
|
--
|
|
| ---------
|
|
----
|
|
| |Defin.das|
|
|
terminal
|
|
| | reas de|
|
|
|
|
| | dados |
V
|
|
|
| --------- ---------------- |
|
|
| |Instr. do| |PART 210/QTY 430| |
|
|
| | STATPGM | ---------------- |
|
|
| ---------
TIOA
|
|
|
|
|
|
|
-----------------------------------
|
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------

Pag. 19
Restries do PL/I sob o CICS/MVS
As seguintes restries aplicam-se a programas PL/I que sero usadas como
aplicaes CICS/MVS (vide manual: PL/I Optimizing Compile Programmer's Guide).
1.

No usar as seguintes BUILT-IN:


DATE
TIME
PLISRT
PLICKPT
PLICANC
PLIRETC
PLIRETV

2.

No usar as seguintes BUILT-IN de MUSTITASKING:


COMPLETION
PRIORITY
STATUS

3.

No usar as seguintes opes de MULTITASKING:


EVENT
PRIORITY
TASK

4.

No usar as seguintes instrues PL/I:


READ
WRITE
REWRITE
GET
PUT
OPEN
CLOSE
DISPLAY
DELAY
LOCATE
DELETE
UNLOCK
STOP
HALT
EXIT
FETCH
RELEASE

5.

No se deve usar as seguintes rotinas externas:


ABEND
ABEDUMP

Pag. 20
6.

No usar as seguintes facilidades de depurao:


FLOW
COUNT
REPORT
GONUMBER
GOSTMT
CHECK/NOCHECK

7.

No se deve usar o SORT/MERGE do PL/I.

8.

No se deve
(READ-ONLY)).

9.

Se for declarado uma vari vel com atributos STATIC


e EXTERNAL, dever
tambm incluir o atributo INITIAL. Seno, tal declarao ir gerar um CSECT
comum que no poder ser manipulado pelo CICS.

usar

reas

STATICs

(exceto para dados somente para leitura

10. No se pode usar a opo de 48 CHARACTER SET do PL/I.


11. No se pode codificar os programas PL/I com palavras chaves em minscula.
Observao:

No utilizar os tens acima descritos, pois eles causam srios danos ao CICS/MVS, por exemplo, a subrotina externa "ABEND" que no
PL/I utilizada para forar um trmino anormal da execuo, no
CICS/MVS alm dele ABENDar a execuo da tarefa acaba ABENDando o
prprio CICS/MVS.
Tamanho de Programa

O mdulo objeto resultante de qualquer programa de aplicao CICS/MVS, no


dever ocupar mais que 524.152 bytes (512K) da memria principal.
Tamanho da rea de Trabalho
O tamanho da rea de trabalho
65.560 bytes (64K).

(Working

Storage)

no

deve

ultrapassar

de

Pag. 21
O N

E R R O R

S Y S T E M

Normalmente para o tratamento de erro PL/I, usado a instruo "ON ERROR".


Algumas vezes pode ocorrer de no prprio procedimento de tratamento de erro acabar ABENDando, oque acabaria acionando novamente o "ON ERROR" e ficar num LOOP
de ABENDs. Isto para aplicaes BATCH no acarretaria srios danos, pois depois
de algum tempo este ABENDaria por tempo de execuo m xima do JOB. Mas para uma
aplicao CICS/MVS, isto se torna penoso, pois esta aplicao ficaria neste LOOP
at que seja restartado o JOB do CICS/MVS.
------------------------------------------------------------------------------
|
|
|
DCL VARIAVEL
FIXED (15);
|
|
...
|
|
------------------------------>ON ERROR SNAP BEGIN;
|
|
|
DO;
|
|
|<--------------------------------PUT SKIP DATA (VARIAVEL);
|
|
|
CALL ABEND;
|
|
|
END;
|
|
|ABEND DATA EXCEPTION ou
...
|
|
-------------------------------VARIAVEL = 'AAAAAAA';
|
|
DATA CONVERSION
...
|
|
|
------------------------------------------------------------------------------
Para se evitar esta situao imprescindvel que a instruo seguinte seja
colocada toda vez que for usar o procedimento de tratamento de erro do PL/I
(isto v lido tambm para aplicaes BATCH).
------------------------------------------------------------------------------
|
ON ERROR SYSTEM;
|
------------------------------------------------------------------------------
Esta instruo desvia o controle para o Sistema Operacional, caso ocorra
algum ABEND a partir do momento que esta seja acionada, evitando assim o LOOP de
ABENDs.
------------------------------------------------------------------------------
|
|
|
DCL VARIAVEL
FIXED (15);
|
|
...
|
|
---------------->ON ERROR SNAP BEGIN;
|
|
|
DO;
|
|
|
-->ON ERROR SYSTEM;--------> Sistema Operacional
|
|
|
ABEND---PUT SKIP DATA (VARIAVEL);
|
|
|
|
CALL ABEND;
|
|
|
|
END;
V
|
|
|ABEND
...
termina a aplicao
|
|
-----------------VARIAVEL = 'AAAAAAA';
|
|
...
|
|
|
------------------------------------------------------------------------------

Pag. 22
Exemplo de uma aplicao CICS/MVS em PL/I
------------------------------------------------------------------------------
|
|
| PGMCIC : PROC (PTR) OPTIONS (MAIN);
|
| DCL PTR
POINTER;
|
|
1 COMAREA
BASED (PTR),
|
|
2 PAGINA
BIN FIXED (15),
|
|
2 ULT_PAGINA
BIN FIXED (15),
|
|
2 QTDE
BIN FIXED (31),
|
|
2 ISN_TAB (50)
BIN FIXED (31);
|
| DCL 1 AREA_TERM,
|
|
2 CODIGO_TRANS
CHAR (04),
|
|
2 PARAMETRO
CHAR (08);
|
| DCL RET_CODE
BIN FIXED (31);
|
| %INCLUDE MAC01(DFHAID);
|
| %INCLUDE MAC01(DIERRCIC);
|
| %INCLUDE MAP(PGMMAPM);
|
| DCL DEF_MAPA CHAR(STG(PGMMAP1O)) DEF PGMMAP1O;
|
| %INCLUDE MAC01(ADABAS);
|
| ARQ(FILE_ADABAS) NUM(001) QMAX(50) USO(ACESS)
|
|
CPO (CPO1,A1)
ALFA(10)
|
|
CPO (CPO2,A2)
UNPK(05,)
|
|
CPO (CPO3,A3)
DFIX(03,)
|
|
CPO (CPO4,A4)
ALFA(30)
|
|
SUP (SUP_DESCR,SP)
|
|
CPO (CPO1,A1)
ALFA(10)
|
|
CPO (CPO2,A2)
UNPK(05,)
|
|
FIM
|
| FIM;
|
| NOMEPGM(PGMCIC);
|
| ON ERROR SNAP BEGIN;
|
|
ON ERROR SYSTEM;
|
|
MENSERRO('ERRO NAO PREVISTO PELA TRANSACAO',
|
|
'FAVOR AVISAR O ANALISTA RESPONSAVEL');
|
| END;
|
| DEF_MAPA = LOW(STG(PGMMAP1O));
|
| IF (EIBCALEN = 0) THEN
|
| DO;
|
|
|
|
---------------------------------------------------
|
|
|EXEC CICS RECEIVE INTO (AREA_TERM) RESP (RET_CODE);|
|
|
---------------------------------------------------
|
|
|
|
IF (RET_CODE = DFHRESP(LENGERR)) THEN
|
|
CALL MANDA_MSG('ERRO NOS PARAMETRO, FAVOR VERIFICAR');
|
|
IF (VERIFY(PARAMETRO,'0123456789') = 0) THEN
|
|
CALL MANDA_MSG ('PARAMETRO NAO NUMERICO');
|
|
ALLOC COMAREA;
|
|
PAGINA = 0;
|
|
|
|
|
|
|
|
continua ...
|
|
|
|
|
------------------------------------------------------------------------------

Pag. 23
------------------------------------------------------------------------------
|
|
|
TODOS (FILE_ADABAS) COM (SUPER_DESCR > PARAMETRO)
|
|
ORD (PARAMETRO)
|
|
QTD (QTDE)
|
|
EM (ISN_TAB);
|
|
IF (QTDE = 0) THEN
|
|
DO;
|
|
ULT_PAGINA = QTDE / 10 - 1;
|
|
IF (MOD (QTDE,10) = 0) THEN
|
|
ULT_PAGINA = ULT_PAGINA + 1;
|
|
CALL MONTA_TELA;
|
|
END;
|
|
CALL MANDA_MSG ('REGISTRO NAO ENCONTRADO NO BANCO DE DADOS');
|
| END;
|
| CALL TESTA_TECLA;
|
| 1MONTA_TELA : PROC;
|
|
DCL IND
BIN FIXED (15),
|
|
LIMITE
BIN FIXED (15);
|
|
LIMITE = ((PAGINA * 10) + 11);
|
|
DO IND = ((PAGINA * 10) + 1) TO QTDE WHILE (IND < LIMITE);
|
|
OBTER (FILE_ADABAS) DE (ISN_TAB(IND));
|
|
PGMMAP1O.CPO1(IND) = FILE_ADABAS.CPO1;
|
|
PGMMAP1O.CPO2(IND) = FILE_ADABAS.CPO2;
|
|
PGMMAP1O.CPO3(IND) = FILE_ADABAS.CPO3;
|
|
PGMMAP1O.CPO4(IND) = FILE_ADABAS.CPO4;
|
|
END;
|
|
IF (IND < LIMITE) THEN
|
|
DO IND = IND TO (LIMITE - 1);
|
|
PGMMAP1O.CPO1(IND) = ' ';
|
|
PGMMAP1O.CPO2(IND) = 0;
|
|
PGMMAP1O.CPO3(IND) = 0;
|
|
PGMMAP1O.CPO4(IND) = ' ';
|
|
END;
|
|
CALL MANDA_MAPA;
|
| END MONTA_TELA;
|
| 1TESTA_TECLA : PROC;
|
|
SELECT (EIBAID);
|
|
WHEN (DFHCLEAR)
|
|
CALL MONTA_TELA;
|
|
WHEN (DFHENTER)
|
|
|
|
-------------------------------------------------------
|
|
|EXEC CICS RETURN TRANSID (EIBTRNID) COMMAREA (COMAREA);|
|
|
-------------------------------------------------------
|
|
|
|
WHEN (DFHPF3,DFHPA2)
|
|
CALL MANDA_MSG ('FIM DA TRANSACAO');
|
|
WHEN (DFHPF7) DO;
|
|
PAGINA = PAGINA - 1;
|
|
IF (PAGINA < 0) THEN
|
|
DO;
|
|
|
|
|
|
continua ...
|
|
|
------------------------------------------------------------------------------

Pag. 24
------------------------------------------------------------------------------
|
|
|
PAGINA = 0;
|
|
PGMMAPO.MSG = 'NAO HA PAGINA ANTERIOR A ESTA';
|
|
CALL MANDA_MSG_MAPA;
|
|
END;
|
|
CALL MONTA_TELA;
|
|
END;
|
|
WHEN (DFHPF8) DO;
|
|
PAGINA = PAGINA + 1;
|
|
IF (PAGINA > ULT_PAGINA) THEN
|
|
DO;
|
|
PAGINA = ULT_PAGINA;
|
|
PGMMAPO.MSG = 'NAO HA PAGINA POSTERIOR A ESTA';
|
|
CALL MANDA_MSG_MAPA;
|
|
END;
|
|
CALL MONTA_TELA;
|
|
END;
|
|
OTHERWISE DO;
|
|
PGMMAP1O.MSG = 'TECLA INVALIDA';
|
|
CALL MANDA_MSG_MAPA;
|
|
END;
|
|
END;
|
| END TESTA_TECLA;
|
| 1MANDA_MAPA : PROC;
|
|
|
|
-----------------------------------------------------------------
|
|
|EXEC CICS SEND MAP ('PGMMAP1') MAPSET ('PGMMAPM') FROM (PGMMAP1O)|
|
|
|
ERASE ALARM FREEKB;
|
|
|
|EXEC CICS RETURN TRANSID (EIBTRNID) COMMAREA (COMAREA);
|
|
|
-----------------------------------------------------------------
|
| END MANDA_MAPA;
|
| 1MANDA_MSG : PROC (MENS);
|
|
DCL MENS
CHAR (78);
|
|
---------------------------------------
|
|
|EXEC CICS SEND FROM (MENS) ALARM ERASE;|
|
|
|EXEC CICS RETURN;
|
|
|
---------------------------------------
|
| END MANDA_MSG;
|
| 1MANDA_MSG_MAPA : PROC;
|
|
-----------------------------------------------------------------
|
|
|EXEC CICS SEND MAP ('PGMMAP1') MAPSET ('PGMMAPM') FROM (PGMMAP1O)|
|
|
|
ALARM FREEKB DATAONLY;
|
|
|
|EXEC CICS RETURN TRANSID (EIBTRNID) COMMAREA (COMAREA);
|
|
|
-----------------------------------------------------------------
|
| END MANDA_MSG_MAPA;
|
| 0END PGMCIC;
|
|
|
| ---- ---> Comandos CICS/MVS
|
| ----
|
|
|
|
|
------------------------------------------------------------------------------
Observao :

Este fonte possui recursos existentes somente nesta instalao,


no sendo garantido a funcionalidade da aplicao em qualquer
outra instalao.

Pag. 25
Exec Interface Block (EIB)
Alm dos servios realizados pelos v rios mdulos de gerncia do CICS/MVS,
ele ainda mantm uma srie de informaes pertinente a tarefa, que o programa de
aplicao poder necessitar durante a sua execuo, em uma rea conhecida como
EIB (Execution Interface Block).
Estes dados so armazenados em uma rea interna do CICS/MVS na qual o programa de aplicao no tem acesso direto. Contudo, o CICS/MVS copia estes dados
em uma rea do programa de aplicao na hora da execuo da tarefa. Esta rea no
programa de aplicao criada automaticamente durante a compilao do mesmo,
no havendo necessidade de cri -la.
O programa de aplicao poder acessar estes valores diretamente pelo nome do
campo que foi gerado automaticamente. Para se conhecer todos os campos existentes nesta
rea consultar o manual: CICS/MVS Application Programmer's Reference
Manual (Command Level) - IBM;
Abaixo esto algumas das informaes que esta
da tarefa.

rea contm durante a

execuo

----------------------------------------------------------------------------
|CAMPO
|DESCRIO
|FORMATO NO PL/I
|
----------------------------------------------------------------------------
|EIBTIME
|Hora de incio da tarefa no formato HHMMSS.
|FIXED (07)
|
|
|
|(0HHMMSS+)
|
|
|
Este campo pode ser atualizado durante a
|
|
|
|execuo da tarefa para a hora atual usando-se |
|
|
|o comando EXEC CICS ASKTIME (ver mais adiante a |
|
|
|descrio do comando).
|
|
----------------------------------------------------------------------------
|EIBDATE
|Data (JULIANA) de incio da tarefa no formato
|FIXED (07)
|
|
|AADDD
|(00AADDD+)
|
|
|
|
|
|
|
Para se conseguir a data no formato AAMMDD
|
|
|
|(gregoriano) ver tem "Requisio de data e
|
|
|
|hora no CICS/MVS".
|
|
----------------------------------------------------------------------------
|EIBTASKN |Cdigo numrico que representa o nmero da
|FIXED (07)
|
|
|tarefa atribuda pelo CICS/MVS.
|
|
----------------------------------------------------------------------------
|EIBTRNID |Identificao da transao.
|CHAR (04)
|
----------------------------------------------------------------------------
|EIBTRMID |Identificao do terminal.
|CHAR (04)
|
----------------------------------------------------------------------------
|EIBAID
|Valor numrico atribudo pelo CICS/MVS a cada
|CHAR (01)
|
|
|tecla de funo. Este valor gerado em
|
|
|
|hexadecimal. (Por exemplo, a tecla ENTER co|
|
|
|rresponde ao valor X'7C' em hexadecimal)
|
|
----------------------------------------------------------------------------

Pag. 26
----------------------------------------------------------------------------
|CAMPO
|DESCRIO
|FORMATO NO PL/I
|
----------------------------------------------------------------------------
|EIBCALEN |Tamanho da rea que foi passada como parmetro |BIN FIXED (15)
|
|
|para a tarefa. Caso a tarefa no receba nenhum |
|
|
|parmetro este campo conter o valor zero em
|
|
|
|bin rio.
|
|
----------------------------------------------------------------------------
|EIBCPOSN |Posio do cursor na tela. A posio do cursor |BIN FIXED (15)
|
|
|na tela dado em valor linear, iniciando-se na |
|
|
|posio 0. Para terminais do tipo 3270, a
|
|
|
|posio do cursor para a linha 2 coluna 1 80, |
|
|
|para a linha 2 coluna 2 81, e assim por
|
|
|
|diante. Para conseguir a partir deste valor a
|
|
|
|posio do cursor em termos de linha e coluna, |
|
|
|proceder da seguinte maneira:
|
|
|
|
|
|
|
|1. Dividir o campo EIBCPOSN por 80;
|
|
|
|
|
|
|
|2. A parte inteira do resultado mais um, re|
|
|
|
presenta o valor da linha;
|
|
|
|
|
|
|
|3. O resto da diviso do tem 1 mais um o
|
|
|
|
valor da coluna.
|
|
----------------------------------------------------------------------------
Observao:

O programa de aplicao pode fazer uso do contedo dos campos do


EIB da maneira que desejar, mas os mesmos "NUNCA DEVEM SER ALTERADOS" no prprio campo do EIB. Uma vez alterado o contedo destes
campos, no garantido a execuo normal.

Pag. 27
Formato de um comando CICS/MVS no PL/I
O formato geral de um comando CICS/MVS EXECUTE CICS (ou simplesmente, EXEC
CICS) seguido do nome de uma funo e possivelmente de uma ou mais opo, como
mostrado abaixo:
------------------------------------------------------------------------------
|
|
|
EXEC{UTE} CICS funo { { opo { (argumento) }}
|
|
. . .
|
|
{ opo { (argumento) }} };
|
|
|
------------------------------------------------------------------------------
Onde:
-----------------------------------------------------------------------------
|
EXEC{UTE} CICS
| palavra chave que identifica um comando CICS/MVS.
|
-----------------------------------------------------------------------------
|
funo
|
descreve a operao desejada.
|
-----------------------------------------------------------------------------
|
opo
|descreve quaisquer das v rias facilidades (opcionais) |
|
|
disponveis em cada funo.
|
|
|
|
|
| algumas opes so seguidas de um argumento entre
|
|
|
parntesis, e outras no.
|
|
|
|
|
|
Pode-se codificar em qualquer ordem.
|
-----------------------------------------------------------------------------
|
argumento
|
constante ou vari vel.
|
-----------------------------------------------------------------------------
|
;
|delimitador final do comando CICS/MVS, v lido somente |
|
|
quando utilizado em aplicaes PL/I.
|
|
|
|
|
|
Por exemplo, o delimitador utilizado em aplicaes |
|
|
COBOL : "END-EXEC.".
|
-----------------------------------------------------------------------------

A codificao de qualquer comando CICS/MVS deve seguir as regras de


codificao da linguagem na qual se est utilizando. (Por exemplo: a codificao
de um comando PL/I inicia se na coluna 2, logo o comando CICS/MVS tambm dever
seguir a mesma regra.)

Pag. 28
------------------------------------------------------------------------------
|
CONVENO PARA CODIFICAO DE UM COMANDO CICS/MVS NO PL/I
|
|
|
|
|
|
|
|
O comando CICS/MVS no PL/I deve comear na coluna 2 e terminar por ponto- |
|e-virgula (";"), e no deve ultrapassar a coluna 72, como mostrado no exemplo |
|seguinte:
|
|
|
|
-------------------------------------------------
|
|
|
|
|
|
| |...+....1....+....2....+....3....+....4....+
|
|
|
| EXEC CICS WRITEQ TS
|
|
|
|
QUEUE
('FILAQ')
|
|
|
|
ITEM
(05)
REWRITE
|
|
|
|
FROM
(DADOS)
;
|
|
|
|
|
|
|
-------------------------------------------------
|
|
|
|
|
|
As opes de cada comando CICS/MVS podem ser codificadas em qualquer |
|ordem, no so posicionais.
|
|
|
|
-------------------------------------------------
|
|
|
|
|
|
| |...+....1....+....2....+....3....+....4....+
|
|
|
| EXEC CICS WRITEQ TS
|
|
|
|
ITEM
(05)
|
|
|
|
QUEUE
('FILAQ')
|
|
|
|
FROM
(DADOS)
|
|
|
|
REWRITE
;
|
|
|
|
|
|
|
-------------------------------------------------
|
|
|
------------------------------------------------------------------------------
Exemplo de um comando CICS/MVS
------------------------------------------------------------------------------
|
|
|
----> funo (operao de leitura)
|
|
|
|
|
|
---------> argumentos
|
|
--- ------- ----------
|
|
EXEC CICS |READ| |DATASET| |('FILEA') |
|
|
---- |RIDFLD | |(KEYNUM)
|
|
|
|INTO
| |(REG_FILEA)|
|
|
|UPDATE;| -----------
|
|
------
|
|
------> opes
|
|
|
------------------------------------------------------------------------------

Pag. 29
Manipulao de erro de comandos CICS/MVS
Condies de Exceo
Uma condio de exceo representa um erro ou uma situao anormal que ocorre
durante a execuo de um comando CICS/MVS. Por exemplo, o comando CICS/MVS
abaixo utilizado para leitura de um arquivo VSAM:
------------------------------------------------------------------------------
|
|
|
EXEC CICS READ DATASET ('ARQVSAM')
|
|
RIDFLD (KEYNUM)
|
|
INTO
(REG_FILEA);
|
|
|
------------------------------------------------------------------------------
Durante a execuo deste comando poder
1.
2.
3.
4.
5.
6.

ocorrer um dos seguintes erros:

Registro duplicado;
(DUPREC)
registro no foi encontrado;
(NOTFND)
nome do arquivo no conhecido pelo CICS/MVS; (DSIDERR)
o arquivo no est aberto;
(NOTOPEN)
fim de arquivo;
(ENDFILE)
etc.

Estes erros possuem cdigos pr-definidos pelo CICS/MVS, que esto mostrados
a direita de cada erro. Cada comando CICS/MVS possui uma srie de erros
associados (ver APNDICE B), que indicam os erros possveis de serem
tratados pelo programa de aplicao. Estes cdigos so utilizados pelo comando
HANDLE CONDITION (ver prximo tem) para tratamento dos erros pelo programa de
aplicao sem que haja a necessidade de um trmino anormal. Estes cdigos sero
listados juntamente com os comandos que a eles estiverem associados.
Os restantes dos erros so aqueles que no podem ser tratados pelo programa
de aplicao, de modo que eles so tratados automaticamente pelo CICS/MVS,
gerando um trmino anormal com um cdigo de ABEND que esto listados no
APNDICE C.

Pag. 30
H A N D L E

C O N D I T I O N

Comando de manipulao de erros em comandos CICS/MVS. Este comando ativa um


LABEL (PL/I) para onde ser transferido o controle do fluxo de execuo do programa de aplicao, caso ocorra um erro que est especificado neste comando (ver
tem anterior).
O desvio para o LABEL feito automaticamente via comando "GO
TO" do PL/I, logo este LABEL no pode ser um LABEL que determina uma subrotina
interna (PROC).
------------------------------------------------------------------------------
| F o r m a t o
|
|
|
|
|
|
EXEC CICS HANDLE CONDITION
opo { (argumento) }
|
|
...
|
|
{ opo { (argumento) }} ;
|
|
|
------------------------------------------------------------------------------
Onde :
opo

Palavra chave que identifica a condio de exceo. Podem ser especificadas at 16 condies em UM NICO comando HANDLE
CONDITION em qualquer ordem.

argumento

LABEL (rtulo) dentro do programa ao qual o CICS/MVS deve passar o


controle quando ocorrer a condio de exceo especificada no comando.

O comando HANDLE CONDITION deve ser colocado sempre antes do comando CICS/MVS
ao qual os erros que sero tratados estejam associados. Este comando deve ser
executado para que a condio especificada fique ativa, para quando ocorrer o
erro esperado, o controle seja transferido para o LABEL designado pelo comando.
Se o comando HANDLE CONDITION no for executado antes de ocorrer o erro, o programa de aplicao ir terminar anormalmente com um cdigo de ABEND que representa o erro que no foi tratado pelo HANDLE CONDITION. Por exemplo, o cdigo
AEIV corresponde ao erro LENGERR que no foi tratado pelo programa de aplicao
via comando HANDLE CONDITION.
Normalmente
aplicao, para
tes de executar
erros que esto

coloca-se todos os HANDLE CONDITION's no incio do programa de


que todos os LABEL's fiquem ativos j no incio da execuo, anqualquer comando CICS/MVS, e tambm para melhor visualizao dos
sendo tratados.

Pag. 31
------------------------------------------------------------------------------
|
...
|
| --> EXEC CICS HANDLE CONDITION LENGERR (TAMERR) ---------------
|
| |
DUPREC
(DUPLIC) ; ------------ |
|
| |
/* Comando de leitura de arquivo sequencial do CICS/MVS */| |
|
| --- EXEC CICS READQ TD QUEUE('TDQUEUE')
| |
|
|
INTO (REG_QUEUE);
| |
|
|
VOLTA: IF ERRO_TAM = 'S' THEN
| |
|
|
...
| |
|
|
DUPLIC: MENSAGEM = 'REGISTRO DUPLICADO';<-------------------- |
|
|
/* Comando de envio de mensagem para o terminal */
|
|
|
EXEC CICS SEND FROM (MENSAGEM) ERASE;
|
|
|
/* Comando para terminar a execuo de um programa de
|
|
|
aplicao CICS/MVS */
|
|
|
EXEC CICS RETURN;
|
|
|
TAMERR: ERRO_TAM = 'S';<---------------------------------------
|
|
GO TO VOLTA;
|
|
...
|
------------------------------------------------------------------------------
Certos tipos de erros podem aparecer em v rios comandos, de modo que, se for
especificado um nico HANDLE CONDITION, para todos os comandos que ocorrer estes
erros sero desviados para o mesmo LABEL. Para que possa diferenciar o mesmo
erro para cada comando, coloca-se o comando HANDLE CONDITION para este erro antes de cada comando, com LABEL's diferentes. Assim sendo, o HANDLE CONDITION
posterior desativa o LABEL do HANDLE CONDITION anterior, ativando um novo LABEL.
Veja exemplo a seguir:
------------------------------------------------------------------------------
|
...
|
|
/* Este comando ativa o desvio para o LABEL NOMERR se no
|
|
existir o programa especificado em um dos comandos
|
|
CICS/MVS de chamada de programa */
|
| --> EXEC CICS HANDLE CONDITION PGMIDERR (NOMERR) ; ------------
|
| |
/* Comando CICS/MVS para chamada de subrotina CICS/MVS
*/|
|
| --- EXEC CICS LINK PROGRAM ('PGM00001');
|
|
|
...
|
|
|
/* Este comando desativa a condio PGMIDERR anterior e
|
|
|
reativa um novo desvio para o LABEL ERRONOME se no
|
|
|
existir o programa especificado em um dos comandos
|
|
|
CICS/MVS de chamada de programa */
|
|
| --> EXEC CICS HANDLE CONDITION PGMIDERR (ERRONOME); -------
|
|
| |
...
|
|
|
| --- EXEC CICS LINK PROGRAM ('PGM00002');
|
|
|
|
...
|
|
|
|
ERRONOME: MENSAGEM = 'PGM00002 NAO CADASTRADO NA PPT';<--
|
|
|
GO TO MANDA_MSG;
|
|
|
NOMERR: MENSAGEM = 'PGM00001 NAO CADASTRADO NA PPT';<--------
|
|
MANDA_MSG: EXEC CICS SEND FROM (MENSAGEM) ERASE;
|
|
EXEC CICS RETURN;
|
|
...
|
------------------------------------------------------------------------------

Pag. 32
O comando HANDLE
executado at:
*
*

CONDITION

ativado

partir

do momento em que ele

o trmino da tarefa;
outro comando HANDLE CONDITION para essa mesma condio seja executado.

Para se desativar um HANDLE CONDITION para uma certa condio deve se


executar um outro HANDLE CONDITION com a mesma condio, mas sem o LABEL para o
qual ser transferido o controle da execuo. Depois de desativado a condio,
se
esta
condio
ocorrer, a tarefa ir
ABENDar com cdigo de ABEND
correspondente a esta condio.
------------------------------------------------------------------------------
|
|
|
...
|
| --> EXEC CICS HANDLE CONDITION LENGERR (TAMERR); ------------
|
| |
...
|
|
| --- EXEC CICS RECEIVE INTO (AREA);
|
|
|
...
|
|
|
/* Este comando desativa o HANDLE LENGERR anterior */
|
|
| --> EXEC CICS HANDLE CONDITION LENGERR ; ----------------- |
|
| |
...
| |
|
| |
------------------------------------------------
| |
|
| |
| ABENDa pela condio LENGERR uma vez que o
| <-- |
|
| |
| HANDLE CONDITION para este erro foi desativado |
|
|
| |
------------------------------------------------
|
|
| |
...
|
|
| --- EXEC CICS READQ TS QUEUE ('MYTS') INTO (AREA_TS);
|
|
|
...
|
|
|
TAMERR: <--------------------------------------------------
|
|
MENSAGEM = 'ERRO NO TAMANHO DA MENSAGEM/REGISTRO LIDO';
|
|
EXEC CICS SEND FROM (MENSAGEM) ERASE;
|
|
EXEC CICS RETURN;
|
|
...
|
|
|
------------------------------------------------------------------------------

Pag. 33
H A N D L E

C O N D I T I O N

E R R O R

Este comando um HANDLE CONDITION especial que especifica o tratamento de


todos as condies de exceo dos comandos CICS/MVS por um nico LABEL, exceto
aquelas condies que j possuem seus HANDLE CONDITION's especificados.
------------------------------------------------------------------------------
| F o r m a t o
|
|
|
|
EXEC CICS HANDLE CONDITION ERROR (label) ;
|
|
|
------------------------------------------------------------------------------
Onde:
label

LABEL (rtulo) dentro do programa de aplicao ao qual o CICS/MVS


dever transferir o controle da execuo, quando da ocorrncia de
qualquer tipo de erro possvel de ser tratado pelo programa de
aplicao.

------------------------------------------------------------------------------
| E x e m p l o
|
|
|
|
DCL MSG
CHAR (80);
|
| ----> EXEC CICS HANDLE CONDITION LENGERR (ERRO_TAM) --------------
|
| | -> EXEC CICS HANDLE CONDITION ERROR (ERRO_GENERICO) ; -----
|
|
| | |
...
|
|
|
| | |<- EXEC CICS WRITEQ TS QUEUE('YOURTS') FROM (AREA_TS);
|
|
|
| | |
...
|
|
|
| | -- EXEC CICS READQ TS QUEUE('YOURTS') INTO (AREA_TS);
|
|
|
| |
...
|
|
|
| ----- EXEC CICS RECEIVE INTO (AREA_PGM);
|
|
|
|
...
|
|
|
|
ERRO_GENERICO: <------------------------------------------
|
|
|
MSG = 'FOI DETECTADO UM ERRO EM ALGUM COMANDO CICS';
|
|
|
EXEC CICS SEND FROM (MSG) ERASE;
|
|
|
EXEC CICS RETURN;
|
|
|
ERRO_TAM : <--------------------------------------------------
|
|
MSG = 'ERRO DE TAMANHO NA MENSAGEM LIDA/GRAVADA';
|
|
EXEC CICS SEND FROM (MSG) ERASE;
|
|
EXEC CICS RETURN;
|
|
|
------------------------------------------------------------------------------

Pag. 34
I G N O R E

C O N D I T I O N

Este comando usado para ignorar certas condies de exceo. Isto , se


ocorrer a condio de exceo especificada neste comando, esta simplesmente ser
desprezada como se nada tivesse ocorrido.
------------------------------------------------------------------------------
| F o r m a t o
|
|
|
|
EXEC CICS IGNORE CONDITION
opo
|
|
...
|
|
{ opo } ;
|
|
|
------------------------------------------------------------------------------
Onde:
Opo

Palavra chave que identifica a condio de exceo. Podem ser especificadas at 12 condies em UM NICO comando em qualquer ordem.

------------------------------------------------------------------------------
| E x e m p l o
|
|
|
|
...
|
|
- -> EXEC CICS IGNORE CONDITION DUPREC - - - - - - - - -
|
|
'
LENGERR;
'
|
|
'
...
'
|
|
- -- EXEC CICS READ DATASET('ARQVSAM') INTO(AREA_VSAM)
'
|
|
RIDFLD(KEY_NUM);
'
|
|
IF CHAVE_VSAM = 123 THEN <- - - - - - - - - - - - -
|
|
DO;
|
|
...
|
|
|
------------------------------------------------------------------------------

Pag. 35
O p o

N O H A N D L E

Pode-se usar esta opo em qualquer comando CICS/MVS para especificar que
nenhuma ao dever ser tomada para qualquer condio de exceo que ocorra na
execuo do comando.
------------------------------------------------------------------------------
| F o r m a t o
|
|
|
|
EXEC CICS funo { { opo { (argumento) }}
|
|
. . .
|
|
{ opo { (argumento) }} }
|
|
NOHANDLE;
|
|
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
| E x e m p l o
|
|
|
| ...
|
| REG_TS_ANT = ' ';
|
| EXEC CICS READQ TS QUEUE ('TSFILA') INTO (REG_TS);
|
| DO WHILE (REG_TS = REG_TS_ANT);
|
|
REG_TS_ANT = REG_TS;
|
|
EXEC CICS READQ TS QUEUE ('TSFILA') INTO (REG_TS)-- Abend IOERR --:lw|
|
NOHANDLE;
|:lw|
|
IF REG_TS = REG_TS_ANT THEN<------ Abend ignorado ----------------:lw|
|
DO;
|
|
MSG = 'FIM DE LEITURA DA TS';
|
|
EXEC CICS SEND FROM (MSG);
|
|
END;
|
| END;
|
| ...
|
|
|
------------------------------------------------------------------------------

Pag. 36
O p o

R E S P

Esta opo pode ser usada em qualquer comando CICS/MVS, para especificar que
nenhuma ao dever ser tomada para qualquer condio de exceo que ocorra na
execuo de um comando CICS/MVS, e que, tambm seja retornado para o argumento
desta opo o RESPONSE CODE da execuo deste comando.
Este RESPONSE CODE poder ser verificado com a ajuda da funo "DFHRESP" para
saber se a execuo do comando CICS/MVS foi normal ou se ocorreu alguma condio
de exceo (ver exemplo).
------------------------------------------------------------------------------
| F o r m a t o
|
|
|
|
EXEC CICS funo { { opo { (argumento) }}
|
|
. . .
|
|
{ opo { (argumento) }} }
|
|
RESP (data-area);
|
|
|
------------------------------------------------------------------------------
onde:
RESP (data-area)

<'data-area' - BIN FIXED(31)>, receber


o RESPONSE CODE
(ver tabela abaixo) da execuo de um comando CICS/MVS,
que contm esta opo.

-------------------------------------------------------------------------
|Cond. Exceo
| RESP |Cond. Exceo
| RESP |Cond. Exceo
| RESP |
-------------------------------------------------------------------------
|CBIDERR
| 62
|INVLDC
| 41
|OVERFLOW
| 40 |
|DISABLED
| 84
|INVMPSZ
| 38
|PARTNFAIL
| 66 |
|DSIDERR
| 12
|INVPARTN
| 65
|PGMIDERR
| 27 |
|DSSTAT
| 46
|INVPARTNSET
| 64
|QBUSY
| 25 |
|DUPKEY
| 15
|INVREQ
| 16
|QIDERR
| 44 |
|DUPREC
| 14
|INVTSREQ
| 30
|QZERO
| 23 |
|ENDDATA
| 29
|IOERR
| 17
|RDATT
| 02 |
|ENDFILE
| 20
|ISCINVREQ
| 54
|RETPAGE
| 32 |
|ENDINPT
| 08
|ITEMERR
| 26
|ROLLEDBACK
| 82 |
|ENQBUSY
| 55
|JIDERR
| 43
|RTEFAIL
| 33 |
|ENVDEFERR
| 56
|LENGERR
| 22
|RTESOME
| 34 |
|EOC
| 06
|MAPFAIL
| 36
|SELNERR
| 47 |
|EODS
| 05
|NOJBUFSP
| 45
|SESSBUSY
| 60 |
|EOF
| 04
|NONVAL
| 09
|SESSIONERR
| 58 |
|ERROR
| 01
|NOPASSBKRD
| 50
|SIGNAL
| 24 |
|EXPIRED
| 31
|NOPASSBKWR
| 51
|SYSBUSY
| 59 |
|FUNCERR
| 48
|NOSPACE
| 18
|SYSIDERR
| 53 |
|IGREQCD
| 57
|NOSTART
| 10
|TERMERR
| 81 |
|IGREQID
| 39
|NOSTG
| 42
|TERMIDERR
| 11 |
|ILLOGIC
| 21
|NOTALLOC
| 61
|TRANSIDERR
| 28 |
|INBFMH
| 07
|NOTAUTH
| 70
|TSIOERR
| 35 |
|INVERRTERM
| 37
|NOTFND
| 13
|UNEXPIN
| 49 |
|INVEXITREQ
| 63
|NOTOPEN
| 19
|WRBRK
| 03 |
-------------------------------------------------------------------------

Pag. 37
------------------------------------------------------------------------------
|
E x e m p l o
|
|
|
|
DCL
RET_CODE
BIN FIXED (31);
|
|
...
|
|
EXEC CICS READQ TS QUEUE ('TSFILA') INTO (REG_TS)
|
|
RESP(RET_CODE);
|
|
DO WHILE (RET_CODE = DFHRESP(NORMAL));
|
|
/* processa registro */
|
|
...
|
|
EXEC CICS READQ TS QUEUE ('TSFILA') INTO (REG_TS)
|
|
RESP (RET_CODE);
|
|
END;
|
|
IF RET_CODE = DFHRESP(ITEMERR) THEN
|
|
DO;
|
|
/* processa erro tipo ITEMERR */
|
|
...
|
|
END;
|
|
...
|
|
|
------------------------------------------------------------------------------
Observao : Esta opo mais a verificao do RESPONSE CODE com a funo DFHRESP
poder
substituir o comando HANDLE CONDITION, com a vantagem, de
que o programa se torne mais estruturado, por no haver o desvio
incondicional via comando "GO TO" implcito.

Pag. 38
CONTROLE DE TERMINAL
O Terminal Control Program (TCP) o mdulo de gerncia que proporciona o
INTERFACE de comunicao com o programa de aplicao. O programa de aplicao
invoca o TCP que ento controla as comunicaes com os terminais na rede.
------------------------------------------------------------------------------
|
|
|
-------
-------------
|
|
|termi- |
---- Programa de |
|
|
| nal 1----
|
| Aplicao 1 |
|
|
-----
|
------------
|
-------------
|
|
-----
|
| Terminal ---
|
|
-------
---
Control |
-------------
|
|
|
Program -------- Programa de |
|
|
-------
|
|
| Aplicao 2 |
|
|
|termi- --------
(TCP)
|
-------------
|
|
| nal n|
|
---
|
|
-----
------------
|
-------------
|
|
-----
---- Programa de |
|
|
-------
| Aplicao n |
|
|
-------------
|
|
|
------------------------------------------------------------------------------
Mdulo de Controle de Terminal (TCP)
Este mdulo controla todas as operaes de terminal utilizando-se dos mtodos
de acesso de telecomunicao (ACF/VTAM, BTAM ou TCAM). As funes prim rias
deste mdulo so:
-----------------------------------------------------------------------------
|
POLLING
|
ADDRESSING
|
-----------------------------------------------------------------------------
|Checagem peridica dos terminais para |Checagem para verificar se um deter- |
| verificar se h alguma entrada a ser | minado terminal est pronto para
|
|transmitida para ser processada por um |
receber alguma sada.
|
|
programa de aplicao.
|
|
-----------------------------------------------------------------------------
O TCP realiza tambm as seguinte funes:
*

Solicita para que os terminais enviem suas transaes;

Transfere dados entre o programa de aplicao e o terminal: Todas as


transferncias de dados so pedidas pelo programa de aplicao mas so
executadas pelo TCP;

Pag. 39
*

Manuseia as exigncias de comunicao de HARDWARE: O TCP respons vel pela


transmisso real de uma mensagem por linhas de comunicao. Isto poderia envolver a traduo da mensagem no cdigo de transmisso requerido, inserindo
ou removendo caracteres de controle de transmisso, e manipulando as
exigncias de endereamento para certos tipos de terminais;

Pesquisa a Terminal Control Table (TCT): Cada terminal na rede identificado por uma entrada nica na TCT. A entrada chamada Terminal Control
Table Terminal Entry (TCTTE). Quando os dados estiverem prontos para serem
enviados para o terminal, uma indicao posta na TCTTE. O TCP pesquisa a
TCT periodicamente e faz com que os dados sejam enviados para os respectivos
terminais;

Pede a iniciao de uma nova tarefa: Quando um operador entrar uma


identificao de transao, o CICS/MVS inicia uma nova tarefa. Todos os comandos de I/O encontrados durante a execuo desta tarefa so endereados
exclusivamente ao terminal que entrou a identificao da transao.

Para resumir:
*

Uma transao inicia uma tarefa;

O terminal que enviou a transao - e somente esse terminal - est


com a tarefa em particular.

associado

a associao entre o terminal de envio e a tarefa que permite que o


operador escreva comandos de terminal em seu programa de aplicao sem identificar qual terminal ser realmente usado quando o programa for executado.
Este mdulo tambm faz a manipulao de erros de I/O, e tambm mantm uma
amarrao de quais tarefas esto associados com quais terminais.
O TCP usa a TCT (Terminal Control Table) para ajudar nas
trole de terminal.

operaes

de

con-

------------------------------------------------------------------------------
|Terminal Control Table (TCT)
|
|
|
|
A TCT mantm informaes do tipo: caractersticas da linha de comunicao, |
|tipos de terminais, dispositivos especiais, prioridades de terminal,
|
|sequncia de POLLING e dados operacionais (tais como: indicao de que um
|
|determinado terminal est temporariamente inativo e que ele deve ser excludo |
|da sequncia do POLLING).
|
------------------------------------------------------------------------------
Terminal Input/Output Area (TIOA)
Quando um terminal enviar uma transao para o Terminal Control Program, a
entrada colocada numa
rea especial de I/O chamada
rea
de
Entrada/Sada de Terminal (TIOA). Esta
rea adquirida dinamicamente pelo
CICS/MVS antes de o programa de aplicao correspondente for carregado na
memria. O pedido de transao colocado na memria consiste de uma identificao
de transao de um a quatro caracteres tipicamente seguida de um caracter em
branco e ento por dados de entrada. A identificao de transao identifica o
programa de aplicao a ser executado.

Pag. 40
Logo que o programa de aplicao para uma dada transao estiver na memria e
em execuo, os dados de entrada na TIOA so deslocados da TIOA para a rea de
trabalho definida no programa de aplicao. A transferncia de dados da TIOA
manipulada pelo CICS/MVS - um processo que transparente para o programa de
aplicao.

Elementos do TCP
*

Terminal Control Table (TCT)

Terminal I/O Area (TIOA)

Mtodos de Acesso

BTAM (Basic Telecommunications Access Method)

TCAM (Telecommunications Access Method)

SAM (Sequential Access Method) - o mtodo de acesso para


terminais CRLP (Card Reader Line Printer) usado quando a instalao
ainda no possui terminal de vdeo.

VTAM (Virtual Telecommunications Access Method)

Comandos
-

RECEIVE

SEND

Pag. 41
R E C E I V E
Utilizado para
unidade lgica.

leitura

de

dados

no

formatados de um terminal ou de uma

------------------------------------------------------------------------------
| F o r m a t o
|
|
|
|
EXEC CICS RECEIVE
{ INTO
(data-area) / SET (pointer) }
|
|
LENGTH (data-area) ;
|
|
|
------------------------------------------------------------------------------
onde:
INTO (data-area)

Especifica uma vari vel elementar ou agregada (estrutura,


tem de grupo) que ir receber os dados lidos do terminal
ou de uma unidade lgica.
------- --------------------------------
| ABC...-------------------------
|
|
| |
|
|
----- |
V TIOA |
----- |
------------ |
------- |
------ABC...
| |
|
PGM
|
------------ |
| --------------
|
| | DSA
|
|
|
| |
V
|
|
| |
----------|
|
| |
|ABC...
||
|
| |
----------|
|
| ---------------
|
| |
. . .
|
|
| ---------------
|
--------------------------------

Pag. 42
SET (pointer)

Especifica uma vari vel do tipo POINTER do PL/I (ver manual de PL/I) que ir receber o endereo da rea de BUFFER
para onde os dados foram lidos do terminal pela execuo
do comando RECEIVE.
-------
------------------------------
| ABC...----------------------------------|
|
|
|
TIOA
||
-----
|
------ X'0091FEB0' V|
-----
|
|
------------|
-------
|
|
|ABC...
||
| PGM
|
------------|
Obs. O endereo |--------------
|
X'0091FEB0' no || DSA
|
|
|
e' o endereo
||
V
|
|
real onde reside || -----------|
|
a TIOA,
|| |X'0091FEB0'||
|
apenas um
|| -----------|
|
endereo
|---------------
|
fictcio.
||
. . .
|
|
|---------------
|
------------------------------

LENGTH (data-area)

Especifica uma vari vel que dever conter o tamanho m ximo


da informao que ser
lida do terminal pelo comando
RECEIVE.
Esta vari vel deve ser do seguinte tipo e
tamanho: BINARY FIXED(15) - 2 bytes bin rios.
Observao:

Se o tamanho da informao recebida do terminal for diferente do tamanho especificado


nesta opo, o CICS/MVS muda o valor do
tamanho especificado pelo tamanho real da
informao recebida.

Pag. 43
Utilizando a opo SET podemos
tamanho da informao recebida:
1.

ter as seguintes situaes, dependendo do

Tamanho da informao recebida MENOR que a


grama de aplicao:

rea de trabalho definido no pro-

Como a opo SET trabalha diretamente com endereos de memria, isto indica que o programa de aplicao est acessando posies de memrias a mais
do que permitido, que no faz parte dele.
---------------------------------------------------------------------------
|
TIOA
|
|
------
|
|
----> |ABCDEF| XXXX
|
|
|
------
|
|
|
----- --
|
|
|
6
4
|
|
DCL MENS CHAR(10) BASED(P);
|
|
|
|
----------
|
|
|
| 10
|
|
-->tamanho
V
|
|
esperado
tamanho recebido
|
|
DCL TAM BIN FIXED (15) INIT(10); |
|
|
V
|
|
EXEC CICS RECEIVE SET(P) LENGTH (TAM);
|
---------------------------------------------------------------------------
Se for movimentado algum contedo para esta
rea, estar
destrundo
algumas posies de memria, caracterizando um STORAGE VIOLATION (invaso de
rea), que poder causar srios danos ao CICS/MVS.
2.

Tamanho da informao recebida MAIOR que a


grama de aplicao:

rea de trabalho definido no pro-

---------------------------------------------------------------------------
|
TIOA
|
|
----------
|
|
----> |ABCDEFGHIJ|
|
|
|
----------
|
|
|
----
|
|
|
6
|
|
DCL MENS CHAR(06) BASED(P);
|
|
|
-----------
|
|
|
10 -->tamanho recebido
|
|
-->tamanho
|
|
|
esperado
|
|
|
DCL TAM BIN FIXED (15) INIT(6);
V
|
|
EXEC CICS RECEIVE
SET(P)
LENGTH (TAM);
|
---------------------------------------------------------------------------
O programa de aplicao ir
rea de trabalho definido nele.

acessar a informao truncada no tamanho da

Pag. 44
Utilizando a opo INTO:
1.

Tamanho da informao recebida MENOR que a


grama de aplicao:

rea de trabalho definido no pro-

---------------------------------------------------------------------------
|
TIOA
|
|
MENS
------
|
|
----------
----------|ABCDEF| XXXX <---- contedo
|
|
|ABCDEFXXXX|<-------
------
indefinido
|
|
----------
----- --
|
|
6
4
|
|
DCL MENS CHAR(10);
|
|
|
|
----------
|
|
|
| 10
|
|
-->tamanho
V
|
|
esperado
tamanho recebido
|
|
DCL TAM BIN FIXED (15) INIT(10);
|
|
|
V
|
|
EXEC CICS RECEIVE INTO(MENS) LENGTH (TAM);
|
---------------------------------------------------------------------------
Se for feito um teste de comparao com este campo, tomar cuidado, pois
os bytes mais a direita contm contedos indefinidos.
2.

Tamanho da informao recebida MAIOR que a


de aplicao:

rea de dado definida no programa

---------------------------------------------------------------------------
|
TIOA
|
|
MENS
----------
|
|
------
----------------|ABCDEFGHIJ|
|
|
|ABCDEF|<----
|
----------
|
|
------
V
----
|
|
LENGERR
6
|
|
DCL MENS CHAR(06);
|
|
|
-----------
|
|
|
10 -->tamanho recebido
|
|
-->tamanho
|
|
|
esperado
|
|
|
DCL TAM BIN FIXED (15) INIT(6);
V
|
|
EXEC CICS RECEIVE INTO(MENS) LENGTH (TAM);
|
---------------------------------------------------------------------------
Se no for tratado o HANDLE
condio.

CONDITION

LENGERR,

ir

abendar

por

esta

Pag. 45
------------------------------------------------------------------------------
|Terminais modelo 3270
|
|
|
|
As telas dos terminais modelo 3270 podem mostrar at 1920 caracteres, que |
|esto compostos em 24 linhas e 80 colunas. Isto , a tela est dividida
|
|logicamente como sendo uma tabela (ARRAY) bidimensional de 24 linhas por 80
|
|colunas. E esta tabela inicializada pelo CICS/MVS com zeros bin rios
|
|(X'00') que representa fisicamente a tela limpa do terminal de vdeo.
|
------------------------------------------------------------------------------
C o n d i o

d e

E x c e o

-----------------------------------------------------------------------------
| Condio de |
Descrio
|
|
Exceo
|
|
-----------------------------------------------------------------------------
|LENGERR
|Ocorre quando o tamanho da informao recebida for maior que o |
|
|tamanho especificado na opo LENGTH.
|
|
|
|
|
|
|
|
|Observao:
Esta condio ocorre somente quando se utiliza a |
|
|
opo "INTO".
|
-----------------------------------------------------------------------------
------------------------------------------------------------------------------
| E x e m p l o
|
|
|
|1. Utilizando a opo SET:
|
|
|
|
---------- TIOA
-------------
|
|
X'000123FD' |EX01ABCDEF|<----------------------EX01ABCDEF
|
|
|
|
----------
|
|
|
|
|
|
|
|
|
------------------------------
|
|
|
|
|
-----------
|
|
DCL TAM BIN FIXED(15) INIT(10), |
-------
|
|
1 MSG_ENTRADA BASED (P),
|
---------
|
|
2 COD_TRANS CHAR(04),
|
terminal
|
|
2 MENSAGEM
CHAR(06),
|
|
|
MSG
CHAR(80),
|
|
|
P
POINTER; <-------
|
|
EXEC CICS RECEIVE SET (P) LENGTH (TAM);
|
|
IF (TAM > 10) THEN
|
|
DO;
|
|
MSG = 'ERRO DE TAMANHO, FAVOR RECOMECAR';
|
|
EXEC CICS SEND FROM(MSG);
|
|
EXEC CICS RETURN;
|
|
END;
|
|
|
------------------------------------------------------------------------------

Pag. 46
------------------------------------------------------------------------------
|
|
|2. Utilizando a opo INTO:
|
|
|
|
DCL TAM BIN FIXED(15) INIT(10),
-------------
|
|
1 MSG_ENTRADA,
---EX01ABCDEF
|
|
|
2 COD_TRANS CHAR(04), <--'EX01'
|
|
|
|
|
2 MENSAGEM
CHAR(06), <--'ABCDEF' |
|
|
|
|
MSG
CHAR(80);
|
|
|
|
|
EXEC CICS HANDLE CONDITION
|
-----------
|
|
LENGERR (ERRO_TAM);
|
-----
|
|
EXEC CICS RECEIVE INTO
(MSG_ENTRADA) <--
-------
|
|
LENGTH (TAM);
terminal
|
|
ERRO_TAM:
|
|
MSG = 'ERRO DE TAMANHO, FAVOR RECOMECAR';
|
|
EXEC CICS SEND FROM(MSG);
|
|
EXEC CICS RETURN;
|
|
|
------------------------------------------------------------------------------

Pag. 47
S E N D
Utilizado
lgica.

para

enviar

dados

no

formatados

um terminal ou a uma unidade

------------------------------------------------------------------------------
| F o r m a t o
|
|
|
|
EXEC CICS SEND
FROM
(data-area)
|
|
{ LENGTH (data-area) }
|
|
{ ERASE } ;
|
|
|
------------------------------------------------------------------------------
onde:
FROM (data-area)

Especifica uma vari vel elementar ou agregada (estrutura,


tem de grupo) onde ser armazenado a informao a ser enviada para um terminal ou uma unidade lgica.

LENGTH (data-area)

Especifica uma vari vel ou uma constante inteira onde se


indica o tamanho m ximo da informao que dever
ser enviada para um terminal ou uma unidade lgica. Pelo PL/I,
esta vari vel deve ser uma vari vel bin ria de dois bytes
(BIN FIXED(15)).
Observao:

ERASE

Se
esta
opo
no
for especificada,
Assume-se o tamanho da informao armazenada
na vari vel especificada na opo FROM.

Opo que indica que o contedo atual da tela


limpa antes de enviar a informao.

dever

-----------------
------------------
|DIEX010234_
|
|INFORMACAO NOVA
|
|
|
|
|
|
|
ERASE
|
|
|
|---------->|
|
|
|
|
|
|
|
|
|
|
|
|
|
-----------------
------------------
tela antes
tela depois

ser

Pag. 48
1.

Se a informao a ser enviada para o terminal for maior do que o tamanho especificado na opo LENGTH, esta informao ser mostrada com os caracteres
a direita truncados.
---------------------------------------------------------------------------
| DCL TEXTO
CHAR(24);
|
| TEXTO = 'MENSAGEM PARA O TERMINAL';
|
| EXEC CICS SEND FROM (TEXTO) LENGTH (10) ERASE;
|
| ...
|
|
|
| -----------------
------------------
|
| |DIEX_
|
|MENSAGEM P
|
|
| |
|
|
|
|
| |
|
|
|
|
| |
|----------->|
|
|
| |
|
|
|
|
| |
|
|
|
|
| |
|
|
|
|
| -----------------
------------------
|
|
tela antes
tela depois
|
---------------------------------------------------------------------------

2.

A informao enviada para o terminal sem a opo ERASE, ser mostrada a partir (inclusive) da posio em que o cursor estiver posicionado na tela. Se o
cursor estiver posicionado sobre uma informao j
existente, a nova
informao ser mostrada sobreposta informao j existente.
---------------------------------------------------------------------------
| DCL TEXTO
CHAR(06) INIT('CURSOR');
|
| EXEC CICS SEND FROM (TEXTO) LENGTH (06);
|
| ...
|
|
|
| -----------------
-------------------
|
| |A PARTIR DO _
|
|A PARTIR DO CURSOR |
|
| |
----------------------------
|
|
| |
|
|
|
|
| |
|----------->|
|
|
| |
|
|
|
|
| |
|
|
|
|
| -----------------
-------------------
|
|
tela antes
tela depois
|
|
|
| -----------------
-------------------
|
| |A PARTIR DO
|
|A PARTCURSOR
|
|
| |
----------------------------
|
|
| |
|
|
|
|
| |
|----------->|
|
|
| |
|
|
|
|
| |
|
|
|
|
| -----------------
-------------------
|
|
tela antes
tela depois
|
---------------------------------------------------------------------------

Pag. 49
Observao:

Quando a informao estiver relacionada com a qualidade dos dados


fornecidos, a opo "ERASE" no deve ser especificada.

Ex.: 'CODIGO NAO NUMERICO' deve ser enviado sem a opo ERASE para
rador certifique-se de que realmente errou.

que

ope-

-------------------------------------------------------------------------
|
DCL TEXTO
CHAR(24);
|
|
DCL TAM
BIN FIXED(15) INIT(18);
|
|
DCL 1 REG_ENTR,
|
|
2 COD_TRA
CHAR(04),
|
|
2 CODIGO
CHAR(05);
|
|
EXEC CICS RECEIVE INTO (REG_ENTR) LENGTH(TAM);
|
|
IF VERIFY(CODIGO,'0123456789') = 0 THEN
|
|
DO;
|
|
TEXTO = 'CODIGO NAO NUMEIRO';
|
|
EXEC CICS SEND FROM (TEXTO);
|
|
EXEC CICS RETURN;
|
|
END;
|
|
...
|
|
|
|
-------------------------------------
|
|
|DIEX01A34_
|
|
|
|
|
|
|
|
-------------------------------------
|
|
|
|DIEX01A34CODIGO NAO NUMERICO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
------------------
|
|
|
tela antes
|
|
|
|
--------------------------------------
|
|
tela depois
|
-------------------------------------------------------------------------

Pag. 50
Controle de Programa
Mdulo de Controle de Programa (PCP)
O Program Control Program (PCP) o
respons vel pela localizao dos programas
carreg -los na memria para execuo.

mdulo de gerncia do CICS/MVS


de aplicao e, se necess rio,

Na ocasio em que uma tarefa requerer um dado programa de aplicao, tal programa pode ou no estar na memria. Existem trs raz-es pelas quais um programa
pode j estar na memria na ocasio em que necessitado por uma tarefa.
*

Trata-se de um programa residente; isto ,


quando o CICS/MVS foi inicializado.

ele

foi

carregado

na

memria

Outra tarefa est

Outra tarefa usou o programa e a rea de memria no foi necess ria para
nada mais, e o programa permanece na memria.

usando o programa.

Uma das funes do PCP determinar se o programa de aplicao solicitado


est
ou no na regio/partio do CICS/MVS. Se o programa de aplicao no est
na memria, o PCP carregar o programa. Uma segunda funo do PCP transferir o
controle para o programa de aplicao, de modo que ele possa comear a execuo.
Ele tambm respons vel pela transferncia de controle para eles e o retorno do
controle para o CICS/MVS quando os programas de aplicao tiverem completado a
execuo. O PCP tambm facilita um programa de aplicao que esteja transferindo
controle para outro programa de aplicao.
Na execuo de suas funes de controle de programa, o PCP faz uso de uma
tabela chamada Processing Program Table (PPT).
Existe uma entrada na tabela
para cada programa de aplicao. Cada entrada, contm, entre outras coisas, os
seguintes tens:
---------------------------------------------- - - - |Nome do PGM |Endereo de|Endereo|Linguagem de |
|de aplicao| memria |de disco|program. usada|
---------------------------------------------- - - - O programador de sistemas respons vel pela definio dos programas na PPT.
Quando uma tarefa termina, o programa de aplicao usado pela tarefa pode no
ser mais necess rio. Em muitos casos o CICS/MVS pode tornar a usar a
rea de
memria que o programa de aplicao ocupou.
Se a tarefa que tiver sido
recentemente terminada a nica tarefa de usurio usando um programa de
aplicao, ento a rea de memria est disponvel para outras finalidades. Se
entretanto, diversas tarefas esto usando o mesmo programa de aplicao, como
acontece frequentemente, o CICS/MVS no pode tornar a usar a rea de memria.
Para uma gerncia adequada da memria, o PCP necessita saber se existem tarefas
simultneas usando o mesmo programa. O PCP obtm esta informao de um contador
de uso na entrada da PPT para tal programa de aplicao:

Pag. 51
---------------------------------------------- - - |Nome do PGM |Endereo de|Endereo|Linguagem de |Contador|
|de aplicao| memria |de disco|program. usada|de uso |
---------------------------------------------- - - Cada vez que uma tarefa comea usando um programa, o contador de uso incrementado. Cada vez que uma tarefa termina, o contador de uso diminuido. Quando
o contador de uso zero, o PCP autoriza o novo uso da rea ocupada pelo programa de aplicao. Assim, uma das funes do PCP determinar quando os programas de aplicao no so mais requeridos pelas tarefas.
Os programas so carregado na memria virtual quando necess rios, a menos que
eles estejam especificados na PPT como programas residentes.
Os programas so reloc veis, isto , eles podem estar em diferentes
localizaes na memria de uma execuo para a outra.
Desta forma, a PPT e'
utilizada pela PCP para localizao destes programas na memria durante a
operao do CICS/MVS.

Elementos Utilizados pelo PCP


*

Processing Program Table (PPT)

Comandos :
-

RETURN

LINK

XCTL

LOAD

RELEASE

RETURN TRANSID

ABEND

Pag. 52
R E T U R N
Utilizado para retornar o controle para:
*

o pragrama no nvel lgico imediatamente superior (retorno de uma subrotina


CICS/MVS), ou para o

CICS/MVS quando termina a tarefa.

------------------------------------------------------------------------------
| F o r m a t o
|
|
|
|
EXEC CICS RETURN;
|
|
|
------------------------------------------------------------------------------
Obs.:

Deve ser codificado em todos os trminos lgicos do programa;

------------------------------------------------------------------------------
|
------------------------------
-->--------------------
|
|
|PGMEXM : PROC OPTIONS(MAIN); |
|
|PGM1 : PROC ...
|
|
|
|
.
|
|
|
.
|
|
|
|EXEC CICS LINK
|
|
|
.
|
|
|
|
PROGRAM('PGM1');--------
|
.
|
|
|
|
. <----------------------------EXEC CICS RETURN;
|
|
|
|
.
|
|END PGM1;
|
|
|
|
.
|
--------------------
|
|
|IF ACABOU THEN
|
|
|
| EXEC CICS RETURN;------------------------
|
|
|
.
|
|
|
|
|
.
|
|
|
|
|
.
|
V
|
|
|EXEC CICS RETURN;------------------------> C I C S / M V S
|
|
|END PGMEXM;
|
|
|
------------------------------
|
|
|
------------------------------------------------------------------------------

Pag. 53
L I N K
usado para passar o controle de um programa de aplicao de nvel
lgico superior para um programa de aplicao de nvel lgico inferior.
------------------------------------------------------------------------------
| F o r m a t o
|
|
|
|
EXEC CICS LINK
PROGRAM ('nome')
|
|
{ COMMAREA (data-area)
|
|
{ LENGTH
(data-value) }}
|
|
|
------------------------------------------------------------------------------
Onde:
PROGRAM ('nome')

Especifica a identificao de um programa de aplicao


ao qual o controle ser passado, temporariamente. O nome
especificado precisa consistir de at oito caracteres
alfanumricos e precisa estar definido na PPT.
Deve ser uma constante ou um campo alfanumrico contendo
o nome de um programa de aplicao ao qual ser
passado
o controle.
Obs :

Em nossa instalao a identificao do programa


de aplicao deve consistir de at 6 caracteres
alfanumricos,
comeando
por
um
caracter
alfabtico, necessariamente.

COMMAREA (data-area)

Especifica o nome de uma rea de trabalho onde esto


armazenados os dados a serem passados ao programa de
aplicao ao qual o controle ser passado.

LENGTH (data-value)

Especifica o nome de uma rea de trabalho onde-se indica


o comprimento m ximo dos dados que sero passados via
opo COMMAREA.
Deve ser uma constante ou um campo
bin rio de dois bytes (BIN FIXED(15)).
O valor m ximo
aceito por esta vari vel de 32.767 bytes, oque indica
que, podemos passar como
parmetro
somente
esta
quantidade em bytes.

Quando um programa de aplicao emite um comando LINK para outro programa de


aplicao, o nome do programa chamado deve estar na PPT. Se no estiver, ocorre
a condio de exceo PGMIDERR que um erro de identificao do programa.
Quando o comando RETURN executado no programa LINKado (chamado), o controle
retornado prxima instruo execut vel logo aps o comando LINK no programa de
aplicao chamador (que emitiu o comando LINK).

Pag. 54
C o n d i o

d e

E x c e o

-----------------------------------------------------------------------------
|Abend Code
|Descrio
|
-----------------------------------------------------------------------------
|PGMIDERR
|Ocorre se um programa de aplicao no est cadastrado na PPT |
|
|ou o mesmo no est disponvel para execuo.
|
-----------------------------------------------------------------------------
------------------------------------------------------------------------------
|
E x e m p l o
|
|
|
|
|
|
Suponhamos que o programa A esteja sendo executado. Em um ponto dado o
|
|programa A emite o comando LINK para o programa B. Por definio, B um
|
|nvel lgico menor do que A. O comando LINK emitido; A p ra a execucao, mas |
|o mesmo nao est terminado. B carregado, recebe o controle e executa o
|
|programa at que um comando RETURN seja encontrado dentro de B. Nesta
|
|ocasio, o controle ento retornado ao programa de chamada (programa A,
|
|neste caso). A execuo de A prossegue com a instruo imediatamente
|
|seguinte ao comando LINK. A sequncia pode ser diagramaticamente como se se- |
|gue:
|
|
|
|1. SEM PASSAR DADOS :
|
|
|
|
|
|
Programa A
|
|
-----------------------
|
|
|PROGR1: PROC OPTIONS...|
|
|
|. . .
|
|
|
|. . .
|
|
|
|. . .
|
Programa B
|
|
|EXEC CICS LINK
|
-----------------------
|
|
|
PROGRAM('PROGR2');--------------->|PROGR2: PROC OPTIONS...|
|
|
|MSG = 'VOLTEI';<---------------<
|. . .
|
|
|
|EXEC CICS SEND
|
| |
|. . .
|
|
|
|
FROM(MSG);
|
| |
|. . .
|
|
|
|. . .
|
| |
|. . .
|
|
|
|. . .
|
| |
|IF ACABOU = 'SIM' THEN |
|
|
|END PROGR1;
|
| ---- EXEC CICS RETURN;
|
|
|
-----------------------
|
|. . .
|
|
|
|
|. . .
|
|
|
|
|. . .
|
|
|
|
|. . .
|
|
|
-----EXEC CICS RETURN;
|
|
|
|END PROGR2;
|
|
|
-----------------------
|
|
|
------------------------------------------------------------------------------

Pag. 55
------------------------------------------------------------------------------
|
|
|
|
|2. PASSANDO DADOS :
|
|
|
|
|
|
Programa A
|
|
-----------------------
|
|
|PROGR1: PROC OPTIONS...|
|
|
|DCL AREA CHAR(05);
|
|
|
|. . .
|
endereo
|
|
|AREA = 'AAAAA';-----------------------------------
|
|
|EXEC CICS LINK |
|
Programa B
|
|
|
|
COMMAREA(AREA)
|
-------------V---------
|
|
|
PROGRAM('PROGR2');--------------->|PROGR2: PROC(P) OPTIONS|
|
|
|IF AREA = 'BBBBB' THEN<--------<
|DCL AREA_B BASED(P)
|
|
|
| EXEC CICS SEND
|
| |
|
CHAR(05);
|
|
|
|
FROM(AREA); |
| |
|DCL P
POINTER;
|
|
|
|. . .
|
| |
|. . .
|
|
|
|. . .
|
| |
|AREA_B = 'BBBBB';
|
|
|
|END PROGR1;
|
| |
|. . .
|
|
|
-----------------------
| |
|IF ACABOU = 'SIM' THEN |
|
|
| ---- EXEC CICS RETURN;
|
|
|
|
|. . .
|
|
|
|
|. . .
|
|
|
-----EXEC CICS RETURN;
|
|
|
|END PROGR2;
|
|
|
-----------------------
|
|
|
------------------------------------------------------------------------------

Pag. 56
X C T L
usado para transferir (definitivamente) o controle de um programa
de aplicao a um outro de mesmo nvel lgico.
------------------------------------------------------------------------------
| F o r m a t o
|
|
|
|
EXEC CICS XCTL
PROGRAM ('nome')
|
|
{ COMMAREA (data-area)
|
|
{ LENGTH
(data-value) } } ;
|
|
|
------------------------------------------------------------------------------
Onde:
PROGRAM ('nome')

Especifica a identificao de um programa de aplicao


ao qual o controle ser passado, definitivamente. O nome
especificado precisa consistir de at oito caracteres
alfanumricos e precisa estar definido na PPT.
Deve ser uma constante ou um campo alfanumrico contendo
o nome de um programa de aplicao ao qual ser
passado
o controle.
Obs :

Em nossa instalao a identificao do programa


de aplicao deve consistir de at 6 caracteres
alfanumricos,
comeando
por
um
caracter
alfabtico, necessariamente.

COMMAREA (data-area)

Especifica o nome de uma


rea de trabalho onde se
encontram os dados a serem passados ao programa de
aplicao ao qual o controle ser
passado definitivamente.

LENGTH (data-value)

Especifica o nome de uma rea de trabalho onde se indica


o comprimento m ximo dos dados que sero passados via
opo COMMAREA. Deve ser uma constante ou um campo
bin rio de dois bytes (BIN FIXED(15)). O valor m ximo
aceito por esta vari vel de 32.767 bytes, oque indica
que,
podemos
passar
como parmetro somente esta
quantidade em bytes.

Se um programa de aplicao chamado por um comando XCTL, o controle ser


passado para o programa citado; entretanto o programa que emitiu o comando XCTL
no tornar a ganhar o controle (o programa chamador liberado pela tarefa e
pode ser suprimido da memria se nenhuma outra estiver usando o mesmo).

Pag. 57
Quando um programa de aplicao emite um comando XCTL para outro programa de
aplicao, o cdigo da transao (associado ao programa de aplicao) chamado
deve estar na PPT. Se no estiver ocorre a condio de exceo PGMIDERR que um
erro de idenficao do programa.
O comando
aplicao.

XCTL

dispensa

comando

C o n d i o

EXEC CICS RETURN no final do programa de


d e

E x c e o

-----------------------------------------------------------------------------
|Abend Code
|Descrio
|
-----------------------------------------------------------------------------
|PGMIDERR
|Ocorre se um programa no pode ser encontrado na PPT ou nao
|
|
|est disponvel. Pode tambm ocorrer no MVS/XA se um programa |
|
|de aplicao em modo de 24 BITs emitir um comando LOAD para um |
|
|programa residente acima dos 16 Mbytes.
|
-----------------------------------------------------------------------------
------------------------------------------------------------------------------
|E x e m p l o
|
|
|
|
|
|1. SEM PASSAR DADOS :
|
|
|
|
Programa A
Programa B
|
|
-----------------------
-----------------------
|
|
|PROGR1: PROC OPTIONS...|
----->|PROGR2: PROC OPTIONS...|
|
|
|. . .
|
|
|. . .
|
|
|
|. . .
|
|
|. . .
|
|
|
|IF COND = 0 THEN
|
|
|. . .
|
|
|
| EXEC CICS XCTL
|
|
|. . .
|
|
|
|
PROGRAM('PROGR2');---------
|IF FIM = 'SIM' THEN
|
|
|
|. . .
|
--------EXEC CICS RETURN;
|
|
|
|. . .
|
|
|. . .
|
|
|
|. . .
|
|
|. . .
|
|
|
|. . .
|
|
|. . .
|
|
|
|. . .
|
|-----EXEC CICS RETURN;
|
|
|
|END PROGR1;
|
||
|END PROGR2;
|
|
|
-----------------------
||
-----------------------
|
|
VV
|
|
C I C S / M V S
|
|
|
------------------------------------------------------------------------------

Pag. 58
------------------------------------------------------------------------------
|
|
|
|
|2. PASSANDO DADOS :
|
|
|
|
endereo
|
|
-----------------------
|
|
Programa A
|
Programa B
|
|
|
-----------------------
|
-------------V---------
|
|
|PROGR1: PROC OPTIONS...|
| ----->|PROGR2: PROC(P) OPTIONS|
|
|
|DCL AREA CHAR(05);
|
| |
|DCL AREA
BASED(P);
|
|
|
|AREA = 'AAAAA';
|
| |
|DCL P
POINTER;
|
|
|
|IF COND = 99 THEN
|
| |
|. . .
|
|
|
| EXEC CICS XCTL
|
| |
|. . .
|
|
|
|
COMMAREA(AREA)---------- |
|. . .
|
|
|
|
PROGRAM('PROGR2');---------
|IF AREA = 'AAAAA' THEN |
|
|
|. . .
|
--------EXEC CICS RETURN;
|
|
|
|. . .
|
|
|. . .
|
|
|
|. . .
|
|
|. . .
|
|
|
|. . .
|
|
|. . .
|
|
|
|. . .
|
|-----EXEC CICS RETURN;
|
|
|
|END PROGR1;
|
||
|END PROGR2;
|
|
|
-----------------------
||
-----------------------
|
|
VV
|
|
C I C S / M V S
|
|
|
------------------------------------------------------------------------------
Quando um comando RETURN emitido em um programa invocado por um comando
XCTL, o retorno para o programa no nvel lgico imediatamente superior ou para
o CICS/MVS se nenhum LINK foi emitido. Por exemplo:
Programa A
-----------------
|
.
|
|
.
|
Programa B
Programa C
|
.
|
----------------
----------------
|EXEC CICS LINK------>|
.
| ->|
.
|
->|
.
|
|
.
| | |
.
|
| |
.
|
|
.
| | |
.
|
| |
.
|
|EXEC CICS XCTL--- |
.
|
| |EXEC CICS RETURN;-- |
.
|
|
.
|
| ----------------- V |
.
|
|EXEC CICS RETURN-
|
CICS/MVS |
.
|
|
.
| |
|
----------------
---------------- |
------------------------------------------------------------------

Pag. 59
L O A D
usado para buscar programas de aplicao, tabela, ou mapa da biblioteca onde eles residem e carreg -los (somente) na memria principal.
------------------------------------------------------------------------------
| F o r m a t o
|
|
|
|
EXEC CICS LOAD
PROGRAM ('nome')
|
|
{ SET
(pointer) }
|
|
{ LENGTH (data-area) }
|
|
{ HOLD } ;
|
|
|
------------------------------------------------------------------------------
Onde:
PROGRAM ('nome')

Especifica a identificao de um programa de aplicao,


uma tabela, ou um mapa que ser carregado na memria
principal. O nome especificado precisa consistir de at
oito caracteres alfanumricos e precisa estar definido
na PPT.
Deve ser uma constante ou
contm a identificao.

um

campo

alfanumrico

que

SET (pointer)

Especifica um nome de uma


rea de trabalho (tipo
POINTER) onde ser armazenado o endereo inicial da rea
na qual a tabela, o programa de aplicao, ou o mapa
ser carregado.

LENGTH (data-area)

Especifica uma rea de trabalho, onde ser armazenado o


tamanho da tabela, programa de aplicao, ou mapa logo
aps ele ser carregado. Deve ser um campo bin rio de
dois bytes (BIN FIXED(15)).

HOLD

Indica que a tabela, o programa de aplicao, ou o mapa


carregado na memria principal deve permanecer na mesma
at que seja emitido o comando RELEASE (ver prximo comando) que libera da memria principal.
Se for omitido, a rea de memria liberada automaticamente no fim da tarefa que executou o comando LOAD.

O comando LOAD tambem usado para carregar um mdulo de programa execut vel.
Entretanto, mais comumente usado para carregar tabelas (Estas tabelas devem
ser gerados em ASSEMBLY).

Pag. 60
O CICS/MVS considera tanto a tabela como o mapa como sendo um programa de
aplicao, j que os mesmos devem residir na biblioteca de programas e o nome
deve estar definido na PPT.
O programa de aplicao, tabela, ou o mapa carregado e segurado na memria com a
opo HOLD S PODER ser liberado emitindo-se o comando RELEASE.
Obs :

Este comando mais comumente usado para carregar tabelas.


C o n d i o

d e

E x c e o

-----------------------------------------------------------------------------
|Abend Code
|Descrio
|
-----------------------------------------------------------------------------
|PGMIDERR
|Ocorre se um programa nao pode ser encontrado na PPT ou no
|
|
|est disponvel. Pode tambm ocorrer no MVS/XA se um programa |
|
|de aplicao em modo de 24 BITs emitir um comando LOAD para um |
|
|programa residente acima dos 16 Mbytes.
|
-----------------------------------------------------------------------------
------------------------------------------------------------------------------
| E x e m p l o
|
|
|
|
endereo
|
|
DCL PTR
POINTER, <-------------------- TABMES
|
|
1 TAB_MES (12) BASED(PTR),
---------
|
|
2 NM_MES
CHAR (09);
|JANEIRO |
|
|
...
|FEVEREIRO|
|
|
EXEC CICS LOAD PROGRAM ('TABMES')
|MARCO
|
|
|
SET
(PTR)
|. . .
|
|
|
HOLD;
|DEZEMBRO |
|
|
IF TAB_MES.NM_MES(5) = 'MAIO' THEN
---------
|
|
...
|
|
...
|
|
|
------------------------------------------------------------------------------

Pag. 61
R E L E A S E
usado para retirar (liberar) da memria principal um programa de
aplicao, tabela, ou um mapa previamente carregado e segurado por um
LOAD com a opo HOLD (ver comando anterior).

comando

------------------------------------------------------------------------------
| F o r m a t o
|
|
|
|
EXEC CICS RELEASE
PROGRAM ('nome') ;
|
|
|
------------------------------------------------------------------------------
Onde:
PROGRAM ('nome')

Especifica a identificao de um programa de aplicao, uma


tabela, ou um mapa que ser liberado da memria principal. O
nome especificado precisa consistir de at oito caracteres
alfanumricos e precisa estar definido na PPT. Deve ser uma
constante ou um campo alfanumrico que contm a identificao.
C o n d i o

d e

E x c e o

-----------------------------------------------------------------------------
|Abend Code
|Descrio
|
-----------------------------------------------------------------------------
|PGMIDERR
|Ocorre se um programa nao pode ser encontrado na PPT ou no
|
|
|est disponvel. Pode tambm ocorrer no MVS/XA se um programa |
|
|de aplicao em modo de 24 BITs emitir um comando LOAD para um |
|
|programa residente acima dos 16 Mbytes.
|
-----------------------------------------------------------------------------
------------------------------------------------------------------------------
| E x e m p l o
|
|
|
|
...
|
|
EXEC CICS RELEASE PROGRAM ('TABMES');
|
|
...
|
|
|
------------------------------------------------------------------------------

Pag. 62
Transao Conversacional
A essncia de uma transao conversacional que, numa operao de entrada de
informao por terminal, a transao fica esperando por uma resposta do operador
de terminal.
Para se obter uma transao conversacional, pode se codificar os seguintes
comandos, na mesma sequncia que mostrada abaixo:
------------------------------------------------------------------------------
|
|
|
EXEC CICS SEND ... ;
|
|
EXEC CICS RECEIVE ... ;
|
|
|
------------------------------------------------------------------------------
Como mostrado acima, primeiro, a transao pede ao CICS/MVS que mostre a
mensagem para o operador de terminal. Logo aps a transao pede a entrada de
uma informao pelo terminal. Como a transao somente ir receber esta mensagem
quando o operador de terminal pressionar uma das teclas de funo (PFs, PAs ou
ENTER), a transao ficar esperando at que isto ocorra, para que se possa continuar com o processamento.
------------------------------------------------------------------------------
|
------------------------
-------------
|
|
|
.
|
|

|
|
|
|
SEND -------------------->|
|
|
|
|
|
|
.
|
|
|
|
|
|
|
.
|
|

|
|
|
|
RECEIVE <-----------------|
PF KEYS
|
|
|
|
.
|
-----------
|
|
------------------------
-------
|
|
---------
|
|
terminal
|
|
|
------------------------------------------------------------------------------
Durante o perodo de espera, esta transao considerada "em uso" pelo
CICS/MVS. Isto faz com que a transao prenda os recursos, por ela utilizada durante este perodo. Por exemplo, memria ou registro a espera de
uma
atualizao. Se neste perodo, uma outra transao necessitar destes recursos, a
performance da outra transao poder ser afetada, e isto nao uma situao
desej vel.

Pag. 63
Transao Pseudo-conversacional
Para o usurio final, uma transao pseudo-conversacional, parece como se
fosse uma transao conversacional, mas a codificao das duas diferente.
Essencialmente numa transao pseudo-conversacional, a transao termina a
execuo (liberando a memria e os recursos, retornando o controle ao CICS/MVS)
aps mostrar a mensagem ao operador de terminal.
Mas antes feito uma
indicao ao CICS/MVS, de modo que, a prxima informao entrada pelo operador
de terminal, ir acarretar na execuo de uma outra transao, que ir
receber
esta informao pedida pela transao anterior.
------------------------------------------------------------------------------
|
|
|
transao 1
|
|
------------------------
|
|
|
.
|
-------------
|
|
|
SEND -------------------->|

|
|
|
------------------------
|
|
|
|
|
|
transao 2
|
|
|
|
|
------------------------
|

|
|
|
|
RECEIVE <-----------------|
PF KEYS
|
|
|
|
.
|
-----------
|
|
------------------------
-------
|
|
---------
|
|
terminal
|
|
|
------------------------------------------------------------------------------
As transaes pseudo-conversacionais oferecem duas vantagens :
*

A memria nao usada desnecessariamente durante o I/O normal, nem durante o


tempo necess rio pelo operador para tomar uma deciso;

O operador precisa saber apenas o cdigo de transao inicial.

Pag. 64
R E T U R N

T R A N S I D

Comando usado para definir transaes PSEUDO-CONVERSACIONAIS.

------------------------------------------------------------------------------
| F O R M A T O
|
|
|
|
EXEC CICS RETURN
{ TRANSID ('nome')
|
|
{ COMMAREA (data-area)
|
|
{ LENGTH
(data-value) } } } ;
|
|
|
------------------------------------------------------------------------------
Onde:
TRANSID ('nome')

Especifica
a
identificao da transao que ser
associada com o terminal para ter um incio autom tico
do mesmo. O nome especificado precisa consister de at
quatro caracteres alfanumricos e precisa estar definido
na PCT.
Deve ser uma constante ou campo alfanumrico que
a identificao da transao.

contm

COMMAREA (data-area)

Especifica uma
rea de trabalho onde se encontram os
dados que sero passados ao programa de aplicao indicado na opo TRANSID que est associado ao terminal.

LENGTH (data-value)

Especifica uma
rea de trabalho onde se indica o
comprimento m ximo dos dados que sero passados via
COMMAREA. Deve ser uma constante ou um campo bin rio de
dois bytes (BIN FIXED(15)).

O comando RETURN TRANSID d o controle de volta ao CICS/MVS. O PCP analisa o


parmetro TRANSID e armazena o cdigo de transao, com outras informaes sobre
o terminal associado com a tarefa, que tiver sido recentemente completada. Ao se
acionar o terminal (com a transao associada) teclando-se alguma tecla de
funo (tais como PFs, PAs e ENTER), a tarefa associada a este terminal ser
iniciada. Este processo chamado de PSEUDO-CONVERSACIONAL.

Pag. 65
C o n d i o

d e

E x c e o

-----------------------------------------------------------------------------
|Abend Code
|Descrio
|
-----------------------------------------------------------------------------
|INVREQ
|Ocorre se uma das seguintes situaes existe :
|
|
|
|
|
|*
Um comando RETURN com a opo COMMAREA emitido em um
|
|
|
programa que no est no nvel lgico mais alto.
|
|
|*
Um comando RETURN com a opo TRANSID emitido em uma
|
|
|
transao que no est associado com um terminal.
|
-----------------------------------------------------------------------------
------------------------------------------------------------------------------
|
E x e m p l o
|
|
|
|1. Pseudo-conversacional com transao nica.
|
|
|
|
- - - - - - - - - - - - - - - - - - - - - -
|
|
'
-------------V----------------
|
|
'
-------------------->|PROGEX: PROC(P) OPTIONS(MAIN);|
|
|
'
|
|DCL AREA CHAR(05) BASED(P),
|
|
|
'
|
|. . .
|
|
|
' ------------
|IF (EIBCALEN = 0) THEN DO;
|
|
|
' |

|
|
ALLOC AREA;
|
|
|
' |
|
|
|
------- EXEC CICS RETURN
|
|
|
' |
|
|
|
|
TRANSID('PGEX')
|
|
|
' |

|
V
|
COMMAREA(AREA);
|
|
|
' |
PF KEYS
|<- - C I C S |
. . .
'
|
|
|
' -----------
|ELSE
'
|
|
|
'
-------
|
. . .
'
|
|
|
'
---------
|
'
|
|
|
'
terminal
- - - - -|- - - - - - - -
|
|
|
'
V
|END PROGEX;
|
|
|
- - - - - X'00012CF0'
------------------------------
|
|
-----------
|
|
-----------<-- uma rea qualquer na memria do
|
|
CICS/MVS
|
|
|
|
Obs.: Ver exemplo de aplicao pseudo-conversacional da p gina 21
|
------------------------------------------------------------------------------

Pag. 66
------------------------------------------------------------------------------
|2. Pseudo-conversacional com mais de uma transao.
|
|
|
|
----------------------------
|
|
|PROGEX: PROC OPTIONS(MAIN); |
|
|
-------------
|
DCL AREA
CHAR (05);
|
|
|
|

|
|
. . .
|
|
|
---- |
|
|
------- EXEC CICS RETURN
|
|
|
| |
|
|
|
|
TRANSID('PGE2')
|
|
|
| |

|
V
|
COMMAREA(AREA);
|
|
|
| |
PF KEYS
|<- - - C I C S |
. . .
'
|
|
|
| -----------
|
. . .
'
|
|
|
|
-------
|
. . .
'
|
|
|
|
---------
|
'
|
|
|
|
terminal
- - - - - -|- - - - - - - -
|
|
|
|
V
|END PROGEX;
|
|
|
|
- -X'00012CF0'
----------------------------
|
|
|
'
-----------
|
|
|
'
-----------<-- uma rea qualquer na memria do
|
|
|
- - - - -
CICS/MVS
|
|
|
'
|
|
|
--------------V------------------
|
|
--->|PGMEX2: PROC (P) OPTIONS(MAIN); |
|
|
| DCL PARM CHAR(05) BASED(P),
|
|
|
|
P
POINTER;
|
|
|
| . . .
|
|
|
| . . .
|
|
|
| EXEC CICS RETURN;
|
|
|
| . . .
|
|
|
|END PGMEX2;
|
|
|
---------------------------------
|
|
|
------------------------------------------------------------------------------

Pag. 67
A B E N D
O comando ABEND usado para requisitar (forar) um trmino anormal da tarefa
(ABEND volunt rio), e envia uma mensagem CICS/MVS ABEND ao terminal associado
com a tarefa.
------------------------------------------------------------------------------
| F o r m a t o
|
|
|
|
EXEC CICS ABEND
{ ABCODE ('nome') }
|
|
|
------------------------------------------------------------------------------
onde:
ABCODE ('nome')

Especifica o nome que ser mostrado junto ao DUMP gerado pelo


comando ABEND. Este nome deve ser uma constante ou um campo
alfanumrico que dever conter um nome de at quatro caracteres
alfanumricos.
Especifica o DUMP que o programador pode ento usar para determinar onde o fim anormal de tarefa ocorreu e/ou a causa do fim
anormal da tarefa.

O comando ABEND especificado sem nenhuma opo terminar a tarefa com o


seguinte DUMP: "DFH2206I TRANSACTION XXXX ABEND ????. BACKOUT SUCCESSFUL", onde:
"XXXX" o cdigo da transao, e "????" o cdigo do ABEND.
O cdigo de ABEND "????", geralmente se referncia a ABEND de PL/I que
CICS/MVS no conseguiu tratar. E este pode ser um dos seguintes ABENDs PL/I:
*
*
*
*

DATA EXCEPTION
OPERATION EXCEPTION
PROTECTION EXCEPTION
SPECIFITICATION EXCEPTION

Pag. 68
------------------------------------------------------------------------------
| E x e m p l o
|
|
|
| ...
|
| EXEC CICS ABEND ABCODE ('XBD1');
|
| ...
|
|
|
----------------------------------------------------------
|
|
|
|
|
|
|
|
---------
|
|
|
|
|
|
|
|
|
V
|
|
|
|DFH2206I TRANSACTION XXXX ABEND XBD1. BACKOUT SUCCEFUL
|
|
|
-----------------------------------------------------------
|
|
terminal de vdeo
|
------------------------------------------------------------------------------
Observao : Este comando substitui o "CALL ABEND" utilizado por aplicaes
PL/I-batch, que proibido em aplicaes PL/I-CICS/MVS.

Pag. 69
D A D O S

T R A N S I T R I O S

Conceitos de dados transitrios


Os recursos do CICS/MVS at agora foram discutidos no contexto de transaes
de aplicao entrada por um operador de terminal. Tais transaes so usualmente
solicitacoes para consulta ou autalizao de um arquivo, que parte do banco de
dados permanentes da instalao. O programa de aplicao recebe e interpreta a
solicitao, realiza o processamento apropriado e envia uma resposta imediata ao
terminal.
Algumas aplicaes entretanto podem no se prestar totalmente a esta espcie
de filosofia de projeto de entrada-processamento-resposta.
Considere os
seguintes exemplos:
Exemplo 1

Classificao de Crdito: Uma instalao de mercadorias a varejo


permite que seus clientes faam pedidos de crdito. J
que o
departemento de crdito deve fazer verificao extensiva em cada
cliente antes do crdito ser ampliado, nenhuma resposta imediata
dada ao cliente. O departamento de entrada de dados da instalao
tem a responsabilidade de entrar dados de aplicaes de crdito no
sistema. Os dados so validados para formato e contedo no ponto de
entrada. Eles so ento passados para processamento em um programa
BTACH que faz uma consistncia mais detalhada e verificao contra
os arquivos existentes, e produz relatrios para o departamento de
crdito.

Exemplo 2

Manipulao de Pedidos: O mesmo negociante aceita pedidos por


telefone e por correio dos clientes estabelecidos. Estes pedidos
so entrados pelo departamento de entrada de pedidos e ento enviados a diversas localizaes de depsito de mercadorias para
serem atendidos.
Um terminal de impressora colocado em cada
depsito de mercadorias para receber pedidos a medida que eles so
processados. Quando diversos pedidos tiverem sido processados para
um depsito de mercadorias para selecionar os tens solicitados do
estoque.

Exemplo 3

Relatrio de Atividade: Durante o dia de processamento, os registros so mantidos de acordo com a natureza das atividades realizadas pelo sistema. No fim do dia, essas
informaes
so
sumarizadas e impressas no computador central para uso pelo pessoal
que estiver monitorando as atividades do dia.

Cada um deste trs exemplos envolve dados que so de natureza transitria.


Isto , os dados sao criados ou coletados por uma ou mais tarefas, mas devem ser
passados para outra tarefa para processamento. As informaes necessitam apenas
ser mantidas no sistema at que o programa de processamento ativado para fazer
a disposio final. Portanto, conveniente ter algum meio de armazenamento
intermedi rio, onde guardar os dados destinados para futuro processamento. O recurso de Dados Transitrios do CICS/MVS prove tal meio.

Pag. 70
Filas de Dados Transitrios
A informao que processada como Dados Transitrios armazenada em
cojuntos de dados sequnciais conhecidos como filas de dados transitrios. Uma
fila pode ser encarada como uma fila sequncial, em que, os registros sao
processados sequencialmente. Na realidade, uma fila pode ser:
*

uma diviso lgica de um arquivo com acesso direto nico,


CICS/MVS

"pertencente"

um disco sequencial ou arquivo de fita definido pelo usurio

um dispositivo sequencial, tal como uma impressora de alta velocidade.

ao

Cada fila um depsito de informao destinado a processamento futuro.


Consequentemente, filas de dados transitrios so tambm referidas como destinos
de dados transitrios.
Destinos de dados transitrios so definidos pelo programador de sistema
quando o sistema gerado. Cada destino descrito em uma entrada da Destination
Control Table (DCT). Na DCT, cada entrada definida por um nome simblico (1 a
4 caracteres alfanumricos).
este nome, a identificao do destino
que usado para ter acesso fila de dados transitrios que representa o destino.
Os destinos de Dados Transitrios podem ser definidos como extrapartio
intrapartio. A seguinte argumentao descreve estes dois tipos de destino.

ou

Destinos de Extrapartio
Destinos de extrapatio so filas de dados transitrios que podem ser
criados por uma tarefa sob o CICS/MVS e processados fora da regio ou partio
ou criados fora da regio/partio, e processados por uma tarefa sob o CICS/MVS.
Cada destino um arquivo fsico e definido como um arquivo de entrada ou como
um arquivo de sada na DCT.
Vejamos o exemplo de uma atualizao peridica de arquivo. Cada ordem que entra para um tem exige uma atualizao do arquivo, de modo que, o registro do
arquivo reflita o invent rio fsico real daquele tem. Durante a operao do
CICS/MVS, atualizaes imediatas podem ocorrer quando as ordens vem dos
terminais. Mas alem disto, as ordens podem chegar na forma de um arquivo
sequencial. Este arquivo pode ser, por exemplo, uma fita magntica criada fora
de linha por um programa BATCH. Uma transao separada do CICS/MVS poderia ser
designada para aplicar a informao da fita em uma atualizao em massa do
invent rio. O arquivo de fita seria definido no CICS/MVS como um destino de
extrapartio e referenciado pelo programa de aplicao por um nome de fila de
dados transitrios.
Um outro modo de executar esta aplicao seria o de ter as ordens registradas
por operadores de entrada de dados em terminais do CICS/MVS.
A informao
poderia ser gravada para um destino de extrapartio, que representa um arquivo
sequencial em disco. Este arquivo poderia ento ser usado como entrada para um
programa BATCH, o qual executaria as atualizaes de invent rio.

Pag. 71
Um terceiro exemplo poderia ser o de grupos de dados a serem impressos, os
quais so reunidos em um destino de extrapartio representando uma impressora
de alta velocidade.
Dados transitrios em um destino de extrapartio consistem em registros
sequenciais, que podem ser fixos ou de extenso vari vel. O formato destes registros est
descrito na Destination Control Table (DCT), que define cada destino. O programa de aplicao necessita somente saber a identificao do destino
(nome de fila) e o comprimento do registro.
Tarefas mltiplas podem armazenar registros na mesma fila de sada.
Na entrada, contudo, os registros so comumentes pesquisados por uma s tarefa, uma
vez que os registros so pesquisados sequencialmente.
Destinos de Intrapartio
Destinos de intrapartio so filas de dados transitrios que so processados
somente dentro da partio do CICS/MVS. Into , eles so usualmente criados por
uma tarefa para serem processados por uma outra tarefa. Os destinos dividem o
espao em um arquivo de disco.
Lembrar a aplicao de manuseio dos pedidos (exemplo 2) anteriormente discutida.
uma aplicao de comunicao de mensagem, em que uma tarefa
executada por um terminal em um local central, prepara pedidos a serem impressos
em terminais remotos. Estas ordens so gravadas em destinos de intrapartio e
mantidas ali at que a transao de impresso seja ativada.
Na unidade sobre Controle de Terminal, foi aprendido que a informao pode
ser enviada somente para o terminal associado com uma tarefa particular. Assim,
a tarefa que prepara pedidos pode comunicar-se somente com o terminal no local
central. Mais adiante, uma transao diferente iniciada para pesquisar os
dados dos destinos e imprimir os pedidos.
Um destino de intrapartio pode ser usado por uma ou mais tarefas a ao mesmo
tempo. Consequentemente, na mesma fila, possvel armazenar dados vindos de
v rias tarefas, mesmo se tais tarefas forem executadas simultneamente. O dado
processado pelo Transient Data Program (TDP) de uma maneira FIFO, isto ,
primeiro a entrar, primeiro a sair. Os programas de aplicao que gravam na fila
no tem controle sobre a sequncia dos registros.
Alm disso, uma vez o registro pesquisado de uma fila de intrapartio, ele
no pode ser acessado novamente por qualquer tarefa. Isto , duas tarefas no
podem pesquisar o mesmo registo. Isto significa que embora deiversas tarefas
possam gravar para o mesmo destino, somente uma deveria pesquisar dados do destino. Se tarefas mltiplas lerem o mesmo destino, elas devem ser preparadas para
manipular qualquer registro que obtm, porque as tarefas de pesquisas no tem
controle sobre a sequncia de registros. so apresentadas FIFO pelo TDP.
Registros de dados
tamanho vari vel.

transitrios

de

intrapartio so sempre registros de

Pag. 72
Iniciao de Transao Autom tica
No exemplo de manuseio de pedidos (exemplo 2) anteriormente apresentado na
unidade, uma transao separada do CICS/MVS manuseia a impresso de pedidos nos
terminais do deposito. H diversos modos de iniciar esta transao. Um deles
iniciar a transao de um terminal. No nosso exemplo, o operador no depsito
entraria uma identificao de transao. Assim, o operador que determina
quando os pedidos devem ser impressos. Mas, uma vez que aquela transao
provavelmente no foi entrada pela impressora, o programa de impresso ainda
necessitaria de um meio de encaminhamento dos pedidos para a impressora.
Com o recurso de dados transitrios de intrapartio, a transao pode ser
iniciada automaticamente atravs do CICS/MVS, usando um nvel de disparo
atribudo ao destino. Um nvel de disparo simplesmente um valor numrico definido pelo programador de sistema, no tempo de gerao de sistema. Este valor representa o nmero m ximo de registros a serem acumulados antes da operao de
impresso ser "disparada". Quando o nmero de registros armazenados na fila
alcanar o nvel de disparo, o CICS/MVS inicia automaticamente uma tarefa que
a pode processar os dados armazenados na fila.
Deve-se lembrar que uma tarefa pode somente comunicar-se com o terminal ao
qual est ligada. Normalmente, esta relao estabelecida quando o operador entra uma identificao de transao no terminal.
Mas no caso de iniciao de
transao autom tica, a relao estabelecida no tempo de gerao da tabela.
Uma tarefa criada automaticamente para o terminal especificado, se forem encontradas trs condies:
*
*
*

O terminal est operando;


O terminal no est
associado com uma tarefa sendo executada naquele momento;
O nvel de disparo alcanado. Isto , o nmero de registros armazenados
igual ao nvel de disparo. (Um nvel de disparo de 1 faz com que uma tarefa
seja iniciada imediatamente.).

A nova tarefa no necessita estar associada com um


tarefa que, por exemplo, l registros a partir
transitrios e atualiza um arquivo mestre.

terminal. Pode
de um destino

A figura seguinte mostra a relao entre os v rios componentes


que esto envolvidos em iniciao de transao autom tica.

do

ser uma
de dados
CICS/MVS

CICS/MVS PARTIO/REGIO
------------------------------
----------
|
|
| |
(3)| |
|
DCT
TCT
|
| ------- |
|------------
-------| TERMINAL ID=DEP1
| |
(2)| |
||DESTID=DEP1 |
| TCTTE || --------------
| ------- |
||
|
---------
|
| |
(1)| ----|TRIGLEV=3
|
| DEP1 || |
----
| ------- |
||
|
|
||
-
| |
| |
||TRANSID=WRHS|
|
||

-
| ------- |
|------------
-------|
---
|DESTINO DEP1|
|
|
terminal no
------------
|
|
depsito 1
------------------------------
Quando trs registro tiverem sido armazenados na file DEP 1, a transao WRHS
iniciada automaticamente, desde que o terminal do depsito 1 esteja operando e
no esteja associado com uma tarefa.

Pag. 73
W R I T E Q

T D

Comando utilizado para gravar dados em uma fila de dados transitrios.


------------------------------------------------------------------------------
| F o r m a t o
|
|
|
|
EXEC CICS WRITEQ TD
QUEUE (data-value)
|
|
FROM (data-area)
|
|
{ LENGTH (data-area) } ;
|
|
|
------------------------------------------------------------------------------
onde:
QUEUE (data-value)

<'data-value' - CHAR(04) ou constante alfanumrica> dever


conter o nome da TD, devendo comear necessariamente por um
caracter alfabtico, e precisa estar definido (cadastrado)
na DCT.

FROM (data-area)

<'data-area' - rea de trabalho>


devero ser gravados na TD.

especifica

os

dados

que

LENGTH (data-value) <'data-value' - BIN FIXED(15) ou constante numrica> dever


conter o tamanho dos dados a serem gravados.
C o n d i o

d e

E x c e o

-----------------------------------------------------------------------------
|Abend Code
|Descrio
|
-----------------------------------------------------------------------------
|IOERR
|Ocorre para um destino de extrapartio se o tamanho dos dados |
|
|no coincide com o tamanho especificado no operando RECSIZE
|
|
|definido para o destino.
|
|
|
|
|
|Tambm ocorre para destino de intrapartio se o tamanho dos
|
|
|dados exceder o tamanho m ximo permitido para um arquivo de
|
|
|intrapartio.
|
-----------------------------------------------------------------------------
|NOSPACE
|Ocorre se no h mais espao disponvel para gravao na fila |
|
|de intrapartio. Quando isto ocorre, nenhum dado poder ser
|
|
|gravado, pois o mesmo ser perdido.
|
-----------------------------------------------------------------------------
|NOTAUTH
|S e g u r a n a
|
-----------------------------------------------------------------------------
|NOTOPEN
|Ocorre quando o destino est fechado.
|
-----------------------------------------------------------------------------

Pag. 74
-----------------------------------------------------------------------------
|Abend Code
|Descrio
|
-----------------------------------------------------------------------------
|QIDERR
|O destino simblico a ser usado em um comando de controle de
|
|
|dados transitrios no pode ser encontrado. Provavelmente o
|
|
|destino no est cadastrado na DCT.
|
-----------------------------------------------------------------------------
|LENGERR
|Ocorre nas seguintes situaes:
|
|
|
|
|
|*
se a opo LENGTH no for especificado em operao de
|
|
|
gravao envolvendo registros de tamanho vari vel;
|
|
|*
se o tamanho especificado maior que o tamanho m ximo de- |
|
|
finido para a fila na DCT;
|
|
|*
se for especificado um tamanho incorreto envolvendo regis- |
|
|
tros de tamanho fixo;
|
|
|*
se a opo LENGTH no especificado para um destino que
|
|
|
no em disco, envolvendo registros de tamanho fixo.
|
-----------------------------------------------------------------------------

Pag. 75
R E A D Q

T D

Comando utilizado para ler dados de uma fila de dados transitrios.


------------------------------------------------------------------------------
| F o r m a t o
|
|
|
|
EXEC CICS READQ TD
QUEUE (data-value)
|
|
{ INTO (data-area) / SET (pointer) }
|
|
{ LENGTH (data-area) }
|
|
|
------------------------------------------------------------------------------
onde:
QUEUE (data-value)

<'data-value' - CHAR(04) ou constante alfanumrica de quatro


bytes) dever
conter o nome da TD, devendo esta comear
necessariamente por um caracter alfabtico, e precisa estar
definido (cadastrado) na DCT.

INTO (data-area)

<'data-area' - rea de trabalho> especifica onde sero lidos


os dados da TD.

SET (pointer)

Aponta
TD.

LENGTH (data-area)

<'data-area' - BIN FIXED(15)> dever


dados a serem lidos.

para a

rea de trabalho onde sero lidos os dados da


conter

tamanho

dos

Aps a leitura, se ocorrer a condio LENGERR (ver condio


de execeo para este comando) esta vari vel ser atualizada
com o tamanho atual dos dados lidos.
C o n d i o

d e

E x c e o

-----------------------------------------------------------------------------
|Abend Code
|Descrio
|
-----------------------------------------------------------------------------
|IOERR
|Ocorre quando acontece um erro de I/O e o registro com erro |
|
|saltado. Ocorre tambm para um destino de extrapartio se o
|
|
|tamanho dos dados no coincide com o tamanho especificado no
|
|
|operando RECSIZE definido para o destino.
|
|
|
|
|
|Tambm ocorre para destino de intrapartio se o tamanho dos
|
|
|dados exceder o tamanho m ximo permitido para um arquivo de
|
|
|intrapartio.
|
-----------------------------------------------------------------------------

Pag. 76
-----------------------------------------------------------------------------
|Abend Code
|Descrio
|
-----------------------------------------------------------------------------
|LENGERR
|Ocorre nas seguintes situaes:
|
|
|
|
|
|*
se a opo LENGTH no for especificado em operao de
|
|
|
leitura (somente com a opo INTO) envolvendo registros de |
|
|
tamanho vari vel;
|
|
|*
O registro lido da fila maior que o tamanho da rea es- |
|
|
pecificada para leitura; o registro truncado e a
|
|
|
vari vel especificada na opo LENGTH ser atualizada para |
|
|
o tamanho atual do registro lido.
|
|
|*
se for especificado um tamanho incorreto envolvendo regis- |
|
|
tros de tamanho fixo;
|
|
|*
se a opo LENGTH no especificada para um destino que
|
|
|
no em disco, envolvendo registros de tamanho fixo
|
|
|
(somente com a opo INTO).
|
-----------------------------------------------------------------------------
|NOTAUTH
|S e g u r a n a
|
-----------------------------------------------------------------------------
|NOTOPEN
|Ocorre quando o destino est fechado.
|
-----------------------------------------------------------------------------
|QIDERR
|O destino simblico a ser usado em um comando de controle de
|
|
|dados transitrios no pode ser encontrado. Provavelmente o
|
|
|destino no est cadastrado na DCT.
|
-----------------------------------------------------------------------------
|QBUSY
|(somente OS) Ocorre se o destino de intrapartio est sendo
|
|
|usado por uma outra tarefa no momento em que um comando READQ |
|
|TD executado.
|
-----------------------------------------------------------------------------
|QZERO
|Destino especificado no comando READQ TD est vazio (fim de
|
|
|arquivo)
|
-----------------------------------------------------------------------------

Pag. 77
D E L E T E Q

T D

Elimina todos os dados transitrios associados com um determinado destino de


intrapartio. Toda a memria associada com este destino liberado.
------------------------------------------------------------------------------
|
|
|
EXEC CICS DELETEQ TD
QUEUE (data-value)
|
|
|
------------------------------------------------------------------------------
QUEUE (data-value)
<'data-value' - CHAR(04) ou constante alfanumrica de quatro bytes> dever
conter o nome simblico de uma FILE. Este nome deve comear necessariamente
por um caracter alfabtico, e precisa estar definido (cadastrado) na DCT.

C o n d i o

d e

E x c e o

-----------------------------------------------------------------------------
|Abend Code
|Descrio
|
-----------------------------------------------------------------------------
|NOTAUTH
|S e g u r a n a
|
-----------------------------------------------------------------------------
|QIDERR
|O destino simblico a ser usado em um comando de controle de
|
|
|dados transitrios no pode ser encontrado. Provavelmente o
|
|
|destino no est cadastrado na DCT.
|
-----------------------------------------------------------------------------

Pag. 78
Memria Tempor ria
A memria tempor ria prov aos programas de aplicao sob o CICS/VS, um meio
para armazenar dados para ser usado posteriormente. Com relao a isto,
semelhante ao recurso de dados transitrios. A memria tempor ria, contudo,
oferece opes no providas no recurso de dados transitrios. A memria
tempor ria, em serus recursos, ser discutida nesta unidade, a qual concluir
com um gr fico comparando os aspectos de dados transitrios de intrapartio e
memria tempor ria.
A memria tempor ria prove igualmente um recurso conveniente de transferncia
de dados. Se, por exemplo, a informao entrada for trabalhada por diversas
transaes, ela pode ser armazenada e pesquisada da memria tempor ria. A
informao permanece na memria tempor ria at que seja eliminada por um programa de aplicao do usurio.
Registro de Memria Tempor ria
A informao gravada na memria tempor ria na forma de registros com
tamanho vari vel. Estes registros so armazenados pelo Temporary Storage Control
Program (TSP), tanto na memria principal como na memria auxiliar (disco),
dependendo de como o recurso foi definido no tempo de gerao do sistema. Em
algumas instalaes, so disponveis tanto a memria principal como a auxiliar.
O programa de aplicao pode ento especificar o meio de armazenagem fsica a
ser usado.
Cada registro gravado na memria tempor ria recebe um nome pelo qual
subsequentemente identific vel nas tarefas sob o CICS/VS. Esta identificao de
registro, ou identificao do dado, definida pelo programa de aplicao
criando os dados no instante em que o registro for gravado. Este um dos poucos
exemplos em um sistema CICS/VS, onde a identificao de dados reconhecvel ao
CICS/VS no tem que ser predefinida no sistema. Naturalmente, outros programas
de aplicao com acesso a esses dados devem conhecer esse nome a fim de pesquisar a informao da memria tempor ria.
A identificao dos dados de memria tempor ria um nome com 1-8 caracteres.
Cada registro gravado pode ter um nico nome, ou diversos registros podem ser
gravados com o mesmo nome, formando assim uma fila de memria tempor ria, ou
cojunto de mensagens. Registros em um cojunto de mensagens de memria tempor ria
podem ser pesquisados sequencialmente na ordem que foram criados. so tambm
diretamente acessveis por referncia sua posio relativa dentro do conjunto
de mensagens.
Quando uma identificao de dados da memria tempor ria se refere a um nico
elemento de dado ou uma fila de registros (conjunto de mensagens), deve ser
nico dentro do sistema. Uma vez que tarefas multiplas podem estar executando o
mesmo programa de aplicao, um programa que grava em memria tempor ria deve
ter um meio para criar dinamicamente uma nica identificao de dados para cada
tarefa. Um modo comum de realizar isto incluir a identificao do terminal
como parte da identificao dos dados. Uma vez que cada tarefa est associada
com um terminal diferente, a identificao dos dados nica.
Por exemplo, um
programa de edio poderia construir uma identificao de dados consistindo da
identificao do terminal requisitante (TER3, por exemplo) e o cdigo de
transao (EDIT, por exemplo). Esta combinao produziria a nica identificao
de dados: TER3EDIT. (Lembrar que tanto o cdigo de transao
como
a
identificao do terminal so disponveis no EIB da tarefa.)
O dado na memria tempor ria permanece disponvel para pesquisa at ser
explicitamente eliminado por uma transao de usurio. Consequentemente, o dado
de memria tempor ria pode ser acessado por qualquer tarefa, um nmero de vezes
indeterminado.

Pag. 79
W R I T E Q

T S

Grava dados em uma fila de memria tempor ria.


------------------------------------------------------------------------------
|
|
|
EXEC CICS WRITEQ TS
QUEUE (data-value)
|
|
FROM (data-area)
|
|
{ ITEM
(data-value) { REWRITE } }
|
|
{ MAIN / AUXILIARY }
|
|
{ LENGTH (data-area) }
|
|
|
------------------------------------------------------------------------------
QUEUE (data-value)
<'data-value' - CHAR(08) ou constante alfanumrica de oito bytes> dever
conter o nome simblico de uma fila, sendo que este no necessita de
cadastramento no CICS/MVS.
FROM (data-area)
<'data-area' - rea de trabalho> dever conter os dados a serem gravados na
TS. Esta no deve ultrapassar de 32KB de tamanho.
LENGTH (data-value)
<'data-value' - BIN FIXED(15) ou constante
tamanho do dado especificado na opo FROM.

numrica>

dever

conter o

ITEM (data-value)
<'data-value' - BIN FIXED(15) ou constante numrica> dever conter o nmero
do tem a ser regravado. Caso esta opo seja utilizada sem a opo de
REWRITE, deve-se especificar uma vari vel nesta opo, pois o CICS/MVS retorna o nmero do tem que foi gravado.
REWRITE
Opo que se deve usar somente em conjunto com a opo anterior.
MAIN / AUXILIARY
Determina se a TS dever

ser gravado em memria ou em disco (arquivo VSAM).

Pag. 80
C o n d i o

d e

E x c e o

-----------------------------------------------------------------------------
|Abend Code
|Descrio
|
-----------------------------------------------------------------------------
|IOERR
|Ocorre quando h um erro de I/O irrecuper vel.
|
-----------------------------------------------------------------------------
|NOSPACE
|Ocorre quando no h espao suficiente no arquivo de memria
|
|
|tempor ria para conter os dados.
|
-----------------------------------------------------------------------------
|NOTAUTH
|S e g u r a n a
|
-----------------------------------------------------------------------------
|ITEMERR
|Ocorre quando o nmero do tem especificado por um comando
|
|
|WRITEQ TS com a opo REWRITE, inv lido (que est fora do
|
|
|domnio dos nmeros de entrada associados QUEUE).
|
-----------------------------------------------------------------------------
|QIDERR
|Ocorre quando a QUEUE especificada por um comando WRITEQ TS
|
|
|com a opo REWRITE, no pode ser encontrada, tanto em memria |
|
|principal como em memria auxiliar.
|
-----------------------------------------------------------------------------

Pag. 81
R E A D Q

T S

Comando utilizado para ler dados de uma fila de dados transitrios.


------------------------------------------------------------------------------
|
|
|
EXEC CICS READQ TS
QUEUE (data-value)
|
|
{ INTO (data-area) / SET (pointer) }
|
|
{ ITEM
(data-value) }
|
|
{ LENGTH (data-area) }
|
|
|
------------------------------------------------------------------------------
QUEUE (data-value)
<'data-value' - CHAR(08) ou constante alfanumrica de oito bytes> dever
conter o nome simblico de uma fila, sendo que este no necessita de
cadastramento no CICS/MVS.
INTO (data-area)
lidos.

<'data-area' -

SET (pointer) aponta para a


lidos.

rea de trabalho> onde os dados de uma TS sero

rea de trabalho onde

os

dados

de

uma

TS

sero

LENGTH (data-area)
<'data-area'
lidos.

BIN

FIXED(15)>

C o n d i o

dever
d e

conter o tamanho dos dados a serem


E x c e o

-----------------------------------------------------------------------------
|Abend Code
|Descrio
|
-----------------------------------------------------------------------------
|NOTAUTH
|S e g u r a n a
|
-----------------------------------------------------------------------------
|QIDERR
|Ocorre quando a TS especificada no existe
|
-----------------------------------------------------------------------------
|IOERR
|Ocorre quando h um erro de I/O irrecuper vel.
|
-----------------------------------------------------------------------------
|ITEMERR
|Ocorre quando o nmero do tem especificado no existe.
|
-----------------------------------------------------------------------------
|LENGERR
|Erro no tamanho dos dados lidos.
|
-----------------------------------------------------------------------------

Pag. 82
D E L E T E Q

T S

Elimina a fila de memria tempor ria.


------------------------------------------------------------------------------
|
|
|
EXEC CICS DELETEQ TS
QUEUE (data-value)
|
|
|
------------------------------------------------------------------------------
QUEUE (data-value)
<'data-value' - CHAR(08)
conter o nome da TS.

ou constante alfanumrica de oito bytes> dever

C o n d i o

d e

E x c e o

-----------------------------------------------------------------------------
|Abend Code
|Descrio
|
-----------------------------------------------------------------------------
|NOTAUTH
|S e g u r a n a
|
-----------------------------------------------------------------------------
|QIDERR
|Ocorre quando a TS especificada no existe
|
-----------------------------------------------------------------------------

Pag. 83
Requisio de data e hora no CICS/MVS
A S K T I M E
Usado para atualizar a data e a hora do CLOCK do CICS, e tambm os campos
EIBDATE e EIBTIME do bloco EIB. Este dois campos contm inicialmente a data e a
hora em que a transao iniciou a sua execuo. Usado tambm para obter o valor
(em milisegundos) do perodo desde zero hora de 1 de janeiro 1900 at a hora
atual.
------------------------------------------------------------------------------
|
|
|
EXEC CICS ASKTIME { ABSTIME (data-area) } ;
|
|
|
------------------------------------------------------------------------------
ABSTIME(data-area)
retorna em <'data-area' - FIXED(15)> um valor que corresponde ao perodo
decorrido desde zero hora de 01 de janeiro de 1900 at a hora atual em
milisegundos.
Se esta opo for omitida, este comando faz a atualizao do contedo dos
campos EIBDATE e EIBTIME com a hora e data da execuo deste comando.
E x e m p l os
------------------------------------------------------------------------------
|
|
| DIEXEM : PROC OPTIONS(MAIN); ---> EIBDATE - 91189
|
|
EIBTIME - 165327
|
| . . .
|
| EXEC CICS ASKTIME; -----------> EIBDATE - 91189
|
|
EIBTIME - 165412
|
| . . .
|
|
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
|
| DCL UTIME
FIXED (15);
|
| EXEC CICS ASKTIME ABSTIME (UTIME);
|
|
|
|
|
---------> Aps a execuo UTIME
|
|
conter (por exemplo) o valor
|
|
002887980807470 em milisegundos,
|
|
que corresponde a 16:53:27 de
|
|
08/07/91.
|
|
|
------------------------------------------------------------------------------

Pag. 84
F O R M A T T I M E
Este comando usado para transformar a data e/ou a hora absoluta em qualquer
formato das opes existente no comando mostrado abaixo.
------------------------------------------------------------------------------
|
|
| EXEC CICS FORMATTIME ABSTIME
(data-value)
|
|
{ YYDDD
(data-area ) }
|
|
{ YYMMDD
(data-area ) }
|
|
{ YYDDMM
(data-area ) }
|
|
{ DDMMYY
(data-area ) }
|
|
{ MMDDYY
(data-area ) }
|
|
{ DATE
(data-area ) }
|
|
{ DATESEP { (data-value) } }
|
|
{ DATEFORM
(data-area ) }
|
|
{ DAYCOUNT
(data-area ) }
|
|
{ DAYOFWEEK
(data-area ) }
|
|
{ DAYOFMONTH (data-area ) }
|
|
{ MONTHOFYEAR (data-area ) }
|
|
{ YEAR
(data-area ) }
|
|
{ TIME
(data-area )
|
|
{ TIMESEP { (data-value) } } } ;
|
|
|
------------------------------------------------------------------------------
ABSTIME(data-area)
<'data-area' - FIXED(15)> dever conter o valor correspondente ao perodo
decorrido deste zero hora de 01 de janeiro de 1900 at a hora atual em
milisegundos, que ser utilizado para a converso aos formatos oferecidos
pelas opes deste comando. Este contedo pode ser obtido com o comando
descrito anteriormente: ASKTIME (ver exemplo adiante).
YYDDD(data-area)
Retorna em <'data-area' - CHAR(06)> uma data no formato JULIANO. Se a
opo DATESEP for especificado, a data retornar editada com o caracter indicado na opo (ver exemplo adiante).
YYMMDD(data-area)
Retorna em <'data-area' - CHAR(08)> uma data no formato ano, ms e dia. Se
a opo DATESEP for especificado, a data retornar editada com o caracter
indicado na opo (ver exemplo adiante).
YYDDMM(data-area)
Retorna em <'data-area' - CHAR(08)> uma data no formato ano, dia e ms. Se
a opo DATESEP for especificado, a data retornar editada com o caracter
indicado na opo (ver exemplo adiante).

Pag. 85
DDMMYY(data-area)
Retorna em <'data-area' - CHAR(08)> uma data no formato dia, ms e ano. Se
a opo DATESEP for especificado, a data retornar editada com o caracter
indicado na opo (ver exemplo adiante).
MMDDYY(data-area)
Retorna em <'data-area' - CHAR(08)> uma data no formato ms, dia e ano. Se
a opo DATESEP for especificado, a data retornar editada com o caracter
indicado na opo (ver exemplo adiante).
DATE(data-area)
Retorna em <'data-area' - CHAR(08)> a data no formato especificado na opo
'DATEFORM'.
DATEFORM(data-area)
Retorna em <'data-area' - CHAR(06)> o formato da data definido na
instalao. Os formatos que o CICS pode retornar so: 'YYMMDD', 'DDMMYY' ou
'MMDDYY'. O DEFAULT da instalao 'MMDDYY'.
DATESEP(data-value)
<'data-value' - CHAR(01) ou constante alfanumrica de um byte> dever
conter o caracter que ser utilizado como separador entre o dia, ms e ano,
nas opes: 'YYMMDD', 'YYDDMM', 'DDMMYY', 'MMDDYY' e DATE; e entre ano e
dias na opo 'YYDDD'.
O DEFAULT quando da omisso de 'data-value' o
caracter '/'.
DAYCOUNT(data-area)
Retorna em <'data-area' - BIN FIXED(31)> a quantidade
desde o dia 01 de janeiro de 1900 at a data atual.

de

dias

decorridos

DAYOFWEEK(data-area)
Retorna em <'data-area' - BIN FIXED(31)> o dia da semana que corresponde a
data resultante da operao, seguindo o seguinte esquema:
0-domingo,
1-segunda, 2-terca, 3-quarta, 4-quinta, 5-sexta e 6-s bado.
DAYOFMONTH(data-area)
Retorna em
operao.

<'data-area'

BIN

FIXED(31)>

dia da data resultante da

MONTHOFYEAR(data-area)
Retorna em <'data-area' - BIN
operao.

FIXED(31)>

ms

da

data

resultante

da

Pag. 86
YEAR(data-area)
Retorna em <'data-area' - BIN FIXED(31)>
formato secular (ver exemplo adiante).

ano da data resultante no

TIME(data-area)
Retorna em <'data-area' - CHAR(08)> a hora resultante do contedo especificado na opo 'ABSTIME' no formato 'HHMMSS', caso a opo 'TIMESEP' no
seja especificado (ver opo 'TIMESEP').
TIMESEP(data-value)
<'data-value' - CHAR(01) ou uma constante alfanumrica de um byte> dever
conter o caracter que ser utilizado como separador entre as hora, minuto e
segundo.
E x e m p l o s
Supondo uma data e uma hora: data --> 91/07/08 (YYMMDD)
hora --> 16:53:27
------------------------------------------------------------------------------
|
|
|
DCL UTIME
FIXED
(15),
|
|
(DIA,MES,ANO,DIAS,DIA_SEM)
BIN FIXED (31),
|
|
(AADDD,DATEFM)
CHAR
(06),
|
|
(AAMMDD,AADDMM,DDMMAA,MMDDAA,DATA,HORA) CHAR
(08);
|
|
...
|
|
/* exemplo utilizando a opo 'DATESEP' e 'TIMESEP' */
|
|
EXEC CICS ASKTIME
ABSTIME (UTIME); ---> X'+002887980807470'
|
|
EXEC CICS FORMATTIME ABSTIME (UTIME)
|
|
YYDDD
(AADDD) ------> '91/189'
|
|
YYMMDD
(AAMMDD) -----> '91/07/08'
|
|
YYDDMM
(AADDMM) -----> '91/08/07'
|
|
DDMMYY
(DDMMAA) -----> '08/07/91'
|
|
MMDDYY
(MMDDAA) -----> '07/08/91'
|
|
DATE
(DATA) -------> '07/08/91'
|
|
DATESEP
('/')
|
|
DATEFORM
(DATEFM)------> 'MMDDYY'
|
|
DAYCOUNT
(DIAS) -------> X'00033426'
|
|
DAYOFWEEK
(DIA_SEM) ----> X'00000001' segunda
|
|
DAYOFMONTH (DIA) --------> X'00000008'
|
|
MONTHOFYEAR (MES) --------> X'00000007'
|
|
YEAR
(ANO) --------> X'00001991'
|
|
TIME
(HORA) -------> '16:53:27'
|
|
TIMESEP
(':');
|
|
...
|
|
|
| Notao : X'....' - valor bin rio (BIN FIXED(31)).
|
|
|
------------------------------------------------------------------------------

Pag. 87
------------------------------------------------------------------------------
|
|
|
...
|
|
/* exemplo sem a opo 'DATESEP' e 'TIMESEP' */
|
|
EXEC CICS ASKTIME
ABSTIME (UTIME); ---> X'+002887980807470'
|
|
EXEC CICS FORMATTIME ABSTIME (UTIME)
|
|
YYDDD
(AADDD) ------> '91189 '
|
|
YYMMDD
(AAMMDD) -----> '910708 '
|
|
YYDDMM
(AADDMM) -----> '910807 '
|
|
DDMMYY
(DDMMAA) -----> '080791 '
|
|
MMDDYY
(MMDDAA) -----> '070891 '
|
|
DATE
(DATA) -------> '070891 '
|
|
DATEFORM
(DATEFM)------> 'MMDDYY'
|
|
DAYCOUNT
(DIAS) -------> X'00033426'
|
|
DAYOFWEEK
(DIA_SEM) ----> X'00000001' segunda
|
|
DAYOFMONTH (DIA) --------> X'00000008'
|
|
MONTHOFYEAR (MES) --------> X'00000007'
|
|
YEAR
(ANO) --------> X'00001991'
|
|
TIME
(HORA); ------> '165327 '
|
|
|
| Notao : X'....' - valor bin rio (BIN FIXED(31)).
|
|
|
------------------------------------------------------------------------------

Pag. 88
M a p a s
Um mapa uma tela formatada que o programador de aplicaes cria para permitir que o usurio do terminal se comunique com o programa. Este contm
informaes constantes tais como ttulo, cabealhos, etc. Outras reas do mapa
so definidas como campos vari veis. Estes so usados pelo usurio do terminal
para entrar dados para serem enviados para o programa, ou para que o programa
coloque os dados para serem mostrados no vdeo.
BMS (Basic Mapping Support)
No captulo " Controle de terminal", vimos como enviar e receber mensagens
curtas, no formatadas, como mostrado na figura seguinte:
-----------------------------
|AG:0501,C/C:3405899
|
|
|
|
|
|
|
|
|
|
|
-----------------------------
Se fosse necess rio dispor os dados de sada no meio da tela?
-----------------------------
|
|
|
AG : 0501
|
|
|
|
C/C : 3405899
|
|
|
|
|
-----------------------------
Poderiamos fazer isto de duas maneira:
1.

Gerar as informaes no formatadas com espaos suficientes precedendo cada


dado para coloc -lo no meio da tela.
|-----brancos-----AG:0501-----brancos-----C/C:3405899-----brancos-----|
---------------------------------------------------------------------

2.

ou acrescentar os caracteres de controle dos equipamentos IBM 3270


informaes geradas para posicionar os dados em locais apropriados.
|caracter de controle|AG:0501|caracter de controle|C/C:3405899|
----------------------------------------------------------

nas

Pag. 89
Das duas solues, a segunda a melhor, mas no a desej vel. Se um programa
de aplicao gera informaes contendo caracteres de controle dependentes de
algum equipamento, este ento capaz de comunicar se somente com um tipo de
terminal. Se o usurio tiver mais de um tipo de terminal na rede, pode
necessitar de programas duplicados para comunicar a mesma informao a diferentes tipos de terminal. Caso haja mudana de terminais, os programas de aplicao
teriam que ser alterados para se comunicar com este novo terminal. Os programas
de aplicao tambm teriam que ser alterados se o formato das informaes for
alterado.
Para isto o BMS faz com que o programa de aplicao torne-se independente do:
*

tipo de terminal usado na rede (independncia de equipamento)

formato da exibio das informaes (independncia de formato)

O BMS age como sendo uma INTERFACE entre os programas de aplicao e o Terminal Control Program (TCP) que respons vel pela comunicao fsica com
terminais.
Independncia de Equipamento
O BMS permite que se codifique os programas de aplicao sem se referir s
caractersticas fsicas dos terminais na rede. O BMS prepara a informao a ser
enviada pela insero dos caracteres de controle apropriados baseados no tipo de
terminal a ser usado.
PROGRAMA DE
TCT
APLICAO
---------------
-----------
----- EQUIPAMENTO 1 |
| CAMPO 1 |
|
---------------
| ------- -----
|
|
...
|
| CAMPO 2 |
|
|
---------------
| ------- |
|
|
| EQUIPAMENTO n |
-----------
V
V
---------------
---------
|
BMS
|
--------
V
--------------------------------------------
| caracter de |
| caracter de |
|
| controle do | CAMPO 1 | controle do | CAMPO 2 |
| equipam. 1 |
| equipam. 1 |
|
-------------------------------------------
V
-------
--------
|
|
|
|
| TCP ---------->|
|EQUIPAMENTO
|
|
------
1
-------
------
--------

Pag. 90
O BMS tambm
preocupar com
ciona a posio
fsicos e mapas

permite que o usurio codifique os programas de aplicao sem se


a posio fsica dos campos da informao no vdeo. O BMS relareal dos dados no vdeo por meio de tabelas chamads mapas
simblicos.
Mapas Fsicos

Um mapa fsico descreve o formato de exibio para um dado tipo de terminal. Tem
o forma de uma tabela que inclui a seguinte informao:
*
*
*
*

Tamanho e localizao dos campos de dados


Atributos de campos de dados (protegidos, realados, por exemplo)
Constantes (cabealhos, informao descritiva)
Caractersticas dos terminais
Mapas Simblicos

Os mapas simblicos definem todos os campos de dados vari veis.


O mapa
simblico copiado em uma rea de trabalho do programa; assim, todos os campos
definidos so disponveis pelo nome ao programa. Os dados descritos pelo mapa
simblico podem ser representados em um dos trs formatos seguintes:
1.

Formato de CAMPO (FIELD)


O dado representado por tem individual. Cada tem
por:
*
*

de

dado

precedido

Dois bytes indicando o tamanho do dado


Um byte definindo o atributo do dado a ser exibido no campo.

O byte de atributo especifica caractersticas tais como a intensidade com


que o campo exibido.
Nota:

Um byte de FLAG durante operaes de entrada ocupa a mesma posio


que o byte de atributo. Este FLAG ajustado se o operador usar a tecla ERASE EOF do 3270 para limpar todos os dados de um campo particular. O byte de FLAG raramente usado durante o processamento de
programa de aplicao.

O formato de campo mostrado na ilustrao seguinte:


----------------------------
| LL | A | DADOS | LL | A | DADOS |
--------------------------
|
|Byte de atributo
|
---------------|Comprimento de dados
--------------------

Pag. 91
2.

Formato de BLOCO
O dado apresentado como segmentos de uma linha. Cada linha apresentada
na forma em que aparecer no terminal, incluindo os espaos entre os campos.
O atributo definido para cada segmento da linha.
-------------------------------------------
| A | DADOS |
| A | DADOS |
|
-----------------------------------------
|
|Brancos
|
------|Byte de atributo
---------------Este formato geralmente usado para entrada a partir de terminais de
impressa.

3.

cpia

Formato de TEXTO
Como o nome indica, este formato usado para processamento de texto. O dado
representado como uma corrente nao interrompida de caracteres que o BMS
divide em segmentos do tamanho de uma linha. O programador pode fazer uma
formatao adicional pela insero de caracteres especiais de formatao nas
correntes de dados. Isto chamado Processamento de Texto.
O formato de Campo o formato mais comum para o IBM 3270, para vdeos e
terminais de impresso. No material que se segue, os dados apresentados no
formato de CAMPO sero usados.
Para enderear cada um dos tens na rea de trabalho, um conjunto de rtulos
simblicos criado para os campos a serem acessados.
Por exemplo, na
criao de um mapa simblico, definido um campo de dados vari vel rotulado
FLD1. O BMS cria o seguinte conjunto de rtulos simblicos:
FLD1L

para enderear o tamanho de campo

FLD1A

para enderear o byte de atributo do campo

FLD1F

para enderear o byte de FLAG

FLD1I

para enderear o campo FLD1 na entrada

FLD1O

para enderear o campo FLD1 na sada


--------------
| LL | A | DADOS |
-----------
|
|
|FLD1I ou FLD1O
|
|
-------------|
|FLD1A ou FLD1F
|
-------------|FLD1L
-----

Pag. 92
Assim, o dado de entrada ou sada disponvel ao programa de aplicao tanto no
campo FLD1I como no campo FLD1O. O byte de atributo disponvel no campo FLD1A
e pode ser modificado pelo programa de aplicao antes de uma operao de sada.
O tamanho do dado est no campo FLD1L e pode ser testado pelo programa de
aplicao depois de uma operao de entrada.
Este conjunto de rtulos simblicos forma o mapa simblico. Um ou mais mapas
simblicos formam um conjunto de mapas. O conjunto de mapas armazenado em um
biblioteca de instrues fonte. Para definir a rea de trabalho de dados em seu
programa de aplicao, o usurio inclui simplesmente o mapa simblico em seu
programa na hora em que o programa compiilado como segue:
COBOL

uma
instruo COPY para o conjunto
simblicos na Working Storage Section.

PL/I

uma instruo %INCLUDE para o conjunto


mapas simblicos na Automatic Storage.

ASSEMBLER

uma
instruo COPY para o conjunto
simblicos na Memria Dinmica.

de

mapas

de
de

mapas

Conjunto de mapas (MAPSET)


Um conjunto de mapas um mapa simples ou mapas multiplos definidos para um
tipo de terminal. Os mapas so usualmente agrupados porque todos os mapas no
conjunto so usados por uma aplicao ou aplicaes relacionadas. Quando
necess rio um mapa particular, o programa deve identificar o conjunto de mapas
que inclui aquele mapa. Ento, quando o primeiro comando que se refere ao mapa e
conjunto de mapas emitido, o CICS/MVS carrega o conjunto de mapas para a
rea
de Memria Dinmica, a menos que estaja j na memria.
Para o CICS/MVS, um conjunto de mapas tratado como se fosse um programa.
Por esta razo, a informao de controle do conjunto de mapas est
includa na
PPT.
Se o mesmo formato de exibio for usado para mais de um tipo de terminal,
construdo um mapa fsico (conjunto de mapas) para cada tipo de terminal. Conjuntos de mapas so construdos usando-se um nome genrico (1 a 7 caracteres). O
nome genrico usado no programa de aplicao para identificar o conjunto de
mapas necess rios para formatar ou analisar uma mensagem. O BMS adiciona um
sufixo identificando o tipo de terminal ao nome genrico do conjunto de mapas,

Pag. 93
permitindo assim a seleo do conjunto de mapas fsico apropriado, como mostrado
na figura seguinte:
CICS/MVS PARTIO/REGIO
-------------------------------------
| TCTTE
|
| ------------
|
| | TIPO
DE |
|
BIBLIOTECA DE
| | TERMINAL ----------
|
PROGRAMAS
| ------------
V
|
-------------
|
-----
|
| --------- |
| PROGRAMA DE
->| BMS --------------->| | 3270
| |
| APLICAO
| -----
|
| | MAPSET | |
| ------------
|
|
| --------- |
| |NOME DO MAPA----
LOAD
|
| --------- |
| | TERMINAL
|
------------------- | 3267
| |
| ------------
V
|
| | MAPSET | |
|
--------------------|
| --------- |
|
| MAP (MPASET) ASSO- ||
| --------- |
|
| CIADO COM O TIPO ||
| | 3280
| |
|
| DE TERMINAL
||
| | MAPSET | |
|
-----------------|
| --------- |
----------------------------------
-------------
------
|
|
|
------
| 3270 |<-------
V
--------->| 3780 |
------
------
------
| 3767 |
------
O BMS libera o programador do processo tedioso de interpretao das
informaes recebidas do vdeo 3270, e na gerao das informaes que sero enviadas para o mesmo, pois os vdeos 3270 exigem certas padronizaes nas
informaes, tal como atributo de campo.
Do ponto de vista do programador, o BMS retira os dados dos campos da WORKING
STORAGE e coloca-os nas posies especificas do vdeo. Quando o usurio do terminal gerar uma interrupo, geralmente, atravs da tecla "ENTER" (ou, podendo
ser qualquer uma das teclas de funo - PFs), o BMS retira os dados do vdeo
para retorn -los nos campos apropriados para que o programa possa us -los.
Os mapas so criados atravs de macros assembler ou atravs do utilit rio SDF
(Screen Definition Facility - Ver manual de SDF).

Pag. 94
R E C E I V E

M A P

Utilizado para receber uma tela formatada do terminal de vdeo.


------------------------------------------------------------------------------
| F o r m a t o
|
|
|
|
RECEIVE
MAP(name) {MAPSET(name)}
|
|
{INTO(data-area) / SET(pointer)} ;
|
|
|
------------------------------------------------------------------------------
MAP (data-value) :

<'data-value' - CHAR(08) ou constante alfanumrica> dever


conter o nome do mapa a ser recebido do terminal.

MAPSET (data-value) : <'data-value' - CHAR(08) ou constante alfanumrica> dever


conter o nome do MAPSET ao qual o mapa identificado na opo
MAP pertence.
INTO (data-area) :

<'data-area'> deve ser a identificao do mapa lgico (ou


simblico), onde os dados recebidos do terminal sero
armazenados para que o programa de aplicao possa acess los.

SET (pointer) :

<'pointer'> deve apontar para o mapa lgico (ou simblico)


onde os dados recebidos do terminal sero armazenados para
que o programa de aplicao possa acess -los.
C o n d i o

d e

E x c e o

-----------------------------------------------------------------------------
|Abend Code
|Descrio
|
-----------------------------------------------------------------------------
|MAPFAIL
|Condio reconhecida somente pelo IBM 3270. Ocorre se nenhum
|
|
|dado foi digitado ou se eles foram digitados numa tela no
|
|
|formada e recebidos com um comando de mapeamento.
|
|
|
|
|
|Caso mais frequente, o recebimento de uma tela em branco
|
|
|(teclas <ALT><CLEAR>)
|
-----------------------------------------------------------------------------
E x e m p l o
------------------------------------------------------------------------------
|
...
|
|
%INCLUDE MAP(MAPSETA);
|
|
...
|
|
IF EIBCALEN = 0 THEN
|
|
DO;
|
|
EXEC CICS RECEIVE MAP ('MAPAA') MAPSET ('MAPSETA')
|
|
INTO (MAPAAI);
|
|
...
|
|
END;
|
------------------------------------------------------------------------------

Pag. 95
S E N D

M A P

Utilizado para enviar uma tela formatada para o terminal de vdeo.


------------------------------------------------------------------------------
| F o r m a t o
|
|
|
|
SEND
MAP(data-value)
{MAPSET(data-value)}
|
|
FROM(data-area)
|
|
{ERASE} {ALARM}
|
|
{FREEKB}
|
|
{CURSOR {(data-value)}}
|
|
{DATAONLY / MAPONLY}
|
|
|
------------------------------------------------------------------------------
MAP (data-value) :

<'data-value' - CHAR(08) ou constante alfanumrica> dever


conter o nome do mapa a ser enviado para o terminal.

MAPSET (data-value) : <'data-value' - CHAR(08) ou constante alfanumrica> dever


conter o nome do MAPSET ao qual o mapa identificado na opo
MAP pertence.
FROM (data-area) :

<'data-area'> dever
ser o mapa lgico do qual
extrados os dados a serem enviados para a tela.

sero

ERASE :

Limpa a tela antes enviar o mapa especificado.

ALARM :

Soa o alarme do terminal (se o mecanismo de alarme do terminal estiver ligado) quando do envio do mapa a tela.

FREEKB :

Libera o teclado quando do envio do mapa para a tela.

CURSOR (data-value) : <'data-value' - BIN FIXED(15) ou constante numrica)


dever
conter a posio linear onde o cursor
ficar
posicionado na tela.
DATAONLY :

Envia somente os dados contidos no mapa lgico, mantendo


todo o contedo que estava atualmente na tela.

MAPONLY :

Envia somente o mapa fsico, mentendo todo


estava atualmente na tela.

contedo

que

E x e m p l o
------------------------------------------------------------------------------
|
...
|
|
%INCLUDE MAP(MAPSETA);
|
|
...
|
|
IF EIBCALEN = 0 THEN
|
|
DO;
|
|
EXEC CICS SEND MAP ('MAPAA') MAPSET ('MAPSETA')
|
|
FROM (MAPAAO) ERASE FREEKB ALARM;
|
|
...
|
|
END;
|
|
...
|
------------------------------------------------------------------------------

Pag. 96

Pag. 97
A P N D I C E

Chamada de rotina CICS/MVS pelo NATURAL


Na chamada de uma rotina CICS/MVS feito por uma aplicao NATURAL, a passagem
de parmetros no efetuado de modo convencional conhecido pelo CICS/MVS, que
seria a passagem via opo COMMAREA dos comandos que transferem controle
outras aplicaes. (Ver comandos LINK e XCTL)
Os parmetros passados pela aplicao NATURAL segue o esquema demonstrado na
figura abaixo:
------------------------------------------------------------------------------
|
|
|
Aplicao NATURAL
|
|
-------------------------------
|
|
| ...
|
|
|
(1)
| DEFINE DATA LOCAL
|
|
|
----------------------------- 1 AREA_01
(N04)
|
|
|
|
------- 1 AREA_02
(A15)
|
|
|
|
|
| ...
|
|
|
|
------------------ 1 AREA_03
|
|
|
V
V
V
|
2 SUBAREA_01
(A04)
|
|
|------------------------------ |
2 SUBAREA_02
(B04)
|
|
||Endereo |Endereo |Endereo | |
2 SUBAREA_03
(A40)
|
|
||da AREA_01|da AREA_03|da AREA_02| |
2 SUBAREA_04
(A40)
|
|
|------------------------------ | ...
|
|
||
| CALL 'PRGCIC' AREA_01 AREA_03 |
|
||(2)
|
AREA_02
|
|
|-----
| ...
|
|
|
V
T W A
-------------------------------
|
|----------------------------
|
||Endereo da|
|
(1) Os endereos de cada par|etro
|
|| lista de |
........
|
passado pelo NATURAL so arma|
|| parametros |
|
zenados em uma rea contgua na
|
|------------
|
memria do CICS/MVS.
|
||
|
A ordem em que os endereos
|
|-----------------------------
dos parmetros so armazenados
|
|
na lista de parmetros
de|
|
terminado pela ordem em que eles so passados na instruo "CALL"
|
|
do NATURAL.
|
|
A quantidade de endereos na lista de parmetros determi|
|
nado tambem pela quantidade de parmetros passados na instruo
|
|
"CALL" do NATURAL.
|
|
|
|(2) O endereo da lista de parmetros fica armazenado nos primeiros
|
|
quatro bytes (FULLWORD) da TWA.
|
|
|
------------------------------------------------------------------------------

Pag. 98
Para se ter acesso pela aplicao CICS/MVS aos parmetros passados por uma
aplicao NATURAL, deve-se utilizar o seguinte comando:
------------------------------------------------------------------------------
|
|
|
EXEC CICS ADDRESS TWA (pointer);
|
|
|
|
|
-----> vari vel do PL/I que aceita
|
|
somente como contedo um endereco de memria virtual
|
------------------------------------------------------------------------------
Este comando utilizado para enderear a
rea conhecida como
CICS/MVS, que utilizada para comunicao com outras aplicaes.

TWA

pelo

S que, da maneira que a aplicao NATURAL passa os parmetros somente o


endereamento a TWA no bastaria, sendo necess rio ainda uma estrutura montada
em PL/I para se chegar aos dados, como mostrado no esquema abaixo (seguindo o
exemplo anterior).
------------------------------------------------------------------------------
|
(1)
|
|
----------------------------------------------------------
|
|
|
V
|
|
|
T W A
EXEC CICS ADDRESS TWA (PTR01);
|
|
----------------------------
|
|----Endereo da|
|
DCL PTR01
POINTER;
|
||
| lista de |
........
|
DCL 1 ATWA
BASED (PTR01),
|
||
| parmetros ------------------------> 2 PTR02 POINTER;
|
||(3) ------------
(2)
|
|
||
|
|
|
||
-----------------------------
DCL 1 LST_PARM BASED(PTR02),
|
||
------------------------>2 PRM01 POINTER,
|
||
|
------------>2 PRM02 POINTER,-
|
||
|(4)
|
-->2 PRM03 POINTER;--
|
||
|
|
|
| | |
|
|------------->---------------------------
| | |
|
|
|Endereo |Endereo |Endereo |
| | |
|
|
|da AREA_01|da AREA_03|da AREA_02|
(5)| | |
|
|
------------------------------
| | |
|
|
| | |
|
|DCL AREA_01
PIC '(04)9' BASED (PRM01),<----------------- | |
|
|
1 AREA_03
BASED (PRM02),<------------------- |
|
|
2 SUBAREA_01
CHAR
(04),
|
|
|
2 SUBAREA_02
BIN FIXED (31),
|
|
|
2 SUBAREA_03
CHAR
(40),
|
|
|
2 SUBAREA_04
CHAR
(40),
|
|
|
AREA_02
CHAR (15) BASED (PRM03);<---------------------
|
|--------------------------------------------------------------------
|
|| Observao: Os nomes destas vari veis nao precisam ser os mesmos |
|
||
definidos no programa NATURAL.
|
|
|--------------------------------------------------------------------
|
------------------------------------------------------------------------------

Pag. 99
(1)

Aps a execuo do comando "EXEC CICS ADDRESS TWA", devolvido no "pointer


PTR01" o endereo inicial da TWA.

(2)

O pointer "PTR02" contm a primeira FULLWORD da TWA.

(3)

A primeira
NATURAL.

(4)

Cada FULLWORD, a partir do endereo definido na primeira FULLWORD da TWA,


contm o endereo onde est
o contedo de cada vari vel passada como
parmetro pelo NATURAL.

(5)

Define-se uma m scara (vari veis "BASED") para acessar o contedo de cada
parmetro. As m scaras devem estar idnticas (pelo menos no tamanho) ao
tipo e tamanho de vari veis passadas pelo NATURAL. Caso contr rio poder
acarretar srios danos ao CICS/MVS.

FULLWORD

da TWA aponta para a lista de parmetros gerada pelo

I M P O R T A N T E
------------------------------------------------------------------------------
|Para aplicaes que utilizam as MACROs PL/I para acesso ao Banco de Dados
|
|ADABAS, tomar cuidado. Pois, a INTERFACE do ADABAS utiliza a mesma rea na
|
|TWA para a passagem de parmetros. Oque acaba destrundo o endereo da lista |
|de parmetros enviados pelo NATURAL. Para evitar este problema, logo aps
|
|enderear a TWA via comando mostrado acima, proceder da seguinte maneira.
|
|
|
|1. Declarar novamente a mesma quantidade de vari veis POINTERs definidos
|
|
para a recepo dos parmetros do NATURAL.
|
|
|
|2. Logo aps o comando "EXEC CICS ADDRESS TWA", movimentar (salvar) os
|
|
POINTERs que contm o endereo dos contedos dos parmetros do NATURAL
|
|
para as vari veis definidas no tem anterior.
|
|
|
|3. As m scaras que iro receber o contedo dos parmetros devero estar
|
|
baseados nos POINTERs definidos no tem 1 ao invs dos POINTERS recebidos |
|
pelo NATURAL.
|
|
|
|Ver exemplo na prxima p gina.
|
------------------------------------------------------------------------------

Pag. 100
-----------------------------------------------------------------------
| -----------------------------
|
| |
EXEC CICS ADDRESS TWA (PTR01);
|
| |
SALVA_PRM01 = PRM01;
|
| |
SALVA_PRM02 = PRM02;
|
| |
SALVA_PRM03 = PRM03;
|
| |
|
| --->DCL PTR01
POINTER;-
|
|
V
|
|
DCL 1 ATWA
BASED (PTR01),
|
|
2 PTR02 POINTER;-
|
|
V
|
|
DCL 1 LST_PARM BASED(PTR02),
|
|
------2 PRM01 POINTER,
|
|
-------2 PRM02 POINTER,
|
| --------2 PRM03 POINTER;
|
| | | --->SALVA_PRM01 POINTER,------------------
|
| | ----->SALVA_PRM02 POINTER,---------------------------
|
| ------->SALVA_PRM03 POINTER;------------------------------
|
|
V
|
|
|
|
DCL AREA_01
PIC '(04)9' BASED (SALVA_PRM01), |
|
|
|
1 AREA_03
BASED (SALVA_PRM02),<-
|
|
|
2 SUBAREA_01
CHAR
(04),
|
|
|
2 SUBAREA_02
BIN FIXED (31),
|
|
|
2 SUBAREA_03
CHAR
(40),
|
|
|
2 SUBAREA_04
CHAR
(40),
|
|
|
AREA_02
CHAR (15) BASED (SALVA_PRM03);<-----
|
-----------------------------------------------------------------------

Pag. 101
Rotina CICS/MVS chamada tanto por aplicao CICS/MVS
como por aplicao NATURAL
------------------------------------------------------------------------------
|
--------------------------------- --------------------------------
|
|
|
CICS/MVS
| |
NATURAL
|
|
|
|
| |
|
|
|
|PGMCIC:PROC OPTIONS(MAIN);
| | DEFINE DATA LOCAL
|
|
|
|DCL 1 ROTCIC_PARM,
| | 1 ROTCIC_PARM
|
|
|
|
2 PARM01
CHAR(02),
| |
2 PARM01
(A02)
|
|
|
|
2 PARM02
PIC '(04)9',
| |
2 PARM02
(N04)
|
|
|
|
2 PARM03
BIN FIXED(15); | |
2 PARM03
(B02)
|
|
|
|PARM01 = 'AA';
| | END-DEFINE
|
|
|
|EXEC CICS LINK PROGRAM('ROTCIC') | | ASSIGN PARM01 = 'BB'
|
|
|
|
COMMAREA (ROTCIC_PARM);| | CALL 'ROTCIC' ROTCIC_PARM
|
|
|
|IF (PARM03 = 0) THEN
| | IF PARM03 NE 0 THEN
|
|
|
|...
| | ...
|
|
|
|
| |
|
|
|
-------------------------------- -------------------------------
|
|
------------------------------------
|
|
--------------------------------------------
|
|
|
R o t i n a
|
|
|
|
|
|
|
|ROTCIC : PROC (CICS_PTR) OPTIONS (MAIN);
|
|
|
|DCL CICS_PTR
POINTER;
|
|
|
|DCL TWA_PTR
POINTER,
|
|
|
|
1 TW_AREA
BASED
(TWA_PTR), |
|
|
|
2 LISTA_PTR
POINTER,
|
|
|
|
1 LISTA_PARM
BASED
(LISTA_PTR),|
|
|
|
2 NAT_PTR
POINTER;
|
|
|
|DCL 1 ROTCIC_PARM
BASED
(CICS_PTR), |
|
|
|
2 PARM01
CHAR
(02),
|
|
|
|
2 PARM02
PIC
'(04)9',
|
|
|
|
2 PARM03
BIN FIXED (15);
|
|
|
|IF (EIBCALEN = 0) THEN
|
|
|
|DO;
|
|
|
| EXEC CICS ADDRESS TWA (TWA_PTR);
|
|
|
| CICS_PTR = NAT_PTR;
|
|
|
|END;
|
|
|
|PARM03 = 0;
|
|
|
|SELECT (PARM01);
|
|
|
| WHEN ('AA') PARM02 = 11;
|
|
|
| WHEN ('BB') PARM02 = 22;
|
|
|
| OTHERWISE
|
|
|
| DO;
|
|
|
|
PARM02 = 0;
|
|
|
|
PARM03 = 5;
|
|
|
| END;
|
|
|
|END;
|
|
|
|EXEC CICS RETURN;
|
|
|
|END ROTCIC;
|
|
|
---------------------------------------------
|
------------------------------------------------------------------------------

Pag. 102

Pag. 103
A P N D I C E

Lista das condies de exceo


-----------------------------------
|
|
|
-----------------------------------
|CBIDERR
|ALLOCATE
|
|
|CONVERSE
|
|
|EXTRACT ATTACH
|
|
|SEND
|
-----------------------------------
|DISABLED
|ENDBR
|
|
|DELETE
|
|
|READ
|
|
|READNEXT
|
|
|READPREV
|
|
|RESETBR
|
|
|REWRITE
|
|
|STARTBR
|
|
|UNLOCK
|
|
|WRITE
|
-----------------------------------
|DSIDERR
|ENDBR
|
|
|DELETE
|
|
|READNEXT
|
|
|READPREV
|
|
|RESETBR
|
|
|REWRITE
|
|
|STARTBR
|
|
|UNLOCK
|
|
|WRITE
|
-----------------------------------
|DSSTAT
|ISSUE RECEIVE
|
-----------------------------------
|DUPKEY
|READ
|
|
|READNEXT
|
|
|READPREV
|
-----------------------------------
|DUPREC
|WRITE
|
|
|REWRITE
|
-----------------------------------
|ENDDATA
|RETRIEVE
|
-----------------------------------
|ENDFILE
|READNEXT
|
|
|READPREV
|
-----------------------------------
|ENDINPT
|RECEIVE
|
-----------------------------------
|ENQBUSY
|ENQ
|
-----------------------------------

-----------------------------------
|
|
|
-----------------------------------
|ENVDEFERR
|RETRIEVE
|
-----------------------------------
|EOC
|ALLOCATE
|
-----------------------------------
|
|CONVERSE
|
|
|RECEIVE
|
|
|RECEIVE MAP
|
|
|RECEIVE PARTN
|
|
|SEND
|
-----------------------------------
|EODS
|CONVERSE
|
|
|ISSUE RECEIVE
|
|
|RECEIVE
|
|
|RECEIVE MAP
|
|
|RECEIVE PARTN
|
-----------------------------------
|EOF
|CONVERSE
|
|
|RECEIVE
|
-----------------------------------
|ERROR
|Erro genrico v lido
|
|
|para qualquer comando |
-----------------------------------
|EXPIRED
|DELAY
|
|
|POST
|
-----------------------------------
|FUNCERR
|ISSUE ABORT
|
|
|ISSUE ADD
|
|
|ISSUE END
|
|
|ISSUE ERASE
|
|
|ISSUE NOTE
|
|
|ISSUE QUERY
|
|
|ISSUE REPLACE
|
|
|ISSUE SEND
|
|
|ISSUE WAIT
|
-----------------------------------
|IGREQCD
|CONVERSE
|
|
|ISSUE SEND
|
|
|SEND
|
|
|SEND CONTROL
|
|
|SEND MAP
|
|
|SEND PAGE
|
|
|SEND TEXT
|
-----------------------------------

Pag. 104
-----------------------------------
|
|
|
-----------------------------------
|IGREQID
|SEND CONTROL
|
|
|SEND MAP
|
|
|SEND TEXT
|
-----------------------------------
|ILLOGIC
|DELETE
|
|
|ENDBR
|
|
|READ
|
|
|READNEXT
|
-----------------------------------
|
|READPREV
|
|
|RESETBR
|
|
|REWRITE
|
|
|STARTBR
|
|
|UNLOCK
|
|
|WRITE
|
-----------------------------------
|INBFMH
|CONVERSE
|
|
|RECEIVE
|
-----------------------------------
|INVERRTERM |ROUTE
|
-----------------------------------
|INVLDC
|ROUTE
|
|
|SEND CONTROL
|
|
|SEND MAP
|
|
|SEND TEXT
|
-----------------------------------
|INVMPSZ
|RECEIVE MAP
|
|
|SEND MAP
|
-----------------------------------
|INVPARTN
|RECEIVE MAP
|
|
|RECEIVE PARTN
|
|
|SEND CONTROL
|
|
|SEND MAP
|
|
|SEND TEXT
|
-----------------------------------
|INVPARTNSET |SEND PARTNSET
|
-----------------------------------

-----------------------------------
|
|
|
-----------------------------------
|INVREQ
|ALLOCATE
|
|
|ASSIGN
|
|
|CANCEL
|
|
|CONNECT PROCESS
|
|
|CONVERSE
|
|
|DELAY
|
|
|DELETE
|
|
|ENDBR
|
|
|ENTER
|
|
|EXTRACT ATTACH
|
|
|EXTRACT PROCESS
|
|
|EXTRACT TCT
|
|
|FREE
|
|
|ISSUE ABEND
|
|
|ISSUE CONFIRMATION
|
|
|ISSUE COPY
|
|
|ISSUE ENDFILE
|
|
|ISSUE ENDOUTPUT
|
|
|ISSUE EODS
|
|
|ISSUE ERASEAUP
|
|
|ISSUE ERROR
|
|
|ISSUE LOAD
|
|
|ISSUE PRINT
|
|
|ISSUE RESET
|
-----------------------------------
|
|POST
|
|
|READ
|
|
|READNEXT
|
|
|READPREV
|
|
|READQ TS
|
|
|RECEIVE
|
|
|RESETBR
|
|
|RETRIEVE
|
|
|RETURN
|
|
|REWRITE
|
|
|ROUTE
|
|
|SEND
|
|
|SEND CONTROL
|
|
|SEND MAP
|
|
|SEND PAGE
|
|
|SEND PARTNSET
|
|
|SEND TEXT
|
|
|START
|
|
|STARTBR
|
|
|WAIT CONVID
|
|
|WAIT EVENT
|
|
|WAIT JOURNAL
|
|
|WRITE
|
|
|WRITEQ TS
|
-----------------------------------
|INVTSREQ
|RETRIEVE
|
-----------------------------------

Pag. 105
-----------------------------------
|
|
|
-----------------------------------
|IOERR
|DELETE
|
|
|JOURNAL
|
|
|READ
|
|
|READNEXT
|
|
|READPREV
|
|
|READQ TD
|
|
|READQ TS
|
|
|RESETBR
|
|
|RETRIEVE
|
|
|REWRITE
|
|
|START
|
|
|STARTBR
|
|
|UNLOCK
|
|
|WAIT JOURNAL
|
|
|WRITE
|
|
|WRITEQ TD
|
|
|WRITEQ TS
|
-----------------------------------
|ISCINVREQ
|CANCEL
|
|
|DELETE
|
|
|DELETEQ TD
|
|
|DELETEQ TS
|
|
|ENDBR
|
|
|READ
|
|
|READNEXT
|
-----------------------------------
|
|READPREV
|
|
|READQ TD
|
|
|READQ TS
|
|
|RESETBR
|
|
|RETRIEVE
|
|
|REWRITE
|
|
|START
|
|
|STARTBR
|
|
|UNLOCK
|
|
|WRITE
|
|
|WRITEQ TD
|
|
|WRITEQ TS
|
-----------------------------------
|ITEMERR
|READQ TS
|
|
|WRITEQ TS
|
-----------------------------------
|JIDERR
|JOURNAL
|
|
|WAIT JOURNAL
|
-----------------------------------

-----------------------------------
|
|
|
-----------------------------------
|LENGERR
|CONNECT PROCESS
|
|
|CONVERSE
|
|
|DUMP
|
|
|GETMAIN
|
|
|ISSUE RECEIVE
|
|
|JOURNAL
|
|
|READ
|
|
|READNEXT
|
|
|READPREV
|
|
|READQ TD
|
|
|READQ TS
|
|
|RECEIVE
|
|
|RECEIVE PARTN
|
|
|RETRIEVE
|
|
|REWRITE
|
|
|SEND
|
|
|WRITE
|
|
|WRITEQ TD
|
-----------------------------------
|MAPFAIL
|RECEIVE MAP
|
-----------------------------------
|NOJBUFSP
|JOURNAL
|
-----------------------------------
|NONVAL
|ISSUE LOAD
|
-----------------------------------
|NOPASSBKRD |RECEIVE
|
-----------------------------------
|NOPASSBKWR |SEND
|
-----------------------------------
|NOSPACE
|REWRITE
|
|
|WRITE
|
|
|WRITEQ TD
|
|
|WRITEQ TS
|
-----------------------------------
|NOSTART
|ISSUE LOAD
|
-----------------------------------
|NOSTG
|GETMAIN
|
-----------------------------------

Pag. 106
-----------------------------------
|
|
|
-----------------------------------
|NOTALLOC
|CONNECT PROCESS
|
|
|CONVERSE
|
|
|EXTRACT ATTACH
|
|
|EXTRACT PROCESS
|
|
|FREE
|
|
|ISSUE ABEND
|
|
|ISSUE CONFIRMATION
|
|
|ISSUE DISCONNECT
|
|
|ISSUE ERROR
|
|
|ISSUE SIGNAL
|
|
|POINT
|
|
|RECEIVE
|
|
|SEND
|
|
|WAIT CONVID
|
|
|WAIT TERMINAL
|
-----------------------------------
|NOTAUTH
|CANCEL
|
|
|DELETE
|
|
|DELETEQ TD
|
|
|DELETEQ TS
|
|
|ENDBR
|
|
|LINK
|
|
|LOAD
|
|
|JOURNAL
|
|
|READ
|
|
|READQ TD
|
|
|READQ TS
|
|
|READNEXT
|
|
|READPREV
|
|
|RELEASE
|
|
|RESETBR
|
|
|RETRIEVE
|
|
|RETURN
|
|
|REWRITE
|
|
|START
|
|
|STARTBR
|
|
|WAIT JOURNAL
|
-----------------------------------
|
|WRITE
|
|
|WRITEQ TD
|
|
|WRITEQ TS
|
|
|UNLOCK
|
|
|XCTL
|
-----------------------------------
|NOTFND
|CANCEL
|
|
|DELETE
|
|
|READ
|
|
|READNEXT
|
-----------------------------------

-----------------------------------
|
|
|
-----------------------------------
|
|READPREV
|
|
|RESETBR
|
|
|RETRIEVE
|
|
|STARTBR
|
-----------------------------------
|NOTOPEN
|ENDBR
|
|
|DELETE
|
|
|JOURNAL
|
|
|READ
|
|
|READNEXT
|
|
|READPREV
|
|
|READQ TD
|
|
|RESETBR
|
|
|REWRITE
|
|
|STARTBR
|
|
|UNLOCK
|
|
|WAIT JOURNAL
|
|
|WRITE
|
|
|WRITEQ TD
|
-----------------------------------
|OVERFLOW
|SEND MAP
|
-----------------------------------
|PARTNFAIL
|RECEIVE MAP
|
-----------------------------------
|PGMIDERR
|HANDLE AID
|
|
|LINK
|
|
|LOAD
|
|
|RELEASE
|
|
|XCTL
|
-----------------------------------
|QBUSY
|READQ TD
|
-----------------------------------
|QIDERR
|DELETEQ TD
|
|
|DELETEQ TS
|
|
|READQ TD
|
|
|READQ TS
|
|
|WRITEQ TD
|
|
|WRITEQ TS
|
-----------------------------------
|QZERO
|READQ TD
|
-----------------------------------
|RDATT
|CONVERSE
|
|
|RECEIVE
|
|
|RECEIVE MAP
|
-----------------------------------
|RETPAGE
|SEND CONTROL
|
|
|SEND MAP
|
|
|SEND PAGE
|
|
|SEND TEXT
|
-----------------------------------
|ROLLEDBACK |SYNCPOINT
|
-----------------------------------

Pag. 107
-----------------------------------
|
|
|
-----------------------------------
|RTEFAIL
|ROUTE
|
-----------------------------------
|RTESOME
|ROUTE
|
-----------------------------------
|SELNERR
|ISSUE ABORT
|
|
|ISSUE ADD
|
|
|ISSUE END
|
|
|ISSUE ERASE
|
|
|ISSUE NOTE
|
|
|ISSUE QUERY
|
|
|ISSUE REPLACE
|
|
|ISSUE SEND
|
|
|ISSUE WAIT
|
-----------------------------------
|SESSBUSY
|ALLOCATE
|
-----------------------------------
|SESSIONERR |ALLOCATE
|
|
|CONVERSE
|
|
|EXTRACT ATTACH
|
|
|FREE
|
|
|ISSUE DISCONNECT
|
|
|ISSUE SIGNAL
|
|
|POINT
|
|
|RECEIVE
|
|
|SEND
|
|
|WAIT TERMINAL
|
-----------------------------------
|SIGNAL
|CONVERSE
|
|
|RECEIVE
|
|
|SEND
|
|
|WAIT CONVID
|
|
|WAIT SIGNAL
|
|
|WAIT TERMINAL
|
-----------------------------------
|SYSIDERR
|ALLOCATE
|
|
|CANCEL
|
|
|DELETE
|
|
|DELETEQ TD
|
|
|DELETEQ TS
|
|
|ENDBR
|
|
|READ
|
|
|READNEXT
|
|
|READPREV
|
|
|READQ TD
|
|
|READQ TS
|
|
|RESETBR
|
|
|RETRIEVE
|
|
|REWRITE
|
|
|START
|
|
|STARTBR
|
|
|UNLOCK
|
-----------------------------------

-----------------------------------
|
|
|
-----------------------------------
|
|WRITE
|
|
|WRITEQ TD
|
|
|WRITEQ TS
|
-----------------------------------
|TERMERR
|CONVERSE
|
|
|ISSUE ABEND
|
|
|ISSUE CONFIRMATION
|
|
|ISSUE COPY
|
|
|ISSUE DISCONNECT
|
|
|ISSUE EODS
|
|
|ISSUE ERASEAUP
|
|
|ISSUE ERROR
|
|
|ISSUE LOAD
|
|
|ISSUE PRINT
|
|
|ISSUE SIGNAL
|
|
|RECEIVE
|
|
|SEND
|
|
|WAIT SIGNAL
|
-----------------------------------
|TERMIDERR
|ISSUE COPY
|
|
|START
|
-----------------------------------
|TRANSIDERR |START
|
-----------------------------------
|TSIOERR
|PURGE MESSAGE
|
|
|SEND CONTROL
|
|
|SEND MAP
|
|
|SEND PAGE
|
|
|SEND TEXT
|
-----------------------------------
|UNEXPIN
|ISSUE ABORT
|
|
|ISSUE ADD
|
|
|ISSUE END
|
|
|ISSUE ERASE
|
|
|ISSUE NOTE
|
|
|ISSUE QUERY
|
|
|ISSUE RECEIVE
|
|
|ISSUE REPLACE
|
|
|ISSUE SEND
|
|
|ISSUE WAIT
|
|
|RECEIVE MAP
|
-----------------------------------
|WRBRK
|CONVERSE
|
|
|SEND CONTROL
|
|
|SEND
|
|
|SEND MAP
|
|
|SEND PAGE
|
|
|SEND TEXT
|
-----------------------------------

Pag. 108

Pag. 109
A P N D I C E

Lista dos cdigos de ABEND


----------------------------------------------------------------------------
|Abend |Module
|Description
|
|Code
|
|
|
----------------------------------------------------------------------------
|????
|
|ABEND CODE PL/I
|
----------------------------------------------------------------------------
|Annn
|
|ABEND CODE ADABAS, where 'nnn' is the response code.
|
|
|
|
|
|
|
|Ver os RESPONSE CODEs ADABAS no manual de ADABAS.
|
----------------------------------------------------------------------------
|AACA
|DFHACP
|Invalid error code
|
----------------------------------------------------------------------------
|AAKP
|DFHAKP
|Write I/O error to MT log
|
----------------------------------------------------------------------------
|AAMA
|DFHAMP
|Internal logic error
|
----------------------------------------------------------------------------
|AAMD
|DFHAMP
|Bad return code DFHDMP
|
----------------------------------------------------------------------------
|AAMO
|DFHAMP
|Bad return code DFHTOR
|
----------------------------------------------------------------------------
|AAMP
|DFHAMP
|Bad return code DFHPUP
|
----------------------------------------------------------------------------
|AAMT
|DFHAMP
|Bad return code DFHTMP
|
----------------------------------------------------------------------------
|AAMZ
|DFHAMP
|Bad return code DFHZCP
|
----------------------------------------------------------------------------
|ABMA
|DFHPBP
|TIOA wrong length
|
----------------------------------------------------------------------------
|ABMB
|DFHPBP,
|Cursor position larger than current screen size
|
|
|DFHMCP,
|
|
|
|DFHMCX
|
|
----------------------------------------------------------------------------
|ABMD
|DFHTPP,
|Bad return code from send
|
|
|DFHTPR
|
|
----------------------------------------------------------------------------
|ABMG
|DFHMCP
|BMS service not present
|
----------------------------------------------------------------------------
|ABMI
|DFHMCX,
|Not input map
|
|
|DFHMCP
|
|
----------------------------------------------------------------------------
|ABML
|DFHRLR
|Invalid output
|
----------------------------------------------------------------------------
|ABMM
|DFHPBP
|Invalid map
|
----------------------------------------------------------------------------

Pag. 110
----------------------------------------------------------------------------
|Abend |Module
|Description
|
|Code
|
|
|
----------------------------------------------------------------------------
|ABMO
|DFHMCX,
|No output map
|
|
|DFHMCP
|
|
----------------------------------------------------------------------------
|ABMP
|DFHTPR
|Undefined PA/PF key
|
----------------------------------------------------------------------------
|ABMR
|DFHMCPDY
|BMS modules not generated
|
----------------------------------------------------------------------------
|ABMS
|DFHTPS
|Non zero return code
|
----------------------------------------------------------------------------
|ABMT
|DFHMCP
|BMS used for non-3270 terminal
|
----------------------------------------------------------------------------
|ABMU
|DFHMCP,
|Address out of range
|
|
|DFHEMS
|
|
----------------------------------------------------------------------------
|ABMV
|DFHRLR
|Invalid route list entry
|
----------------------------------------------------------------------------
|ABMX
|DFHPBP
|Invalid set attribute order in text
|
----------------------------------------------------------------------------
|ABM0
|DFHMCP
|Map not located
|
----------------------------------------------------------------------------
|ABM1
|DFHRLR
|BMS service requested from non-BMS-supported terminal
|
----------------------------------------------------------------------------
|ABM2
|DFHMCP
|No user data for BMS request
|
----------------------------------------------------------------------------
|ABM3
|DFHMCP
|BMS service requested from non-BMS-supported terminal
|
----------------------------------------------------------------------------
|ABM4
|DFHMCP,
|Page error
|
|
|DFHTPP
|
|
----------------------------------------------------------------------------
|ABM5
|DFHMCP,
|Purge request issued with invalid REQID by BMS
|
|
|DFHTPR
|
|
----------------------------------------------------------------------------
|ABM6
|DFHMCP
|CSPS not defined in PCT
|
----------------------------------------------------------------------------
|ABM7
|DFHPBP
|Trailer too large
|
----------------------------------------------------------------------------
|ABM8
|DFHPBP
|Justify parameter too large
|
----------------------------------------------------------------------------
|ABM9
|DFHPBP
|Trailer too large
|
----------------------------------------------------------------------------
|ABNA
|DFHTPS
|No route list
|
----------------------------------------------------------------------------
|ABNB
|DFHTPS
|Invalid TCTTE type for principal facility
|
----------------------------------------------------------------------------
|ABNC
|DFHTPS
|Access temp storage queue failed
|
----------------------------------------------------------------------------
|ABND
|DFHTPS
|Invalid response from DFHXTP
|
----------------------------------------------------------------------------
|ABNE
|DFHTPS
|Invalid response from BMS ROUTE or STORE request
|
----------------------------------------------------------------------------

Pag. 111
----------------------------------------------------------------------------
|Abend |Module
|Description
|
|Code
|
|
|
----------------------------------------------------------------------------
|ABNF
|DFHTPS
|Send, not in send mode
|
----------------------------------------------------------------------------
|ABNG
|DFHTPS
|Attach recived without data
|
----------------------------------------------------------------------------
|ABNH
|DFHTPS
|Shit to remote system failed
|
----------------------------------------------------------------------------
|ABNI
|DFHTPS
|LU6.2 profile not found
|
----------------------------------------------------------------------------
|ABP1
|DFHxxBP
|I/O error in restart data set
|
----------------------------------------------------------------------------
|ABP2
|DFHxxBP
|Backout failure
|
----------------------------------------------------------------------------
|ABP3
|DFHxxBP
|CICS internal logic error
|
----------------------------------------------------------------------------
|ABSA
|DFHTBS
|CICS internal logic error
|
----------------------------------------------------------------------------
|ACAA
|DFHCAP
|Invalid function code on command analysis request
|
----------------------------------------------------------------------------
|ACAD
|DFHCAP
|Invalid function code on defaults request
|
----------------------------------------------------------------------------
|ACAI
|DFHCAP
|Invalid function code on request to DFHCAP
|
----------------------------------------------------------------------------
|ACMF
|DFHCMP
|Monitoring area overwritten
|
----------------------------------------------------------------------------
|ACP1
|DFHCPY
|Bad IC response code
|
----------------------------------------------------------------------------
|ACP2
|DFHCPY
|Bad IC response code
|
----------------------------------------------------------------------------
|ACRA
|DFHCRP
|Principal facility is not terminal
|
----------------------------------------------------------------------------
|ACRB
|DFHCRP
|Transaction is not remote
|
----------------------------------------------------------------------------
|ACRC
|DFHCRP
|Invalid response from DFHZCX
|
----------------------------------------------------------------------------
|ACRD
|DFHCRP
|System entry not found
|
----------------------------------------------------------------------------
|ACSA
|DFHCRS
|Principal facility is not link
|
----------------------------------------------------------------------------
|ACSB
|DFHCRS
|Invalid reply to schedule request
|
----------------------------------------------------------------------------
|ACSC
|DFHCRS
|Invalid request received
|
----------------------------------------------------------------------------
|ACSD
|DFHCRS
|Logic error in DFHCRS
|
----------------------------------------------------------------------------
|ADB1
|DFHDBP
|Error on dynamic log
|
----------------------------------------------------------------------------
|ADIR
|DFHDIP
|Data interchange not generated
|
----------------------------------------------------------------------------
|ADLA
|DFHDLR
|DL/I abend
|
----------------------------------------------------------------------------

Pag. 112
----------------------------------------------------------------------------
|Abend |Module
|Description
|
|Code
|
|
|
----------------------------------------------------------------------------
|ADLD
|DFHDLR
|Program isolation deadlock
|
----------------------------------------------------------------------------
|ADLE
|DFHDLI
|Unknown PDIR entry
|
----------------------------------------------------------------------------
|ADLF
|DFHDLI
|Data base link down
|
----------------------------------------------------------------------------
|ADLG
|DFHDLI
|Error in DL/I argument
|
----------------------------------------------------------------------------
|ADLH
|DFHDLRP
|DL/I restart program failure
|
----------------------------------------------------------------------------
|ADLK
|DFHDLR
|Request to create or delete a buffer pool
|
----------------------------------------------------------------------------
|ADLL
|DFHDLI,
|Error writing system log
|
|
|DFHDLR
|
|
----------------------------------------------------------------------------
|ADLN
|DFHEDP
|Sysgen parameter error
|
----------------------------------------------------------------------------
|ADLP
|DFHDLI
|Unauthorized or unknown PSB
|
----------------------------------------------------------------------------
|ADLS
|DFHDLR
|ISB not found
|
----------------------------------------------------------------------------
|ADLT
|DFHDLR
|Error writing message
|
----------------------------------------------------------------------------
|ADLX
|DFHDLR
|Illegal DL/I buffer action
|
----------------------------------------------------------------------------
|AEC1
|DFHECIP,
|CECI, CEMT, or CEDA tried to use unsupported terminal
|
|
|DFHECSP,
|
|
|
|DFHEDAP,
|
|
|
|DFHEMTP,
|
|
|
|DFHEOTP,
|
|
|
|DFHESTP
|
|
----------------------------------------------------------------------------
|AEC2
|DFHECIP,
|CECI, CEMT, or CEDA tried to use too small screen
|
|
|DFHCSP,
|
|
|
|DFHEDAP,
|
|
|
|DFHEMTP,
|
|
|
|DFHEOTP,
|
|
|
|DFHESTP
|
|
----------------------------------------------------------------------------
|AED1
|DFHEDFP
|Non-EDF supported terminal
|
----------------------------------------------------------------------------
|AED2
|DFHEDFX
|EDF has terminated a task
|
----------------------------------------------------------------------------
|AED3
|DFHEDFX
|EDF has terminated a task
|
----------------------------------------------------------------------------
|AED4
|DFHEDFP
|Logic error in DFHEDFP
|
----------------------------------------------------------------------------
|AED5
|DFHDFD
|Internal logic error
|
----------------------------------------------------------------------------
|AED6
|DFHEDFU
|Internal logic error
|
----------------------------------------------------------------------------

Pag. 113
----------------------------------------------------------------------------
|Abend |Module
|Description
|
|Code
|
|
|
----------------------------------------------------------------------------
|AEIA
|DFHEIP
|ERROR
|
----------------------------------------------------------------------------
|AEID
|DFHEIP
|EOF
|
----------------------------------------------------------------------------
|AEIE
|DFHEIP
|EODS
|
----------------------------------------------------------------------------
|AEIG
|DFHEIP
|INBFMH
|
----------------------------------------------------------------------------
|AEIH
|DFHEIP
|ENDINPT
|
----------------------------------------------------------------------------
|AEII
|DFHEIP
|NONVAL
|
----------------------------------------------------------------------------
|AEIJ
|DFHEIP
|NOSTART
|
----------------------------------------------------------------------------
|AEIK
|DFHEIP
|TERMIDERR
|
----------------------------------------------------------------------------
|AEIL
|DFHEIP
|DSIDERR
|
----------------------------------------------------------------------------
|AEIM
|DFHEIP
|NOTFND
|
----------------------------------------------------------------------------
|AEIN
|DFHEIP
|DUPREC
|
----------------------------------------------------------------------------
|AEIO
|DFHEIP
|DUPKEY
|
----------------------------------------------------------------------------
|AEIP
|DFHEIP
|INVREQ
|
----------------------------------------------------------------------------
|AEIQ
|DFHEIP
|IOERR
|
----------------------------------------------------------------------------
|AEIR
|DFHEIP
|NOSPACE
|
----------------------------------------------------------------------------
|AEIS
|DFHEIP
|NOTOPEN
|
----------------------------------------------------------------------------
|AEIT
|DFHEIP
|ENDFILE
|
----------------------------------------------------------------------------
|AEIU
|DFHEIP
|ILLOGIC
|
----------------------------------------------------------------------------
|AEIV
|DFHEIP
|LENGERR
|
----------------------------------------------------------------------------
|AEIW
|DFHEIP
|QZERO
|
----------------------------------------------------------------------------
|AEIZ
|DFHEIP
|ITEMERR
|
----------------------------------------------------------------------------
|AEI0
|DFHEIP
|PGMIDERR
|
----------------------------------------------------------------------------
|AEI1
|DFHEIP
|TRANSIDERR
|
----------------------------------------------------------------------------
|AEI2
|DFHEIP
|ENDDATA
|
----------------------------------------------------------------------------
|AEI3
|DFHEIP
|INVTSREQ
|
----------------------------------------------------------------------------

Pag. 114
----------------------------------------------------------------------------
|Abend |Module
|Description
|
|Code
|
|
|
----------------------------------------------------------------------------
|AEI8
|DFHEIP
|TSIOERR
|
----------------------------------------------------------------------------
|AEI9
|DFHEIP
|MAPFAIL
|
----------------------------------------------------------------------------
|AEXL
|DFHEIP
|DISABLED
|
----------------------------------------------------------------------------
|AEYA
|DFHEIP
|INVERRTERM
|
----------------------------------------------------------------------------
|AEYB
|DFHEIP
|INVMPSZ
|
----------------------------------------------------------------------------
|AEYC
|DFHEIP
|IGREQID
|
----------------------------------------------------------------------------
|AEYE
|DFHEIP
|INVLDC
|
----------------------------------------------------------------------------
|AEYG
|DFHEIP
|JIDERR
|
----------------------------------------------------------------------------
|AEYH
|DFHEIP
|QIDERR
|
----------------------------------------------------------------------------
|AEYJ
|DFHEIP
|DSSTAT
|
----------------------------------------------------------------------------
|AEYK
|DFHEIP
|SELNERR
|
----------------------------------------------------------------------------
|AEYL
|DFHEIP
|FUNCERR
|
----------------------------------------------------------------------------
|AEYM
|DFHEIP
|UNEXPIN
|
----------------------------------------------------------------------------
|AEYN
|DFHEIP
|NOPASSBKRD
|
----------------------------------------------------------------------------
|AEYO
|DFHEIP
|NOPASSBKWR
|
----------------------------------------------------------------------------
|AEYQ
|DFHEIP
|SYSIDERR
|
----------------------------------------------------------------------------
|AEYR
|DFHEIP
|ISINVREQ
|
----------------------------------------------------------------------------
|AEYT
|DFHEIP
|ENVDEFERR
|
----------------------------------------------------------------------------
|AEYU
|DFHEIP
|IGREQCD
|
----------------------------------------------------------------------------
|AEYV
|DFHEIP
|SESSERR
|
----------------------------------------------------------------------------
|AEYY
|DFHEIP
|NOTALLOC
|
----------------------------------------------------------------------------
|AEYZ
|DFHEIP
|CBIDERR
|
----------------------------------------------------------------------------
|AEY0
|DFHEIP
|INVEXITREQ
|
----------------------------------------------------------------------------
|AEY1
|DFHEIP
|INVPARTNSET
|
----------------------------------------------------------------------------
|AEY2
|DFHEIP
|INVPARTN
|
----------------------------------------------------------------------------

Pag. 115
----------------------------------------------------------------------------
|Abend |Module
|Description
|
|Code
|
|
|
----------------------------------------------------------------------------
|AEY3
|DFHEIP
|PARTNFAIL
|
----------------------------------------------------------------------------
|AEY6
|DFHEIP
|Logic error in DFHEIP
|
----------------------------------------------------------------------------
|AEY7
|DFHEIP
|Resource security check failed
|
----------------------------------------------------------------------------
|AEY8
|DFHEIP
|Dynamic storage request too small
|
----------------------------------------------------------------------------
|AEY9
|DFHEIP
|Illegal EXEC CICS or non-CICS command
|
----------------------------------------------------------------------------
|AFCA
|DFHFCP
|File disabled
|
----------------------------------------------------------------------------
|AFCB
|DFHFCRP
|File control restart task failure
|
----------------------------------------------------------------------------
|AFCD
|DFHFCS
|Attempt to access disabled file
|
----------------------------------------------------------------------------
|AFCE
|DFHFCS
|I/O error in restart data ser
|
----------------------------------------------------------------------------
|AFCF
|DFHFCP
|File control recovery failure
|
----------------------------------------------------------------------------
|AFCG
|DFHFCBP
|File control logic error
|
----------------------------------------------------------------------------
|AFCH
|DFHFCBP
|I/O error in restart data set
|
----------------------------------------------------------------------------
|AFCI
|DFHFCL,
|Opne/close logic error
|
|
|DFHFCM,
|
|
|
|DFHFCN
|
|
----------------------------------------------------------------------------
|AFCL
|DFHFCP
|Automatic journaling or automatic logging error
|
----------------------------------------------------------------------------
|AFCO
|DFHFCP
|Obsolete function request
|
----------------------------------------------------------------------------
|AFCS
|DFHFCP
|VSAM file control subtask error
|
----------------------------------------------------------------------------
|AFCT
|DFHFCP
|VSAM/BSAM subtask abended
|
----------------------------------------------------------------------------
|AICA
|DFHKCP
|Runaway task
|
----------------------------------------------------------------------------
|AICB
|DFHICP
|RETRIEVE WAIT reissued
|
----------------------------------------------------------------------------
|AISA
|DFHMIR
|Illegal mirror attach
|
----------------------------------------------------------------------------
|AISB
|DFHMIR
|Errors in data for mirror
|
----------------------------------------------------------------------------
|AISC
|DFHMIR
|No TIOA passed to DFHMIR
|
----------------------------------------------------------------------------
|AISD
|DFHMIR
|DFHMIR received non zero return code
|
----------------------------------------------------------------------------
|AISE
|DFHISP,
|No DL/I support for DFHISP
|
|
|DFHMIR
|
|
----------------------------------------------------------------------------

Pag. 116
----------------------------------------------------------------------------
|Abend |Module
|Description
|
|Code
|
|
|
----------------------------------------------------------------------------
|AISG
|DFHMIR
|DFHMIR unable to send a reply
|
----------------------------------------------------------------------------
|AISH
|DFHCRNP
|Illegal use of CSNC
|
----------------------------------------------------------------------------
|AISI
|DFHISP
|Invalid function shipping request
|
----------------------------------------------------------------------------
|AISJ
|DFHCRNP
|Unable to attach CSIR
|
----------------------------------------------------------------------------
|AISK
|DFHISP
|Mirror transaction abended
|
----------------------------------------------------------------------------
|AISL
|DFHLUP
|LU services menager illegally started
|
----------------------------------------------------------------------------
|AISM
|DFHFCP,
|Macro-level request for remote system
|
|
|DFHTDP,
|
|
|
|DFHTSP,
|
|
|
|DFHDLI
|
|
----------------------------------------------------------------------------
|AISS
|DFHZERH
|Security violation at start of LU6.2 conversation
|
----------------------------------------------------------------------------
|AJCA
|DFHJCIOE
|I/O error in journal data set
|
----------------------------------------------------------------------------
|AJCB
|DFHJCEOV
|Failure to switch volumes
|
----------------------------------------------------------------------------
|AJCC
|DFHJCBSP
|Transaction CSJC entered
|
----------------------------------------------------------------------------
|AJCN
|DFHJCP
|Failure to write log record
|
----------------------------------------------------------------------------
|AJCR
|DFHJCP
|CRUCIAL journal unavailable
|
----------------------------------------------------------------------------
|AKCA
|DFHKCP
|DFHKCP not built correctly
|
----------------------------------------------------------------------------
|AKCB
|DFHKCRP
|Task control restart failure
|
----------------------------------------------------------------------------
|AKCD
|DFHKCP
|Invalid code in dispatch control indicator field
|
----------------------------------------------------------------------------
|AKCE
|DFHKCQ
|Write to system log failure
|
----------------------------------------------------------------------------
|AKCF
|DFHKCQ
|Write to restart data set failure
|
----------------------------------------------------------------------------
|AKCL
|Any
|More than one lock
|
----------------------------------------------------------------------------
|AKCP
|DFHKCP
|Stall condition
|
----------------------------------------------------------------------------
|AKCR
|DFHKCP
|Invalid request code
|
----------------------------------------------------------------------------
|AKCS
|DFHKCP
|Deadlock timeout has occurred
|
----------------------------------------------------------------------------
|AKCT
|DFHKCP
|Terminal read timeout has occurred
|
----------------------------------------------------------------------------
|AKCU
|DFHKCP
|Internal logic error
|
----------------------------------------------------------------------------

Pag. 117
----------------------------------------------------------------------------
|Abend |Module
|Description
|
|Code
|
|
|
----------------------------------------------------------------------------
|ALFA
|DFHLFO
|More than 48 LIFO overflow segments created
|
----------------------------------------------------------------------------
|ALFB
|DFHLFO
|Length not multiple of 8
|
----------------------------------------------------------------------------
|ALFC
|DFHLFO
|Error freeing LIFO overflow segment
|
----------------------------------------------------------------------------
|ALFE
|DFHLFO
|LIFO store overwritten in TCA
|
----------------------------------------------------------------------------
|AMSA
|DFHMSP
|SBA not followed by address
|
----------------------------------------------------------------------------
|AMSB
|DFHMSP
|Error in DFHMSP
|
----------------------------------------------------------------------------
|AMTA
|DFHMTPA
|Error in DFHMTPA
|
----------------------------------------------------------------------------
|AMTB
|DFHMTPB
|Error in DFHMTPB
|
----------------------------------------------------------------------------
|AMTD
|DFHMTPD
|Error in DFHMTPD
|
----------------------------------------------------------------------------
|AMTE
|DFHMTPE
|Error in DFHMTPE
|
----------------------------------------------------------------------------
|AMTF
|DFHMTPF
|Error in DFHMTPF
|
----------------------------------------------------------------------------
|AMTG
|DFHMTPG
|Error in DFHMTPG
|
----------------------------------------------------------------------------
|AMTH
|DFHMTPF
|DFHMTPF terminated task
|
----------------------------------------------------------------------------
|AMTJ
|DFHMTPC
|DFHMTPC terminated task
|
----------------------------------------------------------------------------
|AMTM
|DFHMTWM
|Msg save area too small
|
----------------------------------------------------------------------------
|AMT0
|DFHMTWM
|Error in DFHMTWM
|
----------------------------------------------------------------------------
|AMT1
|DFHMTPC
|DFHMTPC terminated task
|
----------------------------------------------------------------------------
|AMT2
|DFHMTPF
|DFHMTPF terminated task
|
----------------------------------------------------------------------------
|AOCA
|DFHOCP
|Error opeining VSAM ESDS
|
----------------------------------------------------------------------------
|APCA
|DFHPCRP
|Program control restart failure
|
----------------------------------------------------------------------------
|APCB
|DFHPCP
|DFHPCP not built correctly
|
----------------------------------------------------------------------------
|APCC
|DFHPCP
|COBOL support not generated
|
----------------------------------------------------------------------------
|APCD
|DFHPCQ
|Write to system log failure
|
----------------------------------------------------------------------------
|APCE
|DFHPCQ
|Write to restart data set failure
|
----------------------------------------------------------------------------
|APCF
|DFHPCP
|PL/I shared library not present
|
----------------------------------------------------------------------------

Pag. 118
----------------------------------------------------------------------------
|Abend |Module
|Description
|
|Code
|
|
|
----------------------------------------------------------------------------
|APCI
|DFHPCP
|Not proper support for PL/I
|
----------------------------------------------------------------------------
|APCL
|DFHSAP
|PL/I shared library not present
|
----------------------------------------------------------------------------
|APCM
|PFHPC
|Illegal type parameter
|
----------------------------------------------------------------------------
|APCN
|DFHPCP
|Control counter negative
|
----------------------------------------------------------------------------
|APCO
|DFHPCP
|Program exceeds 64K
|
----------------------------------------------------------------------------
|APCP
|DFHPCP
|I/O error on load
|
----------------------------------------------------------------------------
|APCR
|DFHPCP
|Invalid request
|
----------------------------------------------------------------------------
|APCS
|DFHPCP
|Not proper support for COBOL
|
----------------------------------------------------------------------------
|APCT
|DFHPCP
|Module not found, disabled, or zero length
|
----------------------------------------------------------------------------
|APCX
|DFHPCP
|Macro request in 31-bit mode
|
----------------------------------------------------------------------------
|APC2
|DFHPCP
|Not proper support for COBOL
|
----------------------------------------------------------------------------
|APC3
|DFHPCP
|Not proper support for COBOL
|
----------------------------------------------------------------------------
|APC4
|DFHPCP
|Not proper support for COBOL
|
----------------------------------------------------------------------------
|APLC
|
|The shared library facilities are required by the
|
|
|
|application program, but were not included in the CICS/VS |
|
|
|system during initialization/installation. See your
|
|
|
|system programmer.
|
----------------------------------------------------------------------------
|APLD
|
|An error was detected by CICS/VS on transmission of a
|
|
|
|record to the CPLD queue. See your system programmer.
|
----------------------------------------------------------------------------
|APLE
|
|An error occurred during PL/I program management
|
|
|
|(equivalent to a 4000 ABEND on non-CICS systems).
|
----------------------------------------------------------------------------
|APLG
|
|A get storage request to the storage allocation routine
|
|
|
|specified a size greater than the CICS/OS/VS permitted
|
|
|
|maximum of 65,496 (or a maximum of 1,073,741,816 under
|
|
|
|MVS/XA). This error is caused by having sither a based or |
|
|
|controlled variable that is too large in an ALLOCATE
|
|
|
|statemente, or too many large automatic variables.
|
----------------------------------------------------------------------------
|APLI
|
|An error was detected by CICS/VS on transmission of a
|
|
|
|record to the CPLI queue. See your system programmer.
|
----------------------------------------------------------------------------
|APLM
|
|No main procedure.
|
----------------------------------------------------------------------------

Pag. 119
----------------------------------------------------------------------------
|Abend |Module
|Description
|
|Code
|
|
|
----------------------------------------------------------------------------
|APLS
|
|This ABEND is issued on termination, if termination is
|
|
|
|caused by the ERROR condition, and the ERROR condition
|
|
|
|was not caused by an ABEND (other than an ASRA ABEND).
|
|
|
|This is the ABEND code issued by PL/I when a transaction |
|
|
|terminates in error due to a PL/I software interrupt
|
|
|
|(CONVERSION, for example), and there is no ERROR on-unit, |
|
|
|or the program takes normal return from the ERROR on|
|
|
|unit. Since the program failed, the failure must be
|
|
|
|reflected to CICS/OS/VS as an ABEND so that Dynamic
|
|
|
|Transaction Backout, and so on, can occur if necessary.
|
|
|
|Since there was no CICS/OS/VS ABEND to be reissued, PL/I |
|
|
|termination must supply an ABEND code.
|
----------------------------------------------------------------------------
|
|
|APLS is also the ABEND code issued by PL/I termination
|
|
|
|when a program check (CICS/VS ASRA ABEND) is intercepted |
|
|
|by the PL/I ERROR handler, but the condition cannot be
|
|
|
|resolved by the user. For instance, the program was
|
|
|
|terminated due to normal return from an on-unit. PL/I
|
|
|
|cannot re-issue the ABEND with code ASRA, because a
|
|
|
|program that linked to this failing program would be
|
|
|
|abended with an ABEND code (ASRA) that implies that a PSW |
|
|
|and registers are being supplied that permit some sort of |
|
|
|fixup or retry; in fact, the PSW is that of a program
|
|
|
|that is longer active, and the registers point to storage |
|
|
|locations that are no longer meaningful. For more
|
|
|
|information on ASRA, refer to
|
----------------------------------------------------------------------------
|APLX
|
|The total possible LIFO storage segments have been
|
|
|
|exhausted. Check the program for loops or increase the
|
|
|
|ISASIZE or ISAINC. CICS/OS/VS Message and Codes.
|
----------------------------------------------------------------------------
|APP1
|DFHP3270
|Abnormal GET response code
|
----------------------------------------------------------------------------
|APP2
|DFHP3270
|Data length too small
|
----------------------------------------------------------------------------
|APP3
|DFHP3270
|Illegal request to nonprinter
|
----------------------------------------------------------------------------
|APR1
|DFHPRK
|Abnormal PUT response code
|
----------------------------------------------------------------------------
|APSJ
|DFHPSIP
|Spooler illegally invoked
|
----------------------------------------------------------------------------
|APST
|DFHEPS
|SPOOL command without NOHANdlER
|
----------------------------------------------------------------------------
|APSU
|DFHPSPST
|Invalid JES return code to spooler
|
----------------------------------------------------------------------------
|APSV
|DFHPSPST
|Invalid MVS macro return to spooler
|
----------------------------------------------------------------------------
|APSW
|DFHPSPST
|Abend in spooler subtask
|
----------------------------------------------------------------------------
|APSX
|DFHPSPST
|Invalid parameter
|
----------------------------------------------------------------------------

Pag. 120
----------------------------------------------------------------------------
|Abend |Module
|Description
|
|Code
|
|
|
----------------------------------------------------------------------------
|APSY
|DFHPSPST
|Error return, MVS macro
|
----------------------------------------------------------------------------
|APSZ
|DFHPSPST
|Error return, JES
|
----------------------------------------------------------------------------
|APUA
|DFHPUP
|Internal error
|
----------------------------------------------------------------------------
|APUB
|DFHPUP
|Internal error
|
----------------------------------------------------------------------------
|APUC
|DFHPUP
|Internal error
|
----------------------------------------------------------------------------
|APUD
|DFHPUP
|Unable to load RDO table
|
----------------------------------------------------------------------------
|APUE
|DFHPUP
|Unable to load RDO table
|
----------------------------------------------------------------------------
|APUF
|DFHPUP
|RDO table invalid or missing
|
----------------------------------------------------------------------------
|APUG
|DFHPUP
|Internal error
|
----------------------------------------------------------------------------
|APUH
|DFHPUP
|Internal error
|
----------------------------------------------------------------------------
|APUI
|DFHPUP
|Internal error
|
----------------------------------------------------------------------------
|APUJ
|DFHPUP
|Internal error
|
----------------------------------------------------------------------------
|APUK
|DFHPUP
|Unable to obtain storage
|
----------------------------------------------------------------------------
|APUL
|DFHPUP
|Unrecognized resource type code (FLATTEN)
|
----------------------------------------------------------------------------
|APUM
|DFHPUP
|Unrecognized resource type code (TRANCASE)
|
----------------------------------------------------------------------------
|APUN
|DFHPUP
|Unrecognized resource type code (COMPARE)
|
----------------------------------------------------------------------------
|APUO
|DFHPUP
|Unrecognized resource type code (BACKTRANS)
|
----------------------------------------------------------------------------
|APUP
|DFHPUP
|Error processing language definition table
|
----------------------------------------------------------------------------
|APUQ
|DFHPUP
|Error processing language definition table
|
----------------------------------------------------------------------------
|APUR
|DFHPUP
|Data type conflict
|
----------------------------------------------------------------------------
|APUS
|DFHPUP
|Invalid length for keyword
|
----------------------------------------------------------------------------
|APUT
|DFHPUP
|Invalid keyword existence bit
|
----------------------------------------------------------------------------
|APUZ
|DFHPUP
|Invalid definition type in CSD record
|
----------------------------------------------------------------------------
|ARCA
|DFHRCRP
|Recovery control restart task failure
|
----------------------------------------------------------------------------
|ARCB
|DFHRCEX
|Transaction backout exit program cannot be enabled
|
----------------------------------------------------------------------------

Pag. 121
----------------------------------------------------------------------------
|Abend |Module
|Description
|
|Code
|
|
|
----------------------------------------------------------------------------
|ARLI
|DFHZRLG
|CSLG not initiated
|
----------------------------------------------------------------------------
|ARTA
|DFHRTE
|Principal facility not terminal
|
----------------------------------------------------------------------------
|ARTB
|DFHRTE
|No input TIOA, or data length zero
|
----------------------------------------------------------------------------
|ARTC
|DFHRTE
|Link not usable
|
----------------------------------------------------------------------------
|ARTD
|DFHRTE
|Logic error in DFHRTE
|
----------------------------------------------------------------------------
|ARTE
|DFHRTE
|Error in I/O to or from temp. storage
|
----------------------------------------------------------------------------
|ARTF
|DFHRTE
|Illegal attempt to use CRTE
|
----------------------------------------------------------------------------
|ARTG
|DFHRTE
|Profile not found
|
----------------------------------------------------------------------------
|ASCF
|DFHSCP
|Invalid FREEMAIN addr
|
----------------------------------------------------------------------------
|ASCR
|DFHSCP
|Illegal storage control request
|
----------------------------------------------------------------------------
|ASPD
|DFHSPP
|Error resetting dynamic log
|
----------------------------------------------------------------------------
|ASPE
|DFHSPP
|Rollback without dynamic transaction backout
|
----------------------------------------------------------------------------
|ASPL
|DFHSPP
|Error writing sync point
|
----------------------------------------------------------------------------
|ASP1
|DFHSPP
|Error during sync point
|
----------------------------------------------------------------------------
|ASP2
|DFHSPP
|Sync point attempted with invalid ISC links
|
----------------------------------------------------------------------------
|ASP3
|DFHSPP
|No sync point in remote system
|
----------------------------------------------------------------------------
|ASP5
|DFHSPP
|Principal facility not owned by task
|
----------------------------------------------------------------------------
|ASP6
|DFHSPP
|Flush failed
|
----------------------------------------------------------------------------
|ASP7
|DFHSPP
|Resource manager rejected request
|
----------------------------------------------------------------------------
|ASP8
|DFHSPP
|Sync point rollback not supported
|
----------------------------------------------------------------------------
|ASP9
|DFHSPP
|Free TCTTE failed
|
----------------------------------------------------------------------------
|ASRA
|DFHSRP
|Program interrupt
|
----------------------------------------------------------------------------
|ASRB
|DFHSRP
|Operating system abend
|
----------------------------------------------------------------------------
|ASRC
|DFHSRP
|Interrupt in PL/I program
|
----------------------------------------------------------------------------
|ATCA
|DFHZARQ
|DFHTC issued during quiesce
|
----------------------------------------------------------------------------

Pag. 122
----------------------------------------------------------------------------
|Abend |Module
|Description
|
|Code
|
|
|
----------------------------------------------------------------------------
|ATCB
|DFHZARQ
|Two consecutive writes or reads without intervening wait |
----------------------------------------------------------------------------
|ATCC
|DFHZARQ
|More than one write or read
|
----------------------------------------------------------------------------
|ATCD
|DFHZDSP,
|No support for VTAM or ZCP function
|
|
|DFHZERH
|
|
----------------------------------------------------------------------------
|ATCE
|DFHZARQ
|No TIOA for write
|
----------------------------------------------------------------------------
|ATCF
|DFHZCRQ
|Illegal DFHTC CTYPE macro
|
----------------------------------------------------------------------------
|ATCG
|DFHZARQ
|Illegal read or write
|
----------------------------------------------------------------------------
|ATCH
|DFHZLOC
|Transaction purged
|
----------------------------------------------------------------------------
|ATCI
|DFHZLOC
|Transaction purged
|
----------------------------------------------------------------------------
|ATCJ
|DHZATD
|Illegal autoinstall invocation
|
----------------------------------------------------------------------------
|ATCK
|DFHZARQ
|Illegal write
|
----------------------------------------------------------------------------
|ATCL
|DFHZARQ
|Error during auto journaling or auto logging
|
----------------------------------------------------------------------------
|ATCM
|DFHZDWE,
|Error writing sync point
|
|
|DFHZLOC
|
|
----------------------------------------------------------------------------
|ATCN
|DFHZSUP
|Error during auto journaling or auto logging
|
----------------------------------------------------------------------------
|ATCO
|DFHZARQ
|Unsupported function
|
----------------------------------------------------------------------------
|ATCP
|DFHZRLG
|Error writing to system log
|
----------------------------------------------------------------------------
|ATCQ
|DFHZRAQ
|Temporary storage error
|
----------------------------------------------------------------------------
|ATCR
|DFHZRAR
|Temporary storage error
|
----------------------------------------------------------------------------
|ATCT
|DFHZSUP
|Surrogate TCTTE creation failed
|
----------------------------------------------------------------------------
|ATCU
|DFHZARQ
|Send in receive mode
|
----------------------------------------------------------------------------
|ATCV
|DFHZARQ,
|Application request to remote system failed
|
|
|DFHETL
|
|
----------------------------------------------------------------------------
|ATCW
|DFHZSUP
|No DFHPCT TYPE=PROFILE
|
----------------------------------------------------------------------------
|ATCY
|DFHZARQ
|Error processing inbound FMH
|
----------------------------------------------------------------------------
|ATC1
|DFHTCRP
|Terminal control restart task failure
|
----------------------------------------------------------------------------
|ATDD
|DFHTDP
|Transient data destination is disabled
|
----------------------------------------------------------------------------

Pag. 123
----------------------------------------------------------------------------
|Abend |Module
|Description
|
|Code
|
|
|
----------------------------------------------------------------------------
|ATDI
|DFHTDP
|Illegal transient data destination type
|
----------------------------------------------------------------------------
|ATDL
|DFHTDP
|Error writing to system log
|
----------------------------------------------------------------------------
|ATDT
|DFHTDP
|Invalid transient data request
|
----------------------------------------------------------------------------
|ATDV
|DFHTDP
|Additional information for ATDD
|
----------------------------------------------------------------------------
|ATDY
|DFHTDRP
|Transient data initialization failed
|
----------------------------------------------------------------------------
|ATDZ
|DFHTDRP
|CICS function failed
|
----------------------------------------------------------------------------
|ATNA
|DFHZNAC
|NACP identifier entered, but no error
|
----------------------------------------------------------------------------
|ATND
|DFHZARQ
|Task termination postponed
|
----------------------------------------------------------------------------
|ATNI
|DFHZNAC
|Task terminated by node error program
|
----------------------------------------------------------------------------
|ATRA
|DFHTRP
|Task termination requested by DFHTRAP
|
----------------------------------------------------------------------------
|ATSA
|DFHTSRP
|Temporary storage restart task failure
|
----------------------------------------------------------------------------
|ATSB
|DFHTSP
|Temporary storage restart task failure
|
----------------------------------------------------------------------------
|ATSL
|DFHTSP
|Error writing to sys log
|
----------------------------------------------------------------------------
|ATSP
|DFHTSP
|DATAID currently in use, or purge not synchronized
|
----------------------------------------------------------------------------
|ATSS
|DFHTSP
|Error processing VSAM request
|
----------------------------------------------------------------------------
|AVAA
|DFHVAP
|CVST illegally entered
|
----------------------------------------------------------------------------
|AXFA
|DFHXFP
|File control request keylength zero
|
----------------------------------------------------------------------------
|AXFB
|DFHXFP
|Illegal FMH type
|
----------------------------------------------------------------------------
|AXFC
|DFHXFP
|Illegal request
|
----------------------------------------------------------------------------
|AXFD
|DFHXFP
|Illeral req for remote sys
|
----------------------------------------------------------------------------
|AXFE
|DFHXFP
|Transformation does not exist
|
----------------------------------------------------------------------------
|AXFF
|DFHXFP
|Illegal queue organization
|
----------------------------------------------------------------------------
|AXFG
|DFHXFP
|Illegal arq no. in FMH data
|
----------------------------------------------------------------------------
|AXFH
|DFHXFP
|Illegal arq in FMH data
|
----------------------------------------------------------------------------
|AXFI
|DFHXFP
|Zero data length for TD req
|
----------------------------------------------------------------------------

Pag. 124
----------------------------------------------------------------------------
|Abend |Module
|Description
|
|Code
|
|
|
----------------------------------------------------------------------------
|AXFJ
|DFHXFP
|Non-SNA error code
|
----------------------------------------------------------------------------
|AXFK
|DFHXFP
|DL/I request not supported
|
----------------------------------------------------------------------------
|AXFL
|DFHXFP
|Null chain of data received
|
----------------------------------------------------------------------------
|AXFM
|DFHXFP
|SYSIDERR condition reaised
|
----------------------------------------------------------------------------
|AXFO
|DFHXFP
|Check on DS and DBA parameters failed
|
----------------------------------------------------------------------------
|AXFP
|DFHXFP
|No second FMH received
|
----------------------------------------------------------------------------
|AXFQ
|DFHXFP
|FMH too short or too long
|
----------------------------------------------------------------------------
|AXFR
|DFHXFP
|Data too long
|
----------------------------------------------------------------------------
|AXFS
|DFHXFP
|Path call to retrieve large segments, or excessive
|
|
|
|expansion of segments
|
----------------------------------------------------------------------------
|AXFT
|DFHXFP
|I/O area too large
|
----------------------------------------------------------------------------
|AXFU
|DFHXFP
|Invalid two-level cursor
|
----------------------------------------------------------------------------
|AXFV
|DFHXFP
|Unsupported local data bases
|
----------------------------------------------------------------------------
|AXFW
|DFHXFP
|No length field in read for update
|
----------------------------------------------------------------------------
|AXFX
|DFHXFP
|Remote system does not support full syncpoint protocole
|
----------------------------------------------------------------------------
|AXSA
|DFHXSP
|Security control task failed
|
----------------------------------------------------------------------------
|AXTA
|DFHXTP
|Data length calculation failed
|
----------------------------------------------------------------------------
|AXTB
|DFHXTP
|Get TIOA failed
|
----------------------------------------------------------------------------
|AXTC
|DFHXTP
|Data transform failed
|
----------------------------------------------------------------------------
|AXTD
|DFHXTP
|No TIOA failed
|
----------------------------------------------------------------------------
|AXTE
|DFHXTP
|Data not long enough
|
----------------------------------------------------------------------------
|AXTF
|DFHXTP
|No relay process FMH received
|
----------------------------------------------------------------------------
|AXTG
|DFHXTP
|Data transform failed
|
----------------------------------------------------------------------------
|AXTH
|DFHXTP
|Term1 ID not found
|
----------------------------------------------------------------------------
|AZCA
|DFHETL,
|Conversation state conflict
|
|
|DFHZARM
|
|
----------------------------------------------------------------------------

Pag. 125
----------------------------------------------------------------------------
|Abend |Module
|Description
|
|Code
|
|
|
----------------------------------------------------------------------------
|AZCB
|DFHZARM
|Error data not received or illegal
|
----------------------------------------------------------------------------
|AZCC
|DFHZARM
|Unsupported function management data
|
----------------------------------------------------------------------------
|AZCD
|DFHETL,
|Invalid data length received
|
|
|DFHZARM
|
|
----------------------------------------------------------------------------
|AZCE
|DFHETL,
|Length received too large
|
|
|DFHZARM
|
|
----------------------------------------------------------------------------
|AZCF
|DFHZARM
|Invalid request to DFHZARL
|
----------------------------------------------------------------------------
|AZCG
|DFHZARM
|Invalid TCTTE
|
----------------------------------------------------------------------------
|AZCH
|DFHETL,
|Remote system violated LU6.2 architecture
|
|
|DFHZARM
|
|
----------------------------------------------------------------------------
|AZCI
|DFHZARM,
|Invalid sync level
|
|
|DFHZARQ
|
|
----------------------------------------------------------------------------
|AZCJ
|DFHZARM
|Structured field not supported
|
----------------------------------------------------------------------------
|AZCP
|DFHZSUP
|Allocation request not satisfied
|
----------------------------------------------------------------------------
|AZI1
|DFHZARQ
|IRC transmission protocol violated
|
----------------------------------------------------------------------------
|AZI2
|DFHZARQ
|IRC transmission failed
|
----------------------------------------------------------------------------
|AZI3
|DFHZARQ
|Conversation failed
|
----------------------------------------------------------------------------
|AZI4
|DFHZARQ
|IRC link to connected transaction down
|
----------------------------------------------------------------------------
|AZI5
|DFHZARQ
|IRC input violated protocol
|
----------------------------------------------------------------------------
|AZI6
|DFHZARQ
|IRC connected transaction abended
|
----------------------------------------------------------------------------
|AZTA
|DFHZTSP
|Principal facility not terminal
|
----------------------------------------------------------------------------
|AZTB
|DFHZTSP
|Error reponse from DFHXTP
|
----------------------------------------------------------------------------
|AZTC
|DFHZTSP
|Error reponse from DFHXTP
|
----------------------------------------------------------------------------
|AZTD
|DFHZTSP
|Error reponse from DFHXTP
|
----------------------------------------------------------------------------
|AZTE
|DFHZTSP
|Error reponse from DFHXTP
|
----------------------------------------------------------------------------
|AZTG
|DFHZTSP
|Principal facility not intersystem TCTTE
|
----------------------------------------------------------------------------
|AZTH
|DFHZTSP
|Error response from remote request
|
----------------------------------------------------------------------------

Pag. 126
----------------------------------------------------------------------------
|Abend |Module
|Description
|
|Code
|
|
|
----------------------------------------------------------------------------
|AZTI
|DFHZTSP
|Term1 not defined
|
----------------------------------------------------------------------------
|AZTJ
|DFHZTSP
|VTAM request no non-VTAM terminal
|
----------------------------------------------------------------------------
|AZTK
|DFHZTSP
|non-VTAM request on VTAM terminal
|
----------------------------------------------------------------------------
|AZTL
|DFHZTSP
|Request to invalid terminal
|
----------------------------------------------------------------------------
|AZTM
|DFHZTSP
|Data had no FMH
|
----------------------------------------------------------------------------
|AZTN
|DFHZTSP
|conversation terminated
|
----------------------------------------------------------------------------
|AZTO
|DFHZTSP
|TCTTE ownership chain error
|
----------------------------------------------------------------------------
|AZTP
|DFHZTSP
|BMS STORE request failed
|
----------------------------------------------------------------------------
|AZTQ
|DFHZTSP
|Invalid BMS data received
|
----------------------------------------------------------------------------
|AZTR
|DFHZTSP
|BMS PAGEOUT request failed
|
----------------------------------------------------------------------------
|AZTS
|DFHZTSP
|Data ship failed
|
----------------------------------------------------------------------------
|AZTU
|DFHZTSP
|Link TCTTE not owned after sync point
|
----------------------------------------------------------------------------
|AZTV
|DFHZTSP
|Invalid FMH received
|
----------------------------------------------------------------------------
|AZTW
|DFHZTSP
|Attach request to task already runnning
|
----------------------------------------------------------------------------
|AZTX
|DFHZTSP
|Attach request to task already in routing session
|
----------------------------------------------------------------------------
|DHxx
|DFHEDP
|EXEC DLI error or invalid status code, xx=status code
|
----------------------------------------------------------------------------
|DSNC
| |DB2 abend code
|
----------------------------------------------------------------------------
|0100
|DFHEXP,
|Translator error opening listing data ser
|
|
|DFHEPP,
|
|
|
|DFHEAP
|
|
----------------------------------------------------------------------------
|0101
|DFHEXP,
|Translator program check
|
|
|DFHEPP,
|
|
|
|DFHEAP
|
|
----------------------------------------------------------------------------
Observao

Para uma descrio completa dos cdigos de ABEND, veja o manual: CICS/OS/VS Messages and Codes (SC33-0226).

Pag. 127
A P N D I C E

Contedo do INCLUDE DFHBMSCA


Este INCLUDE contm as declaraes de vari veis inicializados com os atributos de campos de telas. Utilizados para a mudana de atributos durante a
execuo da transao, sobrepondo os atributos definidos na criao dos mapas.
------------------------------------------------------------------------------
|/********************************************************************/
|
|/*
*/
|
|/*MODULE NAME = DFHBMSCA
*/
|
|/*
*/
|
|/*DESCRIPTIVE NAME = C.I.C.S./VS BMS CONSTANTS
*/
|
|/*
*/
|
|/*COPYRIGHT = 5746-XX3 (C) COPYRIGHT IBM CORP. 1975,1982
*/
|
|/*
AND 5740-XX1 (C) COPYRIGHT IBM CORP. 1975,1982
*/
|
|/*
LICENSED MATERIAL - PROGRAM PROPERTY OF IBM
*/
|
|/*
REFER TO COPYRIGHT INSTRUCTIONS FORM NUMBER G120-2083 */
|
|/*
*/
|
|/*STATUS = 1.6.0
*/
|
|/*
*/
|
|/*FUNCTION = DEFINE CONSTANTS FOR SETTING AND TESTING MAP
*/
|
|/*
FIELD AND TEXT DATA
*/
|
|/*
*/
|
|/*NOTES :
*/
|
|/* DEPENDENCIES = S/370
*/
|
|/* RESTRICTIONS = NONE
*/
|
|/* REGISTER CONVENTIONS = NOT APPLICABLE
*/
|
|/* PATCH LABEL = NONE
*/
|
|/* MODULE TYPE = COPYBOOK
*/
|
|/* PROCESSOR = PL/I
*/
|
|/* MODULE SIZE = NOT APPLICABLE
*/
|
|/* ATTRIBUTES = NOT APPLICABLE
*/
|
|/*
*/
|
|/*
*/
|
|/*CHANGE ACTIVITY :
*/
|
|/* $SEG(DFHBMSCA),COMP(BMS),PROD(CICS/VS)
:
*/
|
|/*
*/
|
|/* PN= REASON REL YYMMDD HDXIII : REMARKS
*/
|
|/* $01= A07073,160,820322,HD7MBE: APAR 07073 (OS) */
|
|/* $D1= I01252,160,8101,HDCPH:
TRIGGER FIELD SUPPORT
*/
|
|/* $D2 RESERVED FOR DCR
*/
|
|/* $D3 RESERVED FOR DCR
*/
|
|/* $H1 RESERVED FOR HARDWARE SUPPORT
*/
|
|/* $H2 RESERVED FOR HARDWARE SUPPORT
*/
|
|/* $H3 RESERVED FOR HARDWARE SUPPORT
*/
|
|/* $L1 RESERVED FOR LINE ITEM
*/
|
|/* $L2 RESERVED FOR LINE ITEM
*/
|
|/* $L3 RESERVED FOR LINE ITEM
*/
|
------------------------------------------------------------------------------

Pag. 128
------------------------------------------------------------------------------
|/* $L4 RESERVED FOR LINE ITEM
*/
|
|/* $L5 RESERVED FOR LINE ITEM
*/
|
|/* $L6 RESERVED FOR LINE ITEM
*/
|
|/* $P1 RESERVED FOR PTM
*/
|
|/* $P2 RESERVED FOR PTM
*/
|
|/* $P3 RESERVED FOR PTM
*/
|
|/*
*/
|
|/********************************************************************/
|
| DECLARE
|
|
(DFHBMPEM CHAR (1) INIT ('') /* PRINTER EOM
*/
|
|
,DFHBMPNL CHAR (1) INIT ('') /* PRINTER NL
*/
|
|
,DFHBMASK CHAR (1) INIT ('0') /* AUTO SKIP
*/
|
|
,DFHBMUNP CHAR (1) INIT (' ') /* UNPROTECTED
*/
|
|
,DFHBMUNN CHAR (1) INIT ('&') /* UNPROT + NUM
*/
|
|
,DFHBMPRO CHAR (1) INIT ('-') /* PROTECTED
*/
|
|
,DFHBMBRY CHAR (1) INIT ('H') /* BRIGHT
*/
|
|
,DFHBMDAR CHAR (1) INIT ('<') /* DARK
*/
|
|
,DFHBMFSE CHAR (1) INIT ('A') /* MDT SET
*/
|
|
,DFHBMPRF CHAR (1) INIT ('/') /* PROT + MDT SET */
|
|
,DFHBMASF CHAR (1) INIT ('1') /* ASKP+MDT
*/
|
|
,DFHBMASB CHAR (1) INIT ('8') /* AUTO + BRIGHT
*/
|
| /* FIELD FLAG VALUE SET BY INPUT MAPPING */
|
|
,DFHBMEOF CHAR (1) INIT ('') /* FIELD ERASED
*/
|
| /* FIELD DATA VALUE SET BY INPUT MAPPING */
|
|
,DFHBMDET CHAR (1) INIT ('') /* FIELD DETECTED */
|
| /* CODE FOR SA ORDER
*/
|
|
,DFHSA
CHAR (1) INIT ('') /* SA ORDER (X'28')*/
|
| /* CODE FOR ERROR CODE
*/
|
|
,DFHERROR CHAR (1) INIT ('
) /* ERROR CODE-X'3F'*/
|
| /* EXTENDED ATTRIBUTE TYPE CODES
*/
|
|
,DFHCOLOR CHAR (1) INIT ('') /* COLOR
(X'42')*/
|
|
,DFHPS
CHAR (1) INIT ('') /* PS
(X'43')*/
|
|
,DFHHLT
CHAR (1) INIT (' ') /* HIGHLIGHT(X'41')*/
|
|
,DFH3270 CHAR (1) INIT ('{') /* 3270
(X'C0')*/
|
|
,DFHVAL
CHAR (1) INIT ('A') /* VALIDT'N (X'C1')*/
|
|
,DFHALL
CHAR (1) INIT (' ') /* ALL , RESET TO */
|
|
/* DEFAULT (X'00')*/
|
| /* DEFAULT ATTRIBUTE CODE - TO SET ATTRIBUTES IN MAPS
*/
|
|
,DFHDFT
CHAR (1) INIT ('') /* DEFAULT (X'FF')*/
|
| /* COLOR ATTRIBUTE VALUES
*/
|
|
,DFHDFCOL CHAR (1) INIT (' ') /* DEFAULT
*/
|
|
,DFHBLUE CHAR (1) INIT ('1') /* BLUE
*/
|
|
,DFHRED
CHAR (1) INIT ('2') /* RED
*/
|
|
,DFHPINK CHAR (1) INIT ('3') /* PINK
*/
|
|
,DFHGREEN CHAR (1) INIT ('4') /* GREEN
*/
|
|
,DFHTURQ CHAR (1) INIT ('5') /* TURQUOISE
*/
|
|
,DFHYELLO CHAR (1) INIT ('6') /* YELLOW
*/
|
|
,DFHNEUTR CHAR (1) INIT ('7') /* NEUTRAL
*/
|
| /* BASE PS ATTRIBUTE VALUE
*/
|
|
,DFHBASE CHAR (1) INIT (' ') /* BASE PS
*/
|
| /* HIGHLIGHT ATTRIBUTE VALUES
*/
|
|
,DFHDFHI CHAR (1) INIT (' ') /* NORMAL
*/
|
|
,DFHBLINK CHAR (1) INIT ('1') /* BLINK
*/
|
------------------------------------------------------------------------------

Pag. 129
------------------------------------------------------------------------------
|
,DFHREVRS CHAR (1) INIT ('2') /* REVERSE VIDEO
*/
|
|
,DFHUNDLN CHAR (1) INIT ('4') /* UNDERSCORE
*/
|
| /* VALIDATION ATTRIBUTE VALUES
*/
|
|
,DFHMFIL CHAR (1) INIT ('') /* MANDATORY FILL */
|
|
,DFHMENT CHAR (1) INIT ('') /* MANDATORY ENTER */
|
|
,DFHMFE
CHAR (1) INIT ('') /* MANDATORY FILL+ */
|
|
/* MANDATORY ENTER*/
|
| /* ADDITIONAL ATTRIBUTES
*/
|
|
,DFHUNNOD CHAR (1) INIT ('(') /* UNPROTECTED
*/
|
|
/* NON-DISPLAY
*/
|
|
/* NON-PRINT
*/
|
|
/* NON-DETECTABLE */
|
|
/* MDT
*/
|
|
|
|
,DFHUNIMD CHAR (1) INIT ('I') /* UNPROTECTED
*/
|
|
/* ALPHA-INTENSIFY */
|
|
/* LIGHT PEN DET. */
|
|
/* MDT
*/
|
|
|
|
,DFHUNNUM CHAR (1) INIT ('J') /* UNPROTECTED
*/
|
|
/* NUMERIC
*/
|
|
/* MDT
*/
|
|
|
|
,DFHUNINT CHAR (1) INIT ('R') /* UNPROTECTED
*/
|
|
/* NUMERIC
*/
|
|
/* INTENSIFY
*/
|
|
/* LIGHT PEN DET. */
|
|
/* MDT
*/
|
|
|
|
,DFHUNBRY CHAR (1) INIT ('Q') /* UNPROTECTED
*/
|
|
/* NUMERIC
*/
|
|
/* INTENSIFY
*/
|
|
/* LIGHT PEN DET. */
|
|
|
|
,DFHUNNON CHAR (1) INIT (')') /* UNPROTECTED
*/
|
|
/* NUMERIC
*/
|
|
/* NON-DISPLAY
*/
|
|
/* NON-PRINT
*/
|
|
/* NON-DETECTABLE */
|
|
/* MDT
*/
|
|
|
|
,DFHPROTI CHAR (1) INIT ('Y') /* PROTECTED
*/
|
|
/* INTENSIFY
*/
|
|
/* LIGHT PEN DET. */
|
|
|
|
,DFHPROTN CHAR (1) INIT ('%') /* PROTECTED
*/
|
|
/* NON-DISPLAY
*/
|
|
/* NON-PRINT
*/
|
|
/* NON-DETECTABLE */
|
|
,DFHMT
CHAR (1) INIT (' ') /* TRIGGER
*/
|
|
,DFHMFT
CHAR (1) INIT (' ') /* MANDATORY FILL+ */
|
|
/* TRIGGER
*/
|
|
,DFHMET
CHAR (1) INIT ('') /* MANDATORY ENTER+*/
|
------------------------------------------------------------------------------

Pag. 130
------------------------------------------------------------------------------
|
/* TRIGGER
*/
|
|
,DFHMFET CHAR (1) INIT ('') /* MANDATORY FILL+ */
|
|
/* MANDATORY ENTER+*/
|
|
/* TRIGGER
*/
|
|
) STATIC INTERNAL;
/*
|
|
* EAPAR 01C*/
|
| /*
*/
|
| /*
END OF ATTRIBUTES LIST
*/
|
| /*
*/
|
------------------------------------------------------------------------------
Como este INCLUDE no possui todas as combinaes possveis de atributos,
devemos utilizar o seguinte procedimento, caso seja necess rio alguma combinao
que no exista neste INCLUDE.
------------------------------------------------------------------------------
| Vamos supor que estamos necessitando da seguinte combinao de
|
| atributos :
Protected + MDT set + Bright
|
|
|
| para tanto devemos fazer o seguinte :
|
|
|
| -----------------------------------------------------------------
|
| | UNSPEC(campo-destino) = UNSPEC (DFHBMPRO) | UNSPEC (DFHBMFSE) | |
|
| |
|
UNSPEC (DFHBMBRY) ;
|
|
| |
|
|
|
| |
---> Campo com o sufixo 'A' na declarao do
|
|
| |
mapa lgico (geralmente).
|
|
| -----------------------------------------------------------------
|
|
|
| DFHBMPRO - atributo protegido
|
| DFHBMFSE - atributo MDT set
|
| DFHBMBRY - atributo brilhante
|
|
|
| UNSPEC - BUILTIN que trata a vari vel entre parnteses como uma
|
|
sequncia de BITS
|
|
|
| | - operao BOOLEANa 'OR'. No exemplo acima executa o seguinte:
|
|
|
|
-------------------------------------------------------------
|
|
|
'01100000' - sequncia de BITs do atributo PROTECTED
|
|
|
|
'11001000' - sequncia de BITs do atributo BRIGHT
|
|
|
|
'11000001' - sequncia de BITs do atributo MDT SET
|
|
|
|
-----------|
|
|
|
'11101001'
|
|
|
|
resultado da operao 'OR' (BOOLEANa) que representa a |
|
|
|
combinao de todos os atributos que foram submetidos |
|
|
|
a esta operao.
|
|
|
-------------------------------------------------------------
|
------------------------------------------------------------------------------

Pag. 131
A P N D I C E

Contedo do INCLUDE DFHAID


Este INCLUDE contm as declaraes de vari veis inicializados com os valores
em hexadecimal correspondente a cada tecla de funo (PFs, PAs, ENTER e CLEAR)
reconhecidos pelo CICS/VS.
------------------------------------------------------------------------------
|/********************************************************************/
|
|/*
*/
|
|/*MODULE NAME = DFHAID
*/
|
|/*
*/
|
|/*DESCRIPTIVE NAME = C.I.C.S./VS 3270 AID VALUES
*/
|
|/*
*/
|
|/*COPYRIGHT = 5746-XX3 COPYRIGHT IBM CORP. 1975,1982
*/
|
|/*
AND 5740-XX1 COPYRIGHT IBM CORP. 1975,1982
*/
|
|/*
REFER TO INSTRUCTIONS ON COPYRIGHT NOTICE,
*/
|
|/*
FORM NO. G120-2083
*/
|
|/*
*/
|
|/*STATUS = 1.6.0
*/
|
|/*
*/
|
|/*FUNCTION = DEFINES THE STANDARD 3270 AID VALUES
*/
|
|/*
*/
|
|/*EXTERNAL REFERENCES :
*/
|
|/*
....
*/
|
|/*
*/
|
|/*TABLES :
*/
|
|/*
....
*/
|
|/*
*/
|
|/*MACROS :
*/
|
|/*
....
*/
|
|/*
*/
|
|/*CHANGE ACTIVITY :
*/
|
|/* $SEG(DFHAID),COMP(TCP),PROD(CICS/VS):
*/
|
|/*
*/
|
|/* PN= REASON REL YYMMDD HDXIII : REMARKS
*/
|
|/*$D1 RESERVED FOR DCR
*/
|
|/*$D2 RESERVED FOR DCR
*/
|
|/*$D3 RESERVED FOR DCR
*/
|
|/*$H1= 5E2,160,8009,HDCPH:
CICS/VS 1.6 PARTITION SUPPORT */
|
|/*$H2 RESERVED FOR HARDWARE SUPPORT
*/
|
|/*$H3 RESERVED FOR HARDWARE SUPPORT
*/
|
|/*$L1 RESERVED FOR LINE ITEM
*/
|
|/*$L2 RESERVED FOR LINE ITEM
*/
|
|/*$L3 RESERVED FOR LINE ITEM
*/
|
|/*$L4 RESERVED FOR LINE ITEM
*/
|
|/*$L5 RESERVED FOR LINE ITEM
*/
|
|/*$L6 RESERVED FOR LINE ITEM
*/
|
|/*$P1 RESERVED FOR PTM
*/
|
------------------------------------------------------------------------------

Pag. 132
------------------------------------------------------------------------------
|/*$P2 RESERVED FOR PTM
*/
|
|/*$P3 RESERVED FOR PTM
*/
|
|/*
*/
|
|/********************************************************************/
|
| DECLARE
|
|
DFHENTER CHAR (1) INIT(''''),
|
|
DFHCLEAR CHAR (1) INIT('_'),
|
|
DFHCLRP
CHAR (1) INIT(''),
/* E5E2C H1A*/
|
|
DFHPEN
CHAR (1) INIT('='),
|
|
DFHOPID
CHAR (1) INIT('W'),
|
|
DFHMSRE
CHAR (1) INIT('X'),
|
|
DFHSTRF
CHAR (1) INIT('h'),
|
|
DFHTRIG
CHAR (1) INIT('"'),
|
|
DFHPA1
CHAR (1) INIT('%'),
|
|
DFHPA2
CHAR (1) INIT('>'),
|
|
DFHPA3
CHAR (1) INIT(','),
|
|
DFHPF1
CHAR (1) INIT('1'),
|
|
DFHPF2
CHAR (1) INIT('2'),
|
|
DFHPF3
CHAR (1) INIT('3'),
|
|
DFHPF4
CHAR (1) INIT('4'),
|
|
DFHPF5
CHAR (1) INIT('5'),
|
|
DFHPF6
CHAR (1) INIT('6'),
|
|
DFHPF7
CHAR (1) INIT('7'),
|
|
DFHPF8
CHAR (1) INIT('8'),
|
|
DFHPF9
CHAR (1) INIT('9'),
|
|
DFHPF10
CHAR (1) INIT(':'),
|
|
DFHPF11
CHAR (1) INIT(''),
|
|
DFHPF12
CHAR (1) INIT(''),
|
|
DFHPF13
CHAR (1) INIT('A'),
|
|
DFHPF14
CHAR (1) INIT('B'),
|
|
DFHPF15
CHAR (1) INIT('C'),
|
|
DFHPF16
CHAR (1) INIT('D'),
|
|
DFHPF17
CHAR (1) INIT('E'),
|
|
DFHPF18
CHAR (1) INIT('F'),
|
|
DFHPF19
CHAR (1) INIT('G'),
|
|
DFHPF20
CHAR (1) INIT('H'),
|
|
DFHPF21
CHAR (1) INIT('I'),
|
|
DFHPF22
CHAR (1) INIT(''),
|
|
DFHPF23
CHAR (1) INIT('.'),
|
|
DFHPF24
CHAR (1) INIT('<');
|
------------------------------------------------------------------------------
Estas vari veis so utilizadas para confrontar o contedo da vari vel EIBAID
(fornecido pelo CICS/VS no bloco EIB) para saber a tecla utilizada para executar
a transao.
Para tanto devemos fazer o seguinte:

Pag. 133
------------------------------------------------------------------------------
| Exemplo 1)
IF (EIBAID = DFHENTER) THEN
|
|
DO;
|
|
/* tratamento da tecla ENTER */
|
|
CALL TRATA_ENTER;
|
|
END;
|
|
ELSE
|
|
DO;
|
|
/* tratamento de outras teclas */
|
|
CALL TRATA_DEMAIS_TECLAS;
|
|
END;
|
|
|
| Exemplo 2)
SELECT (EIBAID);
|
|
WHEN (DFHPF3,DFHPF15)
|
|
DO;
|
|
/* tratamento da tecla PF3 e PF15 */
|
|
CALL TRATA_PF3_PF15;
|
|
END;
|
|
WHEN (DFHENTER)
|
|
DO;
|
|
/* tratamento da tecla ENTER */
|
|
CALL TRATA_ENTER;
|
|
END;
|
|
OTHERWISE
|
|
DO;
|
|
/* tratamento de outras teclas */
|
|
CALL TRATA_DEMAIS_TECLAS;
|
|
END;
|
|
END;
|
------------------------------------------------------------------------------
Observao:

Podemos ainda checar a tecla utilizada via comando 'HANDLE AID' explicado na prxima p gina.

Pag. 134
Comando HANDLE AID
Comando utilizado
executar o programa.

para

verificao

da tecla de funo pressionada para

------------------------------------------------------------------------------
|
|
|
EXEC CICS
HANDLE AID
opo
{ (label) }
|
|
. . . ;
|
|
|
------------------------------------------------------------------------------
opo - Palavras chaves descritas abaixo que identifica a tecla de funo utilizada para executar uma transao:
ANYKEY

- Identifica as seguintes teclas (com exceo da tecla ENTER): PA1 a PA3, PF1 a PF24 ou CLEAR.

ENTER

- tecla ENTER.

PA1 a PA3

- teclas PA1 a PA3.

PF1 a PF24

- teclas de funes de PF1 a PF24.

label - nome de uma 'PROC' interna no programa de aplicao ao qual o CICS/VS


dever transferior temporariamente o controle da execuo, de acordo com
a opo e a tecla utilizada para executar a transao. Logo aps a
execuo da 'PROC' o controle ser
retransferido para a prxima
instruo depois do RECEIVE que causou o desvio para o comando HANDLE
AID.
Para que este comando faa efeito deve se seguir os seguintes passos:
1.

O fluxo da execuo deve passar pelo menos uma vez por este comando para que
a condio fique ativa. A condio ficar ativa at o trmino da execuo da
transao, ou at que seja emitido um novo comando HANDLE AID.

2.

O fluxo da execuo s ser transferido para o comando HANDLE AID quando


execuo do comando RECEIVE.

da

Este comando ser desativado quando for executado um outro comando HANDLE AID
sem a especificao de nenhuma opo:
------------------------------------------------------------------------------
|
EXEC CICS HANDLE AID;
|
------------------------------------------------------------------------------
Quando da utilizao da tecla CLEAR, o comando RECEIVE poder sair pela
condio 'MAPFAIL' na execuo deste. se no for tratado. Mas se especificado o

Pag. 135
comando HANDLE AID CLEAR e o comando HANDLE CONDITION MAPFAIL, o primeiro possui
prioridade sobre o segundo na transferncia do fluxo de execuo (ver quadro a
seguir).
------------------------------------------------------------------------------
| -------
|
| |XXXXXXX|
|
| |YYYYYYY|
|
| ----- |
|
|
| ----- |
EXEC CICS HANDLE CONDITION
|
| -------

MAPFAIL(ERRO_MAPA);
|
|
|
CLEAR
-->EXEC CICS HANDLE AID CLEAR(TRATA_CLEAR)---
|
|
V
|(2)
ENTER(TRATA_ENTER)
|
|
| -------
|
ANYKEY(TRATA_OUTRAS);
|
|
| |
|(1)
---EXEC CICS RECEIVE MAP('MAPAA')
|
|
| |
|--------------->
MAPSET('MAPAM')
|
|
| ----- MAPFAIL
INTO(MAPAI);
|
|
| -----
---->IF (MAPAI_CPO1I = 'ABC') THEN
|
|
| -------
|
DO;
|
|
|
|
. . .
|
|
|
|
END;
|
|
|
|
. . .
(3)|
|
|
|
TRATA_CLEAR : PROC; <---------------------
|
|
|(4)
. . .
|
|
-----END TRATA_CLEAR;
|
|
|
------------------------------------------------------------------------------
E X E M P L O
------------------------------------------------------------------------------
|
|
|
. . .
|
|
-> EXEC CICS HANDLE AID ENTER(TRATA_ENTER) ANYKEY(TRATA_PFS);
|
|
|
. . .
|
|
|
|
-- EXEC CICS RECEIVE MAP('MAPAA')
|
|
|
|
MAPSET('MAPAM')
|
|
|
|
INTO(MAPAI);
|
|
|
|
-----> . . .
|
|
|
|
|
TRATA_ENTER : PROC; <----------------
|
|
|
|
. . .
|
|
|
---END TRATA_ENTER;
|
|
|
|
TRATA_PFS : PROC; <------------------------------------
|
|
|
. . .
|
|
---END TRATA_PFS;
|
|
|
------------------------------------------------------------------------------

Pag. 136

Pag. 137
A P N D I C E

Compilao de fontes PL/I-CICS/MVS


Toda
edio e compilao de fontes PL/I-CICS/MVS feito, em nossa
instalao, atravs do produto conhecido como "ROSCOE" (maiores detalhes consultar o manual de ROSCOE).
Para a compilao deve-se usar as PROCs "MBCPA" ou "MBSCPA" catalogadas
biblioteca "SYS3.PROCLIB", cuja expanso est mostrada a seguir:

na

------------------------------------------------------------------------------
|
PROC "MBSCPA"
|
|
Utilizada para compilao de fonte PLI-CICS/MVS-ADASQL
|
|
|
|//*********************************************************************
|
|//* COMPIL/LNKED
PL1/CICS/ADABAS SQL
* 17/01/92 *
*
|
|//*********************************************************************
|
|//MBSCPA
PROC NIS=NIS,
|
|//
SOURCE=NS,
|
|//
GS=GS,
|
|//
LDT=T,
|
|//
CALL=CALL,
|
|//
MACRO=INCLUDE,
|
|//
SLIB='CP.PDSFT',
SOURCE LIBRARY
|
|//
NBIBL=06,
|
|//
CLIB=CICS,
CICS LIBRARIES
|
|//
PRMOD=SWJP02,
* FRENTE/VERSO *
|
|//
MBOUT='LDT.MBOUT',
* OUTPUT
*
|
|//
MEMBER=INVALIDOOOO,
|
|//
AMB=MO,
|
|//
AC=0,
|
|//
AMODE=31,
AMODE
|
|//
RMODE=ANY,
RMODE
|
|//
DFHEILIS=DFHEILIS
|
|//*********************************************************************
|
|//* -----VERIFICA APLICACAO VALIDA
---------- *
|
|//*********************************************************************
|
|//LDT
EXEC PGM=MBQUALDT,PARM='01CALLLIVREPL1&MEMBER'
|
|//MBOUT
OUTPUT PRMODE=&PRMOD,CLASS=*
|
|//STEPLIB DD
DSN=CP.LOD06,DISP=SHR
|
|//TABAPL
DD
DSN=CP.LDAPL,DISP=SHR
|
|//MBENTRY DD
DSN=&&ENTRY,DISP=(,PASS),
|
|//
UNIT=VIO,SPACE=(TRK,4),DCB=(RECFM=FB,BLKSIZE=240)
|
|//*********************************************************************
|
|//* -------- *
|
|//*********************************************************************
|
|//GENE02
EXEC PGM=UTBGENER
|
|//SYSUT1
DD
DSN=&SLIB(&MEMBER),DISP=SHR
|
|//SYSUT2
DD
DSN=&&FONTE,DISP=(,PASS),
|
|//
UNIT=FIXO,SPACE=(TRK,(5,1)),
|
|//
DCB=(RECFM=FB,LRECL=80,BLKSIZE=?????)
|
------------------------------------------------------------------------------

Pag. 138
------------------------------------------------------------------------------
|//*********************************************************************
|
|//* -------- *
|
|//*********************************************************************
|
|//GENE03
EXEC PGM=UTBGENER
|
|//SYSUT1
DD
DSN=&&FONTE,DISP=(OLD,PASS)
|
|//SYSUT2
DD
SYSOUT=*,DCB=(RECFM=FBA,LRECL=80,BLKSIZE=800),
|
|//
OUTPUT=*.&MBOUT
|
|//********************************************************************
|
|//* ---PRE-COMPILADOR ADABAS SQL
---- *
|
|//********************************************************************
|
|//ADASQL
EXEC PGM=ADASQLP
|
|//ADAAMB DD
DSN=DB.NCF&AMB,DISP=SHR
|
|//DDPRINT DD
SYSOUT=*,OUTPUT=*.&MBOUT
|
|//STEPLIB DD
DSN=ADABAS.SQL.USER.LOAD,DISP=SHR
|
|//
DD
DSN=ADABAS.SQL.LOAD,DISP=SHR
|
|//
DD
DSN=ADABAS.USER.LOAD.D,DISP=SHR
|
|//ADAIN
DD
DSN=&&FONTE,DISP=(OLD,DELETE)
|
|//ADAOUT
DD
DSN=&&TEMP,DISP=(,PASS),UNIT=VIO,SPACE=(CYL,3)
|
|//SYSUT1
DD
DSN=&&TEMP1,DISP=(,DELETE),UNIT=VIO,SPACE=(CYL,3)
|
|//ADAGLOB DD
DSN=ADABAS.SQL.USER.SOURCE(ADGLBCMO),DISP=SHR
|
|//ADAMES
DD
SYSOUT=*,OUTPUT=*.&MBOUT
|
|//SYSOUT
DD
SYSOUT=*,OUTPUT=*.&MBOUT
|
|//SYSDBOUT DD
SYSOUT=*,OUTPUT=*.&MBOUT
|
|//*********************************************************************
|
|//* -----PL/I TRANSLATOR
---------- *
|
|//*********************************************************************
|
|//TRN
EXEC PGM=DFHEPP1,
|
|//
PARM='&SOURCE,MAR(2,72,1),OM(2,72,1)'
|
|//STEPLIB DD
DSN=&CLIB..LOADLIB,DISP=SHR
|
|//SYSPRINT DD
SYSOUT=*,OUTPUT=*.&MBOUT
|
|//SYSPUNCH DD
DSN=&&SYSCIN,DISP=(,PASS),
|
|//
UNIT=VIO,SPACE=(400,(800,200)),
|
|//
DCB=BLKSIZE=400
|
|//SYSIN
DD
DSN=&&TEMP,DISP=SHR
|
|//*
|
|//*********************************************************************
|
|//* -----PL/I OPTMIZER COMPILER
-------- *
|
|//*********************************************************************
|
|//PL1L
EXEC PGM=IEL0AA,COND=((5,LT,TRN),(4,LT,ADASQL)),
|
|//
REGION=2048K,
|
|//
PARM='MAP,OPT(2),OBJECT,NODECK,&GS,&MACRO,&NIS'
|
|//STEPLIB DD
DSN=SYS1.PLICPTR,DISP=SHR
|
|//SYBIBL
DD
DSN=CICS.PL1LIB,DISP=SHR
|
|//SYSPRINT DD
SYSOUT=*,OUTPUT=*.&MBOUT
|
|//MAC01
DD
DSN=CICS.PL1LIB,DISP=SHR,DCB=BLKSIZE=3200
|
|//
DD
DSN=CP.PDSFT,DISP=SHR
|
|//
DD
DSN=CP.MAC01,DISP=SHR
|
|//
DD
DSN=CP.MAC02,DISP=SHR
|
|//TP
DD
DSN=CP.FTDT1,DISP=SHR
|
|//MAP
DD
DSN=CP.MAPTS,DISP=SHR
COPYBOOK MAPAS EM TESTE
|
|//
DD
DSN=CP.MAPAS,DISP=SHR
COPYBOOK MAPAS EM PRODUCAO
|
|//SYSIN
DD
DSN=&&SYSCIN,DISP=(OLD,DELETE)
|
------------------------------------------------------------------------------

Pag. 139
------------------------------------------------------------------------------
|//SYSLIN
DD
DSN=&&LOADSET,DISP=(MOD,PASS),
|
|//
UNIT=VIO,SPACE=(80,(2000,400))
|
|//SYSUT1
DD
UNIT=VIO,DCB=BLKSIZE=1024,
|
|//
SPACE=(1024,(1800,180),,CONTIG)
|
|//*********************************************************************
|
|//* -----LINKAGE EDITOR
---------- *
|
|//*********************************************************************
|
|//LKED
EXEC PGM=IEWL,COND=((9,LT,PL1L),(4,LT,ADASQL)),
|
|// PARM='XREF,LET,LIST,&CALL,RENT,AC=&AC,AMODE=&AMODE,RMODE=&RMODE'
|
|//SYSLIB
DD
DSN=&CLIB..LOADLIB,DISP=SHR,DCB=BLKSIZE=32000
|
|//
DD
DSN=SYS1.PLIBASE,DISP=SHR
|
|//
DD
DSN=CP.LD&LDT&NBIBL,DISP=SHR
> ORDEM ALTERADA
|
|//
DD
DSN=SYS2.PLIXLIB,DISP=SHR
> ADAUSER (YAMADA)
|
|//
DD
DSN=CP.LODZ1,DISP=SHR
|
|//
DD
DSN=CP.LODZ2,DISP=SHR
|
|//
DD
DSN=CP.LODZ3,DISP=SHR
|
|//
DD
DSN=CP.LODZ4,DISP=SHR
|
|//
DD
DSN=CP.LODZ5,DISP=SHR
|
|//
DD
DSN=CP.LODZ6,DISP=SHR
|
|//
DD
DSN=CP.LOD03,DISP=SHR
|
|//
DD
DSN=CP.LOD07,DISP=SHR
|
|//
DD
DSN=CP.LDT&NBIBL,DISP=SHR
|
|//
DD
DSN=CP.LOD&NBIBL,DISP=SHR
|
|//
DD
DSN=CP.LODMT,DISP=SHR
AIMONE MAI/86.
|
|//
DD
DSN=ADABAS.SQL.USER.LOAD,DISP=SHR
|
|//
DD
DSN=ADABAS.SQL.LOAD,DISP=SHR
|
|//SYSLMOD DD
DSN=CP.LD&LDT.ZA(&MEMBER),DISP=SHR
|
|//SYSUT1
DD
UNIT=VIO,DCB=BLKSIZE=1024,
|
|//
SPACE=(1024,(400,40))
|
|//SYSPRINT DD
SYSOUT=*,OUTPUT=*.&MBOUT
|
|//SYSLIN
DD
DSN=CICS.PL1LIB(&DFHEILIS),DISP=SHR
|
|//* RUTEA DD
DSN=ADABAS.SQL.USER.SOURCE(ADINCSQL),DISP=SHR
|
|//
DD
DSN=&&ENTRY,DISP=(OLD,DELETE)
|
|//
DD
DSN=&&LOADSET,DISP=(OLD,DELETE)
|
|//
DD
DDNAME=SYSIN
|
|//B14
EXEC PGM=IEFBR14,COND=((777,NE,PL1L),(777,NE,LKED)),
|
|//
PARM='&NBIBL'
|
|//*
|
|//* ELIMINADA A BIBL CP.MAPTS DO DD MAC01 DO STEP PL1L - ORSI 29/06/87
|
|//* ELIMINADA A BIBL CP.LDT07 DO DD SYBIBL DO STEP LKED- ORSI 29/06/87
|
------------------------------------------------------------------------------

Pag. 140
------------------------------------------------------------------------------
|
PROC "MBCPA"
|
|
Utilizada para compilao de fonte PLI-CICS/MVS
|
|
ou PL/I-CICS/MVS-Macros ADABAS
|
|
|
|//MBCPA
PROC NIS=NIS,
|
|//
SOURCE=NS,
|
|//
GS=GS,
|
|//
LDT=T,
|
|//
CALL=CALL,
|
|//
MACRO=INCLUDE,
|
|//
SLIB='CP.PDSFT',
SOURCE LIBRARY
|
|//
NBIBL=ZA,
PARAMETRO NAO USADO, TEM QUE SER ZA.
|
|//
CLIB=CICS,
CICS LIBRARIES
|
|//
MEMBER=INVALIDOOOO
|
|//*********************************************************************
|
|//* -----VERIFICA APLICACAO VALIDA
---------- *
|
|//*********************************************************************
|
|//LDT
EXEC PGM=MBQUALDT,PARM='01CALLLIVREPL1&MEMBER'
|
|//STEPLIB DD
DSN=CP.LOD06,DISP=SHR
|
|//TABAPL
DD
DSN=CP.LDAPL,DISP=SHR
|
|//MBENTRY DD
DSN=&&ENTRY,DISP=(,PASS),
|
|//
UNIT=VIO,SPACE=(TRK,4),DCB=BLKSIZE=240
|
|//*********************************************************************
|
|//* -----PL/I TRANSLATOR
---------- *
|
|//*********************************************************************
|
|//TRN
EXEC PGM=DFHEPP1,
|
|//
PARM='&SOURCE,MAR(2,72,1),OM(2,72,1)'
|
|//STEPLIB DD
DSN=&CLIB..LOADLIB,DISP=SHR
|
|//SYSPRINT DD
SYSOUT=*
|
|//SYSPUNCH DD
DSN=&&SYSCIN,DISP=(,PASS),
|
|//
UNIT=FIXO,SPACE=(400,(800,200)),
|
|//
DCB=BLKSIZE=400
|
|//SYSIN
DD
DSN=&SLIB(&MEMBER),DISP=SHR
|
|//*********************************************************************
|
|//* -----PL/I OPTMIZER COMPILER
---------- *
|
|//*********************************************************************
|
|//PL1L
EXEC PGM=IEL0AA,COND=(5,LT,TRN),
|
|//
PARM='MAP,OPT(2),OBJECT,NODECK,&GS,&MACRO,&NIS'
|
|//STEPLIB DD
DSN=SYS1.PLICPTR,DISP=SHR
|
|//SYSLIB
DD
DSN=ZA.PL1LIB,DISP=SHR
|
|//SYSPRINT DD
SYSOUT=*
|
|//MAC01
DD
DSN=ZA.PL1LIB,DISP=SHR,DCB=BLKSIZE=3200
|
|//
DD
DSN=CP.PDSFT,DISP=SHR
|
|//
DD
DSN=CP.MAC01,DISP=SHR
|
|//
DD
DSN=CP.MAC02,DISP=SHR
|
|//TP
DD
DSN=CP.FTDT1,DISP=SHR
|
|//MAP
DD
DSN=CP.MAPTS,DISP=SHR
COPYBOOK MAPAS EM TESTE
|
|//
DD
DSN=CP.MAPAS,DISP=SHR
COPYBOOK MAPAS EM PRODUCAO
|
|//SYSIN
DD
DSN=&&SYSCIN,DISP=(OLD,DELETE)
|
|//SYSLIN
DD
DSN=&&LOADSET,DISP=(MOD,PASS),
|
|//
UNIT=FIXO,SPACE=(80,(2000,400))
|
|//SYSUT1
DD
UNIT=FIXO,DCB=BLKSIZE=1024,
|
|//
SPACE=(1024,(1800,180),,CONTIG)
|
------------------------------------------------------------------------------

Pag. 141
------------------------------------------------------------------------------
|//*********************************************************************
|
|//* -----LINKAGE EDITOR
---------- *
|
|//*********************************************************************
|
|//LKED
EXEC PGM=IEWL,COND=(9,LT,PL1L),
|
|//
PARM='XREF,LET,LIST,&CALL,RENT'
|
|//SYSLIB
DD
DSN=&CLIB..LOADLIB,DISP=SHR,DCB=BLKSIZE=32000
|
|//
DD
DSN=SYS1.PLIBASE,DISP=SHR
|
|//
DD
DSN=CP.LD&LDT&NBIBL,DISP=SHR
> ORDEM ALTERADA
|
|//
DD
DSN=SYS2.PLIXLIB,DISP=SHR
> ADAUSER (YAMADA)
|
|//
DD
DSN=CP.LODZA,DISP=SHR
|
|//
DD
DSN=CP.LOD07,DISP=SHR
|
|//
DD
DSN=CP.LDT&NBIBL,DISP=SHR
DANIELS 12/11/87
|
|//
DD
DSN=CP.LOD&NBIBL,DISP=SHR
DANIELS 12/11/87
|
|//
DD
DSN=CP.LODMT,DISP=SHR
AIMONE MAI/86.
|
|//SYSLMOD DD
DSN=CP.LD&LDT.ZA(&MEMBER),DISP=SHR
|
|//SYSUT1
DD
UNIT=FIXO,DCB=BLKSIZE=1024,
|
|//
SPACE=(1024,(400,40))
|
|//SYSPRINT DD
SYSOUT=*
|
|//SYSLIN
DD
DSN=ZA.PL1LIB(DFHEILIP),DISP=SHR
|
|//
DD
DSN=&&ENTRY,DISP=(OLD,DELETE)
|
|//
DD
DSN=&&LOADSET,DISP=(OLD,DELETE)
|
|//
DD
DDNAME=SYSIN
|
|//B14
EXEC PGM=IEFBR14,COND=((777,NE,PL1L),(777,NE,LKED)),
|
|//
PARM='&NBIBL'
|
|//*
|
|//* ELIMINADA A BIBL CP.MAPTS DO DD MAC01 DO STEP PL1L - ORSI 29/06/87
|
|//* ELIMINADA A BIBL CP.LDT07 DO DD SYSLIB DO STEP LKED- ORSI 29/06/87
|
|//*
|
------------------------------------------------------------------------------

Pag. 142
Para a utilizao da PROC "MBCPA", deve se montar um JCL como mostrado a seguir e submet-lo para execuo via ROSCOE.
------------------------------------------------------------------------------
|
//DI88XXX JOB (1,'TP=TNDS'),XXXXXXXX,
|
|
// REGION=0512K,MSGLEVEL=1,CLASS=J,MSGCLASS=R
|
|
/*JOBPARM R=1101,P=PROC03
|
|
//COMPILA EXEC MBCPA,MEMBER=DIEXEM,SOURCE=S,MACRO='M',
|
|
//
NIS='NIS',NBIBL=03
|
|
//TRN.SYSPRINT DD SYSOUT=(*,,BACK)
|
|
//TRN.SYSIN DD *
|
|
+INC DIEXEM
|
|
//PL1L.SYSPRINT DD SYSOUT=(*,,BACK)
|
|
//LKED.SYSPRINT DD SYSOUT=(*,,BACK)
|
| onde :
|
| MEMBER= ... nome com o qual o mdulo objeto ser
linkeditado na bi|
|
blioteca de mdulos.
|
| NBIBL=
... nmero da biblioteca associado ao sistema onde o fonte e
|
|
o mdulo do programa ser armazenado.
|
| MACRO=
... 'M' caso o programa estiver utilizando a macros PL/I ou
|
|
macros de acesso ao ADABAS, seno omitir este parmetro
|
|
simblico.
|
| +INC xxx ... 'xxx' nome do membro ROSCOE que contm o fonte do pro|
|
grama a ser compilado e linkeditado. De preferncia que
|
|
o 'xxx' e o 'MEMBER=' seja o mesmo.
|
------------------------------------------------------------------------------
Para a utilizao da PROC "MBSCPA", deve se montar um JCL como mostrado a seguir e submet-lo para execuo via ROSCOE.
------------------------------------------------------------------------------
|
//DI88SCPA JOB (1,'TP=PNDT'),------,CLASS=C,MSGCLASS=R,
|
|
//
MSGLEVEL=1,REGION=1024K
|
|
/*JOBPARM R=1103,P=PROC03
|
|
//STEP01
EXEC
MBSCPA,MEMBER=DIEXEM,NBIBL=03,MACRO=M
|
|
//GENE02.SYSUT1 DD DATA,DLM=$$
|
|
+INC DIEXEM
|
|
$$
|
|
//ADASQL.ADAGLOB DD
|
|
//
DD DATA,DLM=$$
|
|
MODE TRACE
|
|
$$
|
| onde :
|
| MEMBER= ... nome com o qual o mdulo objeto ser
linkeditado na bi|
|
blioteca de mdulos.
|
| NBIBL=
... nmero da biblioteca associado ao sistema onde o fonte e
|
|
o mdulo do programa ser
armazenado.
|
| MACRO=
... 'M' caso o programa estiver utilizando alguma macro
|
|
PL/I, seno omitir este parmetro simblico.
|
| +INC xxx ... 'xxx' nome do membro ROSCOE que contm o fonte do pro|
|
grama a ser compilado e linkeditado. De preferncia que
|
|
o 'xxx' e o 'MEMBER=' seja o mesmo.
|
------------------------------------------------------------------------------

Pag. 143
Execuo de uma aplicao PL/I-CICS
Para a execuo de uma aplicao PL/I-CICS em nossa instalao deve se seguir
os seguintes passos:
1.

Compilar o fonte pelo ROSCOE, e verificar se esta correu normalmente.

2.

Aps a confirmao, acessar o CICS de desenvolvimento (APPLID=ZADA, em nossa


instalao).
Para acessar o CICS seguir os seguintes passos:
---------------------------------------------------------------------------
|
para terminais locais (prdio sede na PAULISTA)
|
|
1) -----------------------------------------------------------
|
|
|L ZADA ou /ZADA ou LOGON APPLID(ZADA)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|THIS TERMINAL IS LOGGED ON TO THE NETSOL - SP11 |
|
|
|
ou
|
|
|
|THIS TERMINAL IS LOGGED ON TO THE NETSOL - SP12 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-----------------------------------------------------------
|
|
|
|
para terminais remotos (Treinamento Antnio de Godoy)
|
|
-----------------------------------------------------------
|
|
|/ZADA ou LOGON APPLID(ZADA)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-----------------------------------------------------------
|
---------------------------------------------------------------------------
---------------------------------------------------------------------------
|
primeira tela ao entrar no APPLID ZADA
|
|
2) -----------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|SPSIGN : SIGN-ON IS COMPLETE
|
|
|
-----------------------------------------------------------
|
---------------------------------------------------------------------------

Pag. 144
3.

Se o programa no foi executada no dia, digite o cdigo da transao e teclar ENTER (seguir para a tela 7). Se esta j foi executada no mnino uma
vez no dia, seguir os seguintes passos:
---------------------------------------------------------------------------
|
digitar o seguinte e teclar ENTER
|
|
3) -----------------------------------------------------------
|
|
|CEMT I PR (xxxxxxxx)
|
|
|
|
|
|
|
|
|
-------> nome do programa
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|SPSIGN : SIGN-ON IS COMPLETE
|
|
|
-----------------------------------------------------------
|
---------------------------------------------------------------------------
---------------------------------------------------------------------------
|
O CICS sempre mantm o mdulo que est
ativo no momento. Co|
|
mo foi feito uma nova compilao, existe um novo mdulo. Pa|
|
ra executar esta nova verso, devemos indicar isto ao CICS.
|
|
Para tanto fazer o seguinte: digitar 'NEW' ou 'N' no local
|
|
indicado pela seta e teclar ENTER.
|
|
4) -----------------------------------------------------------
|
|
|I PR (xxxxxxxx)
----- |
|
|
|STATUS: RESULTS - OVERTYPE TO MODIFY
V
|
|
|
|Pro(xxxxxxxx) Len(00000) Res(000) use(000) Pli Ena N
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| RESPONSE: NORMAL
APPLID=ZADA|
|
|
|PF 1 HELP 3 END
. . .
|
|
|
-----------------------------------------------------------
|
---------------------------------------------------------------------------
---------------------------------------------------------------------------
|
Se tudo correu normalmente no local onde foi digitado 'NEW'
|
|
ou 'N', ir
aparecer 'NEW COPY' indicando que a operao foi
|
|
executada com sucesso.
|
|
Notar ainda que o campo 'Len' muda de valor indicando que o
|
|
novo mdulo est
ativo e pronto para a execuo.
|
|
5) -----------------------------------------------------------
|
|
|I PR (xxxxxxxx)
|
|
|
|STATUS: RESULTS - OVERTYPE TO MODIFY
|
|
|
|Pro(xxxxxxxx) Len(00A96) Res(000) use(000) Pli Ena NEW COPY|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| RESPONSE: NORMAL
APPLID=ZADA|
|
|
|PF 1 HELP 3 END
. . .
|
|
|
-----------------------------------------------------------
|
|
Para sair, teclar PF3.
|
---------------------------------------------------------------------------

Pag. 145
---------------------------------------------------------------------------
|
tela de sada da aplicao 'CEMT'. Teclar <ALT><CLEAR> para
|
|
limpar a tela, para poder executar a transao.
|
|
6) -----------------------------------------------------------
|
|
|CEMT I PR (xxxxxxxx)
|
|
|
|STATUS: SESSION ENDED
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-----------------------------------------------------------
|
---------------------------------------------------------------------------
---------------------------------------------------------------------------
|
Digitar o cdigo da transao associado ao programa, teclar
|
|
ENTER e pronto.
|
|
7) -----------------------------------------------------------
|
|
|YYYY
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-----------------------------------------------------------
|
---------------------------------------------------------------------------
Para sair do CICS, digitar:
---------------------------------------------------------------------------
| -----------------------------------------------------------
|
| |SIGN OFF ou CSSF OFF
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| -----------------------------------------------------------
|
---------------------------------------------------------------------------

Pag. 146

Pag. 147
A P N D I C E

Comandos CICS/MVS
------------------------------------------------------------------------------
|
ABEND {ABCODE(name)} {CANCEL}
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
ADDRESS option (pointer)
...
|
|
|
|
option: CSA, CWA, EIB, TCTUA, TWA
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
ASKTIME {ABSTIME(data-area)}
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
ASSIGN option (data-area)
...
|
|
|
|
option: ABCODE, APPLID, BTRANS, COLOR, CWALENG, DELIMITER,
|
|
DESTCOUNT, DESTID, DESTIDLENG, EXTDS, FACILITY,
|
|
FCI, GCHARS, GCODES, HILIGHT, INPARTN, KATAKANA,
|
|
LDCMNEM, LDCNUM, MAPCOLUMN, MAPHEIGHT, MAPLINE,
|
|
MAPWIDTH, MSRCONTROL, NETNAME, NUMTAB, OPCLASS,
|
|
OPERKEYS, OPID, OPSECURITY, OUTLINE, PAGENUM,
|
|
PARTNPAGE, PARTNS, PARTNSET, PRINSYSID, PS, QNAME,
|
|
RESTART, SCRNHT, SCRNWD, SIGDATA, SOSI, STARTCODE,
|
|
STATIONID, SYSID, TCTUALENG, TELLERID, TERMCODE,
|
|
TWALENG, UNATTEND, USERID, VALIDATION
|
|
|
|
condition: INVREQ
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
BIF EDIT FIELD(data-area) {LENGTH(data-value)}
|
|
|
|
Condition: ROLLEDBACK
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
CANCEL {REQID(name) {TRANSID(name)} {SYSID(name)}}
|
|
|
|
Condition: INVREQ, ISCINVREQ, NOTAUTH, NOTFND, SYSIDERR
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
DELAY {INTERVAL(hhmmss) / TIME(hhmmss)}
|
|
{REQID(name)}
|
|
|
|
Condition: EXPIRED, INVREQ
|
------------------------------------------------------------------------------

Pag. 148
------------------------------------------------------------------------------
|
DELETE FILE(name) {RIDFLD(data-area)}
|
|
{KEYLENGTH(data-value) {GENERIC {NUMREC(data-area)}}}
|
|
{SYSID(name)} {RBA / RRN}
|
|
|
|
Condition: DISABLED, FILENOTFOUND, DUPKEY, ILLOGIC, INVREQ
|
|
IOERR, ISCINVREQ, NOTAUTH, NOTFND, NOTOPEN, SYSIDERR
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
DELETEQ TD QUEUE(name) {SYSID(name)}
|
|
|
|
Condition: ISCINVREQ, NOTAUTH, NOTOPEN, QIDERR, SYSIDERR
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
DELETEQ TS QUEUE(name) {SYSID(name)}
|
|
|
|
Condition: ISCINVREQ, NOTAUTH, QIDERR, SYSIDERR
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
DEQ RESOURCE(data-area) {LENGTH(data-value)}
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
DUMP DUMPCODE(name) {FROM(data-area) LENGTH(data-value) /
|
|
FLENGTH(data-value)} {COMPLETE} {TASK} {STORAGE}
|
|
{PROGRAM} {TERMINAL} {TABLES} {DCT} {FCT} {PCT} {PPT}
|
|
{SIT} {TCT}
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
ENDBR FILE(name) {REQID(data-value)} {SYSID(name)}
|
|
|
|
Condition: DISABLED, FILENOTFOUND, ILLOGIC, INVREQ, ISCINVREQ,
|
|
NOTAUTH, NOTOPEN, SYSIDERR
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
ENQ RESOURCE(data-area) {LENGTH(data-value)} {NOSUSPEND}
|
|
|
|
Condition: ENQBUSY
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
ENTER TRACEID(data-value) {FROM(data-area)} {RESOURCE(name)}
|
|
{ENTRYNAME(name)} {ACCOUNT} {MONITOR} {PERFORM}
|
|
|
|
Condition: INVREQ
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
EXTRACT LOGONMSG <INTO(data-area) / SET(pointer)}
|
|
LENGTH(data-area)
|
------------------------------------------------------------------------------

Pag. 149
------------------------------------------------------------------------------
|
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-area)}} {DAYCOUNT(data-area)}
|
|
{DAYOFWEEK(data-area)} {DAYOFMONTH(data-area)}
|
|
{MONTHOFYEAR(data-area)} {YEAR(data-area)}
|
|
{TIME(data-area) {TIMESEP {(data-area)}}}
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
FREE {CONVID(data-area) / SESSION(name)}
|
|
|
|
Condition: INVREQ, NOTALLOC, SYSIDERR
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
FREEMAIN DATA(data-area)
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
GETMAIN SET(pointer) {LENGTH(data-value) / FLENGTH(data-value)}
|
|
{INITIMG(data-value)} {NOSUSPEND}
|
|
|
|
Condition: LENGERR, NOSTG
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
HANDLE ABEND {PROGRAM(name) / LABEL(label) / CANCEL / RESET}
|
|
|
|
Condition: PGMIDERR (PROGRAM only)
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
HANDLE AID option {(label)} ...
|
|
|
|
option: ANYKEY, CLEAR, CLRPARTN, LIGHTPEN, OPERID, TRIGGER,
|
|
PA1, PA2, PA3, PF1 a PF24
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
HANDLE CONDITION condition { (label) }
...
|
|
ou
|
|
HANDLE CONDITION ERROR { (label) }
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
IGNORE CONDITION condition condition
...
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
ISSUE ABORT {DESTID(data-value) {DESTIDLENG(data-value)} /
|
|
{SUBADDR(data-value)} {CONSOLE / PRINT CARD /
|
|
WPMEDIA1 / WPMEDIA2 / WPMEDIA3 / WPMEDIA4}}
|
|
{VOLUME(data-value) {VOLUMELENG(data-value)}}
|
|
|
|
Condition: FUNCERR, SELNERR, UNEXPIN
|
------------------------------------------------------------------------------

Pag. 150
------------------------------------------------------------------------------
|
ISSUE ADD DESTID(data-value) {DESTIDLENG(data-value)}
|
|
{VOLUME(data-value) {VOLUMELENG(data-value)}}
|
|
FROM(data-area) {LENGTH(data-value)}}
|
|
{NUMREC(data-value)} {DEFRESP} {NOWAIT}
|
|
{RIDFLD(data-area) RRN}
|
|
|
|
Condition: FUNCERR, SELNERR, UNEXPIN
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
ISSUE DISCONNECT SESSION(name)
|
|
|
|
Condition: NOTALLOC, TERMERR
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
ISSUE END {DESTID(data-value) {DESTIDLENG(data-value)} /
|
|
{SUBADDR(data-value)} {CONSOLE / PRINT CARD /
|
|
WPMEDIA1 / WPMEDIA2 / WPMEDIA3 / WPMEDIA4}}
|
|
{VOLUME(data-value) {VOLUMELENG(data-value)}}
|
|
|
|
Condition: FUNCERR, SELNERR, UNEXPIN
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
ISSUE ERASE DESTID(data-value) {DESTIDLENG(data-value)}
|
|
{VOLUME(data-value) {VOLUMELENG(data-value)}}
|
|
RIDFLD(data-area)
|
|
{{KEYLENGTH(data-value)}
|
|
{KEYNUMBER(data-value)} / RRN}
|
|
{NUMREC(data-value)} {DEFRESP} {NOWAIT}
|
|
|
|
Condition: FUNCERR, SELNERR, UNEXPIN
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
ISSUE NOTE DESTID(data-value) {DESTIDLENG(data-value)}
|
|
{VOLUME(data-value) {VOLUMELENG(data-value)}}
|
|
RRN RIDFLD(data-area)
|
|
|
|
Condition: FUNCERR, SELNERR, UNEXPIN
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
ISSUE PASS LUNAME(name / data-area)
|
|
{FROM(data-area LENGTH(dasta-value}
|
|
|
|
Condition: INVREQ, LENGERR
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
ISSUE PREPARE {CONVID(data-area) / SESSION(name)}
|
|
|
|
Condition: INVREQ, NOTALLOC
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
ISSUE PRINT
|
------------------------------------------------------------------------------

Pag. 151
------------------------------------------------------------------------------
|
ISSUE QUERY DESTID(data-value) {DESTIDLENG(data-value)}
|
|
{VOLUME(data-value) {VOLUMELENG(data-value)}}
|
|
|
|
Condition: FUNCERR, SELNERR, UNEXPIN
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
ISSUE RECEIVE {INTO(data-area) / SET(pointer)}
|
|
{LENGTH(data-area)}}
|
|
|
|
Condition: DSSTAT, EODS, LENGERR, UNEXPIN
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
ISSUE REPLACE DESTID(data-value) {DESTIDLENG(data-value)}
|
|
{VOLUME(data-value) {VOLUMELENG(data-value)}}
|
|
FROM(data-area) {LENGTH(data-value)}}
|
|
{NUMREC(data-value)} RIDFLD(data-area)
|
|
{{KEYLENGTH(data-value)}
|
|
{KEYNUMBER(data-value)} / RRN}
|
|
{DEFRESP} {NOWAIT}
|
|
|
|
Condition: FUNCERR, SELNERR, UNEXPIN
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
ISSUE SEND {DESTID(data-value) {DESTIDLENG(data-value)} /
|
|
{SUBADDR(data-value)} {CONSOLE / PRINT CARD /
|
|
WPMEDIA1 / WPMEDIA2 / WPMEDIA3 / WPMEDIA4}}
|
|
{VOLUME(data-value) {VOLUMELENG(data-value)}}
|
|
{LENGTH(data-value)} FROM(data-area) {NOWAIT} {DEFRESP}
|
|
|
|
Condition: FUNCERR, IGREQCD, SELNERR, UNEXPIN
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
ISSUE WAIT {DESTID(data-value) {DESTIDLENG(data-value)} /
|
|
{SUBADDR(data-value)} {CONSOLE / PRINT CARD /
|
|
WPMEDIA1 / WPMEDIA2 / WPMEDIA3 / WPMEDIA4}}
|
|
{VOLUME(data-value) {VOLUMELENG(data-value)}}
|
|
|
|
Condition: FUNCERR, IGREQCD, SELNERR, UNEXPIN
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
JOURNAL JFILEID(data-value) JTYPEID(data-value)
|
|
FROM(data-area) {LENGTH(data-value)} {REQID(data-area)}
|
|
{PREFIX(data-value) {PFXLENG(data-value)}} {STARTIO}
|
|
{WAIT} {NOSUSPEND}
|
|
|
|
Condition: IOERR, JIDERR, LENGERR, NOJBUFSP, NOTAUTH, NOTOPEN
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
LINK PROGRAM(name) {COMMAREA(data-area) {LENGTH(data-value)}}
|
|
|
|
Condition: NOTAUTH, PGMIDERR
|
------------------------------------------------------------------------------

Pag. 152
------------------------------------------------------------------------------
|
LOAD PROGRAM(name) {SET(pointer)}
|
|
{LENGTH(data-value) / FLENGTH(data-value)}
|
|
{ENTRY(pointer)} {HOLD}
|
|
|
|
Condition: NOTAUTH, PGMIDERR
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
PUSH HANDLE
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
POP HANDLE
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
POST {INTERVAL(hhmmss) / TIME(hhmmss)} SET(pointer)
|
|
{REQID(name)}
|
|
|
|
Condition: EXPIRED, INVREQ
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
PURGE MESSAGE
|
|
|
|
Condition: TSIOERR
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
READ FILE(name) <INTO(data-area) / SET(pointer)>
|
|
{LENGTH(data-area)} RIDFLD(data-area)
|
|
{KEYLENGTH(data-value) {GENERIC}}
|
|
{SYSID(name)} {RBN / RRN / DEBKEY / DEBREC}
|
|
{GTEQ / EQUAL} {UPDATE}
|
|
|
|
Condition: DISABLED, FILENOTFOUND, DUPKEY, ILLOGIC, INVREQ,
|
|
IOERR, ISCINVREQ, LENGERR, NOTAUTH, NOTFND,
|
|
NOTOPEN, SYSIDERR
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
READNEXT FILE(name) <INTO(data-area) / SET(pointer)>
|
|
{LENGTH(data-area)} RIDFLD(data-area)
|
|
{KEYLENGTH(data-value)} {REQID(data-value)}
|
|
{SYSID(name)} {RBA / RRN}
|
|
|
|
Condition: DISABLED, FILENOTFOUND, DUPKEY, ENDFILE, ILLOGIC,
|
|
INVREQ, IOERR, ISCINVREQ, LENGERR, NOTAUTH, NOTFND,
|
|
NOTOPEN, SYSIDERR
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
READPREV FILE(name) <INTO(data-area) / SET(pointer)>
|
|
{LENGTH(data-area)} RIDFLD(data-area)
|
|
{KEYLENGTH(data-value)} {REQID(data-value)}
|
|
{SYSID(name)} {RBA / RRN}
|
|
|
|
Condition: DISABLED, FILENOTFOUND, DUPKEY, ENDFILE, ILLOGIC,
|
|
INVREQ, IOERR, ISCINVREQ, LENGERR, NOTAUTH, NOTFND,
|
|
NOTOPEN, SYSIDERR
|
------------------------------------------------------------------------------

Pag. 153
------------------------------------------------------------------------------
|
READQ TD QUEUE(name) <INTO(data-area) / SET(pointer)>
|
|
{LENGTH(data-value)} {SYSID(name)} {NOSUSPEND}
|
|
|
|
Condition: IOERR, ISCINVREQ, LENGERR, NOTAUTH, NOTOPEN,
|
|
QBUSY, QIDERR, QZERO, SYSIDERR
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
READQ TS QUEUE(name) <INTO(data-area) / SET(pointer)>
|
|
{LENGTH(data-value)}
|
|
{NUMITEMS(data-area)} {ITEM(data-area) / NEXT}
|
|
{SYSID(name)}
|
|
|
|
Condition: INVREQ, IOERR, ISCINVREQ, ITEMERR, LENGERR,
|
|
NOTAUTH, QIDERR, SYSIDERR
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
RECEIVE MAP(name) {MAPSET(name)}
|
|
{INTO(data-area) / SET(pointer)}
|
|
{FROM(data-area)
|
|
LENGTH(data-area) | TERMINAL {ASIS}}
|
|
{INPARTN(name)}
|
|
|
|
Condition: EOC, EODS, INVMPSZ, INVPARTN, INVREQ, MAPFAIL,
|
|
PARTNFAIL, RDATT, UNEXPIN
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
RECEIVE PARTN(data-area) <INTO(data-area) / SET(pointer)>
|
|
LENGTH(data-area) {ASIS}
|
|
|
|
Condition: EOC, EODS, INVPARTN, INVREQ, LENGERR
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
RELEASE PROGRAM(name)
|
|
|
|
Condition: NOTAUTH, PGMIDERR
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
RESETBR FILE(name) RIDFLD(data-area)
|
|
{KEYLENGTH(data-value) {GENERIC}}
|
|
{REQID(data-value)} {SYSID(name)}
|
|
{GTEQ / EQUAL} {RBA / RRN}
|
|
|
|
Condition: DISABLED, FILENOTFOUND, ILLOGIC, INVREQ, IOERR,
|
|
ISCINVREQ, NOTAUTH, NOTFND, NOTOPEN, SYSIDERR
|
------------------------------------------------------------------------------

Pag. 154
------------------------------------------------------------------------------
|
RETRIEVE {INTO(data-area) / SET(pointer)} {LRNGTH(data-area)}
|
|
{RTRANSID(data-area)} {RTERMID(data-area)}
|
|
{QUEUE(name)} {WAIT}
|
|
|
|
Condition: ENDDATA, ENVDEFERR, INVREQ, INVTSREQ, IOERR,
|
|
LENGERR, NOTAUTH, NOTFND
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
RETURN {TRANSID(name) {COMMAREA(data-area)
|
|
{LENGTH(data-value)}}}
|
|
|
|
Condition: INVREQ, NOTAUTH
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
REWRITE FILE(name) FROM(data-area) {LENGTH(data-value)}
|
|
{SYSID(name)}
|
|
|
|
Condition: DISABLED, FILENOTFOUND, DUPREC, ILLOGIC,
|
|
INVREQ, IOERR, ISCINVREQ, LENGERR, NOSPACE,
|
|
NOTAUTH, NOTOPEN, SYSIDERR
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
ROUTE {INTERVAL(hhmmss) / TIME(hhmmss)} {ERRTERM {(name)}}
|
|
{TITLE(data-area)} {LIST(data-area)}
|
|
{OPCLASS(data-area)} {REQID(name)}
|
|
{LDC(name)} {NLEOM}
|
|
|
|
Condition: INVERRTERM, INVLDC, INVREQ, RTEFAIL, RTESOME
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
SEND CONTROL {CURSOR {(data-value)}} {FORMFEED}
|
|
{ERASE / ERASEAUP} {PRINT} {FREEKB} {ALARM}
|
|
{FRSET} {MSR(data-value)} {OUTPARTN(name)}
|
|
{ACTPARTN(name)} {LDC(name)} 'ACCUM}
|
|
{SET(pointer) / PAGING / TERMINAL {WAIT / LAST}}
|
|
{REQID(name)} {L40 / L64 / L80 / HONEOM}
|
|
|
|
Condition: IGREQCD, IGREQID, INVLDC, INVPARTN, INVREQ,
|
|
RETPAGE, TSIOERR, WRBRK
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
SEND MAP(name) {MAPSET(name)}
|
|
{FROM(data-area) LENGTH(data-value) / DATAONLY / MAPONLY}
|
|
{CURSOR {(data-value)}} {FORMFEED} {ERASE / ERASEAUP}
|
|
{PRINT} {FREEKB} {ALARM} {FRSET} {NLEOM}
|
|
{MSR(data-value)} {OUTPARTN(name)} {ACTPARTN(name)}
|
|
{FMHPARM(name)} {LDC(name)} {ACCUM}
|
|
{SET(pointer) / PAGING / TERMINAL {WAIT / LAST}}
|
|
{REQID(name)} {L40 / L64 / L80 / HONEOM}
|
|
|
|
Condition: IGREQCD, IGREQID, INVLDC, INVMPSZ, INVPARTN,
|
|
INVREQ, OVERFLOW, RETPAGE, TSIOERR, WRBRK
|
------------------------------------------------------------------------------

Pag. 155
------------------------------------------------------------------------------
|
SEND PAGE {RELEASE {TRANSID(name)} / RETAIN}
|
|
{TRAILER(data-area)} {SET(pointer)}
|
|
{AUTOPAGE {CURRENT / ALL} / NOAUTOPAGE}
|
|
{OPERPURGE} {FMHPARM} {LAST}
|
|
|
|
Condition: IGREQCD, INVREQ, RETPAGE, TSIOERR, WRBRK
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
SEND PARTNSET {(name)}
|
|
|
|
Condition: INVPARTNSET, INVREQ
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
SEND TEXT FROM(data-area) LENGTH(data-value)
|
|
{CURSOR {(data-value)}} {FORMFEED} {ERASE}
|
|
{PRINT} {FREEKB} {ALARM} {NLEOM} {LDC(name)}
|
|
{OUTPARTN(name)} {ACTPARTN(name)} {MSR(data-value)}
|
|
{SET(pointer) / PAGING / TERMINAL {WAIT / LAST}}
|
|
{REQID(name)} {HEADER(data-area)} {TRAILER(data-area)}
|
|
{JUSTIFY(data-value)/ JUSFIRST / JUSLAST} (ACCUM}
|
|
{L40 / L64 / L80 / HONEOM}
|
|
|
|
Condition: IGREQCD, IGREQID, INVLDC, INVPARTN, INVREQ,
|
|
RETPAGE, TSIOERR, WRBRK
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
SEND TEXT MAPPED FROM(data-area) LENGTH(data-value)
|
|
{PAGING / TERMINAL {WAIT / LAST}} {REQID(name)}
|
|
|
|
Condition: IGREQID, RETPAGE, TSIOERR, WRBRK
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
SEND TEXT NOEDIT FROM(data-area) LENGTH(data-value)
|
|
{ERASE} {PRINT} {FREEKB} {ALARM} {OUTPARTN(name)}
|
|
{PAGING / TERMINAL {WAIT / LAST}} {REQID(name)}
|
|
{L40 / L64 / L80 / HONEOM}
|
|
|
|
Condition: IGREQCD, IGREQID, INVPARTN, TSIOERR, WRBRK
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
START {INTERVAL(hhmmss) / TIME(hhmmss)} TRANSID(name)
|
|
{REQID(name)} {FROM(data-area) {LENGTH(data-value) {FMH}}
|
|
{TERMID(name)} {SYSID(name)} {RTRANSID(name)}
|
|
{RTERMID(name)} {QUEUE(name)} {NOCHECK} {PROTECT}
|
|
|
|
Condition: INVREQ, IOERR, ISCINVREQ, NOTAUTH, SYSIDERR,
|
|
TERMIDERR, TRANSIDERR
|
------------------------------------------------------------------------------

Pag. 156
------------------------------------------------------------------------------
|
STARTBR FILE(name) RIDFLD(data-area)
|
|
{KENLENGTH(data-value) {GENERIC}}
|
|
{REQID(data-value)} {SYSID(name)}
|
|
{RBA / RRN / DEBKEY / DEBREC} {GTEQ / EQUAL}
|
|
|
|
Condition: DISABLED, FILENOTFOUND, ILLOGIC, INVREQ, IOERR,
|
|
ISCINVREQ, NOTAUTH, NOTFND, NOTOPEN, SYSIDERR
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
SUSPEND
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
SYNCPOINT {ROLLBACK}
|
|
|
|
Condition: ROLLEDBACK
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
TRACE <ON / OFF> {SYSTEM} {EI} {USER} {SINGLE}
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
UNLOCK FILE(name) {SYSID(name)}
|
|
|
|
Condition: DISABLED, FILENOTFOUND, ILLOGIC, IOERR,
|
|
ISCINVREQ, NOTAUTH, NOTOPEN, SYSIDERR
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
WAIT EVENT ECADDR(pointer)
|
|
|
|
Condition: INVREQ
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
WAIT JOURNAL JFILEID(data-value) {REQID(data-area)} {STARTIO}
|
|
|
|
Condition: INVREQ, IOERR, JIDERR, NOTAUTH, NOTOPEN
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
WAIT SIGNAL
|
|
|
|
Condition: SIGNAL
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
WRITE FILE(name) FROM(data-area) {LENGTH(data-value)}
|
|
RIDFLD(data-area) {KEYLENGTH(data-value)}
|
|
{SYSID(name)} {RBN / RRN} {MASSINSERT}
|
|
|
|
Condition: DISABLED, FILENOTFOUND, DUPKEY, DUPREC, ILLOGIC,
|
|
INVREQ, IOERR, ISCINVREQ, LENGERR, NOTFND, NOSPACE,
|
|
NOTAUTH, NOTOPEN, SYSIDERR
|
------------------------------------------------------------------------------

Pag. 157
------------------------------------------------------------------------------
|
WRITEQ TD QUEUE(name) FROM(data-area) {LENGTH(data-value)}
|
|
{SYSID(name)}
|
|
|
|
Condition: IOERR, ISCINVREQ, LENGERR, NOSPACE, NOTAUTH,
|
|
NOTOPEN, QIDERR, SYSIDERR
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
WRITEQ TS QUEUE(name) FROM(data-area) {LENGTH(data-value)}
|
|
{ITEM(data-area) {REWRITE}} {SYSID(name)}
|
|
{MAIN / AUXILIARY} {NOSUSPEND}
|
|
|
|
Condition: INVREQ, IOERR, ISCINVREQ, ITEMERR, NOSPACE,
|
|
NOTAUTH, QIDERR, SYSIDERR
|
------------------------------------------------------------------------------
------------------------------------------------------------------------------
|
XCTL PROGRAM(name) {COMMAREA(data-area) {LENGTH(data-value)}}
|
|
|
|
Condition: NOTAUTH, PGMIDERR
|
------------------------------------------------------------------------------

Pag. 158

Pag. 159
G L O S S R I O
ABEND:

Abnormal end of task

Abnormal end of task: Fim anormal de uma tarefa. Trmino de uma tarefa antes da
sua concluso normal, originada por uma condio de erro que os recursos de
recuperao de erros do sistema nao podem resolver enquanto se est executando a
tarefa. Abreviatura ABEND.
ACF/VTAM: Advanced Communication Facilities, Virtual Telecommunications Access
Method. Um conjunto de programas que controlam a comunicao entre terminais e
programas de aplicao que rodam sobre VSE/AF, OS/VS1, e MVS.
aplicao on-line: Tipo de aplicao de processamento de dados em que o computador se comunica diretamente com o fonte original e com o destino final dos
dados processados.
rea dinmica: 1. No sistema operacional do S/360, a parte da memria principal
subdividida em regi-es ou parties para utilizao por parte dos programas que
executam as etapas de trabalho e as tarefas do sistema.
A
rea dinmica
compreende toda a memria existente entre a rea de filas do supervisor e a rea
de mdulos residentes na memria. 2. Em OS/VS, parte da memria virtual dividida
em regi-es ou parties atribudas a etapas de trabalho e tarefas do sistema.
assembler:

Ver montador

carregador:
1. Programa de processamento que combina numa s etapa de trabalho
as funes fundamentais de edio e carga do montador e a busca e carga de programas. Aceita mdulos objetos e mdulos de carga criados pelo montador e gera
um cdigo diretamente execut vel na memria principal.
2. Rotina supervisora
que recupera fases de programa da biblioteca imagem da memria e as carrega na
memria principal (DOS).
compilador: Programa que elabora um outro programa em linguagem de m quina
partindo de um programa de computador escrito em outra linguagem de programao,
utilizando, para tanto, a estrutura lgica completa do programa ou gerando mais
de uma instruo de m quina por cada declarao simblica (ou ambas as coisas) e
efetuando, tambm, a funo de um montador.
concorrente: pertencente ou relativo a ocorrncia de dois ou
atividades dentro do mesmo lapso de tempo.
default:

mais

eventos

ou

Valor assumido automaticamente, por falta de especificao.

DUMP:
1. Copiar o contedo da memria, no todo ou em parte, normalmente da
memria interna a um armazenamento externo. 2. Imprimir a totalidade ou parte do
contedo da memria de um computador. 3. Registrar num meio externo o contedo
da memria num momento determinado, com o fim de facilitar a deteco e a
an lise de erros ou equvocos do programa.
linkage editor: Um programa que prepara a sada de montadores de linguagem para
execuo. Esse programa prepara todas as ligaes e chamadas necess rias de

Pag. 160
pequenos programas existentes nos sistemas operacionais de forma a permitir a
realizao de funes bastantes complexas de maneira mais
simples
sem
sobrecarregar a programao propriamente dita.
link edit:
Combinar num s programa objeto duas ou mais sees de controle de
programa montadas separadamente.
loader:

Ver carregador

load modulo:

Ver mdulo de carga

memria virtual: espao endere vel que parece ser, ao usurio, armazenamento
real, com base no qual instrues e dados so marcados para localizaes de
armazenamento real.
mdulo: Unidade de programa discreta e identific vel no tocante compilao, a
combinao com outras unidades e a carga. Por exemplo: a entrada (ou sada) de
um montador, um compilador ou uma rotina executiva.
mdulo de carga:
Programa ou parte de um programa, formado por um ou mais
mdulos objetos ou por outros mdulos de carga, disposto no formato adequado
para que o programa de controle o carregue na memria e seja executado pela CPU.
O mdulo de carga constitui a sada do montador.
mdulo objeto:
mdulo formado pela sada de um montador ou compilador e que
constitui a entrada para o carregador (loader). Um mdulo objeto consta de uma
ou mais sees de controle de forma relocaliz vel ou mvel, mas no execut vel,
e de dicion rios anexos de controle. Antes que possa ser executado no sistema,
ser processado pelo montador (assembler) ou carregador.
montador: Prepara ou elabora um programa em linguagem de m quina (linguagem objeto) partindo de um programa em linguagem simblica, substituindo, para tanto,
os cdigos de operao simblicos por cdigos de operao absolutos e os
endereos simblicos por endereos absolutos ou relocaliz veis.
MVS:

Multiple Virtual Storage. Um nome alternativo para o OS/VS2 Release 3.

on-line:
1. Termo que descreve o equipamento ou dispositivos perifricos que
operam sob o controle direto da unidade central de processamento, ou em
comunicao direta com ela. 2. Relativo possiblidade de que o usurio
desenvolva uma interao ou ao recproca com o computador. 3. Voc bulo que
qualifica uma parte do sistema conectada ao conjunto por meio de dispositivos
autom ticos de comando e de intercmbio de informaes. 4.
Em transmisso de
dados e em telegrafia, conceito que designa o estado em que se encontra o equipamento ou terminal quando efetua a transmisso direta por linha, ao invs de
perfurar, por exemplo, uma fita de papel para sua posterior transmisso.
OS/VS:
Operating System/Virtual Storage. Uma extenso comp tivel do sistema
operacional IBM System/360 que suporta realocao de hardware e facilidades de
controle do System/360.
partio:
1. Subdiviso da rea dinmica de memria que se atribui a uma etapa
de trabalho ou a uma tarefa do sistema operacional. 2. rea da memria
principal reservada para determinado programa e para os dados com que este pro-

Pag. 161
grama opera. 3. Nos sistemas que operam com multiprogramao com um nmero
de tarefas (MFT), rea da memria principal destinada a um trabalho (OS).

fixo

programa reentrante:
Programa que pode ser executado para efetuar de forma
concorrente cada uma das tarefas de um grupo e para produzir v rios conjuntos de
resultados independentes.
rede: 1. Srie de pontos conectados entre si por linhas ou canais
comunicao.
2.
Em
teleprocessamento, determinado nmero de linhas
comunicao que ligam o computador com terminais remotos. 3.
Interconexo
componentes eltricos. 4. Termo genrico que designa um conjunto de linhas
telecomunicao.

de
de
de
de

regio: 1. Subdiviso da rea ou memria dinmica atribuda a uma etapa de


trabalho ou a uma tarefa do sistema (OS). 2. rea contnua da memria
principal em que podem ser carregados segmentos independente das trajetrias
existentes em outras regi-es. 3. Na codificao relativa, grupo de endereos de
posio que se referem ao mesmo endereo de referncia especfica. 4. Grupo de
endereos de m quina que se referem a um endereo de base.
residente: 1. Pertencente ou relativo a um programa que reside de forma permanente na memria. 2. Nos sistemas dotados de memria virtual, denominao que
qualifica os programas que residem permanentemente na memria virtual.
rotina reentrante:
tarefas.

Rotina que pode ser usada concorrentemente por duas ou

mais

terminal remoto:
Uma unidade de controle de I/O e um ou mais dispositivos de
I/O ligados a um sistema por meio de uma unidade de controle de transmisso.
VSE:
VTAM:

Virtual Storage Extended.


Ver ACF/VTAM.

Você também pode gostar