fork download
  1. IDENTIFICATION DIVISION.
  2. PROGRAM-ID.TESTE-TREINAMENTO.
  3. ENVIRONMENT DIVISION.
  4. INPUT-OUTPUT SECTION.
  5. FILE-CONTROL.
  6.  
  7. SELECT REGISTRO-FUNCIONARIO ASSIGN TO DISK.
  8. SELECT REGISTRO-MOVIMENTO ASSIGN TO DISK.
  9. SELECT LISTA-FUNCIONARIO ASSIGN TO SYS$OUTPUT.
  10. SELECT LISTA-RELATORIO ASSIGN TO SYS$OUTPUT.
  11.  
  12.  
  13. DATA DIVISION.
  14. FILE SECTION.
  15. FD REGISTRO-FUNCIONARIO
  16. 01 REG-FUNCIONARIO.
  17. 05 MATRICULA-FUNCIONARIO-E PIC X(05)
  18. 05 NOME-FUNCIONARIO-E PIC X(30)
  19.  
  20. FD REGISTRO-MOVIMENTO
  21. 01 REG-MOVIMENTO.
  22. 05 MATRICULA-FUNCIONARIO-MOVIMENTO-E PIC X(05)
  23. 05 TIPO-REGISTRO-E PIC X(01)
  24. 05 CIA-SUCURSAL-RAMO-E PIC X(04)
  25. 05 VALOR-DESPESA-E PIC 9(04)V99
  26.  
  27. FD LISTA-FUNCIONARIO
  28. 01 REG-IMPR.
  29. 05 FILLER PIC X(20)
  30. 05 NOME-FUNCIONARIO-S PIC X(05)
  31. 05 FILLER PIC X(20)
  32. 05 TIPO-REGISTRO-S PIC 9(04)
  33. 05 FILLER PIC X(20)
  34. 05 CIA-SUCURSAL-RAMO-S PIC X(04)
  35. 05 FILLER PIC X(20)
  36. 05 VALOR-DESPESA-S PIC 9(04)V99
  37.  
  38. FD LISTA-RELATORIO LABEL RECORDS ARE OMITTED.
  39. 01 REG-FUNCIONARIO.
  40. 05 FILLER PIC X(20)
  41. 05 MATRICULA-FUNCIONARIO-SS PIC X(05)
  42. 05 FILLER PIC X(20)
  43. 05 NOME-FUNCIONARIO-SS PIC X(30)
  44. 05 FILLER PIC X(20)
  45. 05 TOTAL-DESPESA-CIA PIC 9(06)V99
  46. 05 FILLER PIC X(20)
  47. 05 TOTAL-DESPESA-SUCURSAL PIC 9(06)V99
  48. 05 FILLER PIC X(20)
  49. 05 TOTAL-DESPESA-RAMO PIC 9(06)V99
  50. FD LISTA-DESPESA
  51. 01 REG-DESPESA
  52. 05 FILLER PIC X(20)
  53. 05 CONTADOR_DESPESA_CIA PIC 9(10)V99
  54. 05 FILLER PIC X(20)
  55. 05 CONTADOR_SUCURSAL_CIA PIC 9(10)V99
  56. 05 FILLER PIC X(20)
  57. 05 CONTADOR_RAMO_CIA PIC 9(10)V99
  58.  
  59. WORKING-STORAGE SECTION.
  60.  
  61. *CABECALHO
  62. 01 CABECALHO-01.
  63. 03 FILLER PIC X(008) VALUE 'TABELA DE MOVIMENTO'.
  64. 03 FILLER PIC X(009) VALUE 'MATRICULA: '.
  65. 03 MATRICULA-FUNCIONARIO-SS PIC X(030) VALUE SPACES.
  66. 03 FILLER PIC X(006) VALUE 'NOME: '.
  67. 03 NOME-FUNCIONARIO-SS PIC X(030) VALUE SPACES.
  68. 03 FILLER PIC X(001) VALUE '|'.
  69. 03 FILLER PIC X(017) VALUE 'TIPO DE REGISTRO: '.
  70. 03 TIPO-REGISTRO-E PIC X(001) VALUE SPACES.
  71. 03 FILLER PIC X(001) VALUE '|'.
  72. 03 FILLER PIC X(012) VALUE 'COD CIA-S-R '.
  73. 03 CIA-SUCURSAL-RAMO-E PIC X(004) VALUE SPACES.
  74. 03 FILLER PIC X(001) VALUE '|'.
  75. 03 FILLER PIC X(025) VALUE 'DESPESAS DO FUNCIONARIO: '.
  76. 03 VALOR-DESPESA-S PIC 9(010) VALUE SPACES.
  77. 03 FILLER PIC X(001) VALUE '|'.
  78.  
  79.  
  80. 01 CABECALHO-02.
  81. 03 FILLER PIC X(008) VALUE 'TABELA DE FUNCIONARIO'.
  82. 03 FILLER PIC X(009) VALUE 'MATRICULA: '.
  83. 03 MATRICULA-FUNCIONARIO-SS PIC X(030) VALUE SPACES.
  84. 03 FILLER PIC X(001) VALUE '|'.
  85. 03 FILLER PIC X(006) VALUE 'NOME: '.
  86. 03 NOME-FUNCIONARIO-SS PIC X(030) VALUE SPACES.
  87. 03 FILLER PIC X(001) VALUE '|'.
  88. 03 FILLER PIC X(025) VALUE 'DESPESAS DO FUNCIONARIO: '.
  89. 03 TOTAL-DESPESA-CIA PIC 9(010) VALUE SPACES.
  90. 03 FILLER PIC X(001) VALUE '|'.
  91. 03 TOTAL-DESPESA-SUCURSAL PIC 9(010) VALUE SPACES.
  92. 03 FILLER PIC X(001) VALUE '|'.
  93. 03 TOTAL-DESPESA-RAMO PIC 9(010) VALUE SPACES.
  94. 03 FILLER PIC X(001) VALUE '|'.
  95.  
  96.  
  97. 01 HA-MAIS-REGISTROS-FUNCIONARIO PICTURE XXX VALUE 'SIM'.
  98.  
  99. 01 HA-MAIS-REGISTROS-MOVIMENTO PICTURE XXX VALUE 'SIM'.
  100.  
  101. PROCEDURE DIVISION.
  102.  
  103. 100-MODULO-PRINC.
  104.  
  105. OPEN INPUT REGISTRO-RELATORIO
  106. OPEN INPUT REGISTRO-MOVIMENTO
  107.  
  108. OUTPUT LISTA-FUNCIONARIO-MOVIMENTO.
  109. OUTPUT LISTA-RELATORIO.
  110.  
  111. /*
  112. */
  113.  
  114. PERFORM 200-ROTINA-MOVIMENTO
  115. UNTIL HA-MAIS-REGISTROS-MOVIMENTO = 'NAO'.
  116.  
  117.  
  118. READ REGISTRO-RELATORIO
  119. AT END MOVE 'NAO' TO HA-MAIS-REGISTROS-FUNCIONARIO.
  120.  
  121. OPEN INPUT REG-IMPR
  122.  
  123.  
  124. ******CHAMADA DA FUNCAO DE ROTINA DE MOVIMENTO*******
  125. PERFORM 300-ROTINA-FUNCIONARIO
  126.  
  127. UNTIL HA-MAIS-REGISTROS-FUNCIONARIO = 'NAO'. = 'NAO'.
  128. ************************FIM**************************
  129.  
  130. CLOSE REGISTRO-FUNCIONARIO
  131. REGISTRO-MOVIMENTO
  132. REG-IMPR
  133. LIST-FUNCIONARIO
  134. LIST-RELATORIO
  135. LIST-TIPO-REGISTRO.
  136. STOP RUN.
  137.  
  138.  
  139.  
  140. *Função de rotina
  141.  
  142. *********************************
  143. 200-ROTINA-MOVIMENTO
  144. *********************************
  145. MOVE SPACES TO REG-IMPR.
  146.  
  147. IF MATRICULA-FUNCIONARIO-FUNCIONARIO-E = MATRICULA-FUNCIONARIO-MOVIMENTO-E
  148. MOVE NOME-FUNCIONARIO-E TO NOME-FUNCIONARIO-S.
  149. MOVE TIPO-REGISTRO-E TO TIPO-REGISTRO-S
  150. MOVE CIA-SUCURSAL-RAMO-E TO CIA-SUCURSAL-RAMO-S.
  151. MOVE VALOR-DESPESA-E TO VALOR-DESPESA-S.
  152.  
  153. END-IF
  154.  
  155.  
  156. //falta enquanto do movimento
  157. READ REG-MOVIMENTO
  158. AT END MOVE 'NAO' TO HA-MAIS-REGISTROS-FUNCIONARIO
  159.  
  160. READ REG-FUNCIONARIO
  161. AT END MOVE 'NAO' TO HA-MAIS-REGISTROS-FUNCIONARIO.
  162.  
  163. ********************************
  164. 300-ROTINA-MOVIMENTO
  165. ********************************
  166. READ REG-IMPR INTO CABECALHO-02
  167. AT END
  168.  
  169. MOVE MATRICULA-FUNCIONARIO-MOVIMENTO-E TO MATRICULA-FUNCIONARIO-SS
  170. MOVE NOME-FUNCIONARIO-S TO NOME-FUNCIONARIO-SS
  171. IF TIPO-REGISTRO=1
  172. ADD TOTAL-REGISTRO1 1 GIVING TOTAL-REGISTRO1
  173. ADD TOTAL-REGISTRO2 1 GIVING TOTAL-REGISTRO2
  174. ADD TOTAL-REGISTRO3 1 GIVING TOTAL-REGISTRO3
  175. END-IF
  176.  
  177. WRITE REG-FUNCIONARIO.
  178.  
  179. 400-ROTINA-DESPESAS
  180.  
  181. READ REG-IMPR INTO CABECALHO-02
  182. AT END
  183. ADD DESPESA-CIA-S CONTADOR-DESPESA-CIA GIVING TOTAL-DESPESA-CIA
  184. ADD DESPESA-SUCURSAL-S CONTADOR-DESPESA-CIA TOTAL-SUCURSAL-CIA
  185. ADD DESPESA-RAMO-S CONTADOR-RAMO-CIA GIVING TOTAL-RAMO-CIA.
  186.  
  187.  
  188.  
  189.  
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.cob:185: Warning: File not terminated by a newline
prog.cob:7: Error: syntax error, unexpected '.', expecting WORD or LITERAL or DISPLAY
stdout
Standard output is empty