Advertisement
tutorfree

FTCOB006

Mar 17th, 2016
2,657
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
COBOL 5.09 KB | None | 0 0
  1.        IDENTIFICATION DIVISION.
  2.       *=======================*
  3.        PROGRAM-ID.   FTCOB006.
  4.       *AUTHOR.       TUTORFREE.
  5.       *DATE-WRITTEN. 15/03/2016.
  6.       *--------------------------------------------------------------*
  7.       * DISCIPLINA PROGRAMACAO MAINFRAME
  8.       *--------------------------------------------------------------*
  9.       * OBJETIVO: RECEBER DADOS DA SYSIN(ACCEPT)
  10.       *          LER 20 REGISTRO A PARTIR DA SYSIN
  11.       *--------------------------------------------------------------*
  12.       *------------------> HISTORICO - MANUTENCAO <------------------*
  13.       * VERSAO  MES/ANO  NR.DOC  IDENT.  DESCRICAO
  14.       * ------  -------  ------  ------  -------------------------   *
  15.       * V01    MAR/2016 010001  SISTEMA MOSTRA SYSOUT
  16.       *--------------------------------------------------------------*
  17.        ENVIRONMENT DIVISION.
  18.       *====================*
  19.        CONFIGURATION SECTION.
  20.       *---------------------*
  21.        SPECIAL-NAMES.
  22.            DECIMAL-POINT IS COMMA
  23.            CURRENCY SIGN IS "R$ " WITH PICTURE SYMBOL "$"
  24.            .
  25.        INPUT-OUTPUT SECTION.
  26.       *---------------------*
  27.        DATA DIVISION.
  28.       *=============*
  29.        FILE SECTION.
  30.       *------------*
  31.        WORKING-STORAGE SECTION.
  32.       *-----------------------*
  33.        01  FILLER                 PIC X(35)        VALUE
  34.            '**** INICIO DA WORKING-STORAGE ****'.
  35.  
  36.       *-----> VARIAVEIS AUXILIARES UTILIZADA NO PROCESSAMENTO
  37.        01  WS-AREA-AUX.
  38.            05  WS-FIM             PIC X(01).
  39.            05  WS-CTLIDO          PIC 9(02).
  40.            05  WS-MEDIA           PIC 9(02)V99.
  41.       *-----> ENTRADA - DADOS VIA SYSIN (NO JCL DE EXECUCAO)
  42.        01  WS-REG-SYSIN.
  43.            05 WS-NOME-IN          PIC X(20).
  44.            05 WS-NOTA1-IN         PIC 9(02)V99.
  45.            05 WS-NOTA2-IN         PIC 9(02)V99.
  46.  
  47.        01 FILLER                  PIC X(20)        VALUE
  48.            '    LISTA DE NOTAS '.
  49.  
  50.        01  FILLER                 PIC X(35)        VALUE
  51.            '****** FIM DA WORKING-STORAGE *****'.
  52.  
  53.       *-----> SAIDA - SYSOUT DAS NOTAS
  54.        01  WS-DETALHE.
  55.            05 FILLER              PIC X(02)        VALUE SPACE.
  56.            05 WS-DET-NOME         PIC X(20)        VALUE SPACE.
  57.            05 FILLER              PIC X(05)        VALUE SPACE.
  58.            05 WS-DET-NT1          PIC Z9,99.
  59.            05 FILLER              PIC X(05)        VALUE SPACE.
  60.            05 WS-DET-NT2          PIC Z9,99.
  61.            05 FILLER              PIC X(05)        VALUE SPACE.
  62.            05 WS-DET-MEDIA        PIC Z9,99.
  63.  
  64.        01 FILLER                  PIC X(20)        VALUE
  65.            '     LISTA DE NOTAS '.
  66.       *
  67.        PROCEDURE DIVISION.
  68.       *==================*
  69.       *--------------------------------------------------------------*
  70.       *   PROCESSO PRINCIPAL
  71.       *--------------------------------------------------------------*
  72.        000-RSPRG002.
  73.  
  74.            PERFORM 010-INICIAR
  75.            PERFORM 030-PROCESSAR UNTIL WS-FIM = 'S'
  76.            PERFORM 090-TERMINAR
  77.            STOP RUN
  78.            .
  79.       *--------------------------------------------------------------*
  80.       *   PROCEDIMENTOS INICIAIS
  81.       *--------------------------------------------------------------*
  82.        010-INICIAR.
  83.  
  84.            PERFORM 025-LER-SYSIN
  85.            .
  86.       *--------------------------------------------------------------*
  87.       *   LEITURA DADOS DA SYSIN
  88.       *--------------------------------------------------------------*
  89.        025-LER-SYSIN.
  90.  
  91.            ACCEPT WS-REG-SYSIN  FROM SYSIN
  92.  
  93.            IF WS-REG-SYSIN = ALL '9'
  94.               MOVE   'S'     TO  WS-FIM
  95.            ELSE
  96.               ADD 1  TO WS-CTLIDO
  97.            END-IF
  98.            .
  99.       *--------------------------------------------------------------*
  100.       *   PROCESSAR DADOS RECEBIDOS DA SYSIN ATE FIM DOS REGISTROS
  101.       *--------------------------------------------------------------*
  102.        030-PROCESSAR.
  103.  
  104.            MOVE    WS-NOME-IN     TO   WS-DET-NOME
  105.            MOVE    WS-NOTA1-IN    TO   WS-DET-NT1
  106.            MOVE    WS-NOTA2-IN    TO   WS-DET-NT2
  107.            COMPUTE WS-MEDIA = (WS-NOTA1-IN + WS-NOTA2-IN) / 2
  108.            MOVE    WS-MEDIA       TO   WS-DET-MEDIA
  109.            DISPLAY WS-DETALHE
  110.  
  111.  
  112.            PERFORM 025-LER-SYSIN
  113.            .
  114.       *--------------------------------------------------------------*
  115.       *   PROCEDIMENTOS FINAIS
  116.       *--------------------------------------------------------------*
  117.        090-TERMINAR.
  118.  
  119.            DISPLAY ' *========================================*'
  120.            DISPLAY ' *   TOTAIS DE CONTROLE - RSPRG002        *'
  121.            DISPLAY ' *----------------------------------------*'
  122.            DISPLAY ' * REGISTROS LIDOS    - SYSIN  = ' WS-CTLIDO
  123.            DISPLAY ' *========================================*'
  124.            DISPLAY ' *----------------------------------------*'
  125.            DISPLAY ' *      TERMINO NORMAL DO FTCOB006        *'
  126.            DISPLAY ' *----------------------------------------*'
  127.            .
  128.       *---------------> FIM DO PROGRAMA FTCOB006 <-------------------*
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement