You are on page 1of 4

IDENTIFICATION DIVISION.

PROGRAM-ID. SFF015.
AUTHOR. EU.
SECURITY. ATUALIZACAO CADASTRO HISTORICOS.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SOURCE-COMPUTER. EDISA-R1.
OBJECT-COMPUTER. EDISA-R1.
SPECIAL-NAMES. DECIMAL-POINT IS COMMA.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT SFFCDHIS ASSIGN TO "sffcdhis"
ORGANIZATION IS INDEXED
ACCESS MODE IS RANDOM
FILE STATUS IS FS
LOCK MODE IS AUTOMATIC
WITH LOCK ON RECORD
RECORD KEY IS HIS-COD.

DATA DIVISION.
FILE SECTION.
COPY "SFFCDHIS.FDS".
WORKING-STORAGE SECTION.
01 TELA-02.
03 HIS-KEY.
05 HIS-CHA PIC 9(03) VALUE ZEROS.
03 TL-SPACES.
05 TL-TOPCAO PIC X(01) VALUE SPACES.

05 TL-HISH01 PIC X(30) VALUE SPACES.

05 TL-HIS-E-S PIC X(01) VALUE SPACES.

05 TL-DELETA PIC X(01) VALUE SPACES.

01 WS-TELA.
03 FIL-001 PIC X(240) VALUE
"ATUALIZACAO CADASTRO HISTORICO - SFF015".
03 FIL-001A PIC X(80) VALUE SPACES.
01 WS-TELA-01.
03 FIL-002 PIC X(88) VALUE "OPCAO: I = INCLUSAO".
03 FIL-003 PIC X(80) VALUE "A = ALTERACAO".
03 FIL-004 PIC X(80) VALUE "D = DELECAO".
03 FIL-005 PIC X(80) VALUE "V = VISUALIZACAO".
03 FIL-006 PIC X(1032) VALUE
"F = FINALIZACAO >?<".
01 WS-TELA-02.
03 FIL-007 PIC X(160) VALUE "CODIGO:".
03 FIL-008 PIC X(160) VALUE "************ HISTORICO".
03 FIL-009 PIC X(80) VALUE
"DESCRICAO [..............................]".
03 FIL-010 PIC X(80) VALUE SPACES.
03 FIL-011 PIC X(80) VALUE SPACES.
03 FIL-012 PIC X(80) VALUE SPACES.
03 FIL-013 PIC X(240) VALUE SPACES.
03 FIL-014 PIC X(468) VALUE
"DELECAO: 'S' = SIM >?<".
03 WS-TL02-MS PIC X(12).
01 WS-TOPCAO PIC X(01).
01 WS-I01 PIC 9(03).
01 FS PIC X(02) VALUE "00".
01 WPARA PIC X(01) VALUE SPACES.
01 WFIM PIC X(03) VALUE SPACES.
PROCEDURE DIVISION.
PF00.
OPEN I-O SFFCDHIS.
IF FS = "00" GO TO PF00A.
DISPLAY "Arquivo historicos nao ok !!!" AT 2201
GO PF99.
******* OPEN OUTPUT SFFCDHIS
******* CLOSE SFFCDHIS
******* OPEN I-O SFFCDHIS.

PF00A.
DISPLAY SPACES AT 0101.
DISPLAY WS-TELA AT 0101.

PF01.
DISPLAY WS-TELA-01 AT 0401.
PF02.
MOVE SPACES TO TL-TOPCAO
ACCEPT TL-TOPCAO AT 0833.
MOVE TL-TOPCAO TO WS-TOPCAO.

IF WS-TOPCAO = "I" MOVE "INCLUSAO" TO WS-TL02-MS


GO TO PF03.

IF WS-TOPCAO = "A" MOVE "ALTERACAO" TO WS-TL02-MS


GO TO PF03.

IF WS-TOPCAO = "D" MOVE "DELECAO" TO WS-TL02-MS


GO TO PF03.

IF WS-TOPCAO = "V" MOVE "VISUALIZACAO" TO WS-TL02-MS


GO TO PF03.

IF WS-TOPCAO = "F" GO TO PF99.

DISPLAY "OPCAO INVALIDA " AT 2201.

GO TO PF02.

PF03.
DISPLAY SPACES AT 0101.

DISPLAY WS-TELA-02 AT 0401.

PF04.
IF WS-TOPCAO = "I" MOVE ZEROS TO HIS-CHA.

ACCEPT HIS-CHA AT 0413.


IF HIS-CHA = 999 GO TO PF01.

PF-READ-1.
MOVE HIS-CHA TO HIS-COD
READ SFFCDHIS INVALID KEY GO TO PF05.
IF FS NOT = "00" DISPLAY
"ARQ.HISTORICOS TEMPORARIAMENTE BLOQUEADO " AT 2201
GO TO PF-READ-1.
IF WS-TOPCAO = "I"
DISPLAY "HISTORICO JA CADASTRADO " AT 2201
GO TO PF04.

MOVE HIS-HIS TO TL-HISH01.

DISPLAY TL-HISH01 AT 0813.

IF WS-TOPCAO = "V" GO TO PF04.


IF WS-TOPCAO = "D" GO TO PF10.
GO TO PF06.

PF05.
IF WS-TOPCAO NOT = "I" DISPLAY
"HISTORICO NAO CADASTRADO - TECLE <ENTER>" AT 2201
STOP " "
DISPLAY SPACES AT 2201
GO TO PF04.

PF06.
IF WS-TOPCAO NOT = "A" MOVE SPACES TO TL-SPACES.

ACCEPT TL-HISH01 AT 0813


DISPLAY "]" AT 0843
IF TL-HISH01 = "9" GO TO PF04.
MOVE TL-HISH01 TO HIS-HIS.

PF08.
MOVE HIS-KEY TO HIS-COD.

IF WS-TOPCAO = "A" GO TO PF09.


WRITE HIS-REG INVALID KEY DISPLAY
"GRAVACAO INVALIDA CAD.HISTORICOS " AT 2201
GO TO PF98.
GO TO PF03.

PF09.
REWRITE HIS-REG INVALID KEY DISPLAY
"REGRAVACAO INVALIDA CAD.HISTORICOS " AT 2201
GO TO PF98.
GO TO PF03.

PF10.
ACCEPT TL-DELETA AT 1550.
IF TL-DELETA NOT = "S" GO TO PF04.

DELETE SFFCDHIS RECORD INVALID KEY DISPLAY


"DELECAO INVALIDA CAD.HISTORICOS " AT 2201
GO TO PF98.
GO TO PF03.

PF98.
DISPLAY
"EXECUCAO ABORTADA " AT 2301.
DISPLAY
"DIGITE <FIM> PARA ENCERRAR PROGRAMA .. " AT 2401.
ACCEPT WFIM AT 2445.
IF WFIM NOT = "FIM" GO TO PF98.
PF99.
DISPLAY SPACES AT 0101.
CLOSE SFFCDHIS.
STOP RUN.

You might also like