* PSDCCA
      PROGRAMA 'Compilar programas usan una DBD'
      DOCUMENTACION 1 4
*D
*D    ESTE PROGRAMA SIRVE PARA COMPLILAR TODOS LOS PROGRAMAS DE UNA
*D    DBD
*D
*D    SE LEEN LAS INCIALES DE DBD Y SE DESPLIEGA EL DISPOSITIVO,
*D    LA FECHA DE ULTIMA ACTUALIZACION DEL R15.
*D    SE LEE SI SE DESEAN LISTADOS DE COMPILACION.
*
      OPCION TERMINAL AREA  200  /RENGLON   /POS. 5 3   /LONG. 12 74 $
      /MARCO                     /TAB.  3 40     /TIEMPO  0  5       $
      /TECLAS-DE-FUNCION 1 'Terminar'  2 'Men£'  3 '*Ayuda' $
      /CONDICION-EJECUTA   '/F'   '/M'                               $
      /BN  NORMAL     VI    NORMAL                                   $
      /COLOR   CELESTE    CELESTE NEGRO    BLANCO AZUL   AZUL BLANCO $
*
      /CAMPOS 3 3 INI-DBD DIS-DBD /LONG. 30 /ESC. FEC-ACT /ESC.  $
             HOR-ACT /ESC.  8 3 PRECOM 10 3 TOT-COMP /ESC.
*
      OPCION TERMINAL AREA 201 /RENGLON 1 1 /POS. 13 5  $
      /LONG. 6 70 /MARCO /COLOR AMARILLO AMARILLO NEGRO  $
      /CONFIRMAR /CAMPOS $
           2 3 'Esta opcion sirve para compilar $
               $todos los programas de una DBD.' $
           3 3 '-La PRIMERA pregunta se debe contestar $
               $con las iniciales de DBD.' $
           4 3 '-Al compilar los programas se puede $
               $especificar que se listen,' $
           5 4 'lo cual se contesta en la SEGUNDA $
               $pregunta.'
*
      OPCION TERMINAL AREA 999 /ERROR $
       /COLOR NEGRO NEGRO BLANCO
*
      OPCION TERMINAL AREA 200 /DESPLEGAR
1     LEER TERMINAL EJECUTA 20 INI-DBD
      BUSCAR DISCO DOCSIS EJECUTA 3 PRIN-G1 INI-DBD
      LEER DISCO DOCSIS DIS-DBD
      ESCRIBIR TERMINAL DIS-DBD
      BUSCAR RECURRENTE DOCSIS 15 EJECUTA 2  SUP.
      LEER DISCO DOCSIS FEC-ACT HOR-ACT
      ESCRIBIR TERMINAL  FEC-ACT HOR-ACT
      EJECUTA 10
2     ERROR 'ERROR 2 EN PSDCCA' 'NO EXISTE FECHA DE ACTUALIZACION'
      FIN
3     ERROR 'DBD INEXISTENTE'
      EJECUTA 1
*
10    MOVER ' ' A X8
11    LEER TERMINAL EJECUTA 20 PRECOM
      SI PRECOM = 'NO' EJECUTA 51
      MOVER ',I,PA' A X8
      EJECUTA 51
*
20    SACAR PARAMETROS CONDICION-EJECUTA COND
      SI COND = 1 EJECUTA 1000
      SI COND = -1 EJECUTA 1000
      SI COND = -4 EJECUTA 1000
      SI COND = -5 EJECUTA 999
      SI COND = 2 EJECUTA 999
      OPCION TERMINAL AREA 201 /DESPLEGAR /SALVAR-ANTERIORES /EMPALMAR
      OPCION TERMINAL AREA 201 /TERMINAR
      IGUAL AREA N10 NUM-INST-LECT
      SACAR PARAMETROS NUMERO-DE-LECTURAS NUM-INST-LECT
      SI NUM-INST-LECT = 1 EJECUTA 1
      EJECUTA 11
*D
*D    SE RECORRE EL R6 PARA IR COMPILANDO POR SISTEMAS,
*D    SE RECORRE EL R7 PARA IR COMPILANDO POR GRUPOS,
*D    SE RECORRE EL R8 PARA SACAR INFORMACION DEL PROGRAMA
*D    A COMPILAR Y SE PASA AL T950
*
51    OPCION TEMPORAL 950 ESCRITURA ASCII
      ESCRIBIR TEMPORAL 950 '*C *INICIO*'
      ESCRIBIR TEMPORAL 950 '*M DBD-C,' INI-DBD ',' DIS-DBD 
      TOT-COMP = 0
52    BUSCAR RECURRENTE DOCSIS 6 EJECUTA 60 ANT.
53    BUSCAR RECURRENTE DOCSIS 7 EJECUTA 52 ANT.
54    BUSCAR RECURRENTE DOCSIS 8 EJECUTA 53 ANT.
      LEER DISCO DOCSIS NOM-PRO DIS-PRO
      IGUAL AREA X2 INI-PRO-DBD
      CONVERTIR NOM-PRO A INI-PRO-DBD POS. 5 1 EJECUTA 55
      CONVERTIR NOM-PRO A INI-PRO-DBD POS. 6 2 EJECUTA 55
      ESCRIBIR TEMPORAL 950 '*M CLS-C,' INI-DBD ',' $
               DIS-DBD ',' INI-PRO-DBD ',' DIS-PRO X8
       TOT-COMP = TOT-COMP + 1
      EJECUTA 54
55    ERROR 'ERROR 1 EN PSDCCA' 'ERROR AL CONVERTIR'
      FIN
*D
*D    SE ENVIA AL BATCH EL T950 PARA EFECTUAR LA COMPILACION.
*
60    ESCRIBIR TEMPORAL 950 '*C *FIN*'
      ESCRIBIR TERMINAL TOT-COMP
      OPCION TERMINAL AREA 200 /TERMINAR /INMEDIATA
      LLAMAR 'SIS/B '  950
999   FIN 'DCME'
1000  FIN
