Escolar Documentos
Profissional Documentos
Cultura Documentos
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
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:
*
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.
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.
termi-
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.
2.
3.
4.
5.
Pag. 20
6.
7.
8.
No se deve
(READ-ONLY)).
9.
usar
reas
STATICs
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
(Working
Storage)
no
deve
ultrapassar
de
Pag. 21
O N
E R R O R
S Y S T E M
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 :
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.
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:
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.".
|
-----------------------------------------------------------------------------
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.
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
Palavra chave que identifica a condio de exceo. Podem ser especificadas at 16 condies em UM NICO comando HANDLE
CONDITION em qualquer ordem.
argumento
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
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
o trmino da tarefa;
outro comando HANDLE CONDITION para essa mesma condio seja executado.
Pag. 33
H A N D L E
C O N D I T I O N
E R R O R
------------------------------------------------------------------------------
| 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
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)
-------------------------------------------------------------------------
|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:
*
Pag. 39
*
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;
Para resumir:
*
associado
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
*
Mtodos de Acesso
Comandos
-
RECEIVE
SEND
Pag. 41
R E C E I V E
Utilizado para
unidade lgica.
leitura
de
dados
no
------------------------------------------------------------------------------
| F o r m a t o
|
|
|
|
EXEC CICS RECEIVE
{ INTO
(data-area) / SET (pointer) }
|
|
LENGTH (data-area) ;
|
|
|
------------------------------------------------------------------------------
onde:
INTO (data-area)
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)
Pag. 43
Utilizando a opo SET podemos
tamanho da informao recebida:
1.
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.
---------------------------------------------------------------------------
|
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.
Pag. 44
Utilizando a opo INTO:
1.
---------------------------------------------------------------------------
|
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.
---------------------------------------------------------------------------
|
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
------------------------------------------------------------------------------
| F o r m a t o
|
|
|
|
EXEC CICS SEND
FROM
(data-area)
|
|
{ LENGTH (data-area) }
|
|
{ ERASE } ;
|
|
|
------------------------------------------------------------------------------
onde:
FROM (data-area)
LENGTH (data-area)
ERASE
Se
esta
opo
no
for especificada,
Assume-se o tamanho da informao armazenada
na vari vel especificada na opo FROM.
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:
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.
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.
*
ele
foi
carregado
na
memria
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.
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.
Comandos :
-
RETURN
LINK
XCTL
LOAD
RELEASE
RETURN TRANSID
ABEND
Pag. 52
R E T U R N
Utilizado para retornar o controle para:
*
------------------------------------------------------------------------------
| F o r m a t o
|
|
|
|
EXEC CICS RETURN;
|
|
|
------------------------------------------------------------------------------
Obs.:
------------------------------------------------------------------------------
|
------------------------------
-->--------------------
|
|
|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')
COMMAREA (data-area)
LENGTH (data-value)
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')
COMMAREA (data-area)
LENGTH (data-value)
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
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')
um
campo
alfanumrico
que
SET (pointer)
LENGTH (data-area)
HOLD
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 :
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')
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 :
*
Pag. 64
R E T U R N
T R A N S I D
------------------------------------------------------------------------------
| 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)).
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')
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
Exemplo 2
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.
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:
*
"pertencente"
ao
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
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:
*
*
*
terminal. Pode
de um destino
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
FROM (data-area)
especifica
os
dados
que
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
INTO (data-area)
SET (pointer)
Aponta
TD.
LENGTH (data-area)
para a
tamanho
dos
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
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
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
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
<'data-area' -
os
dados
de
uma
TS
sero
LENGTH (data-area)
<'data-area'
lidos.
BIN
FIXED(15)>
C o n d i o
dever
d e
-----------------------------------------------------------------------------
|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
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)>
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).
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.
2.
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:
*
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
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:
*
*
*
*
de
dado
precedido
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
FLD1A
FLD1F
FLD1I
FLD1O
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
ASSEMBLER
uma
instruo COPY para o conjunto
simblicos na Memria Dinmica.
de
mapas
de
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
SET (pointer) :
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
<'data-area'> dever
ser o mapa lgico do qual
extrados os dados a serem enviados para a tela.
sero
ERASE :
ALARM :
Soa o alarme do terminal (se o mecanismo de alarme do terminal estiver ligado) quando do envio do mapa a tela.
FREEKB :
MAPONLY :
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
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
Pag. 99
(1)
(2)
(3)
A primeira
NATURAL.
(4)
(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
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
-----------------------------------
|
|
|
-----------------------------------
|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
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
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
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
------------------------------------------------------------------------------
|
|
|
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
PF1 a PF24
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.
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
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.
2.
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: 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
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:
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:
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
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: