View
271
Download
5
Embed Size (px)
DESCRIPTION
Curso de Cobol Mainframe.
Para consultar o significado de um cdigo de ABEND do CICS, basta executar no CICST a transao CMAC.
Ser exibida a tela mostrada em seguida, e o cdigo do ABEND deve ser informado no campo correspondente a "Message Number".
Teclando enter, ser exibida uma descrio do ABEND.
No exemplo abaixo, solicitamos a descrio do ABEND ASRA. A sada da transao sempre com PF3.
Resultado:
Elaborado por: Nei Teixeira
O recurso Temporary Storage (TS) do CICS extremamente til para que as aplicaes possam guardar dados temporrios.
natural esperar que tais dados, SENDO TEMPORRIOS, uma vez criados (WRITEQ TS), sejam posteriormente deletados pelas prprias aplicaes que os criaram. Assim, espera-se que estas sejam definidas/codificadas para identificar quando aqueles no mais so necessrios e emitam o comando CICS apropriado para liber-los (DELETEQ TS).
Isto se faz necessrio pois O RECURSO TS FINITO e, quando exaurido, causa um travamento do CICS, prejudicando TODAS as aplicaes.
Existem, entretanto, situaes de exceo onde a lgica das aplicaes interrompida (abends, queda do terminal) e as filas de TS associadas no so deletadas.
PARA TRATAR AS EXCEES existe nos nossos CICS's um processo que analisa as filas de TS e deleta as que no so referenciadas a mais do que um intervalo de tempo predefinido (15 minutos no ambiente de teste, 30 minutos no de produo).
APARENTEMENTE, a existncia deste processo tem causado uma certa acomodao nos construtores de nossas aplicaes CICS, levando-os a no incluir nestas o tratamento de dados temporrios obsoletos.
Utilizao de Current-Date em Cobol for MVS & VM Os programas codificados em Cobol for MVS & VM que precisam recuperar a data corrente do processamento, podem utilizar a FUNCTION CURRENT-DATE. Trata-se de uma funo interna que recupera a data e hora, sendo o ano com 4 posies, sem a necessidade de se fazer janelamento para tratar o ano 2000. Alm disso, possvel efetuar clculo de diferena entre dias corridos entre duas datas e avanar/retroceder dias em uma data (no considera feriados).
000016 01 WS-INICIO-WORKING.
000017 03 FILLER PIC X(040) VALUE
000018 '***** INICIO DA WORKING-STORAGE *****'.
000019 01 WS-CURRENT-DATE PIC 9(14).
000020 01 FILLER REDEFINES WS-CURRENT-DATE.
000021 03 WS-DATA PIC 9(08).
000022 03 WS-HORA PIC 9(06).
000023 01 WS-DAY-OF-INTEGER PIC S9(09).
000024 01 WS-INTEGER-OF-DAY PIC S9(09).
000025 01 WS-DT-INT PIC S9(09) VALUE ZEROS.
000026
000027 EJECT
000028 PROCEDURE DIVISION.
000029*
000030 MOVE FUNCTION CURRENT-DATE (1:14) TO WS-CURRENT-DATE.
Recupera as 14 primeiras posies da data corrente (data com 8 e hora com 6).
000031 DISPLAY 'DATA ' WS-DATA.
000032 DISPLAY 'HORA ' WS-HORA.
000033 DISPLAY 'SOMANDO 10 DIAS'.
000034 COMPUTE WS-DT-INT =
000035 FUNCTION INTEGER-OF-DATE (WS-DATA).
Transforma a data em formato interno.
000036 ADD 10 TO WS-DT-INT.
Soma 10 ao formato interno.
000037 COMPUTE WS-DATA =
000038 FUNCTION DATE-OF-INTEGER (WS-DT-INT).
Transforma a data de formato interno para a data correspondente.
000039 DISPLAY 'NOVA DATA ' WS-DATA.
000040*
000041 STOP RUN.
O resultado da execuo exibido abaixo:
DATA 20010514
HORA 152517
SOMANDO 10 DIAS
NOVA DATA 20010524
DATA 20000517
COBOL for MVS
Principais Diferenas
Revises
Data Verso Autor(es) Descrio
18/06/1997 1.0 Guillermo Gil Carral Verso original
ndice
COBOL for MVS
Principais Diferenas
OBJETIVO
Elementos de Linguagem no mais Implementados
Report Writer
Arquivos ISAM
Arquivos BDAM
Communication Feature
EXAMINE
EXHIBIT
EXHIBIT
READ TRACE / RESET TRACE
TRANSFORM
TIME-OF-DAY
CURRENT-DATE
D I V E R S O S
Elementos de Linguagem alterados
JUSTIFIED
MOVE CORRESPONDING
WHEN-COMPILED
WRITE AFTER POSITIONING
VALUE
SORT-RETURN
INSPECT
PERFORM
Elementos de Linguagem adicionados
TERMINADOR EXPLCITO
NOT
DAY-OF-WEEK
EVALUATE
INITIALIZE
Funo Intrnsica
REGISTRADORES E ENDEREAMENTOS
ANEXOS
Anexo 1 - QSAM - STATUS KEY
Anexo 2 - VSAM - STATUS KEY
Anexo 3 - Tabela de funes
BIBLIOGRAFIA
COBOL for MVS
Principais Diferenas
OBJETIVO
O objetivo deste documento visa apresentar, de forma prtica, as principais diferenas entre o COBOL
utilizado hoje na FININVEST (OS/VS COBOL) e o COBOL que vir a ser utilizado na empresa (COBOL for
MVS), de modo a facilitar e agilizar o processo de converso dos programas existentes e a confeco de
novos programas. Este documento no , nem pretende ser, um trabalho completo e sim um guia de referncia
para o COBOL. Logo este assunto no se esgota neste documento. Maiores detalhes sobre as diferenas entre
as duas verses do COBOL podem ser encontradas nos manuais especficos do produto, cuja bibliografia dos
manuais utilizados para confeco deste documento encontra-se ao final do mesmo.
Elementos de Linguagem no mais Implementados
Report Writer
No suportado pelo COBOL for MVS. necessrio um pr-compilador para migrar os
programas que o utilizem para o novo COBOL. Os itens da linguagem do Report Writer no
mais aceitos pelo novo COBOL so:
Instruo GENERATE
Instruo INITIATE
Registrador especial LINE-COUNTER
Registrador especial PAGE-COUNTER
Registrador especial PRINT-SWITCH
Clusula REPORT da entrada do FD
REPORT SECTION
Instruo TERMINATE
Declarao USE BEFORE REPORTING
Atribuio de nomes mneumnicos para literais no
numricos
Arquivos ISAM
O COBOL for MVS no suporta o processamento desses arquivos. Esses arquivos devem ser
convertidos para VSAM/KSDS. Os itens da linguagem do ISAM no mais aceitos pelo novo
COBOL so:
APPLY CORE-INDEX
APPLY REORG-CRITERIA
Clusula NOMINAL KEY
Clusula TRACK-AREA
Clusula USING KEY da
instruo START
Declarao de arquivos ISAM
Elementos de Linguagem no mais Implementados
Arquivos BDAM
O COBOL for MVS no suporta o processamento desses arquivos. Esses arquivos devem ser
convertidos para VSAM/RRDS. Os itens da linguagem do BDAM no mais aceitos pelo novo
COBOL so:
Clusula ACTUAL KEY
APPLY RECORD-OVERFLOW
Instruo SEEK
Clusula TRACK-LIMIT
Parmetros de organizao D, R,
W
Declarao de arquivos BDAM
Communication Feature
A Communication Feature no suportada pelo COBOL for MVS. Os programas de
comunicao (TCAM) devero utilizar outro "pacote" para executar as funes de
comunicao. Os itens da linguagem da Communication Feature no mais aceitos pelo
novo COBOL so:
Instruo ACCEPT MESSAGE COUNT [LANGLVL(1) ou
LANGLVL(2)]
COMMUNICATION SECTION
Instruo DISABLE
Instruo ENABLE
Instruo RECEIVE
Instruo SEND
EXAMINE
O COBOL for MVS no aceita a instruo EXAMINE, devendo ser substituda pela instruo
INSPECT. Entretanto, se a instruo no OS/VS COBOL for similar a seguinte:
EXAMINE DATA-LENGTH TALLYING UNTIL FIRST " ".
ela deve ser substituda no COBOL for MVS por:
MOVE 0 TO TALLY.
INSPECT DATA-LENGTH TALLYING FOR CHARACTERS BEFORE " ".
Elementos de Linguagem no mais Implementados
EXHIBIT
O COBOL for MVS no aceita a instruo EXHIBIT, deve ser substituda pela instruo
DISPLAY. Entretanto a instruo DISPLAY no cobre todas as funes da instruo
EXHIBIT.
A instruo EXHIBIT NAMED pode ser substituda diretamente pela instruo DISPLAY,
como se segue.
Cdigo no OS/VS COBOL.
77 DADO1 PIC X(08).
77 DADO2 PIC X(08).
EXHIBIT NAMED DADO1 DADO2.
Cdigo no COBOL for MVS.
DISPLAY "DADO1 = " DADO1 " DADO2 = " DADO2.
A instruo EXHIBIT CHANGED deve ser substituida pelas instrues IF e DISPLAY, como
se segue:
Cdigo no OS/VS COBOL.
77 DADO1 PIC X(08).
77 DADO2 PIC X(08).
EXHIBIT CHANGED DADO1 DADO2.
Cdigo no COBOL for MVS.
77 DADO1 PIC X(08).
77 DADO2 PIC X(08).
77 DADO1-ANT PIC X(08).
77 DADO2-ANT PIC X(08).
IF DADO1 NOT EQUAL DADO1-ANT
DISPLAY DADO1
END-IF.
IF DADO2 NOT EQUAL DADO2-ANT
DISPLAY DADO2
END-IF.
MOVE DADO1 TO DADO1-ANT.
MOVE DADO2 TO DADO2-ANT.
Elementos de Linguagem no mais Implementados
EXHIBIT
A instruo EXHIBIT CHANGED NAMED deve ser substituda pelas instrues IF e
DISPLAY, como se segue:
Cdigo no OS/VS COBOL.
77 DADO1 PIC X(08).
77 DADO2 PIC X(08).
EXHIBIT CHANGED NAMED DADO1 DADO2.
Cdigo no COBOL for MVS.
77 DADO1 PIC X(08).
77 DADO2 PIC X(08).
77 DADO1-ANT PIC X(08).
77 DADO2-ANT PIC X(08).
IF DADO1 NOT EQUAL DADO1-ANT
DISPLAY "DADO1 = " DADO1
END-IF.
IF DADO2 NOT EQUAL DADO2-ANT
DISPLAY "DADO2 = " DADO2
END-IF.
MOVE DADO1 TO DADO1-ANT.
MOVE DADO2 TO DADO2-ANT.
Elementos de Linguagem no mais Implementados
READ TRACE / RESET TRACE
O COBOL for MVS no aceita essas instrues. Funes similares podem ser executadas
utilizando a declarao de "debug" USE FOR DEBUGGING ON ALL PROCEDURES, como
exempli
Recommended
View more >