Linguagem de programação COBOL - CLOSE
*----------------------------------------------------------------- INPUT-OUTPUT SECTION. *----------------------------------------------------------------- FILE-CONTROL. SELECT ARQENT ASSIGN TO ARQENT FILE STATUS IS WS-FS-ARQENT. SELECT ARQSAI ASSIGN TO ARQSAI FILE STATUS IS WS-FS-ARQSAI. *----------------------------------------------------------------- WORKING-STORAGE SECTION. *----------------------------------------------------------------- 01 WS-AREA-AUXILIAR. 05 WS-FS-ARQENT PIC X(002) VALUE SPACES. 05 WS-FS-ARQSAI PIC X(002) VALUE SPACES. 05 WS-PROCESSO PIC X(070) VALUE SPACES. 05 WS-MENSAGEM PIC X(070) VALUE SPACES. *----------------------------------------------------------------- PROCEDURE DIVISION. *----------------------------------------------------------------- PERFORM P100-ROTINA-INICIAL THRU P100-FIM. PERFORM P200-ROTINA-PRINCIPAL THRU P200-FIM. PERFORM P950-ROTINA-FINAL THRU P950-FIM. GOBACK. *----------------------------------------------------------------- P950-ROTINA-FINAL. *----------------------------------------------------------------- MOVE 'P100-ROTINA-INICIAL' TO WS-PROCESSO. CLOSE ARQENT. IF WS-FS-ARQENT NOT EQUAL '00' MOVE SPACES TO WS-MENSAGEM MOVE 'ERRO FECHAMENTO ARQUIVO DE ENTRADA' TO WS-MENSAGEM PERFORM P900-ROTINA-ERRO THRU P900-FIM END-IF. * Também poderia ser codificado assim: IF WS-FS-ARQENT NOT EQUAL '00' MOVE SPACES TO WS-MENSAGEM STRING 'ERRO FECHAMENTO ARQUIVO ARQENT FILE STATUS: ' WS-FS-ARQENT DELIMITED BY SIZE INTO WS-MENSAGEM END-STRING PERFORM P9000-ROTINA-ERRO THRU P9000-FIM END-IF. CLOSE ARQSAI. IF WS-FS-ARQSAI NOT EQUAL '00' MOVE SPACES TO WS-MENSAGEM MOVE 'ERRO FECHAMENTO ARQUIVO DE SAIDA ' TO WS-MENSAGEM PERFORM P900-ROTINA-ERRO THRU P900-FIM END-IF. * Também poderia ser codificado assim: IF WS-FS-ARQSAI NOT EQUAL '00' MOVE SPACES TO WS-MENSAGEM STRING 'ERRO FECHAMENTO ARQUIVO ARQSAI FILE STATUS: ' WS-FS-ARQSAI DELIMITED BY SIZE INTO WS-MENSAGEM END-STRING PERFORM P9000-ROTINA-ERRO THRU P9000-FIM END-IF. P100-FIM. EXIT. *----------------------------------------------------------------- P900-ROTINA-ERRO. *----------------------------------------------------------------- DISPLAY 'PROGRAMA XXXXXXXX' DISPLAY 'PARAGRAFO ....... - ' WS-PROCESSO DISPLAY 'MENSAGEM ....... - ' WS-MENSAGEM DISPLAY 'FILE STATUS ARQENT - ' WS-FS-ARQENT DISPLAY 'FILE STATUS ARQSAI - ' WS-FS-ARQSAI MOVE 99 TO RETURN-CODE GOBACK. P900-FIM. EXIT. *------------------------------------------------------------- P9000-ROTINA-ERRO. *------------------------------------------------------------- DISPLAY '*-----------------------------------------------' DISPLAY '* ERRO FILE STATUS FIM DE PROCESSAMENTO XXXXXXXX' DISPLAY '*-----------------------------------------------' DISPLAY '* ' DISPLAY 'WS-MENSAGEM ' DISPLAY '*-----------------------------------------------' MOVE 99 TO RETURN-CODE GOBACK. P9000-FIM. EXIT.