Escolar Documentos
Profissional Documentos
Cultura Documentos
Cobol
On-Line
Pgina 2 de 70
Pgina 3 de 70
TERMINAL
MID(MFS)
PROGRAMA
FORMATO
MOD(MFS)
FORMATO
Pgina 4 de 70
FMT
Indica para o MFS que este bloco trata-se de um FORMAT, ou seja, a rea que conter o
desenho da tela, juntamente com o posicionamento e atributos dos campos e literais.
DEV: Determina as informaes do terminal ou impressora utilizados.
TYPE=(3270,2)
TYPE=(3270P,2)
FEAT
FEAT=IGNOREFEAT=n
SYSMSG
DSCA
aparecer a tela.
DSCA=X00A0
DSCA=X00B0
PFK
Terminais
Tele-Impressoras
No soa bipe
Soa bipe
Pgina 5 de 70
LTH=n
Tamanho do campo
POS=(LL,CC)
ATTR
ALPHA
NUM
PROT
NOPROT
NORM
HI
NOMOD
MOD
DISP
NODISP
Atributo do campo/literal
Alfabtico (DEFAULT)
Numrico (p/ terminais inteligentes)
Protegido
No Protegido (DEFAULT)
Brilho Normal (DEFAULT)
Brilho Intenso
No modificvel (DEFAULT)
Modificvel
Disponvel (DEFAULT)
No disponvel
Pgina 6 de 70
Somente no MOD:
ATTR=YES: Informa que o campo receber atributo via programa. Neste caso o
LTH deve ser aumentado em 2 bytes, para comportar o contedo do atributo e
do campo
MSGEND: Indica o fim do bloco
END: Indica o termino da definio da tela.
Pgina 7 de 70
Pgina 8 de 70
Pgina 9 de 70
Pgina 10 de 70
01
IO-PCB.
03 IO-LTERM
03 FILLER
03 IO-STATUS
03 FILLER
03 IO-MODNAME
PIC
PIC
PIC
PIC
PIC
X(08).
X(02).
X(02).
X(12).
X(08).
ALT-PCB.
03 ALT-LTERM
03 FILLER
03 ALT-STATUS
03 FILLER
03 ALT-MODNAME
PIC
PIC
PIC
PIC
PIC
X(08).
X(02).
X(02).
X(12).
X(08).
IO-PCB: Ela representa o terminal lgico que enviou a mensagem de entrada para o programa,
e muda dinamicamente quando a mensagem de entrada recebida, pois deve possuir o nome do
terminal de cada mensagem. formada pelas seguintes reas:
IO-LTERM: Endereo do Terminal Lgico 8 bytes
IO-STATUS: Valorizado com o STATUS CODE que mostra o resultado de uma
chamada ao IMS. Contedo branco significa resultado OK, enquanto que QC significa que no
existem mais mensagens na fila para serem processadas.
IO-MODNAME: Contm o nome do MOD que est ativo.
Pgina 11 de 70
FLUXOGRAMA
ROTINA
PRINCIPAL
2
RECEBER
MENSAGEM
ENCERRAR
EXECUO
INICIALIZA
AREAS
CALL
GU
PROCESSA
TELA
TRATAR PFs
E ENTER
1 Looping Incondicional
2 Se IO-STATUS = QC
Pgina 12 de 70
ENVIAR
MENSAGEM
CALL
ISRT
Pgina 13 de 70
WRK-NOVA-OPCAO
WRK-OPCAO-ATUAL
PIC 9(02)
PIC 9(02)
VALUE ZEROS.
VALUE ZEROS.
01
01
01
01
01
01
WRK-GU
WRK-CHNG
WRK-ISRT
WRK-COD-USER
WRK-FUNCAO
WRK-TELA
PIC
PIC
PIC
PIC
PIC
PIC
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
X(04)
X(04)
X(04)
9(07)
X(04)
X(08)
'GU'.
'CHNG'.
'ISRT'.
ZEROS.
SPACES.
SPACES.
*---------------------------------------------------------------*
*
AREA UTILIZADA PELA POOL5000
*
*---------------------------------------------------------------*
01
WRK-MENSAGEM.
03 FILLER
03 WRK-TRANSACAO
03 FILLER
PIC X(04)
PIC X(08)
PIC X(1988)
VALUE SPACES.
VALUE SPACES.
VALUE SPACES.
01
01
WRK-COD-DEPTO
FILLER REDEFINES
03 FILLER
03 WRK-DEPTO-SENHAS
PIC 9(06)
WRK-COD-DEPTO.
PIC 9(02).
PIC 9(04).
VALUE ZEROS.
*---------------------------------------------------------------*
*
AREAS PARA POOL7600
*
*---------------------------------------------------------------*
01
DATA-HORA.
05 DT-JULIANA
05 DT-AAMMDD
05 DT-AAAAMMDD
05 TI-HHMMSS
05 TI-HHMMSSMMMMMM
05 WRK-TIMESTAMP
PIC
PIC
PIC
PIC
PIC
PIC
9(05)
9(07)
9(09)
9(07)
9(13)
X(20).
COMP-3.
COMP-3.
COMP-3.
COMP-3.
COMP-3.
*---------------------------------------------------------------*
*
AREAS AUXILIARES DE DATA
*
*---------------------------------------------------------------*
01
01
WRK-AAAAMMDD
WRK-AAAAMMDD-R
03 WRK-AAAA
03 WRK-MM
03 WRK-DD
REDEFINES
Pgina 14 de 70
WRK-DDMMAAAA.
03 WRK-DD
03 FILLER
03 WRK-MM
03 FILLER
03 WRK-AAAA
01 WRK-DDMMAAAA-R
REDEFINES
ZEROS.
'/'.
ZEROS.
'/'.
ZEROS.
*---------------------------------------------------------------*
*
TABELA CONTENDO O NOME DOS PGMS A SEREM CHAMADOS
*
*---------------------------------------------------------------*
01
FILLER.
03 TABELA.
05 FILLER
05 FILLER
05 FILLER
05 FILLER
05 FILLER
05 FILLER
03 TABELA-R
REDEFINES
05 TAB-PROGRAMA
'CBCL1710'.
'CBCL1510'.
'CBCL2010'.
'CBCL1570'.
'CBCL1810'.
'CBCL1910'.
TIMES.
*----------------------------------------------------------------*
*
AREA DE PASSAGEM DE CONTROLE
*
*----------------------------------------------------------------*
01
COMU-AREA.
03 COMU-LL
03 COMU-ZZ
03 COMU-TRANCODE
03 COMU-SENHAS
*----------------------------------------------------------------*
*
INCLUSAO DA POOL7100 - TRATA ERRO
*
*----------------------------------------------------------------*
-INC POL7100C
*----------------------------------------------------------------*
* DEFINICAO DA AREA PARA RET-CODE DIFERENTES DE ZEROS(POOL0660) *
*----------------------------------------------------------------*
01
WRK-ERRO-POOL0660.
05 FILLER
PIC
'* RETURN-CODE DIFERENTE DE
05 FILLER
PIC
'* RET.COD = '.
05 WRK-RETURN-CODE
PIC
05 FILLER
PIC
'LOCAL = '.
05 WRK-LOCAL-ERRO
PIC
Pgina 15 de 70
X(47)
VALUE
ZEROS NA POOL0660 *'.
X(12)
VALUE
9(02)BB.
X(08)
VALUE
9(02)
VALUE ZEROS.
WRK-49369
*----------------------------------------------------------------*
*
AREAS DE MENSAGENS
*
*----------------------------------------------------------------*
01
WRK-MSG00021
'PF INVALIDA'.
01
WRK-MSG00032
PIC X(79) VALUE
'DIGITE A OPCAO DESEJADA E TECLE <ENTER>'.
01
WRK-MSG00041
'OPCAO INVALIDA'.
01
WRK-MSG00099
PIC X(79) VALUE
'OPCAO NAO DISPONIVEL NO MOMENTO'.
*----------------------------------------------------------------*
*
TELA CBCLT150 - INPUT
*
*----------------------------------------------------------------*
01
INPUT-T150.
03 FILLER
03 INP-PFK-T150
03 INP-SENHAS-T150
03 INP-NVOP-T150
03 INP-DATA-T150
03 INP-OPCAO-T150.
05 INP-OPCAO-T150-R
PIC
PIC
PIC
PIC
PIC
X(18).
X(01).
X(37).
X(02).
X(10).
PIC
9(02).
*----------------------------------------------------------------*
*
TELA CBCLT150 - OUTPUT
*
*----------------------------------------------------------------*
01
OUTPUT-T150.
03 OUT-LL-T150
03 OUT-ZZ-T150
03 OUT-SENHAS-T150
03 OUT-NVOP-T150
03 OUT-DADOS-T150.
05 OUT-DATA-T150
05 OUT-OPCAO-ATTR-T150
05 OUT-OPCAO-T150.
07 OUT-OPCAO-T150-N
05 OUT-MENSAG-T150
Pgina 16 de 70
X(10).
9(04) COMP.
PIC
PIC
9(02).
X(79).
660-CBCLT150.
03 660-LL-AREA-T150
03 660-LL-MENSAGEM-T150
03 660-SENHAS-T150
03 660-NVOP-T150
03 660-DATA-T150
03 660-OPCAO-T150
03 600-MENSAG-T150
PIC
PIC
PIC
PIC
PIC
PIC
PIC
9(04)
9(04)
9(04)
9(04)
9(04)
9(04)
9(04)
COMP
COMP
COMP
COMP
COMP
COMP
COMP
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
0014.
0136.
0037.
1002.
0010.
2004.
0079.
*----------------------------------------------------------------*
LINKAGE SECTION.
*----------------------------------------------------------------*
01
01
IO-PCB.
03 IO-LTERM
03 FILLER
03 IO-STATUS
03 FILLER
03 IO-MODNAME
PIC
PIC
PIC
PIC
PIC
X(08).
X(02).
X(02).
X(12).
X(08).
ALT-PCB.
03 ALT-LTERM
03 FILLER
03 ALT-STATUS
03 FILLER
03 ALT-MODNAME
PIC
PIC
PIC
PIC
PIC
X(08).
X(02).
X(02).
X(12).
X(08).
*================================================================*
PROCEDURE DIVISION.
*================================================================*
ENTRY
'DLITCBL'
MOVE
WRK-GU
USING
TO
IO-PCB ALT-PCB
WRK-FUNCAO.
*----------------------------------------------------------------*
0000-OBTER-MENSAGEM SECTION.
*----------------------------------------------------------------*
CALL
'POOL5000'
USING
IF
RETURN-CODE EQUAL 04 OR 12
GOBACK.
PERFORM 1000-PROCESSAR-MENSAGEM
Pgina 17 de 70
WRK-FUNCAO
IO-PCB
ALT-PCB
WRK-MENSAGEM
WRK-TELA
WRK-NOVA-OPCAO
WRK-COD-USER
WRK-OPCAO-ATUAL
WRK-COD-DEPTO.
TO 0000-OBTER-MENSAGEM.
*----------------------------------------------------------------*
0000-99-FIM. EXIT.
*----------------------------------------------------------------*
EJECT
*----------------------------------------------------------------*
1000-PROCESSAR-MENSAGEM SECTION.
*----------------------------------------------------------------*
MOVE 'CBCLT150'
IF
TO
WRK-TELA
WRK-TRANSACAO
NOT EQUAL 'CBCL1500'
MOVE
WRK-MSG00032
TO
OUT-MENSAG-T150
ELSE
PERFORM 1100-PROCESSAR-CBCLT150.
IF
WRK-TELA
EQUAL 'CBCLT150'
PERFORM 1200-OBTER-DATA
PERFORM 1300-INSERIR-TELA.
*----------------------------------------------------------------*
1000-99-FIM. EXIT.
*----------------------------------------------------------------*
EJECT
*----------------------------------------------------------------*
1100-PROCESSAR-CBCLT150 SECTION.
*----------------------------------------------------------------*
MOVE
MOVE
IF
IF
IF
WRK-MENSAGEM
SPACES
TO
TO
INPUT-T150
OUT-DADOS-T150
INP-OPCAO-T150
NOT EQUAL SPACES
INSPECT INP-OPCAO-T150 REPLACING LEADING ' ' BY '0'.
INP-PFK-T150
EQUAL '*'
MOVE INP-OPCAO-T150
TO
OUT-OPCAO-T150
MOVE WRK-MSG00021
TO
OUT-MENSAG-T150
GO
TO
1100-99-FIM.
INP-PFK-T150
MOVE INP-OPCAO-T150
GO
EQUAL 'H'
TO
OUT-OPCAO-T150
TO
1100-99-FIM.
IF ((INP-OPCAO-T150
NOT NUMERIC
) OR
(INP-OPCAO-T150-R NOT EQUAL 01 AND 02 AND 03 AND
04 AND 05 AND 06
))
MOVE INP-OPCAO-T150
TO
OUT-OPCAO-T150
MOVE WRK-49369
TO
OUT-OPCAO-ATTR-T150
MOVE WRK-MSG00041
TO
OUT-MENSAG-T150
GO
TO
1100-99-FIM.
IF
PERFORM 1110-PASSAR-CONTROLE.
Pgina 18 de 70
01 AND 02 AND 03
OUT-OPCAO-T150
OUT-OPCAO-ATTR-T150
OUT-MENSAG-T150
1100-99-FIM.
TAB-PROGRAMA (INP-OPCAO-T150-R)
INP-SENHAS-T150
'CBCL1500'
COMU-AREA
WRK-CHNG
TO
TO
TO
TO
TO
WRK-TELA
COMU-SENHAS
COMU-TRANCODE
WRK-MENSAGEM
WRK-FUNCAO.
*----------------------------------------------------------------*
1110-99-FIM. EXIT.
*----------------------------------------------------------------*
EJECT
*----------------------------------------------------------------*
1200-OBTER-DATA SECTION.
*----------------------------------------------------------------*
CALL
'POOL7600'
USING DATA-HORA
MOVE
DT-AAAAMMDD
MOVE CORR WRK-AAAAMMDD-R
MOVE
WRK-DDMMAAAA-R
TO
TO
TO
WRK-AAAAMMDD
WRK-DDMMAAAA
OUT-DATA-T150.
*----------------------------------------------------------------*
1200-99-FIM. EXIT.
*----------------------------------------------------------------*
EJECT
*----------------------------------------------------------------*
1300-INSERIR-TELA SECTION.
*----------------------------------------------------------------*
CALL
'POOL0660'
IF
RETURN-CODE
NOT EQUAL
MOVE
'APL'
TO
MOVE
RETURN-CODE
TO
MOVE
1
TO
MOVE
WRK-ERRO-POOL0660
TO
PERFORM 9999-ROTINA-ERRO.
MOVE
MOVE
WRK-ISRT
OUTPUT-T150
USING
TO
TO
OUTPUT-T150
660-CBCLT150
ZEROS
ERR-TIPO-ACESSO
WRK-RETURN-CODE
WRK-LOCAL-ERRO
ERR-TEXTO
WRK-FUNCAO
WRK-MENSAGEM.
*----------------------------------------------------------------*
1300-99-FIM. EXIT.
*----------------------------------------------------------------*
EJECT
Pgina 19 de 70
'SENHAS02'
WRK-COD-USER
WRK-COD-DEPTO
'CBCL1500'
CALL
'POOL7100'
TO
TO
TO
TO
ERR-PGM
ERR-COD-USER
ERR-COD-DEPTO
ERR-MODULO
USING
IO-PCB
ERRO-AREA
ALT-PCB
GOBACK.
*----------------------------------------------------------------*
9999-99-FIM. EXIT.
*----------------------------------------------------------------*
Pgina 20 de 70
TELA
INPUT
OUTPUT
PROG1
COMU-AREA
TELA
INPUT
OUTPUT
PROG2
Pgina 21 de 70
Brilhante
Brilhante
Brilhante
Normal
Normal
Normal
Brilhante
Brilhante
Brilhante
Normal
Normal
Normal
Desprotegido
Desprotegido
Protegido
Desprotegido
Desprotegido
Protegido
Desprotegido
Desprotegido
Protegido
Desprotegido
Desprotegido
Protegido
Pgina 22 de 70
Cursor
Cursor
Cursor
Cursor
+49369
+217
+249
+49361
+209
+241
+49353
+201
+233
+49345
+193
+225
Pgina 23 de 70
Pgina 24 de 70
Pgina 25 de 70
WRK-NOVA-OPCAO
WRK-OPCAO-ATUAL
PIC 9(02)
PIC 9(02)
VALUE ZEROS.
VALUE ZEROS.
01
01
01
01
01
01
WRK-GU
WRK-CHNG
WRK-ISRT
WRK-COD-USER
WRK-FUNCAO
WRK-TELA
PIC
PIC
PIC
PIC
PIC
PIC
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
X(04)
X(04)
X(04)
9(07)
X(04)
X(08)
'GU'.
'CHNG'.
'ISRT'.
ZEROS.
SPACES.
SPACES.
*---------------------------------------------------------------*
*
AREA UTILIZADA PELA POOL5000
*
*---------------------------------------------------------------*
01
WRK-MENSAGEM.
03 FILLER
03 WRK-TRANSACAO
03 FILLER
PIC X(04)
PIC X(08)
PIC X(1988)
VALUE SPACES.
VALUE SPACES.
VALUE SPACES.
01
01
WRK-COD-DEPTO
FILLER REDEFINES
03 FILLER
03 WRK-DEPTO-SENHAS
PIC 9(06)
WRK-COD-DEPTO.
PIC 9(02).
PIC 9(04).
VALUE ZEROS.
*---------------------------------------------------------------*
*
AREAS PARA POOL7600
*
*---------------------------------------------------------------*
01
DATA-HORA.
05 DT-JULIANA
05 DT-AAMMDD
05 DT-AAAAMMDD
05 TI-HHMMSS
05 TI-HHMMSSMMMMMM
05 WRK-TIMESTAMP
PIC
PIC
PIC
PIC
PIC
PIC
9(05)
9(07)
9(09)
9(07)
9(13)
X(20).
COMP-3.
COMP-3.
COMP-3.
COMP-3.
COMP-3.
*---------------------------------------------------------------*
*
AREAS AUXILIARES DE DATA
*
*---------------------------------------------------------------*
01
01
WRK-AAAAMMDD
WRK-AAAAMMDD-R
03 WRK-AAAA
03 WRK-MM
03 WRK-DD
REDEFINES
Pgina 26 de 70
01
WRK-DDMMAAAA.
03 WRK-DD
03 FILLER
03 WRK-MM
03 FILLER
03 WRK-AAAA
WRK-DDMMAAAA-R
REDEFINES
ZEROS.
'/'.
ZEROS.
'/'.
ZEROS.
*---------------------------------------------------------------*
*
TABELA CONTENDO O NOME DOS PGMS A SEREM CHAMADOS
*
*---------------------------------------------------------------*
01
FILLER.
03 TABELA.
05 FILLER
05 FILLER
05 FILLER
05 FILLER
05 FILLER
05 FILLER
03 TABELA-R
REDEFINES
05 TAB-PROGRAMA
'CBCL1710'.
'CBCL1510'.
'CBCL2010'.
'CBCL1570'.
'CBCL1810'.
'CBCL1910'.
TIMES.
*----------------------------------------------------------------*
*
AREA DE PASSAGEM DE CONTROLE
*
*----------------------------------------------------------------*
01
COMU-AREA.
03 COMU-LL
03 COMU-ZZ
03 COMU-TRANCODE
03 COMU-SENHAS
*----------------------------------------------------------------*
*
INCLUSAO DA POOL7100 - TRATA ERRO
*
*----------------------------------------------------------------*
-INC POL7100C
*----------------------------------------------------------------*
* DEFINICAO DA AREA PARA RET-CODE DIFERENTES DE ZEROS(POOL0660) *
*----------------------------------------------------------------*
01
WRK-ERRO-POOL0660.
05 FILLER
PIC
'* RETURN-CODE DIFERENTE DE
05 FILLER
PIC
'* RET.COD = '.
05 WRK-RETURN-CODE
PIC
05 FILLER
PIC
'LOCAL = '.
05 WRK-LOCAL-ERRO
PIC
Pgina 27 de 70
X(47)
VALUE
ZEROS NA POOL0660 *'.
X(12)
VALUE
9(02)BB.
X(08)
VALUE
9(02)
VALUE ZEROS.
WRK-49369
*----------------------------------------------------------------*
*
AREAS DE MENSAGENS
*
*----------------------------------------------------------------*
01
WRK-MSG00021
'PF INVALIDA'.
01
WRK-MSG00032
PIC X(79) VALUE
'DIGITE A OPCAO DESEJADA E TECLE <ENTER>'.
01
WRK-MSG00041
'OPCAO INVALIDA'.
01
WRK-MSG00099
PIC X(79) VALUE
'OPCAO NAO DISPONIVEL NO MOMENTO'.
*----------------------------------------------------------------*
*
TELA CBCLT150 - INPUT
*
*----------------------------------------------------------------*
01
INPUT-T150.
03 FILLER
03 INP-PFK-T150
03 INP-SENHAS-T150
03 INP-NVOP-T150
03 INP-DATA-T150
03 INP-OPCAO-T150.
05 INP-OPCAO-T150-R
PIC
PIC
PIC
PIC
PIC
X(18).
X(01).
X(37).
X(02).
X(10).
PIC
9(02).
*----------------------------------------------------------------*
*
TELA CBCLT150 - OUTPUT
*
*----------------------------------------------------------------*
01
OUTPUT-T150.
03 OUT-LL-T150
03 OUT-ZZ-T150
03 OUT-SENHAS-T150
03 OUT-NVOP-T150
03 OUT-DADOS-T150.
05 OUT-DATA-T150
05 OUT-OPCAO-ATTR-T150
05 OUT-OPCAO-T150.
07 OUT-OPCAO-T150-N
05 OUT-MENSAG-T150
Pgina 28 de 70
X(10).
9(04) COMP.
PIC
PIC
9(02).
X(79).
660-CBCLT150.
03 660-LL-AREA-T150
03 660-LL-MENSAGEM-T150
03 660-SENHAS-T150
03 660-NVOP-T150
03 660-DATA-T150
03 660-OPCAO-T150
03 600-MENSAG-T150
PIC
PIC
PIC
PIC
PIC
PIC
PIC
9(04)
9(04)
9(04)
9(04)
9(04)
9(04)
9(04)
COMP
COMP
COMP
COMP
COMP
COMP
COMP
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
0014.
0136.
0037.
1002.
0010.
2004.
0079.
*----------------------------------------------------------------*
LINKAGE SECTION.
*----------------------------------------------------------------*
01
01
IO-PCB.
03 IO-LTERM
03 FILLER
03 IO-STATUS
03 FILLER
03 IO-MODNAME
PIC
PIC
PIC
PIC
PIC
X(08).
X(02).
X(02).
X(12).
X(08).
ALT-PCB.
03 ALT-LTERM
03 FILLER
03 ALT-STATUS
03 FILLER
03 ALT-MODNAME
PIC
PIC
PIC
PIC
PIC
X(08).
X(02).
X(02).
X(12).
X(08).
*================================================================*
PROCEDURE DIVISION.
*================================================================*
ENTRY
'DLITCBL'
MOVE
WRK-GU
USING
TO
IO-PCB ALT-PCB
WRK-FUNCAO.
*----------------------------------------------------------------*
0000-OBTER-MENSAGEM SECTION.
*----------------------------------------------------------------*
CALL
'POOL5000'
USING
IF
RETURN-CODE EQUAL 04 OR 12
GOBACK.
PERFORM 1000-PROCESSAR-MENSAGEM
GO
TO 0000-OBTER-MENSAGEM.
Pgina 29 de 70
WRK-FUNCAO
IO-PCB
ALT-PCB
WRK-MENSAGEM
WRK-TELA
WRK-NOVA-OPCAO
WRK-COD-USER
WRK-OPCAO-ATUAL
WRK-COD-DEPTO.
TO
WRK-TELA
WRK-TRANSACAO
NOT EQUAL 'CBCL1500'
MOVE
WRK-MSG00032
TO
OUT-MENSAG-T150
ELSE
PERFORM 1100-PROCESSAR-CBCLT150.
IF
WRK-TELA
EQUAL 'CBCLT150'
PERFORM 1200-OBTER-DATA
PERFORM 1300-INSERIR-TELA.
*----------------------------------------------------------------*
1000-99-FIM. EXIT.
*----------------------------------------------------------------*
EJECT
*----------------------------------------------------------------*
1100-PROCESSAR-CBCLT150 SECTION.
*----------------------------------------------------------------*
MOVE
MOVE
IF
IF
IF
WRK-MENSAGEM
SPACES
TO
TO
INPUT-T150
OUT-DADOS-T150
INP-OPCAO-T150
NOT EQUAL SPACES
INSPECT INP-OPCAO-T150 REPLACING LEADING ' ' BY '0'.
INP-PFK-T150
EQUAL '*'
MOVE INP-OPCAO-T150
TO
OUT-OPCAO-T150
MOVE WRK-MSG00021
TO
OUT-MENSAG-T150
GO
TO
1100-99-FIM.
INP-PFK-T150
MOVE INP-OPCAO-T150
GO
EQUAL 'H'
TO
OUT-OPCAO-T150
TO
1100-99-FIM.
IF ((INP-OPCAO-T150
NOT NUMERIC
) OR
(INP-OPCAO-T150-R NOT EQUAL 01 AND 02 AND 03 AND
04 AND 05 AND 06
))
MOVE INP-OPCAO-T150
TO
OUT-OPCAO-T150
MOVE WRK-49369
TO
OUT-OPCAO-ATTR-T150
MOVE WRK-MSG00041
TO
OUT-MENSAG-T150
GO
TO
1100-99-FIM.
IF
PERFORM 1110-PASSAR-CONTROLE.
Pgina 30 de 70
01 AND 02 AND 03
OUT-OPCAO-T150
OUT-OPCAO-ATTR-T150
OUT-MENSAG-T150
1100-99-FIM.
TAB-PROGRAMA (INP-OPCAO-T150-R)
INP-SENHAS-T150
'CBCL1500'
COMU-AREA
WRK-CHNG
TO
TO
TO
TO
TO
WRK-TELA
COMU-SENHAS
COMU-TRANCODE
WRK-MENSAGEM
WRK-FUNCAO.
*----------------------------------------------------------------*
1110-99-FIM. EXIT.
*----------------------------------------------------------------*
EJECT
*----------------------------------------------------------------*
1200-OBTER-DATA SECTION.
*----------------------------------------------------------------*
CALL
'POOL7600'
USING DATA-HORA
MOVE
DT-AAAAMMDD
MOVE CORR WRK-AAAAMMDD-R
MOVE
WRK-DDMMAAAA-R
TO
TO
TO
WRK-AAAAMMDD
WRK-DDMMAAAA
OUT-DATA-T150.
*----------------------------------------------------------------*
1200-99-FIM. EXIT.
*----------------------------------------------------------------*
EJECT
*----------------------------------------------------------------*
1300-INSERIR-TELA SECTION.
*----------------------------------------------------------------*
CALL
'POOL0660'
IF
RETURN-CODE
NOT EQUAL
MOVE
'APL'
TO
MOVE
RETURN-CODE
TO
MOVE
1
TO
MOVE
WRK-ERRO-POOL0660
TO
PERFORM 9999-ROTINA-ERRO.
MOVE
MOVE
WRK-ISRT
OUTPUT-T150
USING
TO
TO
OUTPUT-T150
660-CBCLT150
ZEROS
ERR-TIPO-ACESSO
WRK-RETURN-CODE
WRK-LOCAL-ERRO
ERR-TEXTO
WRK-FUNCAO
WRK-MENSAGEM.
*----------------------------------------------------------------*
1300-99-FIM. EXIT.
*----------------------------------------------------------------*
EJECT
Pgina 31 de 70
'SENHAS02'
WRK-COD-USER
WRK-COD-DEPTO
'CBCL1500'
CALL
'POOL7100'
TO
TO
TO
TO
ERR-PGM
ERR-COD-USER
ERR-COD-DEPTO
ERR-MODULO
USING
IO-PCB
ERRO-AREA
ALT-PCB
GOBACK.
*----------------------------------------------------------------*
9999-99-FIM. EXIT.
*----------------------------------------------------------------*
Pgina 32 de 70
OUTPUT-T150.
03 OUT-LL-T150
03 OUT-ZZ-T150
03 OUT-SENHAS-T150
03 OUT-NVOP-T150
03 OUT-DADOS-T150.
05 OUT-DATA-T150
05 OUT-OPCAO-ATTR-T150
05 OUT-OPCAO-T150.
07 OUT-OPCAO-T150-N
05 OUT-MENSAG-T150
X(10).
9(04) COMP.
PIC
PIC
9(02).
X(79).
*----------------------------------------------------------------*
* AREA DA POOL0660 COM MASCARA DA TELA CBCLT150 - SEGMENTO 00
*
*----------------------------------------------------------------*
01
660-CBCLT150.
03 660-LL-AREA-T150
03 660-LL-MENSAGEM-T150
03 660-SENHAS-T150
03 660-NVOP-T150
03 660-DATA-T150
03 660-OPCAO-T150
03 600-MENSAG-T150
PIC
PIC
PIC
PIC
PIC
PIC
PIC
9(04)
9(04)
9(04)
9(04)
9(04)
9(04)
9(04)
COMP
COMP
COMP
COMP
COMP
COMP
COMP
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
0014.
0136.
0037.
1002.
0010.
2004.
0079.
Pgina 33 de 70
Pgina 34 de 70
WRK-NOVA-OPCAO
WRK-OPCAO-ATUAL
PIC 9(02)
PIC 9(02)
VALUE ZEROS.
VALUE ZEROS.
01
01
01
01
01
01
WRK-GU
WRK-CHNG
WRK-ISRT
WRK-COD-USER
WRK-FUNCAO
WRK-TELA
PIC
PIC
PIC
PIC
PIC
PIC
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
X(04)
X(04)
X(04)
9(07)
X(04)
X(08)
'GU'.
'CHNG'.
'ISRT'.
ZEROS.
SPACES.
SPACES.
*---------------------------------------------------------------*
*
AREA UTILIZADA PELA POOL5000
*
*---------------------------------------------------------------*
01
01
01
WRK-MENSAGEM.
03 FILLER
03 WRK-TRANSACAO
03 FILLER
PIC X(04)
PIC X(08)
PIC X(1988)
VALUE SPACES.
VALUE SPACES.
VALUE SPACES.
WRK-COD-DEPTO
FILLER REDEFINES
03 FILLER
03 WRK-DEPTO-SENHAS
PIC 9(06)
WRK-COD-DEPTO.
PIC 9(02).
PIC 9(04).
VALUE ZEROS.
*---------------------------------------------------------------*
*
AREAS PARA POOL7600
*
*---------------------------------------------------------------*
01
DATA-HORA.
05 DT-JULIANA
05 DT-AAMMDD
05 DT-AAAAMMDD
05 TI-HHMMSS
05 TI-HHMMSSMMMMMM
05 WRK-TIMESTAMP
PIC
PIC
PIC
PIC
PIC
PIC
Pgina 35 de 70
9(05)
9(07)
9(09)
9(07)
9(13)
X(20).
COMP-3.
COMP-3.
COMP-3.
COMP-3.
COMP-3.
WRK-AAAAMMDD
WRK-AAAAMMDD-R
03 WRK-AAAA
03 WRK-MM
03 WRK-DD
01
WRK-DDMMAAAA.
03 WRK-DD
03 FILLER
03 WRK-MM
03 FILLER
03 WRK-AAAA
WRK-DDMMAAAA-R
01
REDEFINES
REDEFINES
ZEROS.
'/'.
ZEROS.
'/'.
ZEROS.
*---------------------------------------------------------------*
*
TABELA CONTENDO O NOME DOS PGMS A SEREM CHAMADOS
*
*---------------------------------------------------------------*
01
FILLER.
03 TABELA.
05 FILLER
05 FILLER
05 FILLER
05 FILLER
05 FILLER
05 FILLER
03 TABELA-R
REDEFINES
05 TAB-PROGRAMA
'CBCL1710'.
'CBCL1510'.
'CBCL2010'.
'CBCL1570'.
'CBCL1810'.
'CBCL1910'.
TIMES.
*----------------------------------------------------------------*
*
AREA DE PASSAGEM DE CONTROLE
*
*----------------------------------------------------------------*
01
COMU-AREA.
03 COMU-LL
03 COMU-ZZ
03 COMU-TRANCODE
03 COMU-SENHAS
*----------------------------------------------------------------*
*
INCLUSAO DA POOL7100 - TRATA ERRO
*
*----------------------------------------------------------------*
-INC POL7100C
Pgina 36 de 70
WRK-ERRO-POOL0660.
05 FILLER
PIC
'* RETURN-CODE DIFERENTE DE
05 FILLER
PIC
'* RET.COD = '.
05 WRK-RETURN-CODE
PIC
05 FILLER
PIC
'LOCAL = '.
05 WRK-LOCAL-ERRO
PIC
X(47)
VALUE
ZEROS NA POOL0660 *'.
X(12)
VALUE
9(02)BB.
X(08)
VALUE
9(02)
VALUE ZEROS.
*---------------------------------------------------------------*
*
DEFINICAO DE ATRIBUTOS
*
*---------------------------------------------------------------*
01
WRK-49369
*----------------------------------------------------------------*
*
AREAS DE MENSAGENS
*
*----------------------------------------------------------------*
01
WRK-MSG00021
'PF INVALIDA'.
01
WRK-MSG00032
PIC X(79) VALUE
'DIGITE A OPCAO DESEJADA E TECLE <ENTER>'.
01
WRK-MSG00041
'OPCAO INVALIDA'.
01
WRK-MSG00099
PIC X(79) VALUE
'OPCAO NAO DISPONIVEL NO MOMENTO'.
*----------------------------------------------------------------*
*
TELA CBCLT150 - INPUT
*
*----------------------------------------------------------------*
01
INPUT-T150.
03 FILLER
03 INP-PFK-T150
03 INP-SENHAS-T150
03 INP-NVOP-T150
03 INP-DATA-T150
03 INP-OPCAO-T150.
05 INP-OPCAO-T150-R
Pgina 37 de 70
PIC
PIC
PIC
PIC
PIC
X(18).
X(01).
X(37).
X(02).
X(10).
PIC
9(02).
OUTPUT-T150.
03 OUT-LL-T150
03 OUT-ZZ-T150
03 OUT-SENHAS-T150
03 OUT-NVOP-T150
03 OUT-DADOS-T150.
05 OUT-DATA-T150
05 OUT-OPCAO-ATTR-T150
05 OUT-OPCAO-T150.
07 OUT-OPCAO-T150-N
05 OUT-MENSAG-T150
X(10).
9(04) COMP.
PIC
PIC
9(02).
X(79).
*----------------------------------------------------------------*
* AREA DA POOL0660 COM MASCARA DA TELA CBCLT150 - SEGMENTO 00
*
*----------------------------------------------------------------*
01
660-CBCLT150.
03 660-LL-AREA-T150
03 660-LL-MENSAGEM-T150
03 660-SENHAS-T150
03 660-NVOP-T150
03 660-DATA-T150
03 660-OPCAO-T150
03 600-MENSAG-T150
PIC
PIC
PIC
PIC
PIC
PIC
PIC
9(04)
9(04)
9(04)
9(04)
9(04)
9(04)
9(04)
COMP
COMP
COMP
COMP
COMP
COMP
COMP
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
0014.
0136.
0037.
1002.
0010.
2004.
0079.
*----------------------------------------------------------------*
LINKAGE SECTION.
*----------------------------------------------------------------*
01
01
IO-PCB.
03 IO-LTERM
03 FILLER
03 IO-STATUS
03 FILLER
03 IO-MODNAME
PIC
PIC
PIC
PIC
PIC
X(08).
X(02).
X(02).
X(12).
X(08).
ALT-PCB.
03 ALT-LTERM
03 FILLER
03 ALT-STATUS
03 FILLER
03 ALT-MODNAME
PIC
PIC
PIC
PIC
PIC
X(08).
X(02).
X(02).
X(12).
X(08).
Pgina 38 de 70
'DLITCBL'
MOVE
WRK-GU
USING
IO-PCB ALT-PCB
TO
WRK-FUNCAO.
*----------------------------------------------------------------*
0000-OBTER-MENSAGEM SECTION.
*----------------------------------------------------------------*
CALL
'POOL5000'
USING
WRK-FUNCAO
IO-PCB
ALT-PCB
WRK-MENSAGEM
WRK-TELA
WRK-NOVA-OPCAO
WRK-COD-USER
WRK-OPCAO-ATUAL
WRK-COD-DEPTO.
IF
RETURN-CODE EQUAL 04 OR 12
GOBACK.
PERFORM 1000-PROCESSAR-MENSAGEM
GO
TO 0000-OBTER-MENSAGEM.
*----------------------------------------------------------------*
0000-99-FIM. EXIT.
*----------------------------------------------------------------*
EJECT
*----------------------------------------------------------------*
1000-PROCESSAR-MENSAGEM SECTION.
*----------------------------------------------------------------*
MOVE 'CBCLT150'
IF
TO
WRK-TELA
WRK-TRANSACAO
NOT EQUAL 'CBCL1500'
MOVE
WRK-MSG00032
TO
OUT-MENSAG-T150
ELSE
PERFORM 1100-PROCESSAR-CBCLT150.
IF
WRK-TELA
EQUAL 'CBCLT150'
PERFORM 1200-OBTER-DATA
PERFORM 1300-INSERIR-TELA.
*----------------------------------------------------------------*
1000-99-FIM. EXIT.
*----------------------------------------------------------------*
EJECT
Pgina 39 de 70
WRK-MENSAGEM
SPACES
TO
TO
INPUT-T150
OUT-DADOS-T150
IF
INP-OPCAO-T150
NOT EQUAL SPACES
INSPECT INP-OPCAO-T150 REPLACING LEADING ' ' BY '0'.
INP-PFK-T150
EQUAL '*'
MOVE INP-OPCAO-T150
TO
OUT-OPCAO-T150
MOVE WRK-MSG00021
TO
OUT-MENSAG-T150
GO
TO
1100-99-FIM.
IF
INP-PFK-T150
MOVE INP-OPCAO-T150
GO
EQUAL 'H'
TO
OUT-OPCAO-T150
TO
1100-99-FIM.
IF ((INP-OPCAO-T150
NOT NUMERIC
) OR
(INP-OPCAO-T150-R NOT EQUAL 01 AND 02 AND 03 AND
04 AND 05 AND 06
))
MOVE INP-OPCAO-T150
TO
OUT-OPCAO-T150
MOVE WRK-49369
TO
OUT-OPCAO-ATTR-T150
MOVE WRK-MSG00041
TO
OUT-MENSAG-T150
GO
TO
1100-99-FIM.
IF
01 AND 02 AND 03
OUT-OPCAO-T150
OUT-OPCAO-ATTR-T150
OUT-MENSAG-T150
1100-99-FIM.
PERFORM 1110-PASSAR-CONTROLE.
*----------------------------------------------------------------*
1100-99-FIM. EXIT.
*----------------------------------------------------------------*
EJECT
*----------------------------------------------------------------*
1110-PASSAR-CONTROLE SECTION.
*----------------------------------------------------------------*
MOVE
MOVE
MOVE
MOVE
MOVE
TAB-PROGRAMA (INP-OPCAO-T150-R)
INP-SENHAS-T150
'CBCL1500'
COMU-AREA
WRK-CHNG
TO
TO
TO
TO
TO
WRK-TELA
COMU-SENHAS
COMU-TRANCODE
WRK-MENSAGEM
WRK-FUNCAO.
*----------------------------------------------------------------*
1110-99-FIM. EXIT.
*----------------------------------------------------------------*
EJECT
Pgina 40 de 70
'POOL7600'
USING DATA-HORA
MOVE
DT-AAAAMMDD
MOVE CORR WRK-AAAAMMDD-R
MOVE
WRK-DDMMAAAA-R
TO
TO
TO
WRK-AAAAMMDD
WRK-DDMMAAAA
OUT-DATA-T150.
*----------------------------------------------------------------*
1200-99-FIM. EXIT.
*----------------------------------------------------------------*
EJECT
*----------------------------------------------------------------*
1300-INSERIR-TELA SECTION.
*----------------------------------------------------------------*
CALL
'POOL0660'
IF
RETURN-CODE
NOT EQUAL
MOVE
'APL'
TO
MOVE
RETURN-CODE
TO
MOVE
1
TO
MOVE
WRK-ERRO-POOL0660
TO
PERFORM 9999-ROTINA-ERRO.
MOVE
MOVE
USING
WRK-ISRT
OUTPUT-T150
OUTPUT-T150
660-CBCLT150
ZEROS
ERR-TIPO-ACESSO
WRK-RETURN-CODE
WRK-LOCAL-ERRO
TO
TO
ERR-TEXTO
WRK-FUNCAO
WRK-MENSAGEM.
*----------------------------------------------------------------*
1300-99-FIM. EXIT.
*----------------------------------------------------------------*
EJECT
*----------------------------------------------------------------*
9999-ROTINA-ERRO SECTION.
*----------------------------------------------------------------*
MOVE
MOVE
MOVE
MOVE
'SENHAS02'
WRK-COD-USER
WRK-COD-DEPTO
'CBCL1500'
CALL
'POOL7100'
TO
TO
TO
TO
ERR-PGM
ERR-COD-USER
ERR-COD-DEPTO
ERR-MODULO
USING
IO-PCB
ERRO-AREA
ALT-PCB
GOBACK.
*----------------------------------------------------------------*
9999-99-FIM. EXIT.
*----------------------------------------------------------------*
Pgina 41 de 70
Pgina 42 de 70
Bytes 1 e 2: reserva.
Bytes de 3 a 6: Indica o departamento do usurio.
Pgina 43 de 70
Pgina 44 de 70
Bytes 1 e 2: reserva.
Bytes de 3 a 6: Indica o departamento do usurio.
Pgina 45 de 70
Inicializa
reas
Processa
Tela 1
S
Enviar
Tela
N
Trata
Fase 1
Trata
Fase 2
Trata PF
E Enter
Trata PF
E Enter
1 Looping Incondicional
2 Fase 1
Pgina 46 de 70
N
1
Call
POOL5000
Inicializa
reas
Recebe
Controle
Processa
Telas
S
Enviar
Tela
Processa
Tela 1
Processa
Tela 2
4
S
Processa
Fase 1
Trata PF
E Enter
4
N
Processa
Fase 2
Processa
Fase 1
Processa
Fase 2
Trata PF
E Enter
Trata PF
E Enter
Trata PF
E Enter
1 Looping Incondicional
2 Trancode diferente do nome do programa
3 IO-MODNAME = Tela 1
4 Fase = 1
Pgina 47 de 70
Restart Direto:
Efetuamos este tipo de restart, quando temos os campos mostrados na tela
ordenados por alguma chave nica constante da tabela.
Para que possamos efetuar este tipo de restart devemos manter em campos
escondidos na tela, a chave da primeira ocorrncia da tela atual (para
efetuarmos o retrocesso), a chave da primeira ocorrncia da tela posterior
(para efetuarmos o avano de pgina), um campo de controle informando se
primeira pgina e um campo de controle informando se ltima pgina.
Com os dados guardados da tela, trabalharemos com cursores (DB2)
separados, um tratando o retrocesso e o outro tratando o avano de paginas.
XXT000 FMT
DEV TYPE=(3270,2),FEAT=IGNORE,SYSMSG=MENSAG,DSCA=X'00A0',
Pgina 48 de 70
.',
Com isto, estaremos informando ao IMS, qual o programa a ser chamado (HELP6100) e
tambm mais um contedo (NNNN), que a identificao do programa que chamou o sistema de
help. Esta informao ser utilizada pelo sistema de help para identificar qual foi o programa que
chamou a ele, e posteriormente, devolver-lhe o controle.
Estas informaes, sero passadas como uma mensagem normal de tela, ou seja, todos os
campos definidos no MID da tela tambm iro e sero guardados pelo sistema de help.
Outro alterao que devemos efetuar, se refere ao retorno da tela do sistema de help, pois
aps ter consultado as informaes desejadas, o usurio tem de retornar a sua tela original para
continuar trabalhando.
O tratamento deste retorno, se faz com alteraes no programa chamador e no na tela, pois
o sistema de help retornar ao programa indicado na definio da pf de help, como descrito
acima.
Estas alteraes consistem basicamente no retorno das informaes que se encontravam na
tela anteriormente ao acionamento da pf de help, inclusive com seus atributos.
As informaes retornadas ao programa chamador estaro formatadas como se fosse sido
teclada alguma pf ou enter diretamente na tela principal. Devido a isto, utilizamos em nosso
programa a mesma rea de input da tela principal para receber os dados retornados do sistema
de help.
Como recebemos nesta mesma rea de input, poderemos identificar que ocorreu o retorno do
help verificando se o contedo do campo pf est com H.
Caso esteja, deveremos apenas movimentar os campos de input para os campos de output da
tela.
Porm, temos um pequeno problema. O IMS no navega os atributos que estavam na tela
original quando foi acionado o help.
Para sanarmos isto, foi adotado um padro interno na , que consiste dos seguintes
procedimentos:
- Dever ser definida uma tabela interna para os atributos utilizados no
programa (geralmente no sero utilizados mais que nove atributos
diferentes);
- Dever ser definido um campo protegido, modificvel e invisvel na tela que
ir armazenar um valor que representar o atributo atual de cada campo da
tela que pode ter o atributo original alterado. O tamanho deste campo se
dar pela quantidade de campos da tela que podem ter seu atributo alterado,
pois cada um representar um byte do campo escondido;
No programa, quando estivermos alterando um atributo de algum campo da
tela, deveremos carregar qual a posio deste atributo na tabela interna, pois
ele servir de indexador no processo de remontagem da tela quando do
retorno do help;
- Quando retornamos do help e efetuamos a remontagem da tela, apenas
moveremos o atributo indexado do contedo do campo escondido (relativo ao
campo da tela que estamos tratando).
Com isto, retornaremos a tela exatamente como se encontrava quando do acionamento da pf
de help.
Pgina 49 de 70
Pgina 50 de 70
Pgina 51 de 70
Pgina 52 de 70
Chamador
PF4
Mdulo de
Impresso
PAGINA 1
ContParm = 4
Fazer Item 1
PAGINA 2
ContParm = 3
Fazer Item 1
PAGINA 3
ContParm = 3
Fazer Item 1
PAGINA 4
ContParm = 3
Fazer Item 1
Pgina 53 de 70
Pgina 54 de 70
Pgina 55 de 70
Programa Exemplo:
*---------------------------------------------------------------*
IDENTIFICATION DIVISION.
*---------------------------------------------------------------*
PROGRAM-ID. CURS9999.
AUTHOR.
XXXXXX.
*---------------------------------------------------------------*
*
*
*---------------------------------------------------------------*
*
*
*
PROGRAMA
: CURS9999
*
*
PROGRAMADOR :
*
*
ANALISTA
:
*
*
DATA
:
*
*
*
*
OBJETIVO
: RELACAO DOS PRODUTOS CADASTRADOS
*
*
*
*---------------------------------------------------------------*
Pgina 56 de 70
WRK-ISRT
WRK-CHNG
WRK-CONTPARM
WRK-MODNAME
WRK-IND
WRK-IND1
WRK-PAGINA
WRK-MODULO
WRK-FIM-C1
WRK-DESPREZA
WRK-0430-AGENCIA
WRK-0430-DIGITO
WRK-PAGINA-EDIT
PIC
PIC
PIC
PIC
PIC
PIC
PIC
PIC
PIC
PIC
PIC
PIC
PIC
X(04)
VALUE 'ISRT'.
X(04)
VALUE 'CHNG'.
9(05) COMP VALUE ZEROS.
X(08)
VALUE SPACES.
9(09)
VALUE ZEROS.
9(09)
VALUE ZEROS.
9(05)
VALUE ZEROS.
X(08)
VALUE SPACES.
X(01)
VALUE SPACES.
9(09)
VALUE ZEROS.
9(15)
VALUE ZEROS.
X(01)
VALUE SPACES.
999.
01
WRK-AUX-CONTA.
03 FILLER
03 WRK-CONTA
PIC
PIC
X(17)
9(13)
VALUE ZEROS.
VALUE ZEROS.
WRK-0428-AREA.
03 WRK-0428-VERSAO
03 WRK-0428-MENSAGEM
03 WRK-0428-BANCO
03 WRK-0428-AGENCIA
03 WRK-0428-DIG-AGENCIA
03 WRK-0428-CONTA
03 WRK-0428-DIG-CONTA
PIC
PIC
PIC
PIC
PIC
PIC
PIC
X(06)
X(83)
9(05)
9(05)
X(02)
X(30)
X(02)
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
WRK-DETALHE.
03 WRK-DET-PRODUTO
03 FILLER
03 WRK-DET-DESCRICAO
PIC
PIC
PIC
9(05)
X(07)
X(45)
01
01
SPACES.
SPACES.
ZEROS.
ZEROS.
SPACES.
SPACES.
SPACES.
VALUE ZEROS.
VALUE SPACES.
VALUE SPACES.
*---------------------------------------------------------------*
*
AREA USADA PARA COMUNICACAO COM O MODULO CLIB1000
*
*---------------------------------------------------------------*
01
WRK-CLIB-AREA-ENTRADA.
03 WRK-CLIB-TRANSACAO
03 WRK-CLIB-VERSAO
03 WRK-CLIB-PRODUTO
03 WRK-CLIB-AREA-TRABALHO.
05 WRK-CLIB-BANCO
05 WRK-CLIB-AGENCIA
05 WRK-CLIB-CONTA
05 WRK-CLIB-FILLER
PIC
PIC
PIC
PIC
PIC
PIC
PIC
Pgina 57 de 70
WRK-CLIB-AREA-SAIDA.
03 WRK-CLIB-COD-RETORNO
PIC
03 WRK-CLIB-MENSAGEM-SAIDA PIC
-INC I#CLIB20
*---------------------------------------------------------------*
*** DEFINICAO DA AREA PARA RET-CODE DIFERENTES DE ZEROS(POOL0660)
*---------------------------------------------------------------*
01
WRK-ERRO-POOL0660.
03 FILLER
PIC X(47)
VALUE
'* RETURN-CODE DIFERENTE DE ZEROS NA POOL0660 *'.
03 FILLER
PIC X(12)
VALUE
'* RET.COD = '.
03 WRK-RETURN-CODE
PIC 9(02)BB.
03 FILLER
PIC X(08)
VALUE
'LOCAL = '.
03 WRK-LOCAL-ERRO
PIC 9(02)
VALUE ZEROS.
*---------------------------------------------------------------*
*
TELA CURSP999
- SEGMENTO 00 - OUTPUT
*
*---------------------------------------------------------------*
01
OUTPUT-P999-SEG00.
03 OUT-LL-P999
03 OUT-ZZ-P999
03 OUT-DADOS-P999.
05 OUT-PAGINA-P999
05 OUT-BANCO-P999
05 OUT-AGENC-P999
05 OUT-DGAGE-P999
05 OUT-CONTA-P999
05 OUT-DGCTA-P999
05 OUT-NOME-P999
05 OUT-SEG00-P999.
07 OUT-TABELA-P999
09 OUT-DET1-P999
X(03).
X(05).
X(05).
X(01).
X(13).
X(02).
X(20).
OCCURS 25 TIMES.
PIC X(57).
*---------------------------------------------------------------*
*
TELA CURSP999
- SEGMENTO 01 - OUTPUT
*
*---------------------------------------------------------------*
01
OUTPUT-P999-SEG01.
03 OUT-LL-P999
03 OUT-ZZ-P999
03 OUT-SEG01-P999.
05 OUT-TABELA1-P999
07 OUT-DET2-P999
Pgina 58 de 70
660-CURSP999-SEG00.
03 660-LL-AREA-P999
03 660-LL-MENSAGEM-P999
03 660-PAGINA-P999
03 660-BANCO-P999
03 660-AGENC-P999
03 660-DGAGE-P999
03 660-CONTA-P999
03 660-DGCTA-P999
03 660-NOME-P999
03 660-TABELA-SEG00-P999
05 660-DET1-P999
0068.
1478.
1003.
1005.
1005.
1001.
1013.
1002.
1020.
1057.
*---------------------------------------------------------------*
*
AREA DA POOL0660 COM MASCARA DA TELA CURSP999 - SEGMENTO 01 *
*---------------------------------------------------------------*
01
660-CURSP999-SEG01.
03 660-LL-AREA-P999
03 660-LL-MENSAGEM-P999
03 660-TABELA-SEG01-P999
05 660-DET2-P999
PIC 9(04)
PIC 9(04)
OCCURS 25
PIC 9(04)
*----------------------------------------------------------------*
*
INCLUSAO DA POOL7100 - TRATA ERRO
*
*----------------------------------------------------------------*
-INC POL7100C
*----------------------------------------------------------------*
*
TABELAS DB2
*
*----------------------------------------------------------------*
EXEC SQL
INCLUDE
END-EXEC.
SQLCA
EXEC SQL
INCLUDE
END-EXEC.
CURSB038
EXEC SQL
INCLUDE
END-EXEC.
CEFIB014
EXEC SQL
DECLARE C1 CURSOR FOR
SELECT A.CPRODT_CURSS_CLI,
B.IFUNDO_CURSS
FROM DB2PRD.CAD_CLI_CTCIA
DB2PRD.FUNDO_CURSS
WHERE A.CBCO
=
AND A.CAG_BCRIA
=
AND A.CCTA_BCRIA_CLI
=
AND A.CPRODT_CURSS_CLI =
ORDER BY A.CPRODT_CURSS_CLI
END-EXEC.
A,
B
:CURSB038.CBCO
:CURSB038.CAG-BCRIA
:CURSB038.CCTA-BCRIA-CLI
B.CFUNDO_CURSS
Pgina 59 de 70
01
01
IO-PCB.
03 IO-LTERM
03 FILLER
03 IO-STATUS
03 FILLER
03 IO-MODNAME
PIC
PIC
PIC
PIC
PIC
X(08).
X(02).
X(02).
X(12).
X(08).
ALT-PCB.
03 ALT-LTERM
03 FILLER
03 ALT-STATUS
03 FILLER
03 ALT-MODNAME
PIC
PIC
PIC
PIC
PIC
X(08).
X(02).
X(02).
X(12).
X(08).
WRK-IMP-AREA.
03 WRK-IMP-COD-RETORNO
03 WRK-IMP-IMPRESSORA
03 WRK-IMP-USUARIO-SENHAS
03 WRK-IMP-DEPTO-SENHAS
03 WRK-IMP-PAGINA
03 WRK-IMP-BANCO
03 WRK-IMP-AGENCIA
03 WRK-IMP-CONTA-CORRENTE
03 WRK-IMP-PRODUTO
03 WRK-IMP-DATA-MOVTO
PIC
PIC
PIC
PIC
PIC
PIC
PIC
PIC
PIC
PIC
9(01).
X(08).
X(07).
X(06).
9(04).
9(05).
9(05).
9(13).
9(05).
X(10).
*----------------------------------------------------------------*
PROCEDURE DIVISION USING IO-PCB ALT-PCB WRK-IMP-AREA.
*----------------------------------------------------------------*
*----------------------------------------------------------------*
000000-INICIAR SECTION.
*----------------------------------------------------------------*
MOVE ZEROS
COMPUTE WRK-DESPREZA
PERFORM
IF
TO WRK-IMP-COD-RETORNO
= WRK-IMP-PAGINA * 50.
100000-VERIFICAR-IMPRESSORA.
WRK-IMP-COD-RETORNO
EQUAL ZEROS
PERFORM 200000-ROTINA-PRINCIPAL.
GOBACK.
*----------------------------------------------------------------*
000000-99-FIM. EXIT.
*----------------------------------------------------------------*
*----------------------------------------------------------------*
100000-VERIFICAR-IMPRESSORA SECTION.
*----------------------------------------------------------------*
CALL 'CBLTDLI'
USING WRK-CHNG
ALT-PCB
WRK-IMP-IMPRESSORA.
IF
EQUAL 'A1'
TO WRK-IMP-COD-RETORNO
ALT-STATUS
MOVE 1
ELSE
Pgina 60 de 70
ALT-STATUS
NOT EQUAL SPACES
MOVE 'IMS'
TO ERR-TIPO-ACESSO
MOVE WRK-IMP-IMPRESSORA TO ERR-DBD-TAB
MOVE WRK-CHNG
TO ERR-FUN-COMANDO
MOVE ALT-STATUS
TO ERR-STA-CODE
MOVE '0001'
TO ERR-LOCAL
MOVE SPACES
TO ERR-SEGM
PERFORM 999999-ROTINA-ERRO.
*----------------------------------------------------------------*
100000-99-FIM. EXIT.
*----------------------------------------------------------------*
*----------------------------------------------------------------*
200000-ROTINA-PRINCIPAL SECTION.
*----------------------------------------------------------------*
PERFORM
210000-OBTER-DIG-AGENCIA
PERFORM
220000-OBTER-DIG-CONTA
PERFORM
230000-OBTER-NOME
MOVE
MOVE
MOVE
MOVE
MOVE
MOVE
WRK-IMP-BANCO
WRK-IMP-AGENCIA
WRK-0430-DIGITO
WRK-IMP-CONTA-CORRENTE
WRK-0428-DIG-CONTA
NOME
PERFORM
TO
TO
TO
TO
TO
TO
OUT-BANCO-P999
OUT-AGENC-P999
OUT-DGAGE-P999
OUT-CONTA-P999
OUT-DGCTA-P999
OUT-NOME-P999
240000-MONTAR-TELA.
*----------------------------------------------------------------*
100000-99-FIM. EXIT.
*----------------------------------------------------------------*
*----------------------------------------------------------------*
210000-OBTER-DIG-AGENCIA SECTION.
*----------------------------------------------------------------*
MOVE WRK-IMP-AGENCIA
MOVE SPACES
TO WRK-0430-AGENCIA
TO WRK-0430-DIGITO
CALL 'POOL0430'
USING WRK-0430-AGENCIA
WRK-0430-DIGITO
IF
EQUAL '.'
TO WRK-0430-DIGITO.
WRK-0430-DIGITO
MOVE SPACES
*----------------------------------------------------------------*
210000-99-FIM. EXIT.
*----------------------------------------------------------------*
*----------------------------------------------------------------*
220000-OBTER-DIG-CONTA SECTION.
*----------------------------------------------------------------*
MOVE 'VRS001'
MOVE SPACES
TO WRK-0428-VERSAO
TO WRK-0428-MENSAGEM
WRK-0428-DIG-AGENCIA
WRK-0428-DIG-CONTA
MOVE WRK-IMP-BANCO
TO WRK-0428-BANCO
MOVE WRK-IMP-AGENCIA
TO WRK-0428-AGENCIA
MOVE WRK-IMP-CONTA-CORRENTE TO WRK-CONTA
MOVE WRK-AUX-CONTA
TO WRK-0428-CONTA
Pgina 61 de 70
USING WRK-0428-VERSAO
WRK-0428-MENSAGEM
WRK-0428-BANCO
WRK-0428-AGENCIA
WRK-0428-DIG-AGENCIA
WRK-0428-CONTA
WRK-0428-DIG-CONTA.
IF
RETURN-CODE
MOVE SPACES
*----------------------------------------------------------------*
220000-99-FIM. EXIT.
*----------------------------------------------------------------*
*----------------------------------------------------------------*
230000-OBTER-NOME SECTION.
*----------------------------------------------------------------*
INITIALIZE WRK-CLIB-AREA-ENTRADA
MOVE 1
MOVE
MOVE
MOVE
MOVE
TO WRK-CLIB-TRANSACAO
WRK-CLIB-PRODUTO
'VRS000'
TO WRK-CLIB-VERSAO
WRK-IMP-BANCO
TO WRK-CLIB-BANCO
WRK-IMP-AGENCIA
TO WRK-CLIB-AGENCIA
WRK-IMP-CONTA-CORRENTE TO WRK-CLIB-CONTA
MOVE 'CLIB1000'
CALL WRK-MODULO
IF
TO WRK-MODULO
USING WRK-CLIB-AREA-ENTRADA
WRK-CLIB-AREA-SAIDA
WRK-CLIB-COD-RETORNO
EQUAL 4
MOVE WRK-CLIB-MENSAGEM-SAIDA (2:997)
TO ERRO-AREA
PERFORM 999999-ROTINA-ERRO
ELSE
IF WRK-CLIB-COD-RETORNO
EQUAL ZEROS
MOVE WRK-CLIB-MENSAGEM-SAIDA
TO WRK-AREA-RETORNO
ELSE
MOVE SPACES
TO NOME.
*----------------------------------------------------------------*
230000-99-FIM. EXIT.
*----------------------------------------------------------------*
*----------------------------------------------------------------*
240000-MONTAR-TELA SECTION.
*----------------------------------------------------------------*
PERFORM
241000-ABRIR-C1
PERFORM
242000-LER-C1
IF
WRK-FIM-C1
MOVE 4
GOBACK.
PERFORM
EQUAL 'S'
TO WRK-IMP-COD-RETORNO
242000-LER-C1
VARYING WRK-IND FROM 1 BY 1
UNTIL WRK-IND GREATER WRK-DESPREZA OR
WRK-FIM-C1 EQUAL 'S'
Pgina 62 de 70
IF
243000-MONTAR-PAGINA
VARYING WRK-PAGINA FROM 1 BY 1
UNTIL WRK-PAGINA GREATER 4 OR
WRK-FIM-C1 EQUAL 'S'
WRK-FIM-C1
MOVE ZEROS
EQUAL 'S'
TO WRK-IMP-COD-RETORNO
WRK-IMP-PAGINA
MOVE 2
TO WRK-IMP-COD-RETORNO.
ELSE
PERFORM
244000-FECHAR-C1.
*----------------------------------------------------------------*
240000-99-FIM. EXIT.
*----------------------------------------------------------------*
*----------------------------------------------------------------*
241000-ABRIR-C1 SECTION.
*----------------------------------------------------------------*
MOVE
MOVE
MOVE
MOVE
WRK-IMP-BANCO
WRK-IMP-AGENCIA
WRK-IMP-CONTA-CORRENTE
SPACES
TO
TO
TO
TO
CBCO
OF CURSB038
CAG-BCRIA
OF CURSB038
CCTA-BCRIA-CLI OF CURSB038
WRK-FIM-C1
EXEC SQL
OPEN C1
END-EXEC.
IF
(SQLCODE
NOT EQUAL ZEROS) OR
(SQLWARN0
EQUAL 'W')
MOVE 'DB2'
TO ERR-TIPO-ACESSO
MOVE 'OPEN '
TO ERR-FUN-COMANDO
MOVE 'CAD_CLI_CTCIA'
TO ERR-DBD-TAB
MOVE SQLCODE
TO ERR-SQL-CODE
MOVE SPACES
TO ERR-SEGM
MOVE '0002'
TO ERR-LOCAL
PERFORM 999999-ROTINA-ERRO.
*----------------------------------------------------------------*
241000-99-FIM. EXIT.
*----------------------------------------------------------------*
*----------------------------------------------------------------*
242000-LER-C1 SECTION.
*----------------------------------------------------------------*
EXEC SQL
FETCH C1
INTO :CURSB038.CPRODT-CURSS-CLI,
:CEFIB014.IFUNDO-CURSS
END-EXEC.
IF
(SQLCODE
NOT EQUAL ZEROS AND +100) OR
(SQLWARN0
EQUAL 'W')
MOVE 'DB2'
TO ERR-TIPO-ACESSO
MOVE 'FETCH '
TO ERR-FUN-COMANDO
MOVE 'CAD_CLI_CTCIA'
TO ERR-DBD-TAB
MOVE SQLCODE
TO ERR-SQL-CODE
MOVE SPACES
TO ERR-SEGM
MOVE '0003'
TO ERR-LOCAL
PERFORM 999999-ROTINA-ERRO.
IF
SQLCODE
MOVE 'S'
EQUAL +100
TO WRK-FIM-C1.
Pgina 63 de 70
243100-MONTAR-OCORR
VARYING WRK-IND
FROM 1 BY 1
UNTIL WRK-IND
GREATER 50 OR
WRK-FIM-C1 EQUAL 'S'
ADD 1
MOVE WRK-IMP-PAGINA
MOVE WRK-PAGINA-EDIT
PERFORM
TO WRK-IMP-PAGINA
TO WRK-PAGINA-EDIT
TO OUT-PAGINA-P999
243200-IMPRIMIR-TELA.
*---------------------------------------------------------------*
243000-99-FIM. EXIT.
*---------------------------------------------------------------*
*----------------------------------------------------------------*
243100-MONTAR-OCORR SECTION.
*----------------------------------------------------------------*
MOVE CPRODT-CURSS-CLI OF CURSB038 TO WRK-DET-PRODUTO
MOVE IFUNDO-CURSS
OF CEFIB014 TO WRK-DET-DESCRICAO
IF
WRK-IND
MOVE WRK-DETALHE
NOT GREATER 25
TO OUT-DET1-P999 (WRK-IND)
COMPUTE WRK-IND1
MOVE WRK-DETALHE
= (WRK-IND - 25)
TO OUT-DET2-P999 (WRK-IND1).
ELSE
PERFORM
242000-LER-C1.
*----------------------------------------------------------------*
243100-99-FIM. EXIT.
*----------------------------------------------------------------*
*----------------------------------------------------------------*
243200-IMPRIMIR-TELA SECTION.
*----------------------------------------------------------------*
PERFORM
243210-POOL0660
PERFORM
243220-INSERIR-SEGMENTOS.
*----------------------------------------------------------------*
243300-99-FIM. EXIT.
*----------------------------------------------------------------*
*----------------------------------------------------------------*
243210-POOL0660 SECTION.
*----------------------------------------------------------------*
CALL 'POOL0660'
USING OUTPUT-P999-SEG00
660-CURSP999-SEG00.
Pgina 64 de 70
RETURN-CODE
NOT EQUAL ZEROS
MOVE 'APL'
TO ERR-TIPO-ACESSO
MOVE RETURN-CODE
TO WRK-RETURN-CODE
MOVE 04
TO WRK-LOCAL-ERRO
MOVE WRK-ERRO-POOL0660 TO ERR-TEXTO
PERFORM 999999-ROTINA-ERRO.
CALL 'POOL0660'
IF
USING OUTPUT-P999-SEG01
660-CURSP999-SEG01.
RETURN-CODE
NOT EQUAL ZEROS
MOVE 'APL'
TO ERR-TIPO-ACESSO
MOVE RETURN-CODE
TO WRK-RETURN-CODE
MOVE 05
TO WRK-LOCAL-ERRO
MOVE WRK-ERRO-POOL0660 TO ERR-TEXTO
PERFORM 999999-ROTINA-ERRO.
*----------------------------------------------------------------*
243210-99-FIM. EXIT.
*----------------------------------------------------------------*
*----------------------------------------------------------------*
243220-INSERIR-SEGMENTOS SECTION.
*----------------------------------------------------------------*
MOVE 'CURSP999'
TO WRK-MODNAME
IF
WRK-PAGINA
MOVE 04
EQUAL 1
TO WRK-CONTPARM
MOVE 03
TO WRK-CONTPARM.
ELSE
CALL 'CBLTDLI'
IF
ALT-STATUS
NOT EQUAL SPACES
MOVE 'IMS'
TO ERR-TIPO-ACESSO
MOVE WRK-MODNAME
TO ERR-DBD-TAB
MOVE WRK-ISRT
TO ERR-FUN-COMANDO
MOVE ALT-STATUS
TO ERR-STA-CODE
MOVE '0006'
TO ERR-LOCAL
MOVE SPACES
TO ERR-SEGM
PERFORM 999999-ROTINA-ERRO.
CALL 'CBLTDLI'
IF
USING WRK-CONTPARM
WRK-ISRT
ALT-PCB
OUTPUT-P999-SEG00
WRK-MODNAME
USING WRK-ISRT
ALT-PCB
OUTPUT-P999-SEG01
ALT-STATUS
NOT EQUAL SPACES
MOVE 'IMS'
TO ERR-TIPO-ACESSO
MOVE WRK-MODNAME
TO ERR-DBD-TAB
MOVE WRK-ISRT
TO ERR-FUN-COMANDO
MOVE ALT-STATUS
TO ERR-STA-CODE
MOVE '0007'
TO ERR-LOCAL
MOVE SPACES
TO ERR-SEGM
PERFORM 999999-ROTINA-ERRO.
MOVE SPACES
TO OUT-SEG00-P999
OUT-SEG01-P999.
Pgina 65 de 70
(SQLCODE
NOT EQUAL ZEROS) OR
(SQLWARN0
EQUAL 'W')
MOVE 'DB2'
TO ERR-TIPO-ACESSO
MOVE 'OPEN '
TO ERR-FUN-COMANDO
MOVE 'CAD_CLI_CTCIA'
TO ERR-DBD-TAB
MOVE SQLCODE
TO ERR-SQL-CODE
MOVE SPACES
TO ERR-SEGM
MOVE '0008'
TO ERR-LOCAL
PERFORM 999999-ROTINA-ERRO.
*----------------------------------------------------------------*
244000-99-FIM. EXIT.
*----------------------------------------------------------------*
*----------------------------------------------------------------*
999999-ROTINA-ERRO SECTION.
*----------------------------------------------------------------*
MOVE
MOVE
MOVE
MOVE
MOVE
3
'CURS0000'
'CURS9999'
WRK-IMP-DEPTO-SENHAS
WRK-IMP-USUARIO-SENHAS
CALL 'POOL7100'
TO
TO
TO
TO
TO
WRK-IMP-COD-RETORNO
ERR-PGM
ERR-MODULO
ERR-COD-DEPTO
ERR-COD-USER
USING IO-PCB
ERRO-AREA
ALT-PCB
SQLCA.
GOBACK.
*----------------------------------------------------------------*
999999-99-FIM. EXIT.
*----------------------------------------------------------------*
Pgina 66 de 70
Formato
Cobol
CALL 'POOL0660' USING MSSGOUTP, AREADEFN.
Assembler
Formato 1
CALL POOL0660, (MSSGOUTP, AREADEFN), VL
Formato 2
CALL POOL0660, ( (Rx), (Ry) ), VL
Parmetros
Parmetro
MSSGOUTP
Tipo
Tamanho
AREADEFN 2
Significado
1. Mensagem de sada do programa de aplicao.
2. rea de definio.
Pgina 67 de 70
Observao
Observaes
MDULO DE CARGA
+------------+
|
|
LOAD
|
|
=========> | POOL0670 |
|
|
|
|
+------------+
O tamanho do campo no pode exceder 999 bytes, nem ser igual a zero.
Normal.
02 = O tamanho mximo da mensagem de sada fornecido na rea de Definio (LLMSG) menor que o tamanho que se encontra no campo "LL" da rea de
Pgina 68 de 70
WRK-ATRIBUTOS.
WRK-00225
VALUE +00225.
WRK-00241
VALUE +00241.
WRK-49361
VALUE +49361.
WRK-49369
VALUE +49369.
rea da POOL0660
0 - protegido sem atributo
1 - desprotegido sem atributo
2 - protegido com atributo
3 - desprotegido com atributo
01
660-CAMP79TM.
03
660-LL-AREA-79TM
03
660-LL-MENSAGEM-79TM
PIC
9(004) COMP
VALUE 0213.
03
660-SENHAS-79TM
PIC
9(004) COMP
VALUE 0037.
03
660-NOPCAO-79TM
PIC
9(004) COMP
VALUE 2004.
03
660-FASE-79TM
PIC
9(004) COMP
VALUE 0001.
03
660-CDPREM-79TM
PIC
9(004) COMP
VALUE 0004.
03
660-CDPRES-79TM
PIC
9(004) COMP
VALUE 0002.
03
660-DESCRI-79TM
PIC
9(004) COMP
VALUE 2052.
03
660-VALOR-79TM
PIC
9(004) COMP
VALUE 2018.
03
660-ANOFA-79TM
PIC
9(004) COMP
VALUE 2006.
10
03
660-ANOMO-79TM
PIC
9(004) COMP
VALUE 2006.
11
03
660-MENSA-79TM
PIC
9(004) COMP
VALUE 0079.
12
660-LL-AREA-79TM
PIC
9(004) COMP
VALUE 0024.
Pgina 69 de 70
(QTDE DE CAMPOS)
(TAMANHO EM BYTES)
2
3
OUTPUT-79TM.
03
OUT-LL-79TM
03
OUT-ZZ-79TM
03
OUT-DADOS-79TM.
05
OUT-SENHAS-79TM
PIC
05
OUT-NOPCAO-ATTR-79TM
PIC
05
OUT-NOPCAO-79TM.
07
OUT-NOPCAO-79TM-N PIC
X(037).
9(004) COMP.
9(002).
05
OUT-FASE-79TM
PIC
X(001).
05
OUT-CDPREM-ATTR-79TM
PIC
9(004) COMP.
05
OUT-CDPREM-79TM.
07
05
OUT-CDPREM-79TM-N PIC
9(002).
OUT-CDPRES-79TM.
07
OUT-CDPRES-79TM-N PIC
9(002).
05
OUT-DESCRI-ATTR-79TM
PIC
9(004) COMP.
05
OUT-DESCRI-79TM
PIC
X(050).
05
OUT-VALOR-ATTR-79TM
PIC
9(004) COMP.
05
OUT-VALOR-79TM.
PIC
ZZZZZZZZZZZZ9,99.
PIC
9(004) COMP.
PIC
9(004).
PIC
9(004) COMP.
PIC
9(004).
PIC
X(079).
07
OUT-VALOR-79TM-N
05
OUT-ANOFA-ATTR-79TM
05
OUT-ANOFA-79TM.
07
OUT-ANOFA-79TM-N
05
OUT-ANOMO-ATTR-79TM
05
OUT-ANOMO-79TM.
07
05
OUT-ANOMO-79TM-N
OUT-MENSA-79TM
Pgina 70 de 70
0.