* PSDCE4
*D
*D    ESTE PROGRAMA ACTUALIZA LA INFORMACION EN SIUS
*D    LUEGO GENERA EL REPORTE DE USO DE LOS DIFERENTES MODULOS
*D    Y AL FINAL LISTA LOS ERRORES DE EJECUCION DE ELS.
*D    LLAMAR A 'COSFT' PARA FORMAR LOS TEMPORALES 920 Y 921
*D    CON LA INFORMACION DE COSV40 Y EEV40.
* - - - - - - - - - - - - -  - - - - - - - - - - - - - - - - - - - --
      PROGRAMA 'ACTUALIZACION Y REPORTE DE USO'
      DOCUMENTACION 2 0
      OPCION TEMPORAL 920 ASCII AREA 1 
      LLAMAR 'COSFT ' 920
      OPCION DISCO SIUS EXCLUSIVO
*D
*D    SE LEE EL T920 Y SE VALIDA QUE EXISTA EL MODULO Y FECHA VALIDA
*D
*D    SE BUSCA SI YA EXISTE EL USUARIO EN SIUS, SI NO SE DA DE ALTA
*D    CON UN NOMBRE IGUAL A '***SIN NOMBRE***'
*
*
      OPCION TEMPORAL 920 LECTURA
10    LEER   TEMPORAL 920 EJECUTA 100                                $
      NUM-MOD        C-PRO-ARC   C-FEC       C-HOR    C-HR      C-MR $
      C-SR           C-NUM-PAG   C-NUM-ERR   NUM-CA   C-NUM-TER C-HC $
      C-MC           C-CSC     
      BUSCAR TABLA MODSIS EJECUTA 11 IGUAL NUM-MOD
      EJECUTA 12
11    ESCRIBIR TERMINAL 'NO ESXISTE MODULO' NUM-MOD
      EJECUTA 10
12    SI C-FEC <> 0 EJECUTA 13
      ESCRIBIR TERMINAL 'FECHA INVALIDA' C-PRO-ARC
      EJECUTA 10
13    BUSCAR DISCO SIUS EJECUTA 14 PRIN-G1 NUM-CA
      EJECUTA 15
14    MOVER '***SIN NOMBRE***' A NOM-US
      MOVER ' ' A AREA
      INSERTAR DISCO SIUS NUM-CA NOM-US AREA
*D
*D    SI ES ELS-E PONER ELS
*
15    SI NUM-MOD <> 11 EJECUTA 20
      NUM-MOD = 3
*D
*D    ACTUALIZA EL R0 DE SIUS, PARA ELLO SE BUSCA POR MODULO
*D    Y ANO-MES, SI NO EXISTE SE INSERTA, SI EXISTE SE ACTUALIZA
*
      IGUAL SIUS SEG-RELOJ C-SEG-RELOJ
      IGUAL SIUS SEG-CPU C-SEG-CPU
20    C-SEG-RELOJ  =  C-SR
      C-SEG-RELOJ  =  C-MR   *  60    +  C-SEG-RELOJ
      C-SEG-RELOJ  =  C-HC   *  6000  +  C-SEG-RELOJ
      C-SEG-CPU    =  C-CSC
      C-SEG-CPU    =  C-MC   *  60    +  C-SEG-CPU
      C-SEG-CPU    =  C-HC   *  60    +  C-SEG-CPU
      AMES         =  C-FEC  -19000000 / 100
      BUSCAR RECURRENTE SIUS 1 EJECUTA 25 SUP. NUM-MOD AMES
      LEER DISCO SIUS SEG-RELOJ SEG-CPU TOT-EJE EJE-ERR PAG-IMP
      SEG-RELOJ = SEG-RELOJ + C-SEG-RELOJ
      SEG-CPU = SEG-CPU + C-SEG-CPU
      TOT-EJE = TOT-EJE + 1
      SI C-NUM-ERR = 0 EJECUTA 21
      EJE-ERR = EJE-ERR + 1
21    PAG-IMP = PAG-IMP + C-NUM-PAG
      ESCRIBIR DISCO SIUS SEG-RELOJ SEG-CPU TOT-EJE EJE-ERR $
         PAG-IMP
      EJECUTA 10
25    TOT-EJE = 1
      EJE-ERR = 0
      SI C-NUM-ERR = 0 EJECUTA 26
      EJE-ERR = 1
26    PAG-IMP = C-NUM-PAG
      INSERTAR DISCO SIUS NUM-MOD AMES C-SEG-RELOJ C-SEG-CPU $
          TOT-EJE EJE-ERR PAG-IMP
      EJECUTA 10
*D
*D    LISTAR EL T920 CON LA INFORMACION DE COSV40 ORDENADO POR
*D    FECHA DE INICIO DE EJECUCION DE CADA MODULO.
*
100   OPCION TEMPORAL 920 ORDEN C NUM-MOD C  C-PRO-ARC  A1 C-FEC $
           A2 C-HOR LECTURA
      SACAR PARAMETROS FECHA FEC
      OPCION IMPRIMIR LET. 'USO DE SISINF' FECHA FEC COL. 130 $
      ENC. 2 GUION40  42 GUION40 82 GUION40 122 GUION9 $
      ENC. 1 '0'  2 C-FEC 12 C-HOR 22 NUM-MOD  $
       36 C-HR 46 C-HC 56 C-NUM-PAG  64 C-NUM-ERR 72 C-NUM-TER $
      82 NOM-US                    $
      ENC. 1 '0' 2 GUION40 42 GUION40 82 GUION40 122 GUION9 $
      NOMBRE 'USOMOD'
*
101   LEER TEMPORAL 920 EJECUTA 150 NUM-MOD C-PRO-ARC C-FEC C-HOR $
      C-HR C-MR C-SR C-NUM-PAG C-NUM-ERR NUM-CA C-NUM-TER C-HC $
      C-MC C-CSC 
      MOVER ' ' A MOD-ALFA
      BUSCAR TABLA MODSIS EJECUTA 102 IGUAL NUM-MOD MOD-ALFA
102   MOVER ' ' A NOM-US
      BUSCAR DISCO SIUS  EJECUTA 103 PRIN-G1 NUM-CA
      LEER DISCO SIUS NOM-US
103   IMPRIMIR DETALLE 2 C-FEC 12 C-HOR 22 MOD-ALFA 28 C-PRO-ARC $
        36 C-HR LONG. 2 38 ':' 39 C-MR LONG. 2 41 ':' 42 C-SR LONG. 2 $
       46 C-HC LONG. 2 48 ':' 49 C-MC LONG. 2 51 ':' 52 C-CSC LONG. 2 $
       56 C-NUM-PAG LONG. 4 64 C-NUM-ERR LONG. 4 72 C-NUM-TER LONG. 4 $
       82 NUM-CA LONG. 4 88 NOM-US LONG. 30 
      EJECUTA 101
*D
*D    DESPLIEGA LOS ERRORES AL EJECUTAR EL MODULO ELS, PARA ELLO
*D    SE LEE EL TEMPORAL 921.
*
150   OPCION TEMPORAL 921 LECTURA ASCII
      OPCION IMPRIMIR LET. 'ERRORES DE ELS' FECHA FEC COL. 130 $
      ENC. 2 GUION40 42 GUION40 82 GUION40 122 GUION9 $
      ENC. 1 '0' 2 E-PRO 10 E-FEC 20 E-HOR 30 NUM-CA $
       40 E-NUM-TER 50 E-ERR 60 E-COD 70 E-INST 80 E-EJEC $
       90 E-DES1 $
      ENC. 1 '0' 2 GUION40 42 GUION40 82 GUION40 122 GUION9 $
      NOMBRE 'ERRMOD'
151   LEER TEMPORAL 921 EJECUTA 1000 E-PRO E-FEC E-HOR NUM-CA $
      E-NUM-TER E-ERR E-COD E-INST E-EJEC E-DES1 E-DES2
      SI E-DES2 <> ' ' EJECUTA 152
      IMPRIMIR DETALLE 1 '0' 2 E-PRO 10 E-FEC 20 E-HOR $
          30 NUM-CA LONG. 4 40 E-NUM-TER LONG. 4 $
          50 E-ERR LONG. 4 60 E-COD LONG. 4 70 E-INST LONG. 4 $
          80 E-EJEC LONG. 4 90 E-DES1
      EJECUTA 151
152   IMPRIMIR DETALLE 1 '0' 2 E-PRO 10 E-FEC 20 E-HOR $
          30 NUM-CA LONG. 4 40 E-NUM-TER LONG. 4 $
          50 E-ERR LONG. 4 60 E-COD LONG. 4 70 E-INST LONG. 4 $
          80 E-EJEC LONG. 4 90 E-DES1 / 90 E-DES2
      EJECUTA 151
1000  SACAR PARAMETROS BATCH N10
      SI N10 = 1 EJECUTA 1001
      FIN 'DCE0'
*
1001  FIN
