fork download
  1. IDENTIFICATION DIVISION.
  2.  
  3. PROGRAM-ID. TESTE-TREINAMENTO.
  4.  
  5. AUTHOR.
  6. *=========================================================================*
  7. * C P M B R A X I S - S I S T E M A S *
  8. *=========================================================================*
  9. ENVIRONMENT DIVISION.
  10.  
  11. DATA DIVISION.
  12.  
  13. WORKING-STORAGE SECTION.
  14.  
  15.  
  16. INPUT-OUTPUT SECTION.
  17. FILE-CONTROL.
  18.  
  19. SELECT REGISTRO-FUNCIONARIO ASSIGN TO DISK.
  20. SELECT REGISTRO-MOVIMENTO ASSIGN TO DISK.
  21. SELECT LIST-FUNCIONARIO ASSIGN TO SYS$OUTPUT.
  22. SELECT LIST-RELATORIO ASSIGN TO SYS$OUTPUT.
  23. SELECT LIST-TIPO-REGISTRO ASSIGN TO SYS$OUTPUT.
  24.  
  25. FILE SECTION.
  26. FD REGISTRO-FUNCIONARIO
  27. 01 REG-FUNCIONARIO.
  28. 05 MATRICULA-FUNCIONARIO-E PIC X(05).
  29. 05 NOME-FUNCIONARIO-E PIC X(30).
  30.  
  31. FD REGISTRO-MOVIMENTO
  32. 01 REG-MOVIMENTO.
  33. 05 MATRICULA-FUNCIONARIO-MOVIMENTO-E PIC X(05).
  34. 05 TIPO-REGISTRO-E PIC X(01).
  35. 05 CIA-SUCURSAL-RAMO-E PIC X(04).
  36. 05 VALOR-DESPESA-E PIC 9(04)V99.
  37.  
  38. FD LISTA-FUNCIONARIO-MOVIMENTO
  39. 01 REG-IMPR.
  40. 05 FILLER PIC X(20).
  41. 05 NOME-FUNCIONARIO-S PIC X(05).
  42. 05 FILLER PIC X(20).
  43. 05 TIPO-REGISTRO-S
  44. PIC 9(04)V99
  45. 05 FILLER PIC X(20).
  46. 05 CIA-SUCURSAL-RAMO-S PIC X(04).
  47. 05 FILLER PIC X(20).
  48. 05 VALOR-DESPESA-S PIC 9(04)V99.
  49.  
  50. FD LISTA-RELATORIO LABEL RECORDS ARE OMITTED.
  51. 01 REG-FUNCIONARIO.
  52. 05 FILLER
  53. 05 MATRICULA-FUNCIONARIO-SS PIC X(05).
  54. 05 FILLER PIC X(20).
  55. 05 NOME-FUNCIONARIO-SS PIC X(30).
  56. 05 FILLER PIC X(20).
  57. 05 TOTAL-DESPESA-CIA PIC 9(04)V99.
  58. 05 TOTAL-DESPESA-SUCURSAL PIC 9(04)V99.
  59. 05 TOTAL-DESPESA-RAMO PIC 9(04)V99.
  60.  
  61.  
  62. 01 HA-MAIS-REGISTROS-FUNCIONARIO PICTURE XXX VALUE 'SIM'.
  63.  
  64. 01 HA-MAIS-REGISTROS-MOVIMENTO PICTURE XXX VALUE 'SIM'.
  65.  
  66.  
  67.  
  68. PROCEDURE DIVISION.
  69.  
  70. *--------------------------------------------------------------------*
  71. 3000-PROCESSAR SECTION.
  72. *--------------------------------------------------------------------*
  73.  
  74. 100-MODULO-PRINC.
  75.  
  76. OPEN INPUT REGISTRO-RELATORIO
  77. OPEN INPUT REGISTRO-MOVIMENTO
  78.  
  79. OUTPUT LISTA-FUNCIONARIO-MOVIMENTO.
  80. OUTPUT LISTA-RELATORIO.
  81.  
  82.  
  83. READ REGISTRO-MOVIMENTO
  84. AT END MOVE 'NAO' TO HA-MAIS-REGISTROS-MOVIMENTO.
  85.  
  86. PERFORM 200-ROTINA-MOVIMENTO
  87. UNTIL HA-MAIS-REGISTROS-MOVIMENTO = 'NAO'.
  88.  
  89.  
  90. READ REGISTRO-RELATORIO
  91. AT END MOVE 'NAO' TO HA-MAIS-REGISTROS-FUNCIONARIO.
  92.  
  93. OPEN INPUT REG-IMPR
  94.  
  95. PERFORM 300-ROTINA-FUNCIONARIO
  96. UNTIL HA-MAIS-REGISTROS-FUNCIONARIO = 'NAO'. = 'NAO'.
  97.  
  98.  
  99. CLOSE REGISTRO-FUNCIONARIO
  100. REGISTRO-MOVIMENTO
  101. REG-IMPR
  102. LIST-FUNCIONARIO
  103. LIST-RELATORIO
  104. LIST-TIPO-REGISTRO.
  105. STOP RUN.
  106.  
  107.  
  108. 200-ROTINA-MOVIMENTO
  109.  
  110. MOVE SPACES TO REG-IMPR.
  111.  
  112. IF MATRICULA-FUNCIONARIO-FUNCIONARIO-E = MATRICULA-FUNCIONARIO-MOVIMENTO-E
  113. MOVE NOME-FUNCIONARIO-E TO NOME-FUNCIONARIO-S.
  114. MOVE DESPESA-CIA-E TO DESPESA-CIA-S.
  115. MOVE DESPESA-SUCURSAL-E TO DESPESA-SUCURSAL-S.
  116. MOVE DESPESA-RAMO-E TO DESPESA-RAMO-S.
  117. MOVE CIA-SUCURSAL-RAMO-E TO CIA-SUCURSAL-RAMO-S.
  118. MOVE VALOR-DESPESA-E TO VALOR-DESPESA-S.
  119.  
  120. END-IF
  121.  
  122. WRITE REG-IMPR
  123.  
  124. READ REG-MOVIMENTO
  125. AT END MOVE 'NAO' TO HA-MAIS-REGISTROS-FUNCIONARIO.
  126.  
  127. READ REG-FUNCIONARIO
  128. AT END MOVE 'NAO' TO HA-MAIS-REGISTROS-FUNCIONARIO.
  129.  
  130.  
  131. 300-ROTINA-MOVIMENTO
  132.  
  133. READ REG-IMPR
  134. AT END
  135.  
  136. MOVE MATRICULA-FUNCIONARIO-MOVIMENTO-E TO MATRICULA-FUNCIONARIO-SS
  137. MOVE NOME-FUNCIONARIO-S TO NOME-FUNCIONARIO-SS
  138. ADD DESPESA-CIA-S DESPESA-SUCURSAL-S DESPESA-RAMO-S GIVING TOTAL-DESPESA-RELATORIO
  139.  
  140. WRITE REG-FUNCIONARIO
  141.  
  142. READ REG-IMPR
  143. AT END.
Success #stdin #stdout 0.01s 6156KB
stdin
Standard input is empty
stdout
Standard output is empty