CICS Completo
-
Upload
marcellomco -
Category
Documents
-
view
279 -
download
5
Transcript of CICS Completo
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 1/1031
CICS –CICS –CICS –CICS – Conceitos, Recursos eConceitos, Recursos eConceitos, Recursos eConceitos, Recursos eProgramaçãoProgramaçãoProgramaçãoProgramação Command LevelCommand LevelCommand LevelCommand Level
UNIDADE 1UNIDADE 1UNIDADE 1UNIDADE 1
CONCEITOS BÁSICOS ECONCEITOS BÁSICOS ECONCEITOS BÁSICOS ECONCEITOS BÁSICOS EPSEUDO-CONVERSAÇÃOPSEUDO-CONVERSAÇÃOPSEUDO-CONVERSAÇÃOPSEUDO-CONVERSAÇÃO
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 2/103
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 3/1033
Componentes do CICSComponentes do CICSComponentes do CICSComponentes do CICS
BMS PPT
SNTINTERVAL
CONTROL
DB2
DL/1
FCT
TST
DCT
TCT
PCT STORAGE
CONTROLMCT
TRACE
DUMPJCT
MVS
ACF/VTAM
CICS A
CICSB
MVS
ACF/VTAM
CICSD
Comunicação entre CICSComunicação entre CICSComunicação entre CICSComunicação entre CICS
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 4/1034
Transação x Task?
Terminal Associado Programa
ConceitosConceitosConceitosConceitos
TCA
PCT:TRNA - PROGRAM1XPTO - PROGRAM3
TCA
PPT:PROGRAM1 - COBOLPROGRAM3 - COBOLPROGRAMB - ASSEMBLER
TRNA XPTO
Executando TransaçõesExecutando TransaçõesExecutando TransaçõesExecutando Transações
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 5/1035
PROCEDURE ...
WORKING STORAGE
TCA
WORKING STORAGE
EIBEIB
TCA
WORKING STORAGE
Execução Concorrente de TasksExecução Concorrente de TasksExecução Concorrente de TasksExecução Concorrente de Tasks
EXEC CICS RECEIVE INTO(FLDA) LENGTH (W-LEN) END-EXEC
Keywords Função Opção
Argumento
Opção
Argumento
Delimitador
Formato dos ComandosFormato dos ComandosFormato dos ComandosFormato dos Comandos
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 6/1036
data-value PIC S9(4) COMP
PIC S9(8) COMPPIC X(15)Constantes permitidas
data-area COBOL data nameNão Constante
name COBOL data nameConstantes permitidas
label Nome de Parágrafo
hhmmss PIC S9(7) COMP-3
pointer-ref BLL cellUSAGE POINTER
ArgumentosArgumentosArgumentosArgumentos
COBOL MEMÓRIA
PIC S9(4) COMP
PIC S9(8) COMP
PIC S9(5) COMP-3
PIC X(5)
00 14
00 02 0C
00 00 00 14
F0 F0 F0 F2 F0
Formatos dos DadosFormatos dos DadosFormatos dos DadosFormatos dos Dados
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 7/1037
COMANDOS DE TERMINAL CONTROL - SEND - RECEIVE
COMANDOS DE FORMATAÇÃO DE DATA E HORA - ASKTIME - FORMATTIME
COMANDO DE TÉRMINO DE PROGRAMA - RETURN
Comandos BásicosComandos BásicosComandos BásicosComandos Básicos
WORKING-STORAGE SECTION.77 W-LEN PIC S9(04) COMP.
01 AREA-INPUT. 02 COD-TRANS PIC X(04). 02 FILLER PIC X. 02 SOLICIT PIC X(04). . . . .PROCEDURE DIVISION. MOVE 9 TO W-LEN EXEC CICS RECEIVE INTO(AREA-INPUT) LENGTH(W-LEN) END-EXEC
Comando RECEIVEComando RECEIVEComando RECEIVEComando RECEIVE
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 8/1038
WORKING-STORAGE SECTION.77 W-LEN PIC S9(04) COMP.77 W-ERR PIC S9(08) COMP.01 AREA-INPUT. 02 COD-TRANS PIC X(04). 02 FILLER PIC X. 02 SOLICIT PIC X(04).01 MSG PIC X(80).
PROCEDURE DIVISION. MOVE 9 TO W-LEN EXEC CICS RECEIVE INTO(AREA-INPUT) LENGTH(W-LEN) RESP(W-ERR)
END-EXEC IF W-ERR = DFHRESP(LENGERR) MOVE 'MAX 9 CARACTERES' TO MSG ...
Condições de ExceçãoCondições de ExceçãoCondições de ExceçãoCondições de Exceção
WORKING-STORAGE SECTION.77 W-LEN PIC S9(04) COMP.77 W-ERR PIC S9(08) COMP.01 AREA-INPUT. 02 COD-TRANS PIC X(04). 02 FILLER PIC X. 02 SOLICIT PIC X(04).01 MSG PIC X(80).PROCEDURE DIVISION. MOVE 9 TO W-LEN EXEC CICS RECEIVE INTO(AREA-INPUT) LENGTH(W-LEN) RESP(W-ERR)
END-EXEC IF W-ERR = DFHRESP(LENGERR) MOVE 'MAX 9 CARACTERES' TO MSG
EXEC CICS SEND FROM(MSG)LENGTH(50)END-EXEC
EXEC CICS RETURN END-EXEC.
Comando SENDComando SENDComando SENDComando SEND
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 9/1039
WORKING-STORAGE SECTION.77 W-LEN PIC S9(04) COMP.77 W-ERR PIC S9(08) COMP.01 AREA-INPUT. 02 COD-TRANS PIC X(04). 02 FILLER PIC X. 02 SOLICIT PIC X(04).01 MSG PIC X(80).PROCEDURE DIVISION. MOVE 9 TO W-LEN EXEC CICS RECEIVE INTO(AREA-INPUT) LENGTH(W-LEN) RESP(W-ERR)
END-EXEC IF W-ERR = DFHRESP(LENGERR) MOVE 'MAX 9 CARACTERES' TO MSG
EXEC CICS SEND CONTROL CURSOR(1840) END-EXECEXEC CICS SEND FROM(MSG)
LENGTH(50)END-EXEC
EXEC CICS RETURN END-EXEC.
Posicionamento de CursorPosicionamento de CursorPosicionamento de CursorPosicionamento de Cursor
WORKING-STORAGE SECTION.77 W-LEN PIC S9(04) COMP.77 W-ERR PIC S9(08) COMP.77 W-ABS PIC S9(15) COMP-3.01 W-DATA-S. 02 FILLER PIC X(30) VALUE 'DATA DE HOJE: '. 02 W-DATA PIC X(08).01 W-HORA-S. 02 FILLER PIC X(30) VALUE 'HORA CERTA: '. 02 W-HORA PIC X(08).01 AREA-INPUT. 02 COD-TRANS PIC X(04). 02 FILLER PIC X. 02 SOLICIT PIC X(04).01 MSG PIC X(80).PROCEDURE DIVISION. MOVE 9 TO W-LEN EXEC CICS RECEIVE INTO(AREA-INPUT) LENGTH(W-LEN) RESP(W-ERR)
END-EXEC IF W-ERR = DFHRESP(LENGERR) . . . .
Formatação de Data e HoraFormatação de Data e HoraFormatação de Data e HoraFormatação de Data e Hora
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 10/10310
IF SOLICIT = 'DATA'
EXEC CICS ASKTIME ABSTIME(W-ABS)END-EXECEXEC CICS FORMATTIME ABSTIME(W-ABS)
DATESEP DDMMYY(W-DATA)
END-EXECEXEC CICS SEND CONTROL CURSOR(1840) END-EXEC
EXEC CICS SEND FROM(W-DATA-S) LENGTH(40)END-EXEC
EXEC CICS RETURN END-EXEC. IF SOLICIT = 'HORA'
EXEC CICS ASKTIME ABSTIME(W-ABS)END-EXEC
EXEC CICS FORMATTIME ABSTIME(W-ABS)TIMESEP
TIME(W-HORA)END-EXEC
EXEC CICS SEND CONTROL CURSOR(1840) END-EXEC EXEC CICS SEND FROM(W-HORA-S) LENGTH(40)
END-EXECEXEC CICS RETURN END-EXEC.
Formatação de Data e HoraFormatação de Data e HoraFormatação de Data e HoraFormatação de Data e Hora
EIBTIME HORAEIBDATE DATA (JULIANO)EIBCPOSN POSIÇÃO DO CURSOREIBAID TECLA PRESSIONADA (ENTER, PF, ...)EIBCALEN TAMANHO DA COMMAREAEIBTRNID CODIGO DA TRANSAÇÃOEIBTRMID TERMINAL ASSOCIADO
EIBFN ÚLTIMA FUNÇÃO EXECUTADAEIBRESP RESPONSE CODE . . .
Exec Interface Block (EIB)Exec Interface Block (EIB)Exec Interface Block (EIB)Exec Interface Block (EIB)
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 11/10311
FONTE
CICSTRANSLATOR
COMPILADORCOBOL
LINKAGE
EDITORMÓDULO
Compilação de ProgramasCompilação de ProgramasCompilação de ProgramasCompilação de Programas
CONVERSACIONAL PSEUDOCONVERSACIONAL
RECEIVE
SEND
RECEIVE
SEND
RECEIVE
SEND
RECEIVE
SEND
RECEIVE
SEND
RECEIVE
SEND
Conversacional xConversacional xConversacional xConversacional xPseudo-ConversacionalPseudo-ConversacionalPseudo-ConversacionalPseudo-Conversacional
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 12/10312
PCT
FAT1 FAT1PGM
FAT1PGM
FAT1PGM
SEND
RETURN
TRANSID('FAT1')
RECEIVE
SEND
RETURN
FAT1
Pseudo-ConversacionalPseudo-ConversacionalPseudo-ConversacionalPseudo-Conversacional
FAT1
WORKING STORAGE
W-COMM COMMAREA
FAT1PGM
PROCEDURE...
RETURNTRANSID('FAT1')COMMAREA(W-COMM)
FAT1
FAT1PGM
LINKAGE... DFHCOMMAREA
Passagem de Dados para aPassagem de Dados para aPassagem de Dados para aPassagem de Dados para a
Próxima TaskPróxima TaskPróxima TaskPróxima Task
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 13/103
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 14/10314
*** 711 2 3 4 5 6 7 8 9 10 11 12 72
AREA A AREA B
COMENTÁRIOS
Codificação COBOLCodificação COBOLCodificação COBOLCodificação COBOL
IDENTIFICATION DIVISION.PROGRAM-ID.ENVIRONMENT DIVISION.
CONFIGURATION SECTION.INPUT-OUTPUT SECTION.
DATA DIVISION.FILE SECTION.
WORKING-STORAGE SECTION.LINKAGE SECTION.PROCEDURE DIVISION.
COBOL sob CICS: RestriçõesCOBOL sob CICS: RestriçõesCOBOL sob CICS: RestriçõesCOBOL sob CICS: Restrições
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 15/10315
COBOL II ACCEPTDISPLAYCLOSEOPENREADWRITEREWRITEDELETE
OS/COBOL ACCEPTDISPLAYEXAMINEEXHIBITSTOP RUNINSPECTSTRINGTIMETRANSFORMUNSTRINGCLOSE
OPENREAD/WRITE
COBOL sob CICS: RestriçõesCOBOL sob CICS: RestriçõesCOBOL sob CICS: RestriçõesCOBOL sob CICS: Restrições
CEMT SET PROG(name) NEWCOPY
OU
CEMT SET PROG(name) PHASEIN
Testando Programas Testando Programas Testando Programas Testando Programas
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 16/10316
UNIDADE 2UNIDADE 2UNIDADE 2UNIDADE 2
BASIC MAPPINGBASIC MAPPINGBASIC MAPPINGBASIC MAPPING SUPPORTSUPPORTSUPPORTSUPPORT
Basic Mapping Support (BMS)
Utiliza dados formatados (Mapas)
Campos constantes e variáveis
Interface muito mais atrativa para o usuário
BMS -BMS -BMS -BMS - Basic Mapping SupportBasic Mapping SupportBasic Mapping SupportBasic Mapping Support
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 17/10317
Definição de MapasDefinição de MapasDefinição de MapasDefinição de Mapas
12 NOME:3 ENDEREÇO:4 CPF:5 NO.CONTA:6...
..
.
.24
Campos Formatados 3270Campos Formatados 3270Campos Formatados 3270Campos Formatados 3270
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 18/103
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 19/10319
MACROS
MAPA FÍSICO MAPA SIMBÓLICO
ASSEMBLER
LINK EDIT
LOADLIBRARY
ASSEMBLER
MAPASIMBÓLICO
COPYLIBRARY
MAPAFÍSICO
Compilação de umCompilação de umCompilação de umCompilação de um MapsetMapsetMapsetMapset
PROGRAM AFONTE
TRANSLATOR
COMPILADOR
LINK EDIT
MAPAFÍSICO
MAPASIMBÓLICO
PGMEXECUTÁVEL
Mapas e ProgramasMapas e ProgramasMapas e ProgramasMapas e Programas
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 20/10320
COPY TESTMS1.01 TESTMPI.
02 FILLER PIC X(12). 02 NOMEL COMP PIC S9(4). 02 NOMEF PICTURE X. 02 FILLER REDEFINES NOMEF. 03 NOMEA PICTURE X.
02 NOMEI PIC X(30). 02 ENDERL COMP PIC S9(4). 02 ENDERF PICTURE X. 02 FILLER REDEFINES ENDERF. 03 ENDERA PICTUREX. 02 ENDERI PIC X(40).
02 CPFL COMP PIC S9(4). 02 CPFF PICTURE X. 02 FILLER REDEFINES CPFF. 03 CPFA PICTURE X. 02 CPFI PIC X(11). 02 MSGL COMP PIC S9(4). 02 MSGF PICTURE X. 02 FILLER REDEFINES MSGF. 03 MSGA PICTURE X. 02 MSGI PIC X(70).01 TESTMPO REDEFINES TESTMPI. 02 FILLER PIC X(12). 02 FILLER PICTURE X(3). 02 NOMEO PIC X(30). 02 FILLER PICTURE X(3). 02 ENDERO PIC X(40). 02 FILLER PICTURE X(3). 02 CPFO PIC X(11.)
02 FILLER PICTURE X(3). 02 MSGO PIC X(70).
Mapa SimbólicoMapa SimbólicoMapa SimbólicoMapa Simbólico
xxxxxxxxxxxxxxxxxxxxx x xxxxxxxx xx x xx x xxxxxx xx x xx.......
xxxxxxxxxxxxxxxxxxxxx x xxxxxxxx xx x xx x xxxxxx xx x xx.......
FILLER
NOMEL NOMEF NOMEI
ENDERL ENDERF ENDERI
CPFL CPFF CPFI
MSGL MSGF MSGI
TESTMPI redefinesTESTMPO
NOMEA NOMEO
ENDERA ENDERO
CPFA CPFO
MSGA MSGO
Mapa Simbólico (Working-Storage)Mapa Simbólico (Working-Storage)Mapa Simbólico (Working-Storage)Mapa Simbólico (Working-Storage)
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 21/10321
EXEC CICS SEND MAP('TESTMP') MAPSET('TESTMS1')
MAPASIMBÓLICO
MAPAFÍSICO
Enviando Mapas - SEND MAPEnviando Mapas - SEND MAPEnviando Mapas - SEND MAPEnviando Mapas - SEND MAP
EXEC CICS SEND MAP('TESTMP')MAPSET('TESTMS1') MAPONLY
EXEC CICS SEND MAP('TESTMP')MAPSET('TESTMS1') DATAONLY
MapaFísico
MapaSimbólico
Enviando Mapas - OpçõesEnviando Mapas - OpçõesEnviando Mapas - OpçõesEnviando Mapas - Opções
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 22/10322
IDENTIFICATION DIVISION.
PROGRAM-ID. FAT1PGM.WORKING-STORAGE SECTION.COPY TESTMS1.LINKAGE SECTION.01 DFHCOMMAREA PIC X(10).PROCEDURE DIVISION. IF EIBCALEN = 0 MOVE 'DIGITE DADOS' TO MSGO EXEC CICS SEND MAP('TESTMP') MAPSET('TESTMS1') FROM(TESTMPO) ERASE FREEKB
END-EXEC
. . .
Enviando Mapas - SEND MAPEnviando Mapas - SEND MAPEnviando Mapas - SEND MAPEnviando Mapas - SEND MAP
BMS
TESTMPI
Filler 07 12 PAULISTA 100 11 11222234561
NOMEL NOMEF NOMEI
ENDERL ENDERF ENDERI
CPFL CPFF CPFI
NOME:
END:
CPF:
ALBERTO
11222234561
PAULISTA 100
ALBERTO
Recebendo Mapas - RECEIVE MAPRecebendo Mapas - RECEIVE MAPRecebendo Mapas - RECEIVE MAPRecebendo Mapas - RECEIVE MAP
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 23/10323
IDENTIFICATION DIVISION.
PROGRAM-ID. FAT1PGM.WORKING-STORAGE SECTION.77 W-ERR PIC S9(8) COMP.01 ARQ-REG. 02 REG-NOME PIC X(30). . . .COPY TESTMS1.PROCEDURE DIVISION. EXEC CICS RECEIVE MAP('TESTMP') MAPSET('TESTMS1') INTO(TESTMPI) RESP(W-ERR)
END-EXEC IF ERR-CODE EQUAL DFHRESP(MAPFAIL) PERFORM TRATA-MAPFAIL.
IF NOMEL NOT EQUAL ZEROES
MOVE NOMEI TO REG-NOME. . . .
Recebendo Mapas - RECEIVE MAPRecebendo Mapas - RECEIVE MAPRecebendo Mapas - RECEIVE MAPRecebendo Mapas - RECEIVE MAP
WORKING-STORAGE SECTION.COPY DFHBMSCA.COPY DFHAID.COPY TESTMS1.
PROCEDURE DIVISION. . . .
Manuseio de Teclas e AtributosManuseio de Teclas e AtributosManuseio de Teclas e AtributosManuseio de Teclas e Atributos
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 24/10324
DFHBMUNP Desprotegido Normal MDT Off DFHBMUNN Numérico Normal MDT Off DFHBMASK Autoskip Normal MDT Off DFHBMPRO Protegido Normal MDT Off DFHBMBRY Desprotegido Brilhante MDT Off DFHPROTI Protegido Brilhante MDT Off DFHBMASB Autoskip Brilhante MDT Off DFHBMDAR Desprotegido Não exibido MDT Off DFHBMFSE Desprotegido Normal MDT On
DFHUNNUM Numérico Normal MDT On . . . . .
Book DFHBMSCABook DFHBMSCABook DFHBMSCABook DFHBMSCA
Book DFHAIDBook DFHAIDBook DFHAIDBook DFHAID
DFHENTER TECLA ENTERDFHCLEAR TECLA CLEARDFHPA1 - DFHPA3 TECLAS PA1 - PA3DFHPF1 - DFHPF24 TECLAS PF1 - PF24
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 25/10325
PosicionamentoPosicionamentoPosicionamentoPosicionamento SSSSimbólicoimbólicoimbólicoimbólico dededede CCCCursorursorursorursor
MOVE -1 TO NOMEL
EXEC CICS SEND MAP(‘TESTMP’) MAPSET(‘TESTMS’) FROM(TESTMPO) ERASE FREEKB CURSOR END-EXEC
Exemplo de Codificação - 1/2Exemplo de Codificação - 1/2Exemplo de Codificação - 1/2Exemplo de Codificação - 1/2WORKING-STORAGE SECTION.77 W-ERR PIC S9(8) COMP.77 COM-WORK PIC X(10).COPY DFHBMSCA.COPY DFHAID.COPY TESTMS1.LINKAGE SECTION.01 DFHCOMMAREA. 02 COM-FLAG PIC X(10).PROCEDURE DIVISION. IF EIBAID EQUAL DFHPF3 EXEC CICS RETURN END-EXEC.
IF EIBCALEN EQUAL ZEROESEXEC CICS SEND MAP('TESTMP')
MAPSET('TESTMS1') MAPONLY ERASE
FREEKBEND-EXEC
EXEC CICS RETURN TRANSID(EIBTRNID) COMMAREA(COM-WORK) END-EXEC.
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 26/103
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 27/10327
TRANSACTION: UPDT PROGRAM: UPDTPGM TASK: 0000038 APPLID: CICTST1 DISPLAY: 00 STATUS: PROGRAM INITIATION
EIBTIME = 192146EIBDATE = 97351EIBTRNID = 'UPDT'EIBTASKN = 38EIBTRMID = '4601'
EIBCPOSN = 4EIBCALEN = 0EIBAID = X'7D' AT X'001400EA'
EIBFN = X'0000' AT X'001400EB' EIBRCODE = X'000000000000' AT X'001400ED' EIBDS = '........'+ EIBREQID = '........'
ENTER: CONTINUEPF1 : UNDEFINED PF2 : SWITCH HEX/CHAR PF3 : END EDF SESSION
PF4 : SUPPRESS DISPLAYS PF5 : WORKING STORAGE PF6 : USER DISPLAYPF7 : SCROLL BACK PF8 : SCROLL FORWARD PF9 : STOP CONDITIONSPF10: PREVIOUS DISPLAY PF11: UNDEFINED PF12: UNDEFINED
CEDF - Execution Diagnostic FacilityCEDF - Execution Diagnostic FacilityCEDF - Execution Diagnostic FacilityCEDF - Execution Diagnostic Facility
TRANSACTION: UPDT PROGRAM: UPDTPGM TASK: 0000038 APPLID: CICTST1 DISPLAY: 00 STATUS: ABOUT TO EXECUTE COMMANDEXEC CICS READFILE ('ARQ01 ')INTO (' '...)LENGTH (91)RIDFLD ('000010')EQUALNOHANDLE
OFFSET:X'00073E' LINE:00206 EIBFN=X'0602'
ENTER: CONTINUEPF1 : UNDEFINED PF2 : SWITCH HEX/CHAR PF3 : UNDEFINEDPF4 : SUPPRESS DISPLAYS PF5 : WORKING STORAGE PF6 : USER DISPLAYPF7 : SCROLL BACK PF8 : SCROLL FORWARD PF9 : STOP CONDITIONSPF10: PREVIOUS DISPLAY PF11: UNDEFINED PF12: ABEND USER TASK
CEDF - Alteração de ArgumentosCEDF - Alteração de ArgumentosCEDF - Alteração de ArgumentosCEDF - Alteração de Argumentos
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 28/10328
TRANSACTION: UPDT PROGRAM: UPDTPGM TASK: 0000038 APPLID: CICTST1 DISPLAY: 00 STATUS: COMMAND EXECUTION COMPLETEEXEC CICS READFILE ('ARQ01 ')INTO (' '...)LENGTH (91)RIDFLD ('000010')EQUALNOHANDLE
OFFSET:X'00073E' LINE:00206 EIBFN=X'0602'RESPONSE: NOTFND EIBRESP=12
ENTER: CONTINUEPF1 : UNDEFINED PF2 : SWITCH HEX/CHAR PF3 : END EDF SESSION
PF4 : SUPPRESS DISPLAYS PF5 : WORKING STORAGE PF6 : USER DISPLAYPF7 : SCROLL BACK PF8 : SCROLL FORWARD PF9 : STOP CONDITIONSPF10: PREVIOUS DISPLAY PF11: UNDEFINED PF12: ABEND USER TASK
CEDF - Alteração de Response CodesCEDF - Alteração de Response CodesCEDF - Alteração de Response CodesCEDF - Alteração de Response Codes
TRANSACTION: UPDT PROGRAM: UPDTPGM TASK: 0000046 APPLID: CICTST1 DISPLAY: 00 STATUS: ABOUT TO EXECUTE COMMANDEXEC CICS SEND MAPMAP ('TESTMP ')FROM ('..............%......................%..........................'...)LENGTH (314)MAPSET ('TESTMS1')TERMINALFREEKBERASE
OFFSET:X'000AB8' LINE:00319 EIBFN=X'1804'
ENTER: CONTINUEPF1 : UNDEFINED PF2 : SWITCH HEX/CHAR PF3 : UNDEFINEDPF4 : SUPPRESS DISPLAYS PF5 : WORKING STORAGE PF6 : USER DISPLAYPF7 : SCROLL BACK PF8 : SCROLL FORWARD PF9 : STOP CONDITIONSPF10: PREVIOUS DISPLAY PF11: UNDEFINED PF12: ABEND USER TASK
CEDF -CEDF -CEDF -CEDF - Line NumberLine NumberLine NumberLine Number e Offsete Offsete Offsete Offset
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 29/10329
TRANSACTION: UPDT PROGRAM: UPDTPGM TASK: 0000053 APPLID: CICTST1 DISPLAY: 00 STATUS: ABOUT TO EXECUTE COMMANDEXEC CICS RETURNTRANSID (X'E4D7C4E3') AT X'000566AE'
COMMAREA (X'F0F0F0F0F1F0') AT X'06B00294' LENGTH (X'0006') AT X'000566B4'
OFFSET:X'0006DE' LINE:00194 EIBFN=X'0E08'
ENTER: CONTINUEPF1 : UNDEFINED PF2 : SWITCH HEX/CHAR PF3 : UNDEFINED
PF4 : SUPPRESS DISPLAYS PF5 : WORKING STORAGE PF6 : USER DISPLAYPF7 : SCROLL BACK PF8 : SCROLL FORWARD PF9 : STOP CONDITIONSPF10: PREVIOUS DISPLAY PF11: UNDEFINED PF12: ABEND USER TASK
CEDF - HexadecimalCEDF - HexadecimalCEDF - HexadecimalCEDF - Hexadecimal
TRANSACTION: UPDT PROGRAM: UPDTPGM TASK: 0000053 APPLID: CICTST1 DISPLAY: 00 ADDRESS: 06B00240 WORKING STORAGE06B00240 000000 00000000 00000000 00000000 00000000 . . . . . . . . . . . . . . . .06B00250 000010 00000000 00000000 00000000 00000000 . . . . . . . . . . . . . . . .06B00260 000020 00000000 00000000 00000000 00000000 . . . . . . . . . . . . . . . .06B00270 000030 00000000 00000000 00000000 00000000 . . . . . . . . . . . . . . . .06B00280 000040 00000000 00000000 00000000 00000000 . . . . . . . . . . . . . . . .06B00290 000050 00000000 F0F0F0F0 F1F00000 00000000 . . . . 000010 . . . . . .06B002A0 000060 00000000 00000000 00000000 00000000 . . . . . . . . . . . . . . . ..06B002B0 000070 00000000 00000000 00000000 40404040 . . . . . . . . . . . .06B002C0 000080 40404040 4040C1F0 F0F3F3F3 F4F1F9F6 A00333419606B002D0 000090 00000000 00000000 00000000 00000000 . . . . . . . . . . . . . . . .06B002E0 0000A0 00000000 00000000 00000000 00000000 . . . . . . . . . . . . . . . .06B002F0 0000B0 0C000100 000C0004 22000C00 00000000 . . . . . . . . . . . . . . . .06B00300 0000C0 00000000 00000000 012E0000 00006C00 . . . . . . . . . . . . . .%.06B00310 0000D0 00000000 00000000 00000000 00000000 . . . . . . . . . . . . . . . .
06B00320 0000E0 00000000 006C0000 00000000 00000000 . . . . .%. . . . . . . . . .06B00330 0000F0 00000000 00000000 00000000 00000000 . . . . . . . . . . . . . . . .
ENTER: CURRENT DISPLAYPF1 : UNDEFINED PF2 : BROWSE TEMP STORAGE PF3 : UNDEFINEDPF4 : EIB DISPLAY PF5 : INVOKE CECI PF6 : USER DISPLAYPF7 : SCROLL BACK HALF PF8 : SCROLL FORWARD HALF PF9 : UNDEFINEDPF10: SCROLL BACK FULL PF11: SCROLL FORWARD FULL PF12: REMEMBER DISPLAY
CEDF - Working StorageCEDF - Working StorageCEDF - Working StorageCEDF - Working Storage
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 30/10330
TRANSACTION: UPDT PROGRAM: UPDTPGM TASK: 0000053 APPLID: CICTST1 DISPLAY: 00 STATUS: EXEC INTERFACE BLOCK
EIBTIME = 192934EIBDATE = 97351EIBTRNID = 'UPDT'EIBTASKN = 53EIBTRMID = '4601'
EIBCPOSN = 4EIBCALEN = 0EIBAID = X'7D' AT X'001400EA'
EIBFN = X'0E08' RETURN AT X'001400EB' EIBRCODE = X'000000000000' AT X'001400ED' EIBDS = 'ARQ01 '+ EIBREQID = '........'
ENTER: CURRENT DISPLAYPF1 : UNDEFINED PF2 : SWITCH HEX/CHAR PF3 : UNDEFINED
PF4 : EIB DISPLAY PF5 : WORKING STORAGE PF6 : USER DISPLAYPF7 : SCROLL BACK PF8 : SCROLL FORWARD PF9 : UNDEFINEDPF10: UNDEFINED PF11: UNDEFINED PF12: REMEMBER DISPLAY
CEDF - Exec Interface BlockCEDF - Exec Interface BlockCEDF - Exec Interface BlockCEDF - Exec Interface Block
TRANSACTION: UPDT PROGRAM: UPDTPGM TASK: 0000053 APPLID: CICTST1 DISPLAY: 00 DISPLAY ON CONDITION:-
COMMAND: EXEC CICSOFFSET: X'. . . . . .'LINE NUMBER: . . . . . . . .CICS EXCEPTIONAL CONDITION: ERROR
ANY CICS CONDITION NOTRANSACTION ABEND YESNORMAL TASK TERMINATION YES
ABNORMAL TASK TERMINATION YES
DLI ERROR STATUS: . . ANY DLI ERROR STATUS
ENTER: CURRENT DISPLAYPF1 : UNDEFINED PF2 : UNDEFINED PF3 : UNDEFINEDPF4 : SUPPRESS DISPLAYS PF5 : WORKING STORAGE PF6 : USER DISPLAYPF7 : UNDEFINED PF8 : UNDEFINED PF9 : UNDEFINEDPF10: UNDEFINED PF11: UNDEFINED PF12: REMEMBER DISPLAY
CEDF - Stop ConditionsCEDF - Stop ConditionsCEDF - Stop ConditionsCEDF - Stop Conditions
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 31/10331
TRANSACTION: UPDT PROGRAM: UPDTPGM TASK: 0000053 APPLID: CICTST1 DISPLAY: -04 STATUS: ABOUT TO EXECUTE COMMANDEXEC CICS READFILE ('ARQ01 ')INTO (' '...)LENGTH (91)RIDFLD ('000010')EQUALNOHANDLE
OFFSET:X'00073E' LINE:00206 EIBFN=X'0602'
ENTER: CURRENT DISPLAYPF1 : UNDEFINED PF2 : UNDEFINED PF3 : UNDEFINED
PF4 : SUPPRESS DISPLAYS PF5 : WORKING STORAGE PF6 : USER DISPLAYPF7 : SCROLL BACK PF8 : SCROLL FORWARD PF9 : STOP CONDITIONSPF10: PREVIOUS DISPLAY PF11: NEXT DISPLAY PF12: UNDEFINED
CEDF -CEDF -CEDF -CEDF - PreviousPreviousPreviousPrevious DisplayDisplayDisplayDisplay
TRANSACTION: UPDT TASK: 0000053 APPLID: CICTST1 DISPLAY: 00 STATUS: TASK TERMINATION
CONTINUE EDF? (ENTER YES OR NO) REPLY: YESENTER: CONTINUEPF1 : UNDEFINED PF2 : SWITCH HEX/CHAR PF3 : END EDF SESSIONPF4 : SUPPRESS DISPLAYS PF5 : WORKING STORAGE PF6 : USER DISPLAYPF7 : SCROLL BACK PF8 : SCROLL FORWARD PF9 : STOP CONDITIONSPF10: PREVIOUS DISPLAY PF11: UNDEFINED PF12: UNDEFINED
CEDF - Pseudo-ConversacionalCEDF - Pseudo-ConversacionalCEDF - Pseudo-ConversacionalCEDF - Pseudo-Conversacional
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 32/103
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 33/10333
UNIDADE 4UNIDADE 4UNIDADE 4UNIDADE 4
AAAACESSANDO VSAMCESSANDO VSAMCESSANDO VSAMCESSANDO VSAM
EXEC C I C SR E A DFILE('FILEA'). . .
.
CICS
D F H F C P
DFHEI P
A R Q 1
F C T
A R Q 1.
P R O G R A M A
EXEC C ICS READFILE('ARQ1' ). . .
Acessando Arquivos VSAMAcessando Arquivos VSAMAcessando Arquivos VSAMAcessando Arquivos VSAM
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 34/10334
VSAM - Recuperação DiretaVSAM - Recuperação DiretaVSAM - Recuperação DiretaVSAM - Recuperação Direta
ESDS
VSAM - ESDSVSAM - ESDSVSAM - ESDSVSAM - ESDS
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 35/10335
100BYTES
100BYTES
100BYTES
0 100 200
REG1 REG2 REG3
RelativeRelativeRelativeRelative Byte AddressByte AddressByte AddressByte Address
REG3
REG1 REG2 REG4
RRDS
VSAM - RRDSVSAM - RRDSVSAM - RRDSVSAM - RRDS
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 36/10336
15 22 34 41
28
KSDS
VSAM - KSDSVSAM - KSDSVSAM - KSDSVSAM - KSDS
WORKING-STORAGE SECTION.
LAYOUT DO REGISTRO
PROCEDURE DIVISION
CAMPO CHAVE (RIDFLD)
EXEC CICS READ FILE . . .
Acessando um Arquivo VSAMAcessando um Arquivo VSAMAcessando um Arquivo VSAMAcessando um Arquivo VSAM
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 37/10337
RECORD KEY
RELATIVE BYTE ADDRESS
RELATIVE RECORD NUMBER
CHAVE PARCIAL
RECORD KEY
RBA
RRN
KEY
KEYLENGTH
Campo Chave (RIDFLD)Campo Chave (RIDFLD)Campo Chave (RIDFLD)Campo Chave (RIDFLD)
Comando para Leitura - READComando para Leitura - READComando para Leitura - READComando para Leitura - READ
EXEC CICS READ FILE(name) INTO(data-area)
RIDFLD(data-area) [RBA | RRN][LENGTH(data-area)]
[GENERIC] [KEYLENGTH(data-value)] [GTEQ | EQUAL]
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 38/10338
WORKING-STORAGE SECTION.
05 W-CHAVE PIC X(5).05 W-REG PIC X(80).
PROCEDURE DIVISION.
MOVE '00010' TO W-CHAVE
INTO(W-REG)
RIDFLD(W-CHAVE)END-EXEC.
. . .
. . .
EXEC CICS READ FILE('ARQ1')
Lendo um RegistroLendo um RegistroLendo um RegistroLendo um Registro
- NOTFND- ENDFILE- INVREQ- FILENOTFOUND- ILLOGIC- IOERR
- NOTOPEN- DISABLED
Condições de ExceçãoCondições de ExceçãoCondições de ExceçãoCondições de Exceção
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 39/10339
WORKING-STORAGE SECTION.
05 W-ERR PIC S9(8) COMP.05 W-CHAVE PIC X(5).
PROCEDURE DIVISION.
MOVE '00022' TO W-CHAVEEXEC CICS READ FILE('ARQ1') INTO(W-REG) RIDFLD(W-CHAVE) RESP(W-ERR)
END-EXEC.
IF W-ERR EQUAL DFHRESP(NOTFND) . . .
ELSE IF W-ERR NOT EQUAL DFHRESP(NORMAL) . . .
Manuseando Condições de ExceçãoManuseando Condições de ExceçãoManuseando Condições de ExceçãoManuseando Condições de Exceção
VSAM - Recuperação SeqüencialVSAM - Recuperação SeqüencialVSAM - Recuperação SeqüencialVSAM - Recuperação Seqüencial
(BROWSE)(BROWSE)(BROWSE)(BROWSE)
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 40/10340
POSICIONAR CHAVE
STARTBR
LER REGISTRO
READPREV READNEXTTROCAR POSIÇÃO DA CHAVE
RESETBR
FIM DO BROWSEENDBR
Comandos para RecuperaçãoComandos para RecuperaçãoComandos para RecuperaçãoComandos para RecuperaçãoSeqüencialSeqüencialSeqüencialSeqüencial
Posicionando Chave - STARTBRPosicionando Chave - STARTBRPosicionando Chave - STARTBRPosicionando Chave - STARTBR
EXEC CICS STARTBR FILE(name) RIDFLD(data-area) [RBA | RRN]
[GENERIC] [KEYLENGTH(data-value)]
[GTEQ | EQUAL]
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 41/10341
EXEC CICS READNEXT FILE(name) INTO(data-area)
RIDFLD(data-area) [RBA | RRN][LENGTH(data-area)]
Lendo Seqüencialmente - READNEXTLendo Seqüencialmente - READNEXTLendo Seqüencialmente - READNEXTLendo Seqüencialmente - READNEXT
EXEC CICS READPREV FILE(name) INTO(data-area)
RIDFLD(data-area) [RBA | RRN]
[LENGTH(data-area)]
Lendo Seqüencialmente - READPREVLendo Seqüencialmente - READPREVLendo Seqüencialmente - READPREVLendo Seqüencialmente - READPREV
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 42/10342
Alterando Posição de Chave –Alterando Posição de Chave –Alterando Posição de Chave –Alterando Posição de Chave –RESETBRRESETBRRESETBRRESETBR
EXEC CICS RESETBR FILE(name) RIDFLD(data-area) [RBA | RRN]
[GENERIC] [KEYLENGTH(data-value)] [GTEQ | EQUAL]
EXEC CICS ENDBR FILE(name)
Terminando Terminando Terminando Terminando BrowseBrowseBrowseBrowse - ENDBR- ENDBR- ENDBR- ENDBR
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 43/10343
MOVE '00003' TO W-CHAVE
EXEC CICS STARTBR FILE('ARQ1') RIDFLD(W-CHAVE)
RESP(W-ERR)END-EXEC
IF W-ERR EQUAL DFHRESP(NORMAL) PERFORM UNTIL W-ERR EQUAL DFHRESP(ENDFILE) EXEC CICS READNEXT FILE('ARQ1') INTO(W-REG) RIDFLD(W-CHAVE) RESP(W-ERR) END-EXEC . . . .
END-PERFORM
EXEC CICS ENDBR FILE('ARQ1') END-EXECELSE . . . .
Exemplo deExemplo deExemplo deExemplo de BrowseBrowseBrowseBrowse
UNIDADE 5UNIDADE 5UNIDADE 5UNIDADE 5
ATUALIZANDO VSAMATUALIZANDO VSAMATUALIZANDO VSAMATUALIZANDO VSAM
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 44/10344
Atualizando Arquivos VSAMAtualizando Arquivos VSAMAtualizando Arquivos VSAMAtualizando Arquivos VSAM
Interrupções nãoProgramadas Proteção
deRecursos
Considerações sobre IntegridadeConsiderações sobre IntegridadeConsiderações sobre IntegridadeConsiderações sobre Integridade
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 45/10345
Duração Enqueue
VSAM
CICS
Atualização
UOW
Prende CI
Prende Registro
Controle Exclusivo - VSAM x CICSControle Exclusivo - VSAM x CICSControle Exclusivo - VSAM x CICSControle Exclusivo - VSAM x CICS
Programa CICS
Atualiza cadastrode Poupançaretirando R$500.
Atualiza cadastrode Conta Correnteadicionando R$500.
LUW OK ouRecuperada
Poupança
ContaCorrente
A Necessidade de ProteçãoA Necessidade de ProteçãoA Necessidade de ProteçãoA Necessidade de Proteção
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 46/10346
POUPANÇA C.CORR.
LUW
IníciodaTask
FimdaTask
Read UpdatePOUPANÇA
RewritePOUPANÇA
ReadUpdateC. CORR.
RewriteC. CORR.
Return
UOW eUOW eUOW eUOW e BackoutBackoutBackoutBackout
READ UPDATE
REWRITE DELETE UNLOCK FIM DA TASK
Atualização VSAMAtualização VSAMAtualização VSAMAtualização VSAM
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 47/10347
EXEC CICS REWRITE FILE(name) FROM(data-area) [LENGTH(data-value)]
Atualização de um RegistroAtualização de um RegistroAtualização de um RegistroAtualização de um Registro
EXEC CICS DELETE FILE(name) [RIDFLD(data-area)] [KEYLENGTH(data-value)]
[GENERIC|NUMREC(data-area)]] [RBA|RRN]
Exclusão de Registro(s)Exclusão de Registro(s)Exclusão de Registro(s)Exclusão de Registro(s)
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 48/10348
EXEC CICS UNLOCK FILE(name)
Liberação de RegistroLiberação de RegistroLiberação de RegistroLiberação de Registro
EIBRCODE
NOSPACEINVREQLENGERRILLOGIC
02 08 60EX.:
Condições de ExceçãoCondições de ExceçãoCondições de ExceçãoCondições de Exceção
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 49/10349
MOVE '00003' TO W-CHAVE
EXEC CICS READ FILE('ARQ1') INTO(W-REG) RIDFLD(W-CHAVE) UPDATE RESP(W-ERR)
END-EXECIF W-ERR NOT EQUAL DFHRESP(NORMAL) PERFORM ROT-ERRO.
*MOVE ALTERAÇÕES PARA ARQUIVO**********************************************EXEC CICS REWRITE FILE('ARQ1') FROM(W-REG) RESP(W-ERR) END-EXECIF W-ERR NOT EQUAL DFHRESP(NORMAL) PERFORM ROT-ERRO.
Codificação - AtualizaçãoCodificação - AtualizaçãoCodificação - AtualizaçãoCodificação - Atualização
CONTROLE
EXCLUSIVO
READFILE('ARQ1')
UPDATE
SEND MAP
RECEIVE MAP
REWRITEFILE('ARQ1')
Desenho ConversacionalDesenho ConversacionalDesenho ConversacionalDesenho Conversacional
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 50/10350
UPDT (1a Fase)
READ FILE('ARQ1')
SEND MAP
RETURNTRANSID('UPDT')
UPDT (2a Fase)
RECEIVE MAP
READFILE('ARQ1') UPDATE
REWRITEFILE('ARQ1')
RETURN
Desenho Pseudo-ConversacionalDesenho Pseudo-ConversacionalDesenho Pseudo-ConversacionalDesenho Pseudo-Conversacional
FORMATA DADOS DO NOVO REGISTRO
INFORMA CHAVE( RIDFLD)
GRAVA NOVOREGISTRO
Gravando novos RegistrosGravando novos RegistrosGravando novos RegistrosGravando novos Registros
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 51/10351
Gravação de Registros - WRITEGravação de Registros - WRITEGravação de Registros - WRITEGravação de Registros - WRITE
EXEC CICS WRITE FILE(name) FROM(data-area) RIDFLD(data-area) [LENGTH(data-value)]
[RBA|RRN] [MASSINSERT]
MOVE '00003' TO W-CHAVEMOVE 'PHEYSEY' TO REG-NOMEMOVE 'SAO PAULO' TO REG-CIDADEMOVE EIBDATE TO REG-DATAMOVE EIBTIME TO REG-HORA
EXEC CICS WRITE FILE('ARQ1') FROM(W-REG) RIDFLD(W-CHAVE) RESP(W-ERR)
END-EXEC
IF ERR-CODE EQUAL DFHRESP(DUPREC) MOVE 'REGISTRO JA EXISTENTE' TO MSGO . . .ELSE
IF ERR-CODE NOT EQUAL DFHRESP(NORMAL) PERFORM ROT-ERRO. . . .
Codificação - InclusãoCodificação - InclusãoCodificação - InclusãoCodificação - Inclusão
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 52/10352
UNIDADE 6UNIDADE 6UNIDADE 6UNIDADE 6
ACESSANDO DB2ACESSANDO DB2ACESSANDO DB2ACESSANDO DB2
Tabelas DB2 Tabelas DB2 Tabelas DB2 Tabelas DB2TABELA
A B C D E
A X Z
VIEW
LINHA
COLUNA
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 53/10353
Compilando ProgramasCompilando ProgramasCompilando ProgramasCompilando Programas
EXEC
SQL...
FONTEDBRM
DBRM
TRANSLATOR
PRÉ-COMPILADOR DB2
COMPILADOR
LINKAGE EDITOR
BIND
CATALOGO DB2
LOADMODULE
DB2 DIRECTORY
PLAN
Recuperando LinhasRecuperando LinhasRecuperando LinhasRecuperando Linhas
RESULTADO DA PESQUISA = 1 LINHA
RESULTADO DA PESQUISA = 1 OU + LINHAS
SELECT
CURSOR
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 54/10354
Estruturas NecessáriasEstruturas NecessáriasEstruturas NecessáriasEstruturas Necessárias
WORKING-STORAGE
PROCEDURE DIVISION
DECLARE TABELAS E VIEWS
SQLCA
VARIÁVEIS HOST
EXEC SQL SELECT . . . INTO . . .
FROM . . . WHERE . . .
Declaração de Tabela - ExemploDeclaração de Tabela - ExemploDeclaração de Tabela - ExemploDeclaração de Tabela - Exemplo
(NOME CHAR(30) NOT NULL, . . . )
END-EXEC.
EXEC SQL INCLUDE SQLCA END-EXEC.
EXEC SQL DECLARE CLI1 TABLE
WORKING-STORAGE SECTION.
01 FUNC1-LAYOUT.02 NOME PIC X(30). . . .
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 55/10355
Cobol x DB2Cobol x DB2Cobol x DB2Cobol x DB2
SQL COBOL
SMALLLINT PIC S9(4) COMP
INTEGER PIC S9(8) COMP
DECIMAL
PIC S9(n)V9(m) COMP-3ONDE n+m 15
SQL COBOL
FLOAT COMP-2
CHARPIC X(n)
n = 1 to 254
VARCHAR
01 . . . 05. . . PIC S9(4) COMP 05. . . PIC X(n)
Comando SELECTComando SELECTComando SELECTComando SELECT
EXEC SQL
SELECT
INTO
FROM
WHERE
END-EXEC
NOME DE COLUNAS
VARIÁVEIS DE HOST
NAME DA TABELA
CRITÉRIO DE CONDIÇÃO
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 56/10356
SQLCODESQLCODESQLCODESQLCODE
SUCCESSO
ERRO
EXCEÇÃO
NOT FOUND
SQLCODE
0
- n
+ n
+ 100
Teste Condições de Exceção Teste Condições de Exceção Teste Condições de Exceção Teste Condições de Exceção
IF SQLCODE = 100
OU
EXEC SQL WHENEVER condição . . .
END-EXEC
EXEC SQL WHENEVER NOT FOUND GO TO
END-EXEC
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 57/10357
CursorCursorCursorCursor
RECUPERAR LINHA(S) ONDE ESTADO = SP
TABELA CLI1
TABELA RESULTADO
CODIGO NOME . . . . CIDADE
00001 ABC LTDA . . . . SP
00002 XYZ CONS. . . . . SP
00012 BRAS. SA. . . . . SP
Utilização de CursorUtilização de CursorUtilização de CursorUtilização de Cursor
DECLARE CURSOR
EXEC SQL DECLARE xyz CURSOR . . .
OPEN CURSOR
EXEC SQL OPEN xyz
FETCH CURSOR
EXEC SQL FETCH xyz INTO . . .
CLOSE CURSOR
EXEC SQL CLOSE xyz
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 58/10358
AtualizaçãoAtualizaçãoAtualizaçãoAtualização
ATUALIZAÇÃOLINHA(S)
EXEC SQL UPDATE nome-tabela SET coluna=:var. host WHERE critério seleçãoEND-EXEC
ExclusãoExclusãoExclusãoExclusão
EXCLUSÃOLINHA(S)
EXEC SQL DELETE FROM nome-tabela WHERE critério seleçãoEND-EXEC
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 59/10359
InclusãoInclusãoInclusãoInclusão
INCLUSÃOLINHA(S)
EXEC SQL INSERT INTO nome-tabela (colunas) VALUES (:variáveis host)END-EXEC
UNIDADE 7UNIDADE 7UNIDADE 7UNIDADE 7
CONTROLE DE PROGRAMASCONTROLE DE PROGRAMASCONTROLE DE PROGRAMASCONTROLE DE PROGRAMAS
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 60/103
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 61/10361
Comando LINK Comando LINK Comando LINK Comando LINK
EXEC CICS LINK PROGRAM(name) [ COMMAREA(data-area) ]
[ LENGTH(data-value) ] [ INPUTMSG(data-area) ]
[ INPUTMSGLEN(data-value) ] . . .
CICS
Primeiro Programa
LINK
Segundo Programa
RETURN
NÍVEL 0
NÍVEL 2
NÍVEL 1
Níveis LógicosNíveis LógicosNíveis LógicosNíveis Lógicos
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 62/10362
PROGRAM-ID. PROG1.
WORKING-STORAGE SECTION.77 W-ERR PIC S9(8) COMP.01 W-COMM PIC X(3) VALUE 'SIM'. . . . .PROCEDURE DIVISION. . . . .
EXEC CICS LINK PROGRAM('PROG2') COMMAREA(W-COMM) END-EXEC . . . .
PROGRAM-ID. PROG2.WORKING-STORAGE SECTION.77 W-FLAG PIC X(3).LINKAGE SECTION.01 DFHCOMMAREA. 02 L-COMM PIC X(3).PROCEDURE DIVISION.
. . . .MOVE L-COMM TO W-FLAG
. . . .EXEC CICS RETURN END-EXEC.
Codificação - LINK Codificação - LINK Codificação - LINK Codificação - LINK
CICS
PROG2
PROCEDURE...
RETURN
PROG1
PROCEDURE...
XCTL ...
XCTL entre ProgramasXCTL entre ProgramasXCTL entre ProgramasXCTL entre Programas
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 63/10363
WORKING STORAGE
W-COMM
PROG1
PROCEDURE...
XCTL PROGRAM('PROG2')
COMMAREA(W-COMM)
PROG2
LINKAGE... DFHCOMMAREA
PROCEDURE...
RETURN
DFHCOMMAREACÓPIA
Passagem de Dados Utilizando XCTLPassagem de Dados Utilizando XCTLPassagem de Dados Utilizando XCTLPassagem de Dados Utilizando XCTL
Comando XCTLComando XCTLComando XCTLComando XCTL
EXEC CICS XCTL PROGRAM(name) [ COMMAREA(data-area) ]
[ LENGTH(data-value) ] [ INPUTMSG(data-area) ]
[ INPUTMSGLEN(data-value) ] . . .
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 64/10364
CICS
Primeiro Programa
LINK
Segundo Programa
RETURN
NÍVEL 0
NÍVEL 2
NÍVEL 1
XCTL
Terceiro pgm
RETURN
Níveis LógicosNíveis LógicosNíveis LógicosNíveis Lógicos
PROGRAM-ID. PROG1.WORKING-STORAGE SECTION.77 W-ERR PIC S9(8) COMP.01 W-COMM PIC X(3) VALUE 'SIM'. . . . .PROCEDURE DIVISION. . . . .
EXEC CICS XCTL PROGRAM('PROG2') COMMAREA(W-COMM) END-EXEC . . . .
PROGRAM-ID. PROG2.WORKING-STORAGE SECTION.77 W-FLAG PIC X(3).
LINKAGE SECTION.01 DFHCOMMAREA. 02 L-COMM PIC X(3).PROCEDURE DIVISION. . . . .
MOVE L-COMM TO W-FLAG . . . .
EXEC CICS RETURN END-EXEC.
Codificação - XCTLCodificação - XCTLCodificação - XCTLCodificação - XCTL
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 65/10365
W-COMM PIC X(100)LINKAGE SECTION.01 DFHCOMMAREA. 02 L-COMM PIC X(100).
COMMAREA(W-COMM)LENGTH(50)
EIBCALEN
50
Cuidados com a Linkage SectionCuidados com a Linkage SectionCuidados com a Linkage SectionCuidados com a Linkage Section
CALL LITERAL: CALL 'PROGB'
OS/COBOL VS COBOL II
PGM CHAMADOR
PGMCHAMADO
COMANDOS CICS
OS/COBOLVS COBOL II
ASSEMBLER
Apenas 1 módulo executável
CALL Estático - COBOLCALL Estático - COBOLCALL Estático - COBOLCALL Estático - COBOL
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 66/10366
MOVE 'PROGB' TO W-PROGCALL VARIABLE: CALL W-PROG
OS/COBOL VS COBOL II
PGM CHAMADOR
PGMCHAMADO
COMANDOS CICSOS/COBOLVS COBOL II ASSEMBLER
2 módulos executáveis
CALL Dinâmico - COBOLCALL Dinâmico - COBOLCALL Dinâmico - COBOLCALL Dinâmico - COBOL
Passagem de Dados com INPUTMSGPassagem de Dados com INPUTMSGPassagem de Dados com INPUTMSGPassagem de Dados com INPUTMSGWORKING STORAGE
W-AREA
PROG1
PROCEDURE...
LINKPROGRAM('PROG2')INPUTMSG(W-AREA)INPUTMSGLEN(20)
PROG2
PROCEDURE...
RETURN
WORKING STORAGE
W-INPUT
RECEIVEINTO(W-INPUT). . . .
LINK / XCTL - CICS V3.1.1RETURN TRANSID - CICS V3.2.1
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 67/10367
Codificação - INPUTMSGCodificação - INPUTMSGCodificação - INPUTMSGCodificação - INPUTMSGPROGRAM-ID. PROG1.WORKING-STORAGE SECTION.77 W-ERR PIC S9(8) COMP.01 W-INPUT. 02 W-TRANS PIC X(4). 02 W-CHAVE PIC X(5).PROCEDURE DIVISION. . . . .
EXEC CICS XCTL PROGRAM('PROG2') INPUTMSG(W-INPUT) INPUTMSGLEN(9) END-EXEC . . . .
PROGRAM-ID. PROG2.WORKING-STORAGE SECTION.01 W-RECEBE.
02 W-TRN PIC X(4). 02 W-KEY PIC X(5).PROCEDURE DIVISION. . . . .
EXEC CICS RECEIVE INTO(W-RECEBE) END-EXEC . . . .
EXEC CICS RETURN END-EXEC.
Iniciando uma Nova Transação -Iniciando uma Nova Transação -Iniciando uma Nova Transação -Iniciando uma Nova Transação -
STARTSTARTSTARTSTART
EXEC CICS START TRANSID(name) [ INTERVAL(hhmmss) ]
[ TIME(hhmmss) ] [ AFTER HOURS(data-value)
MINUTES(data-value) SECONDS(data-value) ] [ AT HOURS(data-value) MINUTES(data-value) SECONDS(data-value) ]
[ FROM(data-area) ] [ LENGTH(data-value) ]
. . .
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 68/10368
Iniciando uma Nova Transação –Iniciando uma Nova Transação –Iniciando uma Nova Transação –Iniciando uma Nova Transação –STARTSTARTSTARTSTART
EXEC CICS START TRANSID('TREX') TERMID('PRT1') FROM(W-DADOS) TIME(163000) END-EXEC
TREX
PRT1
16:30:00 HS
UNIDADE 8UNIDADE 8UNIDADE 8UNIDADE 8
ADDRESSABILITY USO DA LINKAGEADDRESSABILITY USO DA LINKAGEADDRESSABILITY USO DA LINKAGEADDRESSABILITY USO DA LINKAGE
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 69/10369
DFHCOMMAREA e DFHEIBLK:Endereçados automaticamentepelo próprio CICS
Outras áreas de Linkage:Devem ser endereçadas peloprograma
AddressabilityAddressabilityAddressabilityAddressability
PROGRAMA
CICS
LINKAGE SECTION.
WORKING-STORAGE SECTION.
01
01 DFHEIBLK.
01
01
01 DFHCOMMAREA.
01 L-REG.
01 L-TAB
Utilização de Linkage SectionUtilização de Linkage SectionUtilização de Linkage SectionUtilização de Linkage Section
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 70/10370
LINKAGE SECTION.
01 DFHCOMMAREA.
. . .
01 BLL-CELLS.05 FILLER PIC S9(8) COMP.05 PTR-REG PIC S9(8) COMP.05 PTR-TAB PIC S9(8) COMP.
01 L-REG.05 NOME PIC X(30).05 ENDEREÇO PIC X(40).05 CPF PIC 9(11). . . .
01 L-TAB. . . .
BLLBLLBLLBLL CellsCellsCellsCells - OS/ VS COBOL- OS/VS COBOL- OS/ VS COBOL- OS/VS COBOL
PROGRAMAS OS/COBOL:
PROGRAMAS COBOL II:
EXEC CICS READ FILE('ARQ1')RIDFLD(REG-CHAVE)SET(PTR-REG)
EXEC CICS READ FILE('ARQ1')RIDFLD(REG-CHAVE)SET(ADDRESS OF L-REG)
Opção SETOpção SETOpção SETOpção SET
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 71/10371
DC CL2'SP'DC CL15'SAO PAULO'DC CL2'BA'DC CL15'BAHIA'DC CL2'RJ'DC CL15'RIO DE JANEIRO'DC CL2'PR'DC CL15'PARANA'DC CL2'ES'DC CL15'ESPIRITO SANTO' . . . . . . . . . . . .
Tabelas em Assembler Tabelas em Assembler Tabelas em Assembler Tabelas em Assembler
Comando LOADComando LOADComando LOADComando LOAD
EXEC CICS LOAD PROGRAM(name) SET(ptr-ref)
[ LENGTH(data-area) ] [ FLENGTH(data-area) ]
[ ENTRY(ptr-ref) ] [ HOLD ]
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 72/10372
PROGRAM-ID. PROG1.
WORKING-STORAGE SECTION.77 W-ERR PIC S9(8) COMP. . . . .LINKAGE SECTION.01 DFHCOMMAREA. 02 L-COMM PIC X(3).01 TAB-LOCAL. 02 LOCAL OCCURS 120. 03 LOC PIC X(2). 03 DESC PIC X(15).PROCEDURE DIVISION. . . . .
EXEC CICS LOAD PROGRAM('TABPROG') SET(ADDRESS OF TAB-LOCAL)
END-EXEC . . . .
Carga de Tabelas COBOL II - LOADCarga de Tabelas COBOL II - LOADCarga de Tabelas COBOL II - LOADCarga de Tabelas COBOL II - LOAD
PROGRAM-ID. PROG1.WORKING-STORAGE SECTION.77 W-ERR PIC S9(8) COMP. . . . .LINKAGE SECTION.01 DFHCOMMAREA. 02 L-COMM PIC X(3).01 BLL-PTRS. 02 FILLER PIC S9(8) COMP. 02 PTR-TAB PIC S9(8) COMP.01 TAB-LOCAL. 02 LOCAL OCCURS 120.
03 LOC PIC X(2). 03 DESC PIC X(15).PROCEDURE DIVISION. . . . .
EXEC CICS LOAD PROGRAM('TABPROG') SET(PTR-TAB) END-EXEC
Carga de Tabelas OS/VSCarga de Tabelas OS/VSCarga de Tabelas OS/VSCarga de Tabelas OS/VS
COBOL - LOADCOBOL - LOADCOBOL - LOADCOBOL - LOAD
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 73/10373
Comando RELEASEComando RELEASEComando RELEASEComando RELEASE
EXEC CICS RELEASE PROGRAM(name)
Adquirindo Memória - GETMAINAdquirindo Memória - GETMAINAdquirindo Memória - GETMAINAdquirindo Memória - GETMAIN
EXEC CICS GETMAIN SET(ptr-ref) FLENGTH(data-value) | LENGTH(data-value) INITIMG(data-value)
[ SHARED ] [ NOSUSPEND ] . . .
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 74/10374
PROGRAM-ID. PROG1.WORKING-STORAGE SECTION.77 W-ERR PIC S9(8) COMP. . . . .LINKAGE SECTION.01 DFHCOMMAREA. 02 L-COMM PIC X(3).01 L-AREA PIC X(300).
PROCEDURE DIVISION. . . . .
EXEC CICS GETMAIN LENGTH(300) SET(ADDRESS OF L-AREA) END-EXEC
MOVE 'XXXXXXXXX' TO L-AREA . . . .
Adquirindo Memória - COBOL IIAdquirindo Memória - COBOL IIAdquirindo Memória - COBOL IIAdquirindo Memória - COBOL II
PROGRAM-ID. PROG1.WORKING-STORAGE SECTION.77 W-ERR PIC S9(8) COMP. . . . .LINKAGE SECTION.01 DFHCOMMAREA. 02 L-COMM PIC X(3).01 BLL-PTRS. 02 FILLER PIC S9(8) COMP. 02 PTR-AREA PIC S9(8) COMP.01 L-AREA PIC X(300).PROCEDURE DIVISION.
. . . .EXEC CICS GETMAIN LENGTH(300)
SET(PTR-AREA) END-EXEC MOVE 'XXXXXXXXX' TO L-AREA . . . .
Adquirindo Memória - OS/ VS COBOLAdquirindo Memória - OS/VS COBOLAdquirindo Memória - OS/ VS COBOLAdquirindo Memória - OS/VS COBOL
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 75/10375
PROGRAM-ID. PROG1.WORKING-STORAGE SECTION.77 W-ERR PIC S9(8) COMP. . . . .LINKAGE SECTION.01 DFHCOMMAREA. 02 L-COMM PIC X(3).01 L-AREA PIC X(7300).PROCEDURE DIVISION. . . . .
EXEC CICS GETMAIN LENGTH(7300) SET(ADDRESS OF L-AREA) END-EXEC
MOVE 'XXXXXXXXX' TO L-AREA . . .
Áreas Superiores a 4096 bytes –Áreas Superiores a 4096 bytes –Áreas Superiores a 4096 bytes –Áreas Superiores a 4096 bytes –COBOL IICOBOL IICOBOL IICOBOL II
PROGRAM-ID. PROG1.WORKING-STORAGE SECTION.77 W-ERR PIC S9(8) COMP. . . . .LINKAGE SECTION.01 DFHCOMMAREA. 02 L-COMM PIC X(3).01 BLL-PTRS. 02 FILLER PIC S9(8) COMP. 02 PTR1-AREA PIC S9(8) COMP. 02 PTR2-AREA PIC S9(8) COMP.01 L-AREA PIC X(7300).PROCEDURE DIVISION.
. . . .EXEC CICS GETMAIN LENGTH(7300)
SET(PTR1-AREA) END-EXEC ADD 4096 TO PTR1-AREA GIVING PTR2-AREA MOVE 'XXXXXXXXX' TO L-AREA
Áreas Superiores a 4096 bytes –Áreas Superiores a 4096 bytes –Áreas Superiores a 4096 bytes –Áreas Superiores a 4096 bytes –
OS/VS COBOLOS/VS COBOLOS/VS COBOLOS/VS COBOL
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 76/10376
Liberando Memória - FREEMAINLiberando Memória - FREEMAINLiberando Memória - FREEMAINLiberando Memória - FREEMAIN
EXEC C ICS FREEMAIN DATA(data-area)
. . .
CICS CWA
PROGRAMA
Acessando a Common Work AreaAcessando a Common Work AreaAcessando a Common Work AreaAcessando a Common Work Area
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 77/103
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 78/10378
PROGRAM-ID. PROG1.WORKING-STORAGE SECTION.77 W-ERR PIC S9(8) COMP.77 W-LEN PIC S9(4) COMP.LINKAGE SECTION.01 DFHCOMMAREA. 02 L-COMM PIC X(3).01 BLL-PTRS. 02 FILLER PIC S9(8) COMP. 02 PTR-CWA PIC S9(8) COMP.01 L-CWA.
02 CWA-CAMPO1 PIC X(50). 02 CWA-CAMPO2 PIC X(50).PROCEDURE DIVISION.
EXEC CICS ASSIGN CWALENG(W-LEN) END-EXEC
IF W-LEN GREATER ZEROES EXEC CICS ADDRESSCWA(PTR-CWA)
END-EXEC.
Acessando a CWA - OS/ VS COBOLAcessando a CWA - OS/ VS COBOLAcessando a CWA - OS/ VS COBOLAcessando a CWA - OS/ VS COBOL
Comando ASSIGNComando ASSIGNComando ASSIGNComando ASSIGN
EXEC CICS ASSIGN APPLID(data-area) CWALENG(data-area) NETNAME(data-area) STARTCODE(data-area) TWALENG(data-area) USERID(data-area) USERNAME(data-area) . . .
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 79/103
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 80/10380
LINKAGE SECTION.01 DFHCOMMAREA.01 LIST.
02 FILLER PIC S9(8) COMP. 02 PTR-MAPA PIC S9(8) COMP.
COPY TESTMS1.PROCEDURE DIVISION
EXEC CICS RECEIVE MAP('TESTMP')MAPSET('TESTMS1')
SET(PTR-MAPA) END-EXEC
OS/COBOL
LINKAGE SECTION.01 DFHCOMMAREA.COPY TESTMS1.PROCEDURE DIVISION
EXEC CICS RECEIVE MAP('TESTMP')MAPSET('TESTMS1') SET(ADDRESS OF TESTMPI) END-EXEC
COBOL II
Recebendo Mapa na Linkage SectionRecebendo Mapa na Linkage SectionRecebendo Mapa na Linkage SectionRecebendo Mapa na Linkage Section
Mapa Simbólico
SEND MAP('TESTMP')MAPSET('TESTMS1')
MOVE 'TESTMP' TO W-MAPAMOVE 'TESTMS1' TO W-MAPSET
SEND MAP(W-MAPA) MAPSET(W-MAPSET)
FROM(TESTMPO)
SEND MAP('TESTMS1')
TESTMPO
TESTMPO
TESTMS1O
SEND MAP - Constantes e VariáveisSEND MAP - Constantes e VariáveisSEND MAP - Constantes e VariáveisSEND MAP - Constantes e Variáveis
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 81/10381
Mapa Simbólico
RECEIVE MAP('TESTMP')MAPSET('TESTMS1')
MOVE 'TESTMP' TO W-MAPAMOVE 'TESTMS1' TO W-MAPSET
RECEIVE MAP(W-MAPA) MAPSET(W-MAPSET) INTO(TESTMPI)
RECEIVE MAP('TESTMS1')
TESTMPI
TESTMPI
TESTMS1I
RECEIVE MAP - Constantes eRECEIVE MAP - Constantes eRECEIVE MAP - Constantes eRECEIVE MAP - Constantes eVariáveisVariáveisVariáveisVariáveis
SEND MAP('TESTMP') MAPSET('TESTMS1') [ERASE | ERASEAUP] [FREEKB] [ALARM] [FRSET] [PRINT] OUSEND CONTROL . . . .
ERASE - LIMPA BUFFER DO TERMINAL E ENVIA DADOS
ERASEAUP - LIMPA TODOS OS CAMPOS DESPROTEGIDOS ANTES DE ENVIAR DADOS
FREEKB - DESTRAVA O TECLADO DO TERMINALALARM - SOA O ALARME AO ENVIAR DADOS
FRSET - DESLIGA O MDT DE TODOS OS CAMPOS
PRINT - QUANDO O TERMINAL ASSOCIADO É UMA IMPRESSORA
SEND MAP - Funções de ControleSEND MAP - Funções de ControleSEND MAP - Funções de ControleSEND MAP - Funções de Controle
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 82/10382
COLORHILIGHTOUTLINETRANSPARENCYPROGRAMMED SYMBOLS
Atributos “Extended”Atributos “Extended”Atributos “Extended”Atributos “Extended”
TESTMS1 DFHMSD TYPE=&SYSPARM,MODE=INOUT,LANG=COBOL, XTIOAPFX=YES,STORAGE=AUTO, XDSATTS=(COLOR,PS,HILIGHT,OUTLINE,TRANSP), X
MAPATTS=(COLOR,PS,HILIGHT,OUTLINE,TRANSP)TESTMP DFHMDI SIZE=(24,80),LINE=1,COLUMN=1 DFHMDF POS=(3,1),LENGTH=5,INITIAL='NOME:',ATTRIB=ASKIP, X COLOR=BLUENOME DFHMDF POS=(3,7),LENGTH=30,ATTRIB=(UNPROT,IC), X COLOR=YELLOW DFHMDF POS=(3,38),LENGTH=1,ATTRIB=ASKIP DFHMDF POS=(5,1),LENGTH=4,INITIAL='END:',ATTRIB=ASKIP, X COLOR=BLUEENDER DFHMDF POS=(5,6),LENGTH=40,ATTRIB=UNPROT,COLOR=YELLOW
DFHMDF POS=(5,47),LENGTH=1,ATTRIB=ASKIP DFHMDF POS=(7,1) ,LENGTH=4,INITIAL='CPF:',ATTRIB=ASKIP, X COLOR=BLUECPF DFHMDF POS=(7,6),LENGTH=11,ATTRIB=(UNPROT,NUM)
DFHMDF POS=(7,18),LENGTH=1,ATTRIB=ASKIPMSG DFHMDF POS=(24,1),LENGTH=70,ATTRIB=ASKIP,COLOR=RED DFHMSD TYPE=FINAL END
Atributos “Extended”Atributos “Extended”Atributos “Extended”Atributos “Extended”
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 83/10383
COPY TESTMS1.
01 TESTMPI. 02 FILLER PIC X(12). 02 NOMEL COMP PIC S9(4). 02 NOMEF PICTURE X. 02 FILLER REDEFINES NOMEF. 03 NOMEA PICTURE X.
02 FILLER PICTURE X(5).02 NOMEI PIC X(30).
02 ENDERL COMP PIC S9(4). 02 ENDERF PICTURE X. 02 FILLER REDEFINES ENDERF. 03 ENDERA PICTUREX. 02 FILLER PICTURE X(5).
02 ENDERI PIC X(40).02 CPFL COMP PIC S9(4).
02 CPFF PICTURE X. 02 FILLER REDEFINES CPFF. 03 CPFA PICTURE X. 02 FILLER PICTURE X(5).
02 CPFI PIC X(11). 02 MSGL COMP PIC S9(4).
02 MSGF PICTURE X. 02 FILLER REDEFINES MSGF. 03 MSGA PICTURE X. 02 FILLER PICTURE X(5).
02 MSGI PIC X(70).
Atributos “Extended”Atributos “Extended”Atributos “Extended”Atributos “Extended”
01 TESTMPO REDEFINES TESTMPI. 02 FILLER PIC X(12). 02 FILLER PICTURE X(3). 02 NOMEC PICTURE X. 02 NOMEP PICTURE X.
02 NOMEH PICTURE X. 02 NOMEU PICTURE X. 02 NOMET PICTURE X. 02 NOMEO PIC X(30). 02 FILLER PICTURE X(3). 02 ENDERC PICTURE X. 02 ENDERP PICTURE X.
02 ENDERH PICTURE X. 02 ENDERU PICTURE X. 02 ENDERT PICTURE X. 02 ENDERO PIC X(40). 02 FILLER PICTURE X(3). 02 CPFC PICTURE X. 02 CPFP PICTURE X.
02 CPFH PICTURE X.
02 CPFU PICTURE X. 02 CPFT PICTURE X. 02 CPFO PIC X(11.)
02 FILLER PICTURE X(3). 02 MSGC PICTURE X. 02 MSGP PICTURE X.
02 MSGH PICTURE X. 02 MSGU PICTURE X. 02 MSGT PICTURE X. 02 MSGO PIC X(70).
Atributos “Extended”Atributos “Extended”Atributos “Extended”Atributos “Extended”
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 84/10384
EXEC CICS RECEIVE MAP(......) . . . . . .
CURSOR EIBCPOSNTECLA EIBAID
RECEIVE - Tecla e CursorRECEIVE - Tecla e CursorRECEIVE - Tecla e CursorRECEIVE - Tecla e Cursor
007888354
EXEC CICS BIF DEEDIT FIELD(AMOUNT)
LENGTH (9)
END-EXEC
$78883.54
Edição de Campos -Edição de Campos -Edição de Campos -Edição de Campos - BuiltBuiltBuiltBuilt inininin FunctionFunctionFunctionFunction
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 85/10385
UNIDADE 10UNIDADE 10UNIDADE 10UNIDADE 10
QUEUEINGQUEUEINGQUEUEINGQUEUEING
QueueingQueueingQueueingQueueing - Enfileiramento de Dados- Enfileiramento de Dados- Enfileiramento de Dados- Enfileiramento de Dados
TRANSIENT DATA
TEMPORARY STORAGE
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 86/10386
CICS
DCT
EXEC CICSREADQ/WRITEQ TD
EXTRAPARTITION
INTRA-PARTITION
T D P
PROGRAMA
Transient Transient Transient Transient Data - TDData - TDData - TDData - TD
PROGRAMA
DFHTDPEXEC CICS
READQ/WRITEQ TD
DFHINTRA
VSAM ESDS
DFHDCT
DESTID
TD TD TD TD IntrapartitionIntrapartitionIntrapartitionIntrapartition
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 87/10387
DFHTDPPROGRAMA
EXEC CICS
READQ/WRITEQ TD
DFHDCT
DESTID
TD TD TD TD ExtrapartitionExtrapartitionExtrapartitionExtrapartition
EXEC CICS WRITEQ TD QUEUE(name)
FROM(data-area)
[LENGTH(data-area)]
Gravação de TDGravação de TDGravação de TDGravação de TD
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 88/10388
EXEC CICS READQ TD QUEUE(name)
INTO(data-area)[LENGTH(data-area)]
Leitura de TDLeitura de TDLeitura de TDLeitura de TD
EXEC CICS DELETEQ TD QUEUE(name)
Exclusão de TDExclusão de TDExclusão de TDExclusão de TD
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 89/103
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 90/10390
PERFORM UNTIL W-ERR EQUAL DFHRESP(QZERO) EXEC CICS READQ TD QUEUE('TD01') INTO(TD-REG) RESP(W-ERR) END-EXEC IF W-ERR EQUAL DFHRESP(NORMAL) . . . .
ELSE IF W-ERR NOT EQUAL DFHRESP(QZERO) PERFORM TRATA-ERRO END-IF END-IF
END-PERFORM . . . .
Codificação - Lendo TDCodificação - Lendo TDCodificação - Lendo TDCodificação - Lendo TD
DFHTSP
EXEC CICS
READQ/WRITEQTS TS
DFHTEMP
VSAM (ESDS)
Temporary Temporary Temporary Temporary Storage - TSStorage - TSStorage - TSStorage - TS
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 91/10391
EXEC CICS WRITEQ TS QUEUE(name)
FROM(data-area)[LENGTH(data-area)]
[ITEM(data-area) [REWRITE]] [MAIN|AUXILIARY]
Gravação de TSGravação de TSGravação de TSGravação de TS
EXEC CICS READQ TS QUEUE(name)
INTO(data-area)[LENGTH(data-area)]
[ITEM(data-area) | NEXT] [NUMITENS(data-area)]
Leitura de TSLeitura de TSLeitura de TSLeitura de TS
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 92/10392
EXEC CICS DELETEQ TS QUEUE(name)
Exclusão de TSExclusão de TSExclusão de TSExclusão de TS
Digite o texto ITEMERR LENGERR NOSPACE QIDERR IOERR
Condições de Exceção - TSCondições de Exceção - TSCondições de Exceção - TSCondições de Exceção - TS
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 93/10393
WORKING-STORAGE SECTION.01 W-ITEM PIC S9(4) COMP.01 TS-REG. . . . .PROCEDURE DIVISION. EXEC CICS WRITEQ TS QUEUE('FATTS01') FROM(TS-REG) ITEM(W-ITEM) RESP(W-ERR) END-EXEC IF W-ERR NOT EQUAL DFHRESP(NORMAL) PERFORM TRATA-ERRO.
. . . .
Codificação - Gravando TSCodificação - Gravando TSCodificação - Gravando TSCodificação - Gravando TS
WORKING-STORAGE SECTION.01 W-ITEM PIC S9(4) COMP.01 TS-REG. . . . .PROCEDURE DIVISION. MOVE 10 TO W-ITEM
EXEC CICS WRITEQ TS QUEUE('FATTS01') FROM(TS-REG) ITEM(W-ITEM) REWRITE
RESP(W-ERR) END-EXEC IF W-ERR NOT EQUAL DFHRESP(NORMAL) PERFORM TRATA-ERRO. . . . .
Codificação - Atualizando TSCodificação - Atualizando TSCodificação - Atualizando TSCodificação - Atualizando TS
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 94/10394
WORKING-STORAGE SECTION.01 W-ITEM PIC S9(4) COMP.01 TS-REG. . . . .PROCEDURE DIVISION. EXEC CICS READQ TS QUEUE('FATTS01') INTO(TS-REG) NEXT RESP(W-ERR) END-EXEC IF W-ERR EQUAL DFHRESP(ITEMERR) EXEC CICS DELETEQ TS QUEUE('FATTS01') END-EXEC ELSE IF W-ERR NOT EQUAL DFHRESP(NORMAL) PERFORM TRATA-ERRO. . . . .
Codificação - Lendo TSCodificação - Lendo TSCodificação - Lendo TSCodificação - Lendo TS
UNIDADE 11UNIDADE 11UNIDADE 11UNIDADE 11
MANUSEIO DE EXCEÇÕESMANUSEIO DE EXCEÇÕESMANUSEIO DE EXCEÇÕESMANUSEIO DE EXCEÇÕES
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 95/10395
EXEC CICS HANDLE CONDITION condition(label)
condition(label) . . . .
EXEC CICS IGNORE CONDITION condition
condition . . . .
Manuseio de Condições de ExceçãoManuseio de Condições de ExceçãoManuseio de Condições de ExceçãoManuseio de Condições de Exceção
PROCEDURE DIVISION. EXEC CICS HANDLE CONDITION INVREQ(TRATA-INV)
LENGERR(TRATA-LENGTH) NOTFND(NAO-ACHOU) PGMIDERR(TRATA-PROG) ERROR(TRATA-ERRO) END-EXEC . . . . EXEC CICS IGNORE CONDITION INVREQ END-EXEC . . . . EXEC CICS READ FILE('TESTARQ')
INTO(W-REG) RIDFLD(W-CHAVE)
END-EXEC . . . .
NAO-ACHOU. . . . .TRATA-LENGTH. . . . .
Manuseio de Condições de ExceçãoManuseio de Condições de ExceçãoManuseio de Condições de ExceçãoManuseio de Condições de Exceção
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 96/10396
- UTILIZAR A OPÇÃO RESP NOSCOMANDOS, TESTANDO O CAMPO
DA WORKING-STORAGE
- UTILIZAR A OPÇÃO NOHANDLE NOSCOMANDOS, E TESTAR EIBRESP
- UTILIZAR HANDLE E IGNORE CONDITION
- CICS TOMA AÇÃO DEFAULT, QUE GERAL- MENTE É ABENDAR A TASK
Opções para Manuseio de ExceçõesOpções para Manuseio de ExceçõesOpções para Manuseio de ExceçõesOpções para Manuseio de Exceções
INVREQ EIBRESP2
READ não especificado na FCT
READ UPDATE não especificado na FCT
KEYLENGTH incorreto e GENERIC nãoespecificado
KEYLENGTH acima do permitido(GENERIC especificado)
KEYLENGTH NEGATIVO(GENERIC especificado)
READ UPDATE seguido deREAD UPDATE semUNLOCK, REWRITE or DELETE
20
26
25
42
28
EXEC CICS READ INVREQ (EIBRESP = 16)
EIBRESP2 para AuxiliarEIBRESP2 para AuxiliarEIBRESP2 para AuxiliarEIBRESP2 para Auxiliar
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 97/10397
WORKING-STORAGE SECTION. . . .COPY DFHAID. . . .PROCEDURE DIVISION. IF EIBAID EQUAL DFHPF3 . . . IF EIBAID EQUAL DFHCLEAR . . .
IF EIBAID EQUAL DFHENTER . . .
PROCEDURE DIVISION. EXEC CICS HANDLE AID PF1(TRATA-HELP) PF3(TRATA-FIM) PF7(VOLTA-TELA) PF8(AVANCA-TELA) PF10 ANYKEY(TECLA-ERRADA) END-EXEC. . . . . . .TRATA-HELP. . . .TRATA-FIM. . . .
VOLTA-TELA. . . .
Manuseio de TeclasManuseio de TeclasManuseio de TeclasManuseio de Teclas
PROCEDURE DIVISION. EXEC CICS HANDLE CONDITION MAPFAIL(TRATA-MAPFAIL) NOTFND(TRATA-NOTFND) LENGERR(TRATA-LENGTH) END-EXEC . . . . EXEC CICS HANDLE AID PF5(TRATA-PF5) END-EXEC
. . .EXEC CICS RECEIVE MAP . . . .
END-EXEC . . .TRATA-MAPFAIL. . . . .TRATA-PF5. . . . .
??
?Cuidados ao Utilizar HANDLECuidados ao Utilizar HANDLECuidados ao Utilizar HANDLECuidados ao Utilizar HANDLE
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 98/103
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 99/10399
PROGRAMA
EXEC CICSLINK
. . .
EXEC CICSXCTL
. . .
COBOL CALL
SUSPENDE HANDLE
RESTAURA HANDLE
PROG2
PROG3
PROG4
Atenção !!!Atenção !!!Atenção !!!Atenção !!!
STATUS: ENTER ONE OF THE FOLLOWING
ABend DEQ INquire RECeive STARTBr ACquire DISAble ISsue RELease SUspend ADdress DISCard Journal RESEtbr SYncpoint ALlocate DUmp LInk RESYnc Trace ASKtime ENAble LOad RETRieve Unlock ASSign ENDbr Monitor RETUrn VerifyBIf ENQ PErform REWrite WAITBUild ENTer POInt ROute WAITCicsCAncel EXtract POP SENd WRITECHange FEpi POSt SET WRITEQCOLlect FOrmattime PURge SIGNOFf XctlCONNect FREE PUSh SIGNONCONVerse FREEMain Query SPOOLClose
CReate GDs READ SPOOLOpenDELAy GEtmain READNext SPOOLReadDELETE Handle READPrev SPOOLWriteDELETEQ IGnore READQ START
PF 1 HELP 2 HEX 3 END 4 EIB 5 VAR 6 USER 9 MSG
CECI - 1/3CECI - 1/3CECI - 1/3CECI - 1/3
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 100/103100
WRITEQ TS Q(FATTS1) FROM('TESTE GRAVACAO DE TS')STATUS: ABOUT TO EXECUTE COMMAND NAME=EXEC CICS WRITEQ TSQueue( 'FATTS1 ' )< Sysid() >From( 'TESTE GRAVACAO DE TS' )< Length( +00020 ) >< NUmitems() | Item() < Rewrite > >< Main | Auxiliary >< NOsuspend >
PF 1 HELP 2 HEX 3 END 4 EI B 5 VAR 6 USER 7 SBH 8 SFH 9 MSG 10 SB 11 SF
CECI - 2/3CECI - 2/ 3CECI - 2/3CECI - 2/ 3
WRITEQ TS Q(FATTS1) FROM('TESTE GRAVACAO DE TS')STATUS: COMMAND EXECUTION COMPLETE NAME=EXEC CICS WRITEQ TSQueue( 'FATTS1 ' )< Sysid() >From( 'TESTE GRAVACAO DE TS' )< Length( +00020 ) >< NUmitems( +00001 ) | Item() < Rewrite > >< Main | Auxiliary >< NOsuspend >
RESPONSE: NORMAL EIBRESP=+0000000000 EIBRESP2=+0000000000PF 1 HELP 2 HEX 3 END 4 EIB 5 VAR 6 USER 7 SBH 8 SFH 9 MSG 10 SB 11 SF
CECI - 3/3CECI - 3/3CECI - 3/3CECI - 3/3
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 101/103101
CEBR TS QUEUE CEBRT001 RECORD 1 OF 0 COL 1 OF 0 ENTER COMMAND ===>
************************** TOP OF QUEUE ******************************* ************************* BOTTOM OF QUEUE *****************************
TEMPORARY STORAGE QUEUE CEBRT001 DOES NOT EXISTPF1 : HELP PF2 : SWITCH HEX/CHAR PF3 : TERMINATE BROWSE
PF4 : VIEW TOP PF5 : VIEW BOTTOM PF6 : REPEAT LAST FINDPF7 : SCROLL BACK HALF PF8 : SCROLL FORWARD HALF PF9 : UNDEFINEDPF10: SCROLL BACK FULL PF11: SCROLL FORWARD FULL PF12: UNDEFINED
CEBRCEBRCEBRCEBR
CONS UPDT INCL EXCL HELP FIM
FUNCAO:MSG:PF3=FIM
CADASTRO DE FUNCIONARIOS
MATRICULA:NOME:ENDERECO:CPF:DEPTO:CARGO:SALARIO:
Pseudo-Conversacional –Pseudo-Conversacional –Pseudo-Conversacional –Pseudo-Conversacional –
Exemplo das TécnicasExemplo das TécnicasExemplo das TécnicasExemplo das Técnicas
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 102/103102
IDENTIFICATION DIVISION.PROGRAM-ID. TESTPGM.
WORKING-STORAGE SECTION.77 W-ERR PIC S9(8) COMP.77 W-COMM PIC X(3).COPY DFHBMSCA.COPY DFHAID.COPY TESTMS1.LINKAGE SECTION.01 DFHCOMMAREA. 02 COM-FLAG PIC X(3).PROCEDURE DIVISION. IF EIBAID EQUAL DFHPF3 EXEC CICS SEND CONTROL ERASE END-EXEC EXEC CICS RETURN END-EXEC. IF EIBCALEN EQUAL ZEROES
MOVE LOW-VALUES TO TESTMPO MOVE -1 TO CONSL
EXEC CICS SEND MAP('TESTMP') MAPSET('TESTMS1') FROM(TESTMPO)
CURSOR ERASE FREEKBEND-EXEC
EXEC CICS RETURN TRANSID(EIBTRNID) COMMAREA(W-COMM) END-EXEC.
Aplicação Pseudo-Conversacional –Aplicação Pseudo-Conversacional –Aplicação Pseudo-Conversacional –Aplicação Pseudo-Conversacional –1/41/41/41/4
IF EIBCPOSN LESS 80 EVALUATE TRUE WHEN EIBCPOSN > 1 AND < 6 PERFORM TRATA-CONS
WHEN EIBCPOSN > 8 AND < 13 PERFORM TRATA-UPDT WHEN EIBCPOSN > 15 AND < 20 PERFORM TRATA-INCL WHEN EIBCPOSN > 22 AND < 27 PERFORM TRATA-EXCL WHEN EIBCPOSN > 29 AND < 34 PERFORM TRATA-HELP WHEN EIBCPOSN > 36 AND < 40 PERFORM TRATA-FIM WHEN OTHER MOVE 'CURSOR NAO ESTA EM POSICAO VALIDA' TO MSGO END-EVALUATE
EXEC CICS SEND MAP('TESTMP') MAPSET('TESTMS1') FROM(TESTMPO)
FREEKB END-EXEC
EXEC CICS RETURN TRANSID(EIBTRNID) COMMAREA(COM-FLAG) END-EXEC.
Aplicação Pseudo-Conversacional –Aplicação Pseudo-Conversacional –Aplicação Pseudo-Conversacional –Aplicação Pseudo-Conversacional –
2/42/42/42/4
8/10/2019 CICS Completo
http://slidepdf.com/reader/full/cics-completo 103/103
EXEC CICS RECEIVE MAP('TESTMP')
MAPSET('TESTMS1') INTO(TESTMPI) RESP(W-ERR) END-EXEC IF W-ERR EQUAL DFHRESP(MAPFAIL) MOVE LOW-VALUES TO TESTMPO MOVE -1 TO FUNCL
MOVE 'FAVOR DIGITAR FUNCAO ' TO MSGO EXEC CICS SEND MAP('TESTMP') MAPSET('TESTMS1') FROM(TESTMPO)
FREEKB CURSOR
END-EXECEXEC CICS RETURN TRANSID(EIBTRNID) COMMAREA(COM-FLAG) END-EXEC.
Aplicação Pseudo-Conversacional -Aplicação Pseudo-Conversacional -Aplicação Pseudo-Conversacional -Aplicação Pseudo-Conversacional -3/43/43/43/4
* CONSISTE E PROCESSA FUNÇÃO SOLICITADA************************************************************* MOVE 'FUNÇÃO COMPLETADA COM SUCESSO' TO MSGO
EXEC CICS SEND MAP('TESTMP')
Aplicação Pseudo-Conversacional -Aplicação Pseudo-Conversacional -Aplicação Pseudo-Conversacional -Aplicação Pseudo-Conversacional -
4/44/44/44/4