Вы находитесь на странице: 1из 8

000001 ID DIVISION.

0
000002 PROGRAM-ID. SISBL01. 0
000003 *_______________________________________________________________* 0
000004 * ________________________________________ * 0
000005 * | | * 0
000006 * | SISMIL - SISTEMAS | * 0
000007 * |________________________________________| * 0
000008 * * 0
000009 * Nome * 0
000010 * dd DE mmmmmm DE aaaa. * 0
000011 * * 0
000012 * OBJETIVO : GERAR ARQUIVO DE SAIDA * 0
000013 * INPUT : SISENT1 / 2 - ARQUIVO DE ENTRADA * 0
000014 * OUTPUT : SISENT3 - ARQUIVO DE SAIDA * 0
000015 *_______________________________________________________________* 0
000016 * * 0
000030 ENVIRONMENT DIVISION. 0
000031 CONFIGURATION SECTION. 0
000032 SPECIAL-NAMES. DECIMAL-POINT IS COMMA. 0
000033 INPUT-OUTPUT SECTION. 0
000034 FILE-CONTROL. 0
000035 0
000036 SELECT SISENT1 ASSIGN SISENT1 0
000037 FILE STATUS STA-SISENT1. 0
000038 * 0
000039 SELECT SISENT2 ASSIGN SISENT2 0
000040 FILE STATUS STA-SISENT2. 0
000041 * 0
000042 SELECT SISENT3 ASSIGN SISENT3 0
000043 FILE STATUS STA-SISENT3. 0
000044 0
000045 DATA DIVISION. 0
000046 FILE SECTION. 0
000047 0
000048 FD SISENT1 LABEL RECORD STANDARD 0
000049 RECORDING MODE IS F 0
000050 BLOCK CONTAINS 0 RECORDS. 0
000051 0
000052 01 REGISTRO-SISENT1. 0
000053 02 REG-SISENT1 PIC X(4800). 0
000054 0
000055 FD SISENT2 LABEL RECORD STANDARD 0
000056 RECORDING MODE IS F 0
000057 BLOCK CONTAINS 0 RECORDS. 0
000058 * 0
000059 01 REGISTRO-SISENT2. 0
000060 02 REG-SISENT2 PIC X(4000). 0
000061 * 0
000062 FD SISENT3 LABEL RECORD STANDARD 0
000063 RECORDING MODE IS F 0
000064 BLOCK CONTAINS 0 RECORDS. 0
000065 0
000066 01 REGISTRO-SISENT3. 0
000067 02 REG-SISENT3 PIC X(1948). 0
000068 0
000069 WORKING-STORAGE SECTION. 0
000070 *=======================* 0
000071 0
000072 * VARIAVEIS DO PROGRAMA * 0
000073 *=======================* 0
000074 0
000075 01 WORK-AUX. 0
000076 05 STA-SISENT1 PIC X(02) VALUE ZEROS. 0
000077 05 STA-SISENT2 PIC X(02) VALUE ZEROS. 0
000078 05 STA-SISENT3 PIC X(02) VALUE ZEROS. 0
000079 05 WS-VALOR. 0
000080 10 WS-EDITADO PIC ZZZ.ZZZ.ZZZ.ZZ9. 0
000081 05 WS-CPF-AUX. 0
000082 10 FILLER PIC X(03). 0
000083 10 WS-CPF-11 PIC 9(11). 0
000084 0
000085 * ACUMULADORES DO PROGRAMA * 0
000086 *==========================* 0
000087 0
000088 05 LIDOS-SISENT1 PIC 9(12) VALUE ZEROS. 0
000089 05 LIDOS-SISENT2 PIC 9(12) VALUE ZEROS COMP-3. 0
000090 05 GRAVA-SISENT3 PIC 9(12) VALUE ZEROS. 0
000091 0
000092 * AREA RESERVADA PARA DATAS DO PROGRAMA * 0
000093 *=======================================* 0
000094 0
000095 01 AREA-DATAS. 0
000096 03 WS-DATA-HORA-HOJE. 0
000097 05 WS-DATA-COR PIC 9(08) VALUE ZEROS. 0
000098 05 WS-DATA-COR-R REDEFINES WS-DATA-COR. 0
000099 07 WS-AA-COR PIC 9(04). 0
000100 07 WS-MM-COR PIC 9(02). 0
000101 07 WS-DD-COR PIC 9(02). 0
000102 05 WS-HORA-COR PIC 9(06) VALUE ZEROS. 0
000103 05 WS-HORA-COR-R REDEFINES WS-HORA-COR. 0
000104 07 WS-HH-COR PIC 9(02). 0
000105 07 WS-MI-COR PIC 9(02). 0
000106 07 WS-SS-COR PIC 9(02). 0
000107 0
000108 03 WS-DATA-AUX. 0
000109 05 WS-DD-AUX PIC X(02). 0
000110 05 FILLER PIC X(01) VALUE "/". 0
000111 05 WS-MM-AUX PIC X(02). 0
000112 05 FILLER PIC X(01) VALUE "/". 0
000113 05 WS-AA-AUX PIC X(04). 0
000114 0
000115 03 WS-HORA-AUX. 0
000116 05 WS-HH-AUX PIC X(02). 0
000117 05 FILLER PIC X(01) VALUE ":". 0
000118 05 WS-MI-AUX PIC X(02). 0
000119 05 FILLER PIC X(01) VALUE ":". 0
000120 05 WS-SS-AUX PIC X(02). 0
000121 0
000122 0
000123 03 WS-CHAVE-ARQ-1 PIC X(31). 0
000123 03 WS-CHAVE-ARQ-2 PIC X(31). 0
000124 * 0
000125 * AREA DE DEFINICAO DO LAYOUT DOS CABECALHOS * 0
000126 *--------------------------------------------* 0
000127 * 0
000128 * 0
000129 * AREA DE DEFINICAO DO LAYOUT DOS ARQUIVOS * 0
000130 *===========================================* 0
000131 0
000132 COPY SISENT1 REPLACING ==:DHIS:== BY ==DHIS==. 0
000133 * 0
000134 01 WS-ATZW01C. 0
000135 COPY ATZW01C. 0
000136 * 0
000137 COPY ATZW52A REPLACING ==:W52:== BY ==DATZ==. 0
000138 * 0
000140 *------------------*
000141 PROCEDURE DIVISION.
000142 *------------------*
000143 *
000144 PERFORM 001000-INICIALIZACAO THRU 001000-FIM
000145 *
000146 PERFORM 002000-PROCESSA THRU 002000-FIM
000147 UNTIL WS-CHAVE-ARQ-1 EQUAL HIGH-VALUES
000148 AND WS-CHAVE-ARQ-2 EQUAL HIGH-VALUES
000149 *
000150 PERFORM 003000-FINALIZACAO THRU 003000-FIM
000151 *
000152 STOP RUN.
000153 *
000156 *--------------------*
000155 001000-INICIALIZACAO.
000156 *--------------------*
000157 *
000166 OPEN INPUT SISENT1 0
000167 * 0
000168 IF STA-SISENT1 NOT EQUAL ZEROS 0
000169 DISPLAY "*---------------------------------*" 0
000170 DISPLAY "* SISBL01 *" 0
000171 DISPLAY "*---------------------------------*" 0
000172 DISPLAY "* ERRO OPEN SISENT1 *" 0
000173 DISPLAY "*---------------------------------*" 0
000174 DISPLAY "* FILE STATUS IS " STA-SISENT1
000174 " --------------*"
000175 DISPLAY "*---------------------------------*" 0
000176 STOP RUN 0
000177 END-IF. 0
000178 * 0
000179 PERFORM 002110-LER-SISENT1 THRU 002110-FIM 0
000180 *
000181 IF STA-SISENT1 EQUAL "10" 0
000182 DISPLAY "*---------------------------------*" 0
000183 DISPLAY "* SISENT1 *" 0
000184 DISPLAY "*---------------------------------*" 0
000185 DISPLAY "* ARQ DE HISTORICO VAZIO *" 0
000186 DISPLAY "*---------------------------------*" 0
000187 DISPLAY "* FILE STATUS IS " STA-SISENT1
000187 " --------------*"
000188 DISPLAY "*---------------------------------*" 0
000189 STOP RUN 0
000190 END-IF 0
000191 * 0
000192 OPEN INPUT SISENT2 0
000193 * 0
000194 IF STA-SISENT2 NOT EQUAL ZEROS 0
000195 DISPLAY "*---------------------------------*" 0
000196 DISPLAY "* ATZ501B *" 0
000197 DISPLAY "*---------------------------------*" 0
000198 DISPLAY "* ERRO OPEN SISENT2 *" 0
000199 DISPLAY "*---------------------------------*" 0
000200 DISPLAY "* FILE STATUS IS " STA-SISENT2
000200 " --------------*"
000201 DISPLAY "*---------------------------------*" 0
000202 STOP RUN 0
000203 END-IF 0
000204 * 0
000205 PERFORM 002210-LER-SISENT2 THRU 002210-FIM 0
000206 * 0
000207 IF STA-SISENT1 EQUAL "10" 0
000208 DISPLAY "*---------------------------------*" 0
000209 DISPLAY "* SISENT2 *" 0
000210 DISPLAY "*---------------------------------*" 0
000211 DISPLAY "* ARQ DE RESPOSTA ATZ VAZIO *" 0
000212 DISPLAY "*---------------------------------*" 0
000213 DISPLAY "* FILE STATUS IS " STA-SISENT2
" --------------*"
000214 DISPLAY "*---------------------------------*" 0
000215 STOP RUN 0
000216 END-IF 0
000217 * 0
000218 OPEN OUTPUT SISENT3 0
000219 * 0
000220 IF STA-SISENT3 NOT EQUAL ZEROS 0
000221 DISPLAY "*---------------------------------*" 0
000222 DISPLAY "* SISBL01 *" 0
000223 DISPLAY "*---------------------------------*" 0
000224 DISPLAY "* ERRO OPEN SISENT3 *" 0
000225 DISPLAY "*---------------------------------*" 0
000226 DISPLAY "* FILE STATUS IS " STA-SISENT3
" --------------*"
000227 Display "*---------------------------------*" 0
000228 STOP RUN 0
000229 END-IF. 0
000230 * 0
000231 *-----------* 0
000232 001000-FIM. EXIT. 0
000233 *-----------* 0
000234 * 0
000235 *---------------* 0
000236 002000-PROCESSA. 0
000237 *---------------* 0
000238 * 0
000240 IF WS-CHAVE-ARQ-1 LESS WS-CHAVE-ARQ-2 0
000245 PERFORM 002500-GRAVA-SISENT3 THRU 002500-FIM 0
000246 PERFORM 002110-LER-SISENT1 THRU 002110-FIM 0
000247 ELSE 0
000248 IF WS-CHAVE-ARQ-1 EQUAL WS-CHAVE-ARQ-2 0
000252 PERFORM 002500-GRAVA-SISENT3 THRU 002500-FIM 0
000253 PERFORM 002110-LER-SISENT1 THRU 002110-FIM 0
000254 PERFORM 002210-LER-SISENT2 THRU 002210-FIM 0
000255 ELSE 0
000257 PERFORM 002210-LER-SISENT2 THRU 002210-FIM 0
000258 END-IF 0
000259 END-IF. 0
000260 * 0
000261 *----------* 0
000262 002000-FIM. EXIT. 0
000263 *----------* 0
000522 * 0
000519 *------------------* 0
000520 002110-LER-SISENT1. 0
000521 *------------------* 0
000522 * 0
000523 IF STA-SISENT1 EQUAL ZEROS 0
000524 * 0
000525 READ SISENT1 INTO DHIS-REGISTRO 0
000526 * 0
000538 IF STA-SISENT1 EQUAL ZEROS 0
MOVE REG-SISENT1 (1:31) TO WS-CHAVE-ARQ-1 0
000539 ADD 01 TO LIDOS-SISENT1 0
000540 ELSE 0
000541 IF STA-SISENT1 EQUAL '10' 0
000542 MOVE HIGH-VALUES TO WS-CHAVE-ARQ-1 0
000540 ELSE 0
000528 DISPLAY "*---------------------------------*" 0
000529 DISPLAY "* ATZ501B *" 0
000530 DISPLAY "*---------------------------------*" 0
000531 DISPLAY "* ERRO READ SISENT1 *" 0
000532 DISPLAY "*---------------------------------*" 0
000533 DISPLAY "* FILE STATUS IS " STA-SISENT1
" --------------*"
000534 DISPLAY "*---------------------------------*" 0
000535 STOP RUN 0
00543 END-IF 0
000544 END-IF 0
000545 * 0
000546 END-IF. 0
000547 * 0
000548 *----------* 0
000549 002110-FIM. EXIT. 0
000550 *----------* 0
000551 * 0
000607 *------------------* 0
000608 002210-LER-SISENT2. 0
000609 *------------------* 0
000610 * 0
000611 IF STA-SISENT2 EQUAL ZEROS 0
000612 * 0
000613 READ SISENT2 INTO WS-ATZW01C 0
000614 * 0
000626 IF STA-SISENT2 EQUAL ZEROS 0
000627 MOVE REG-SISENT2 (1:31) TO WS-CHAVE-ARQ-2 0
000628 ADD 01 TO LIDOS-SISENT2
000629 ELSE 0
000630 IF STA-SISENT2 EQUAL '10' 0
000631 MOVE HIGH-VALUES TO WS-CHAVE-ARQ-2
000629 ELSE 0
000616 DISPLAY "*---------------------------------*" 0
000617 DISPLAY "* ATZ501B *" 0
000618 DISPLAY "*---------------------------------*" 0
000619 DISPLAY "* ERRO READ SISENT2 *" 0
000620 DISPLAY "*---------------------------------*" 0
000621 DISPLAY "* FILE STATUS IS " STA-SISENT2
" --------------*"
000622 DISPLAY "*---------------------------------*" 0
000623 STOP RUN 0
000632 END-IF 0
000633 END-IF 0
000634 * 0
000635 END-IF. 0
000636 * 0
000637 *----------* 0
000638 002210-FIM. EXIT. 0
000639 *----------* 0
000640 * 0
000641 *--------------------* 0
000642 002500-GRAVA-SISENT3. 0
000643 *--------------------* 0
000644 * 0
000648 INSPECT DATZ-REGISTRO 0
000649 REPLACING ALL LOW-VALUES BY ' '. 0
000650 0
000651 WRITE REGISTRO-SISENT3 FROM DATZ-REGISTRO 0
000652 0
000626 IF STA-SISENT2 EQUAL ZEROS
000664 ADD 01 TO GRAVA-SISENT3
000629 ELSE
000654 DISPLAY "*---------------------------------*"
000655 DISPLAY "* SISBL01 *"
000656 DISPLAY "*---------------------------------*"
000657 DISPLAY "* ERRO WRITE SISENT3 *"
000658 DISPLAY "*---------------------------------*"
000659 DISPLAY "* FILE STATUS IS " STA-SISENT3 "
-------------*"
000660 DISPLAY "*---------------------------------*"
000661 STOP RUN
000662 END-IF.
000663 * 0
000666 *----------* 0
000667 002500-FIM. EXIT. 0
000668 *----------* 0
000669 * 0
000670 *------------------* 0
000671 003000-FINALIZACAO. 0
000672 *------------------* 0
000673 * 0
000674 CLOSE SISENT1 0
000675 * 0
000676 IF STA-SISENT1 NOT EQUAL ZEROS 0
000677 DISPLAY "*---------------------------------*" 0
000678 DISPLAY "* SISBL01 *" 0
000679 DISPLAY "*---------------------------------*" 0
000680 DISPLAY "* ERRO CLOSE SISENT1 *" 0
000681 DISPLAY "*---------------------------------*" 0
000682 DISPLAY "* FILE STATUS IS " STA-SISENT1 " --------------*"0
000683 DISPLAY "*---------------------------------*" 0
000684 STOP RUN 0
000685 END-IF. 0
000686 * 0
000687 CLOSE SISENT2 0
000688 * 0
000689 IF STA-SISENT2 NOT EQUAL ZEROS 0
000690 DISPLAY "*---------------------------------*" 0
000691 DISPLAY "* SISBL01 *" 0
000692 DISPLAY "*---------------------------------*" 0
000693 DISPLAY "* ERRO CLOSE SISENT2 *" 0
000694 DISPLAY "*---------------------------------*" 0
000695 DISPLAY "* FILE STATUS IS " STA-SISENT2 " --------------*"0
000696 DISPLAY "*---------------------------------*" 0
000697 STOP RUN 0
000698 END-IF. 0
000699 * 0
000700 CLOSE SISENT3 0
000701 * 0
000702 IF STA-SISENT3 NOT EQUAL ZEROS 0
000703 DISPLAY "*---------------------------------*" 0
000704 DISPLAY "* SISBL01 *" 0
000705 DISPLAY "*---------------------------------*" 0
000706 DISPLAY "* ERRO CLOSE SISENT3 *" 0
000707 DISPLAY "*---------------------------------*" 0
000708 DISPLAY "* FILE STATUS IS " STA-SISENT3 " --------------*"0
000709 DISPLAY "*---------------------------------*" 0
000710 STOP RUN 0
000711 END-IF. 0
000712 0
000713 0
000714 DISPLAY 0
000715 "__________________________________________________________".0
000716 DISPLAY " " 0
000717 DISPLAY " SISBL01 " 0
000718 DISPLAY " " 0
000719 DISPLAY 0
000720 "__________________________________________________________".0
000721 DISPLAY " ". 0
000722 DISPLAY " GERAR ARQUIVO DE SAÍDA ". 0
000723 DISPLAY 0
000724 "__________________________________________________________".0
000725 0
000726 0
000727 DISPLAY " " 0
000728 DISPLAY " DATA INICIAL DA EXECUCAO : " WS-DATA-AUX 0
000729 DISPLAY " HORA INICIAL DA EXECUCAO : " WS-HORA-AUX 0
000730 DISPLAY " " 0
000731 0
000732 0
000733 DISPLAY 0
000734 "__________________________________________________________".0
000735 0
000736 MOVE LIDOS-SISENT1 TO WS-EDITADO 0
000737 0
000738 DISPLAY " QTDE REGISTROS LIDOS SISENT1 . . . . . . . - " 0
000739 WS-VALOR. 0
000740 0
000741 MOVE LIDOS-SISENT2 TO WS-EDITADO 0
000742 0
000743 DISPLAY " QTDE REGISTROS LIDOS SISENT2 . . . . . . . - " 0
000744 WS-VALOR. 0
000745 0
000746 MOVE GRAVA-SISENT3 TO WS-EDITADO 0
000747 0
000748 DISPLAY " QTDE REGISTROS GRAVADOS . . . . . . . . . - " 0
000749 WS-VALOR. 0
000750 DISPLAY 0
000751 "__________________________________________________________".0
000752 0
000753 0
000754 MOVE FUNCTION CURRENT-DATE(01:14) TO WS-DATA-HORA-HOJE 0
000755 MOVE WS-DD-COR TO WS-DD-AUX. 0
000756 MOVE WS-MM-COR TO WS-MM-AUX. 0
000757 MOVE WS-AA-COR TO WS-AA-AUX. 0
000758 MOVE WS-HH-COR TO WS-HH-AUX. 0
000759 MOVE WS-MI-COR TO WS-MI-AUX. 0
000760 MOVE WS-SS-COR TO WS-SS-AUX. 0
000761 0
000762 DISPLAY " " 0
000763 DISPLAY " DATA FINAL DA EXECUCAO : " WS-DATA-AUX 0
000764 DISPLAY " HORA FINAL DA EXECUCAO : " WS-HORA-AUX 0
000765 0
000766 DISPLAY 0
000767 "__________________________________________________________".0
000768 0
000769 *----------* 0
000770 003000-FIM. EXIT. 0
000771 *----------* 0

Вам также может понравиться