*PSDCBD
      PROGRAMA 'Programas usan un archivo temporal'
      DOCUMENTACION 1 2
*D
*D    ESTE PROGRAMA SIRVE PARA BUSCAR QUE PROGRAMAS USAN
*D    UN TEMPORAL ESPECIFICO, LA INFORMACION SE DESPLIEGA EN
*D    LA TERMINAL O SE IMPRIME.
*
*     DEFINIR AREAS PARA PREGUNTAR POR TEMPORAL
*
      OPCION TERMINAL AREA 100 /RENGLON /POS. 5 5 /LONG. 7 70 $
      /MARCO /BN NO-E VI NO-E $
      /COLOR AMARILLO AMARILLO NEGRO AZUL BLANCO $
      /TECLAS-DE-FUNCION 1 'Terminar' 2 'Men£' 3 '*Ayuda' $
      /CONDICION-EJECUTA '/F' '/M' $
      /INF-GLOBAL /TAB. 5 45 /CAMPOS 3 5 PRETEM PRE-NOM-TEM TOI
*
      OPCION TERMINAL AREA 101 /COLUMNA 3 /POS. 9 20 /LONG. 11 18 $
      /MARCO /COLOR CELESTE CELESTE NEGRO /BN VI NO-E $
      /CAMPOS NOM-TEM-PRO /ESC.
*
      OPCION TERMINAL AREA 102 /RENGLON 1 1 /POS. 11 5 /LONG. 8 70 $
      /MARCO /COLOR CELESTE CELESTE NEGRO /CONFIRMAR /CAMPOS $
      2 3 'Esta opcion sirve para desplegar $
          $o imprimir los programas que' $
      3 3 'usen un temporal.' $
      4 3 '-Contestar SI a la PRIMER pregunta $
          $ocacionara se despliegen los' $
      5 4 'nombres de las temporales de las DBD $
          $para seleccionar uno.' $
      6 3 '-La SEGUNDA pregunta se debe contestar $
          $con el nombre del TEMPORAL.' $
      7 3 '-Se pueden desplegar los programas por $
          $Terminal o bien Imprimir.'
*D
*D   PREGUNTAR SI SE DESPLIEGAN LON NOMBRES DE TEMPORALES, PARA
*D    ELLO SE RECORRE EL GRUPO DE LLAVES 4 EN FORMA SECUENCIAL Y
*D    SE ELIMINAN LOS DUPLICADOS.
*
1     OPCION TERMINAL AREA 100 /DESPLEGAR
      LEER TERMINAL EJECUTA 20 PRETEM
      SI PRETEM = 'NO' EJECUTA 5
      OPCION TERMINAL AREA 101 /DESPLEGAR /SALVAR-ANTERIORES $
         /EMPALMAR
      OPCION DISCO DOCSIS INICIO-G4
      IGUAL DOCSIS NOM-TEM-PRO NOM-TEM-PRO-ANT
      MOVER ' ' A NOM-TEM-PRO-ANT
2     BUSCAR DISCO DOCSIS EJECUTA 3 SEC-G4
      LEER DISCO DOCSIS NOM-TEM-PRO
      SI NOM-TEM-PRO = NOM-TEM-PRO-ANT EJECUTA 2
      ESCRIBIR TERMINAL NOM-TEM-PRO
      MOVER NOM-TEM-PRO A NOM-TEM-PRO-ANT
      EJECUTA 2
3     OPCION TERMINAL AREA 101 /TERMINAR
*D
*D    SE LEE EL NOMBRE DEL TEMPORAL Y SE BUSCA EL PRIMER
*D    PROGRAMA QUE LO USE EN EL R9. SE SACA LA FECHA DE ACTUALIZACION
*D    DEL R15
*
5     LEER TERMINAL EJECUTA 20 PRE-NOM-TEM
      MOVER PRE-NOM-TEM A NOM-TEM-PRO
      BUSCAR DISCO DOCSIS EJECUTA 8 PRIN-G4 NOM-TEM-PRO
      BUSCAR RECURRENTE DOCSIS 15 EJECUTA 6 SUP.
      LEER DISCO DOCSIS FEC-ACT HOR-ACT
      EJECUTA 10
6     ERROR 'ERROR 2 EN PSDCBD' 'NO TIENE FECHA DE ACTUALIZACION'
      FIN
8     ERROR 'Temporal inexistente'
      EJECUTA 5
*D
*D    PREGUNTA SI POR TERMINAL O IMPRESORA. Y DEFINE LOS LETREROS
*
10    LEER TERMINAL EJECUTA 20 TOI
      SI TOI =  'T' EJECUTA 50
      SI TOI =  'I' EJECUTA 30
      ERROR 'No tecleo T O I'
      EJECUTA 10
*D
*D    INVESTIGAR EJECUTA #
*
20    SACAR PARAMETROS CONDICION-EJECUTA COND
      SI COND = -1 EJECUTA 1000
      SI COND = 1  EJECUTA 1000
      SI COND = -4 EJECUTA 1000
      SI COND = 2  EJECUTA 999
      SI COND = -5 EJECUTA 999
      OPCION TERMINAL AREA 102 /DESPLEGAR /SALVAR-ANTERIORES /EMPALMAR
      OPCION TERMINAL AREA 102 /TERMINAR
      EJECUTA 1
*D
*D    SE BUSCA EN EL GRUPO DE LLAVES 4, POR NO PRINCIPAL, CON
*D    EL NOMBRE DEL TEMPORAL. DE LOS R8 ENCONTRADOS SE DESPLIEGA
*D    LA INFORMACION DE LOS PROGRAMAS.
*
 30   OPCION IMPRIMIR   FECHA   FEC     COL. 120                     $
      LET. 'PROGRAMAS QUE USAN UN TEMPORAL'                          $
      ENC.        2 GUION40     42 GUION40        82 GUION40         $
      ENC.        2 ULT-ACT     40 FEC-ACT VAR.   50 HOR-ACT VAR.    $
      ENC. 1 '0'  2 NOM-TEM-PRO 12 NOM-TEM-PRO VAR.                  $
      ENC. 1 '0'  2 NOM-PRO-EXT 50 'DBD/SIS/GRU'  63 'LONGITUD'      $
                  73  DIS-PRO                                        $
      ENC.         2 GUION40     42 GUION40        82 GUION40
*
      SACAR PARAMETROS FECHA FEC
      OPCION DISCO DOCSIS INICIO-G4
31    BUSCAR DISCO DOCSIS EJECUTA 999 NO-PRIN-G4 NOM-TEM-PRO
      LEER DISCO DOCSIS NOM-PRO NOM-PRO-EXT DIS-PRO
      LEER DISCO DOCSIS INI-DBD
      LEER DISCO DOCSIS NUM-SIS
      LEER DISCO DOCSIS NUM-GRU
      LEER DISCO DOCSIS LON-MEN LON-MAY USO-TEM
      IMPRIMIR DETALLE                              1 '0'            $
      2   NOM-PRO        10 NOM-PRO-EXT            50  INI-DBD       $
      54  NUM-SIS        58 NUM-GRU                62  LON-MEN       $
      67  LON-MAY        73 DIS-PRO
*D
*D    SE DESPLIEGA COMO SE USA, PARA ELLO SE CONVIERTE CON LA TABLA
*D    CUT EL VALOR NUMERICO A LAS LETRAS CORRESPONDIENTES.
*
      IGUAL AREA N10 COL
      IGUAL AREA N10 POS
      IGUAL AREA N10 CAR
      IGUAL AREA X12 DESC
      IGUAL AREA N30 USO
*
*     INICIALIZAR LA COLUMNA DE IMPRESION Y LA POSICION EN *USO-TEM*
*     SACAR LA DESCRIPCION Y CARACTERES DE ESTA
*
      POS = 12
      COL = 15
35    USO = 0
      CONVERTIR USO-TEM A USO POS. POS POS EJECUTA 38
      SI USO = 0 EJECUTA 36
      BUSCAR TABLA CUT EJECUTA 39 IGUAL USO DESC CAR
      DETALLE COL DESC
*
*     TOMAR OTRO, SI SON TODOS TERMINAR
*
      COL = COL + CAR + 1
36    POS = POS - 1
      SI POS > 0 EJECUTA 35
      IMPRIMIR DETALLE  10 'USO:'
      EJECUTA 31
*
*     ERRORES
*
38    ERROR 'ERROR 1 EN PSSIAF' 'ERROR AL CONVERTIR'
      FIN
39    ERROR 'ERROR 3 EN PSSIAF' 'NO ESTA EN TABLA CUT'
      FIN
*D
*D    DEFINIR EL AREA PARA DESPLEGARLOS Y USAR LA MISMA
*D    LOGICA DE IMPRESION.
*
      OPCION TERMINAL AREA 103 /RENGLON /POS. 2 5 /LONG. 3 70 $
      /MARCO /COLOR CELESTE CELESTE NEGRO /BN VI $
      /TAB. 5 20 /CAMPOS NOM-TEM-PRO /ESC.
      IGUAL AREA X3 XBOR
      IGUAL AREA X3 XEXT
      IGUAL AREA X3 XLEC
      IGUAL AREA X3 XESC
      IGUAL AREA X3 XMOD
      IGUAL AREA X3 XDIS
      IGUAL AREA X3 XARE
      IGUAL AREA X3 XASC
      IGUAL AREA X3 XSIS
      IGUAL AREA X3 XEXE
      IGUAL AREA X3 XNOM
      IGUAL AREA X3 XORD
      OPCION TERMINAL AREA 104 /COLUMNA  /POS. 6 5 /LONG. 15 70 $
      /MARCO /COLOR AMARILLO AMARILLO NEGRO /BN VI NO-E NO-E $
      /LINEA-HORIZONTAL 1 /LINEA-HORIZONTAL 6 $
      /LINEA-HORIZONTAL 9 /LINEA-HORIZONTAL 12 $
      /LINEA-HORIZONTAL 15 $
      /LINEA-VERTICAL 1 /LINEA-VERTICAL 10 6 15 /LINEA-VERTICAL 70 $
      /CAMPOS 2 3 NOM-PRO /ESC. 2 14 NOM-PRO-EXT /ESC. /LONG. 35  $
      'SIS/GRU' NUM-SIS /VAR. NUM-GRU  /VAR. 'LONGITUD' $
      LON-MEN /VAR. LON-MAY /VAR. $
      3 14 '/LECTURA    /MODIFICACION /AREA     /SISINF' $
      4 14 '    /ESCRITURA  /BORRAR     /NOMBRE     /EXTERNO' $
      5 14 '        /EXTENDER   /DISCO      /ASCII      /ORDEN' $
      3 14 XLEC /VAR. XESC /VAR. XEXT /VAR. XMOD /VAR. XBOR /VAR. $
           XDIS /VAR. XARE /VAR. XNOM /VAR. XASC /VAR. XSIS /VAR. $
           XEXE /VAR. XORD /VAR.
