	IDENTIFICATION DIVISION.
	PROGRAM-ID.TESTE-TREINAMENTO.                            
	ENVIRONMENT DIVISION.
	INPUT-OUTPUT SECTION.
	FILE-CONTROL.  
	
	               SELECT REGISTRO-FUNCIONARIO  ASSIGN TO DISK.
	               SELECT REGISTRO-MOVIMENTO    ASSIGN TO DISK.
	               SELECT LISTA-FUNCIONARIO     ASSIGN TO SYS$OUTPUT.
	               SELECT LISTA-RELATORIO       ASSIGN TO SYS$OUTPUT.
	               
	
	DATA DIVISION.  
	FILE SECTION.
	FD REGISTRO-FUNCIONARIO                  
	01 REG-FUNCIONARIO.
	   05 MATRICULA-FUNCIONARIO-E               PIC X(05)               
	   05 NOME-FUNCIONARIO-E                    PIC X(30)
	
	FD REGISTRO-MOVIMENTO                     
	01 REG-MOVIMENTO.
	   05 MATRICULA-FUNCIONARIO-MOVIMENTO-E     PIC X(05)               
	   05 TIPO-REGISTRO-E                       PIC X(01)
	   05 CIA-SUCURSAL-RAMO-E                   PIC X(04)
	   05 VALOR-DESPESA-E                       PIC 9(04)V99
	
	FD LISTA-FUNCIONARIO                       
	01 REG-IMPR.
	   05   FILLER                              PIC X(20)
	   05   NOME-FUNCIONARIO-S                  PIC X(05)
	   05   FILLER                              PIC X(20)
	   05   TIPO-REGISTRO-S                     PIC 9(04)
	   05   FILLER                              PIC X(20)
	   05   CIA-SUCURSAL-RAMO-S                 PIC X(04) 
	   05   FILLER                              PIC X(20)
	   05   VALOR-DESPESA-S                     PIC 9(04)V99
	
	FD LISTA-RELATORIO                        LABEL RECORDS ARE OMITTED.
	01 REG-FUNCIONARIO.   
	   05   FILLER                              PIC X(20)
	   05   MATRICULA-FUNCIONARIO-SS            PIC X(05) 
	   05   FILLER                              PIC X(20)
	   05   NOME-FUNCIONARIO-SS                 PIC X(30)
	   05   FILLER                              PIC X(20)
	   05   TOTAL-DESPESA-CIA                   PIC 9(06)V99 
	   05   FILLER                              PIC X(20) 
	   05   TOTAL-DESPESA-SUCURSAL              PIC 9(06)V99
	   05   FILLER                              PIC X(20)  
	   05   TOTAL-DESPESA-RAMO                  PIC 9(06)V99 
	FD LISTA-DESPESA
	01 REG-DESPESA
	   05   FILLER                              PIC X(20)
	   05   CONTADOR_DESPESA_CIA                PIC 9(10)V99
	   05   FILLER                              PIC X(20) 
	   05   CONTADOR_SUCURSAL_CIA               PIC 9(10)V99 
	   05   FILLER                              PIC X(20) 
	   05   CONTADOR_RAMO_CIA                   PIC 9(10)V99     
	
	WORKING-STORAGE SECTION.
	
		*CABECALHO
	  01  CABECALHO-01.                                            
           	03  FILLER                		       PIC X(008) VALUE  'TABELA DE MOVIMENTO'.                  
           	03  FILLER                 		       PIC X(009) VALUE 'MATRICULA: '. 
           	03  MATRICULA-FUNCIONARIO-SS	                PIC X(030) VALUE  SPACES.             
           	03  FILLER               			       PIC X(006) VALUE 'NOME: '.
           	03  NOME-FUNCIONARIO-SS			       PIC X(030) VALUE  SPACES.    
           	03  FILLER               			       PIC X(001) VALUE '|'.                                     
           	03  FILLER               			       PIC X(017) VALUE 'TIPO DE REGISTRO: '.
           	03  TIPO-REGISTRO-E 		                PIC X(001) VALUE  SPACES. 
           	03  FILLER               			       PIC X(001) VALUE '|'.   
           	03  FILLER               			       PIC X(012) VALUE 'COD CIA-S-R '.
           	03  CIA-SUCURSAL-RAMO-E 		                PIC X(004) VALUE  SPACES. 
	         03  FILLER               			       PIC X(001) VALUE '|'.            
	         03  FILLER               			       PIC X(025) VALUE 'DESPESAS DO FUNCIONARIO: '. 
	         03  VALOR-DESPESA-S 	                         PIC 9(010) VALUE  SPACES.  
	         03  FILLER               			       PIC X(001) VALUE '|'.


	01  CABECALHO-02.                                            
           03  FILLER 			                PIC X(008) VALUE  'TABELA DE FUNCIONARIO'.
           03  FILLER		                         PIC X(009) VALUE 'MATRICULA: '.
           03  MATRICULA-FUNCIONARIO-SS 	                PIC X(030) VALUE  SPACES.
           03  FILLER                 		       PIC X(001) VALUE '|'. 
           03  FILLER                 		       PIC X(006) VALUE 'NOME: '.
           03  NOME-FUNCIONARIO-SS     		       PIC X(030) VALUE  SPACES.
           03  FILLER                		       PIC X(001) VALUE '|'.          
           03  FILLER                 		       PIC X(025) VALUE 'DESPESAS DO FUNCIONARIO: '. 
           03  TOTAL-DESPESA-CIA  	                         PIC 9(010) VALUE  SPACES.  
           03  FILLER                 		       PIC X(001) VALUE '|'.
           03  TOTAL-DESPESA-SUCURSAL  	                PIC 9(010) VALUE  SPACES.  
           03  FILLER                 		       PIC X(001) VALUE '|'.
	  03  TOTAL-DESPESA-RAMO	  	                PIC 9(010) VALUE  SPACES.  
           03  FILLER                 		       PIC X(001) VALUE '|'.

	
	01 HA-MAIS-REGISTROS-FUNCIONARIO            PICTURE XXX VALUE 'SIM'.
	
	01 HA-MAIS-REGISTROS-MOVIMENTO              PICTURE XXX VALUE 'SIM'.
	
	PROCEDURE DIVISION.
	
	100-MODULO-PRINC.
	
	OPEN INPUT REGISTRO-RELATORIO
	OPEN INPUT REGISTRO-MOVIMENTO
	
	OUTPUT LISTA-FUNCIONARIO-MOVIMENTO.
	OUTPUT LISTA-RELATORIO.
	
	/*
	*/
	
	PERFORM 200-ROTINA-MOVIMENTO
	UNTIL HA-MAIS-REGISTROS-MOVIMENTO = 'NAO'.
	
	
	READ REGISTRO-RELATORIO
	AT END MOVE 'NAO' TO HA-MAIS-REGISTROS-FUNCIONARIO.
	
	OPEN INPUT REG-IMPR
	
	
	******CHAMADA DA FUNCAO DE ROTINA DE MOVIMENTO*******
	PERFORM 300-ROTINA-FUNCIONARIO
	
	UNTIL HA-MAIS-REGISTROS-FUNCIONARIO = 'NAO'.                                                                                                                                                                                                                                         = 'NAO'. 
	************************FIM**************************
	
	CLOSE REGISTRO-FUNCIONARIO
	      REGISTRO-MOVIMENTO
	      REG-IMPR
	      LIST-FUNCIONARIO
	      LIST-RELATORIO
	      LIST-TIPO-REGISTRO.
	STOP RUN.
	
	
	
	*Função de rotina
	
	*********************************
	200-ROTINA-MOVIMENTO
	*********************************
	MOVE SPACES TO REG-IMPR.
	
	IF  MATRICULA-FUNCIONARIO-FUNCIONARIO-E = MATRICULA-FUNCIONARIO-MOVIMENTO-E
	        MOVE NOME-FUNCIONARIO-E TO NOME-FUNCIONARIO-S. 
	        MOVE TIPO-REGISTRO-E TO TIPO-REGISTRO-S  
	        MOVE CIA-SUCURSAL-RAMO-E TO CIA-SUCURSAL-RAMO-S.
	        MOVE VALOR-DESPESA-E TO VALOR-DESPESA-S.
	
	END-IF
	
	
	//falta enquanto do movimento
	READ REG-MOVIMENTO
	AT END MOVE 'NAO' TO HA-MAIS-REGISTROS-FUNCIONARIO    
	
	READ REG-FUNCIONARIO
	AT END MOVE 'NAO' TO HA-MAIS-REGISTROS-FUNCIONARIO.
	
	********************************
	300-ROTINA-MOVIMENTO
	********************************
	READ  REG-IMPR INTO CABECALHO-02
	AT END
	
	MOVE MATRICULA-FUNCIONARIO-MOVIMENTO-E TO MATRICULA-FUNCIONARIO-SS
	MOVE NOME-FUNCIONARIO-S TO NOME-FUNCIONARIO-SS 
	IF TIPO-REGISTRO=1
	ADD TOTAL-REGISTRO1 1   GIVING  TOTAL-REGISTRO1
	ADD TOTAL-REGISTRO2 1   GIVING  TOTAL-REGISTRO2
	ADD TOTAL-REGISTRO3 1   GIVING  TOTAL-REGISTRO3
	END-IF
	
	WRITE REG-FUNCIONARIO.
	
	400-ROTINA-DESPESAS
	
	READ  REG-IMPR INTO CABECALHO-02
	AT END
	ADD DESPESA-CIA-S CONTADOR-DESPESA-CIA      GIVING TOTAL-DESPESA-CIA
	ADD DESPESA-SUCURSAL-S CONTADOR-DESPESA-CIA      TOTAL-SUCURSAL-CIA
	ADD DESPESA-RAMO-S CONTADOR-RAMO-CIA      GIVING TOTAL-RAMO-CIA.
	
	

       