Escolar Documentos
Profissional Documentos
Cultura Documentos
Dicas de Cobol
Dicas de Cobol
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:
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.
Verso
Autor(es)
18/06/1997
1.0
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
Descrio
Verso original
TIME-OF-DAY
CURRENT-DATE
DIVERSOS
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
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.
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
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 " ".
CONFIGURATION SECTION.
SOURCE-COMPUTER. IBM-390 WITH DEBUGGING MODE.
.
.
DATA DIVISION.
.
.
WORKING-STORAGE SECTION.
01 TRACE-SWITCH PIC 9 VALUE ZERO.
88 TRACE-OFF VALUE 0.
88 TRACE-ON VALUE 1.
.
.
PROCEDURE DIVISION.
DECLARATIVES.
COBOL-DEBUG SECTION.
USE FOR DEBUGGING ON ALL PROCEDURES.
COBOL-DEBUG-PARA.
IF TRACE-ON
DISPLAY DEBUG-NAME
END-IF.
END DECLARATIVES.
.
.
PARAGRAPH-3.
.
.
MOVE 1 TO TRACE-SWITCH.
OU
TIME-OF-DAY
O OS/VS COBOL aceita o registro especial TIME-OF-DAY. Ele vlido somente quando
utilizado com a instruo MOVE. Possui tamanho de 6 bytes decimais no formato:
HHMMSS (hora, minuto, segundo)
Programas OS/VS COBOL com a estrutura abaixo devem ser alterados como se segue.
Cdigo no OS/VS COBOL.
77 HORA-EXEC PIC X(06).
.
.
MOVE TIME-OF-DAY TO HORA-EXEC.
Cdigo no COBOL for MVS.
77 HORA-EXEC PIC X(06).
.
.
MOVE FUNCTION CURRENT-DATE (9:6) TO HORA-EXEC.
DIVERSOS
Elementos
ASSIGN ... OR
Observaes
Para utilizar esta cusula no COBOL for MVS o OR deve ser
removido.
Para utilizar esta cusula no COBOL for MVS o integer deve ser
removido.
Clusula FILE-LIMIT do
pargrafo FILE-CONTROL
REMARKS
Instruo NOTE
Instruo ON
DIVERSOS
Elementos
Observaes
Instruo
MOVE CORRESPONDING
MOVE CORR GROUP-ITEM-A TO GROUP-ITEM-B
GROUP-ITEM-C.
DIVERSOS
Elementos
Registrador especial
Observaes
As regras para utilizao deste registrador especial so as mesmas.
Entretanto, o formato dos dados so diferentes.
WHEN-COMPILED
No OS/VS COBOL o formato :
hh.mm.ssMMM DD, YYYY (hora.minuto.segundoMES DIA,
ANO)
exemplo de utilizao:
01 DATA-COMPL PIC X(20).
.
.
MOVE WHEN-COMPILED TO DATA-COMPL.
DISPLAY PGM COMPILADO EM DATA-COMPL.
No COBOL for MVS o formato :
MM/DD/YYhh.mm.ss (MS/DIA/ANOhora.minuto.segundo)
exemplo de utilizao:
01 DATA-COMPL PIC X(16).
.
.
MOVE WHEN-COMPILED TO DATA-COMPL.
DISPLAY PGM COMPILADO EM DATA-COMPL.
NOTA:
No COBOL for MVS foi disponibilizado a funo WHENCOMPILED que fornece a mesma informao no formato
YYYYMMDDhhmmssccdhgmg
Onde:
YYYY = ANO
MM = MS
DD = DIA
hh = hora
mm = minuto
ss = segundo
cc = centsimo de segundo
d = sinal(+ ou -)
gh = diferena em horas ref. horrio de Greenwich
gm = diferena em minutos ref. horrio de Greenwich
exemplo de utilizao:
DISPLAY PGM COMPILADO EM
FUNCTION WHEN-COMPILED.
DIVERSOS
Elementos
Observaes
Instruo
NOTA:
Com o COBOL for MVS, channel skipping somente suportado com
referncia no SPECIAL-NAMES.
Clusula
VALUE
VALUE literal.
DIVERSOS
Elementos
Instruo MERGE
Instruo OPEN
Observaes
Permite vrios arquivos no GIVING.
Permite OPEN EXTEND para arquivos indexados e relativos.
No aceita as opes LEAVE, REREAD, DISP nem REVERSED.
Instruo SEARCH
Instruo SORT
Registrador especial
SORT-RETURN
16 - Erro no processamento.
No COBOL for MVS os cdigos de retorno do SORT so apenas:
00 - Processamento efetuado com sucesso
16 - Erro no processamento.
Instruo START
Instruo STRING
Instruo UNSTRING
Instruo WRITE
Instruo
INSPECT
DIVERSOS
Elementos
Observaes
Instruo
PERFORM
END-IF
END-PERFORM.
GOBACK.
TERMINADOR EXPLCITO
As instrues abaixo ganharam terminador explcito
ADD
END-ADD
CALL
END-CALL
COMPUTE
ND-COMPUTE
DELETE
END-DELETE
DIVIDE
END-DIVIDE
EVALUATE
END-EVALUATE
IF
END-IF
MULTIPLY
END-MULTIPLY
PERFORM
END-PERFORM
READ
END-READ
RETURN
END-RETURN
REWRITE
END-REWRITE
SEARCH
END-SEARCH
START
END-START
STRING
END-STRING
SUBTRACT
END-SUBTRACT
UNSTRING
END-UNSTRING
WRITE
END-WRITE
DIVERSOS
Elementos
Clusula
Observaes
Usado apenas em arquivos sequenciais.
PADDING CHARACTER
Clusula RECORD DELIMITER
Clusula EXTERNAL no FD
Clusula EXTERNAL na WS
Clusula GLOBAL na WS
DBCS
Frase
NOT
Instruo CONTINUE
Instruo TITLE
Item de dados
DAY-OF-WEEK
DIVERSOS
Elementos
Observaes
Instruo
EVALUATE
Ex.
EVALUATE TI-CMD
WHEN 'BMP '
PERFORM 2550-TRATAR-REGIOES
THRU 2550-TRATAR-REGIOES-FIM
WHEN 'DMPQ'
PERFORM 7000-TRATAR-DMPQ
THRU 7000-TRATAR-DMPQ-FIM
WHEN 'IMSC'
PERFORM 5000-TRATAR-IMSC
THRU 5000-TRATAR-IMSC-FIM
WHEN 'LINE'
PERFORM 3700-TRATAR-LINE
THRU 3700-TRATAR-LINE-FIM
WHEN 'MNUC'
PERFORM 4500-TRATAR-MNUC
THRU 4500-TRATAR-MNUC-FIM
WHEN 'MPP '
PERFORM 2550-TRATAR-REGIOES
THRU 2550-TRATAR-REGIOES-FIM
WHEN 'PSTO'
PERFORM 2500-TRATAR-PSTOP
THRU 2500-TRATAR-PSTOP-FIM
WHEN OTHER
MOVE '001E' TO NU-VAR-MSG
MOVE WK-AUX-HORA TO CA-VAR-MSG
PERFORM 9200-INSERIR-RESPOSTA
THRU 9200-INSERIR-RESPOSTA-FIM
END-EVALUATE.
Instruo
INITIALIZE
Funo Intrnsica
REGISTRADORES E ENDEREAMENTOS
O COBOL for MVS apresenta vrias novidades nesta rea,
algumas delas sero mostradas a seguir
Elementos
LENGTH OF
Observaes
Contm o nmero de bytes utilizados pr um campo
Ex.
MOVE LENGTH OF CAMPO-A TO CAMPO-B.
ADD LENGTH OF CAMPO-A TO CAMPO-C.
ADDRESS OF
POINTER
SET
MOVE
ANEXOS
Anexo 1 - QSAM - STATUS KEY
Status Key Values -- QSAM files
COBOL for MVS
OS/VS COBOL
Meaning
00
00
04
(undefined)
05
(undefined)
Successful completion
Successful completion
07
(undefined)
10
10
30
30
Permanent error
34
34
35
90
37
90
38
92
39
90
41
92
42
92
43
92
44
92
46
92
47
92
48
92
49
92
90
90
92
92
Logic error
96
90
OS/VS COBOL
Meaning
00
00
Successful completion
02
02
04
00
05
00
10
10
14
(undefined)
20
20
21
21
22
22
23
23
24
24
30
Permanent error
35
93 96
37
90
39
95
41
92
42
92
43
92
46
94
47
92
48
92
49
92
90
90
91
91
93
93
95
95
96
96
97
97
Table of Functions
FUNCTION-NAME
ARGUMENTS
TYPE
VALUE RETURNED
ACOS
N1
Arccosine of N1
ANNUITY
N1, I2
ASIN
N1
Arcsine of N1
ATAN
N1
Arctangent of N1
CHAR
I1
COS
N1
Cosine of N1
CURRENT-DATE
None
DATE-OF-INTEGER
I1
DAY-OF-INTEGER
I1
FACTORIAL
I1
Factorial of I1
INTEGER
N1
INTEGER-OF-DATE
I1
INTEGER-OF-DAY
I1
INTEGER-PART
N1
Integer part of N1
LENGTH
A1 or N1 or
X1
Length of argument
LOG
N1
Natural logarithm of N1
LOG10
N1
Logarithm to base 10 of N1
LOWER-CASE
A1 or X1
MAX
A1... or
I1... or
N1... or
X1...
MEAN
N1...
MEDIAN
N1...
Median of arguments
MIDRANGE
N1...
MIN
A1... or
I1... or
N1... or
X1...
MOD
I1,I2
I1 modulo I2
NUMVAL
X1
NUMVAL-C
X1 or
X1,X2
ORD
A1 or X1
ORD-MAX
A1... or
Random number
I1... or
N1...
N1... or
X1...
ORD-MIN
A1...or
N1... or
X1...
PRESENT-VALUE
N1
N2...
RANDOM
I1 or
none
RANGE
REM
N1,N2
Remainder of N1/N2
REVERSE
A1 or X1
SIN
N1
Sine of N1
SQRT
N1
Square root of N1
STANDARDDEVIATION
N1...
SUM
I1... or
N1...
TAN
N1
Tangent of N1
UPPER-CASE
A1 or X1
VARIANCE
N1...
Variance of arguments
WHEN-COMPILED
None
BIBLIOGRAFIA
CDIGO
GC26-4524
TTULO
IBM OS/VS COBOL TO VS COBOL II
Migration Guide
GC26-4764
SC26-4769
OS/VS COBOL
Meaning
00
00
04
(undefined)
05
(undefined)
Successful completion
Successful completion
07
(undefined)
10
10
30
30
Permanent error
34
34
35
90
37
90
38
92
39
90
41
92
42
92
43
92
44
92
46
92
47
92
48
92
49
92
90
90
92
92
Logic error
96
90
OS/VS COBOL
Meaning
00
00
Successful completion
02
02
04
00
05
00
10
10
14
(undefined)
20
20
21
21
22
22
23
23
24
24
30
30
Permanent error
35
93 96
37
90
39
95
41
92
42
92
43
92
46
94
47
92
48
92
49
92
90
90
91
91
93
93
95
95
96
96
97
97