50    OPCION TERMINAL AREA 103 104 /DESPLEGAR
      ESCRIBIR TERMINAL NOM-TEM-PRO
      OPCION DISCO DOCSIS INICIO-G4
51    BUSCAR DISCO DOCSIS EJECUTA 65 NO-PRIN-G4 NOM-TEM-PRO
      LEER DISCO DOCSIS NOM-PRO NOM-PRO-EXT
      LEER DISCO DOCSIS NUM-SIS
      LEER DISCO DOCSIS NUM-GRU
      LEER DISCO DOCSIS LON-MEN LON-MAY USO-TEM
      ESCRIBIR TERMINAL NOM-PRO NOM-PRO-EXT NUM-SIS NUM-GRU  $
                LON-MEN LON-MAY
      USO = 0
      CONVERTIR USO-TEM A USO POS. 12 1 EJECUTA 38
      SI USO = 0 EJECUTA 52
      MOVER 'BOR' A XBOR
      ESCRIBIR TERMINAL XBOR
      USO = 0
52    CONVERTIR USO-TEM A USO POS. 11 1 EJECUTA 38
      SI USO = 0 EJECUTA 53
      MOVER 'EXT' A XEXT
      ESCRIBIR TERMINAL XEXT
      USO = 0
53    CONVERTIR USO-TEM A USO POS. 10 1 EJECUTA 38
      SI USO = 0 EJECUTA 54
      MOVER 'LEC' A XLEC
      ESCRIBIR TERMINAL XLEC
      USO = 0
54    CONVERTIR USO-TEM A USO POS. 9 1 EJECUTA 38
      SI USO = 0 EJECUTA 55
      MOVER 'ESC' A XESC
      ESCRIBIR TERMINAL XESC
      USO = 0
55    CONVERTIR USO-TEM A USO POS. 8 1 EJECUTA 38
      SI USO = 0 EJECUTA 56
      MOVER 'MOD' A XMOD
      ESCRIBIR TERMINAL XMOD
      USO = 0
56    CONVERTIR USO-TEM A USO POS. 7 1 EJECUTA 38
      SI USO = 0 EJECUTA 57
      MOVER 'DIS' A XDIS
      ESCRIBIR TERMINAL XDIS
      USO = 0
57    CONVERTIR USO-TEM A USO POS. 6 1 EJECUTA 38
      SI USO = 0 EJECUTA 58
      MOVER 'ARE' A XARE
      ESCRIBIR TERMINAL XARE
      USO = 0
58    CONVERTIR USO-TEM A USO POS. 5 1 EJECUTA 38
      SI USO = 0 EJECUTA 59
      MOVER 'ASC' A XASC
      ESCRIBIR TERMINAL XASC
      USO = 0
59    CONVERTIR USO-TEM A USO POS. 4 1 EJECUTA 38
      SI USO = 0 EJECUTA 60
      MOVER 'SIS' A XSIS
      ESCRIBIR TERMINAL XSIS
      USO = 0
60    CONVERTIR USO-TEM A USO POS. 3 1 EJECUTA 38
      SI USO = 0 EJECUTA 61
      MOVER 'EXT' A XEXE
      ESCRIBIR TERMINAL XEXE
      USO = 0
61    CONVERTIR USO-TEM A USO POS. 2 1 EJECUTA 38
      SI USO = 0 EJECUTA 62
      MOVER 'NOM' A XNOM
      ESCRIBIR TERMINAL XNOM
      USO = 0
62    CONVERTIR USO-TEM A USO POS. 1 1 EJECUTA 38
      SI USO = 0 EJECUTA 51
      MOVER 'ORD' A XORD
      ESCRIBIR TERMINAL XORD
      USO = 0
      EJECUTA 51
65    OPCION TERMINAL AREA 103 104 /TERMINAR
*
999   FIN  'DCME'
1000 FIN
