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