Dicas de Cobol

  • Published on
    06-Sep-2015

  • View
    262

  • Download
    4

Embed Size (px)

DESCRIPTION

Curso de Cobol Mainframe.

Transcript

  • 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