* PSDCDA
      PROGRAMA 'DOCUMENTACION DE PROGRAMAS'
      IGUAL   AREA   N10   IND-CAM
      OPCION DISCO DOCSIS EXCLUSIVO
      DOCUMENTACION 1  3
*D
*D    ESTE PROGRAMA GENERA LA DOCUMENTACION DE LOS PROGRAMAS
*D    DE UNA DBD.
*D
*D    LEER LA INICIALES DE LA DBD CUYA DOCUMENTACION SE HACE.
*
      OPCION TERMINAL COL1. 10  LET. 'REPORTE DE DOCUMENTACION'
      ESCRIBIR TERMINAL 'Esta opcion sirve para sacar' $
                        'el Reporte de Documentacion' $
                        'de una DBD.' ' ' $
                        'Solo se acepta \ para terminar.' ' '
*
1     LEER TERMINAL EJECUTA 998 INI-DBD
      BUSCAR DISCO DOCSIS EJECUTA 2 PRIN-G1 INI-DBD
      EJECUTA 10
2     ERROR 'DBD INEXISTENTE'
      EJECUTA 1
*D
*D    SE INICIALIZAN VARIABLES PARA LA IMPRESION DE LA DOCUMENTACION
*D    TALES COMO RENGLON, PAGINA, ...
*D    SE INICIALIZA EL TEMPORAL 950 QUE SE USARA PARA FORMAR EL
*D    INDICE DE LA DOCUMENTACION.
*
10    OPCION TEMPORAL 950 ESCRITURA AREA 10
      IGUAL AREA N10 PAG
      IGUAL AREA N10 RENG
      IGUAL AREA N10 RENG-AUX
      IGUAL AREA N10 INC-RENG
      IGUAL AREA N10 RENG-INI
      IGUAL AREA N10 RMAX
      IGUAL AREA N10 RPAG
      IGUAL AREA N10 IND-RET
      IGUAL AREA N10 IND-RET1
      PAG = 1
      RENG = 0
*
*     RMAX CONTIENE EL ULTIMO RENGLON CON INFORMACION
*     RPAG CONTIENE EL RENGLON DONDE SE PONE LA PAGINA
*
      RMAX = 55
      RPAG = RMAX + 2
      OPCION IMPRIMIR NO-ENC.
*D
*D    PONER LA PRIMERA HOJA DE TITULO DE LA DOCUMENTACION
*
      IMPRIMIR DETALLE 1 '1'
*
*     AVANZA A LA MITAD
*
      IGUAL AREA N10 RENG2
      RENG2 = RMAX  /  2
11    RENG  = RENG  +  1
      IMPRIMIR DETALLE
      SI RENG <= RENG2  EJECUTA 11
      IMPRIMIR DETALLE 27 'DOCUMENTACION DE PROGRAMAS'
      IMPRIMIR DETALLE 1 '0' 34 'DE LA DBDS' 44 INI-DBD
      RENG  =  RENG  +  2
*
*     AVANZA AL FINAL Y PONE LA FECHA
*
12    IMPRIMIR DETALLE
      RENG = RENG + 1
      SI RENG < RMAX EJECUTA 12
      SACAR PARAMETROS FECHA F17
      IMPRIMIR DETALLE 60 F17
*-------------------------------------------------------------------
*D
*D    FORMAR EL PREFACIO, PARA ELLO SE LEE EL T700 Y SE PASA A
*D    SALIDA
*-------------------------------------------------------------------
      OPCION TEMPORAL 700 LECTURA ASCII DISCO 'C:\SISINF\DSIS'
15    IMPRIMIR DETALLE 1 '1'
      RENG = 1
16    LEER TEMPORAL 700 EJECUTA 20 X40 X30 X10
      IMPRIMIR DETALLE 10 X40 50 X30
      RENG = RENG + 1
      SI RENG < RMAX EJECUTA 16
      EJECUTA 15
*-------------------------------------------------------------------
*D
*D    FORMAR LA PARTE I DE LA DOCUMENTACION CON LA DESCRIPCION
*D    GENERAL DE LOS SISTEMAS. PARA ELLO SE SACA DEL R16 LA
*D    INFORMACION DE *D DE DBD.
*-------------------------------------------------------------------
20    MOVER ' ' A X10
      MOVER 'I)   DESCRIPCION GENERAL' A X40
      ESCRIBIR TEMPORAL 950 10 X10  X40 PAG
      IMPRIMIR DETALLE 1 '1' / 5 X40 / 1 ' '
      RENG     = 3
      INC-RENG = 1
      IND-RET  = 1
*
21    BUSCAR RECURRENTE DOCSIS 16 EJECUTA 22 ANT.
      LEER   DISCO      DOCSIS DES-DBD1 DES-DBD2
      IMPRIMIR DETALLE 10 DES-DBD1 50 DES-DBD2
      EJECUTA 200       :REGRESA A 21;
*
22    IND-RET1 = 1
      EJECUTA 210       :REGRESA A 30;
*-------------------------------------------------------------------
*D
*D    FORMAR LA PARTE II CON LA ESTRUCTURA DE ARCHIVOS, LOS
*D    PROGRAMAS EN QUE SE USAN.
*D
*D    A MANERA DE INTRODUCCION A LA PARTE II SE LEE LA
*D    INFORMACION DEL T701.
*-------------------------------------------------------------------
30    MOVER ' ' A X10
      MOVER 'II)  ARCHIVOS Y TABLAS' A X40
      ESCRIBIR TEMPORAL 950 10 X10 X40 PAG
      IMPRIMIR DETALLE    5  X40    /   1 ' '
      RENG     = 3
      INC-RENG = 1
      IND-RET  = 2
      OPCION TEMPORAL 701  LECTURA  ASCII  DISCO  'C:\SISINF\DSIS'
*
31    LEER   TEMPORAL 701  EJECUTA  35    X40 X30 X10
      IMPRIMIR DETALLE  10 X40 50 X30
      EJECUTA 200      : REGRESA A 31 ;
*D
*D    FORMAR EL T951 CON LOS NOMBRES DE LOS ARCHIVOS PERMANENTES
*D    DE ESTA DBD. ESTO ES NECESARIO PORQUE AL IMPRIMIR LOS PROGRAMAS
*D    QUE LO USAN SE PIERDE EL POSICIONAMIENTO EN EL ARCHIVO
*D    YA QUE SE HACE CON UNA BUSQUEDA NO PRINCIPAL
*
35    OPCION TEMPORAL 951 ESCRITURA
      IND-RET1  =  2
      EJECUTA  210     : REGRESAR A  38  ;
*
38    BUSCAR  RECURRENTE  DOCSIS  1  EJECUTA  40  ANT.
      LEER    DISCO       DOCSIS  NOM-PER
      ESCRIBIR TEMPORAL 951 NOM-PER
      EJECUTA  38
*D
*D    IMPRIMIR LA ESTRUCTURA DE CADA ARCHIVO, PARA ELLO SE
*D    POSICIONA EN EL R0, LUEGO CON LA INFORMACION DEL T951
*D    SE POSICIONA EN EL R1, Y SE SACA LA INFORMACION DEL R2 PARA
*D    LA ESTRUCTURA DEL ARCHIVO
*
40    OPCION  TEMPORAL 951 LECTURA
41    BUSCAR  DISCO  DOCSIS EJECUTA 90 PRIN-G1 INI-DBD
      LEER TEMPORAL 951 EJECUTA 60 NOM-PER
      BUSCAR RECURRENTE DOCSIS 1 EJECUTA 91 SUP. NOM-PER
*
*     PONER SUBTITULO EN IMPRESION Y T950
*
      INC-RENG = 3
      IND-RET  = 3
      EJECUTA  201  :REGRESA A 42;
*
42    LEER DISCO DOCSIS NOM-PER NOM-PER-EXT DIS-PER NIV-MAX SEC-PER
      MOVER ' ' A X20
      SI DIS-PER = ' ' EJECUTA 43
      MOVER 'UNIDAD DE DISCO' A X20
43    IMPRIMIR DETALLE 1 '0' 13 'ESTRUCTURA DEL ARCHIVO' 36 NOM-PER $
           45 X20    65 DIS-PER    / 1 ' '
      MOVER NOM-PER      A  X10
      MOVER  '-'  A  TOI
      CONVERTIR  TOI  A   X10  POS.  1  8  EJECUTA  44
  44  MOVER NOM-PER-EXT  A  X40
      ESCRIBIR TEMPORAL 950 15 X10  X40 PAG
*
*     ORDENAR EL R2 POR ORDEN DE IMPRESION Y FORMAR REPORTE
*
      IGUAL AREA N10 SEP
      BUSCAR TABLA SNIV EJECUTA 92 RANGO NIV-MAX N10 SEP
      OPCION DISCO DOCSIS ORD-R2 A ORD-IMP
      INC-RENG = 1
      IND-RET = 4
45    BUSCAR RECURRENTE DOCSIS 2 EJECUTA 50 ORD.
      LEER DISCO DOCSIS NUM-REC NOM-REC NIV-REC  ORD-IMP
      IGUAL AREA N10 COL
      COL = NIV-REC - 1 * SEP + 10
      DETALLE COL 'R'
      COL = COL + 1
      DETALLE COL NUM-REC LONG. 2
      IMPRIMIR DETALLE 40 NOM-REC
      EJECUTA 200                  :REGRESA A 45;
*D
*D    IMPRIMIR LOS PROGRAMAS DONDE SE USA EL ARCHIVO, PARA ELLO
*D    SE BUSCA EN EL GRUPO DE LLAVES 3 POR NO PRINCIPAL
*D    SE REVISA SEA LA MISMA DBD YA QUE EL MISMO NOMBRE DE ARCHIVO
*D    SE PUEDE USAR EN VARIAS DBD.
*
50    INC-RENG = 4
      IND-RET = 5
      EJECUTA  201  :REGRESA A 51;
51    DETALLE 13 'EL ARCHIVO' 0 NOM-PER 0 '(' 0 NOM-PER-EXT $
         0 ') DEFINIDO EN'
      IMPRIMIR DETALLE 1 '0'
      DETALLE 10 'LA LINEA' 0 SEC-PER LONG. 4 $
         0 'DE DBD,' 0 'SE USA EN LOS SIGUIENTES PROGRAMAS:'
      IMPRIMIR DETALLE 1 ' ' / 1 ' '
      MOVER NOM-PER A NOM-PER-PRO
      COL = 10
      INC-RENG = 1
      IND-RET = 6
*
52    BUSCAR DISCO  DOCSIS  EJECUTA 53 NO-PRIN-G3 NOM-PER-PRO
      IGUAL  DOCSIS INI-DBD INI-DBD-PRO
      LEER   DISCO  DOCSIS  INI-DBD-PRO
      SI INI-DBD <> INI-DBD-PRO EJECUTA 52
      LEER   DISCO  DOCSIS  NOM-PRO
      DETALLE COL NOM-PRO
      COL = COL + 10
      SI COL <= 70 EJECUTA 52
      IMPRIMIR DETALLE
      COL = 10
      EJECUTA  200   : REGRESA A 52 ;
*
 53   SI  COL  =  10  EJECUTA  55
      IND-RET  =   7
      IMPRIMIR  DETALLE
      EJECUTA  200    :REGRESA A 55  ( IMPRIME OTRO ARCHIVO );
*  imprime el separador de archivos
 55   INC-RENG  =  1
      IMPRIMIR DETALLE                                      $
      10  '----------------------------------------'        $
      50  '------------------------------'
      IND-RET  =  8
      EJECUTA  200      : REV. SI IMPRIME LA PAGINA  Y REGRESA A 41 ;
*--------
*D
*D    FORMAR EL T952 CON LOS NOMBRES DE TABLAS DE ESTA DBD
*D    ESTO ES NECESARIO PORQUE AL IMPRIMIR LOS PROGRAMAS
*D    QUE USAN LA TABLA SE PIERDE EL POSICIONAMIENTO EN EL
*D    ARCHIVO YA QUE SE HACE UNA BUSQUEDA POR NO PRINCIPAL
*-------
60    OPCION TEMPORAL 952 ESCRITURA
      IND-RET1  =  3
      EJECUTA  210   :  BRINCA DE HOJA Y REGRESA A   61  ;
*
61    BUSCAR  RECURRENTE  DOCSIS 5 EJECUTA 62 ANT.
      LEER    DISCO       DOCSIS  NOM-TAB  NOM-TAB-EXT SEC-TAB
      ESCRIBIR  TEMPORAL  952     NOM-TAB  NOM-TAB-EXT SEC-TAB
      EJECUTA 61
*D
*D    IMPRIME LOS PROGRAMAS QUE USA  UNA TABLA.
*
62    OPCION TEMPORAL 952 LECTURA
63    LEER TEMPORAL 952 EJECUTA 70 NOM-TAB NOM-TAB-EXT SEC-TAB
      INC-RENG = 4
      IND-RET  =  9
      EJECUTA  201   :REGRESA A 64;
*
64    DETALLE 13 'LA TABLA' 0 NOM-TAB 0 '(' 0 NOM-TAB-EXT $
         0 ') DEFINIDA EN'
      IMPRIMIR DETALLE 1 '0'
      DETALLE 10 'LA LINEA' 0 SEC-TAB LONG. 4 $
         0 'DE DBD,' 0 'SE USA EN LOS SIGUIENTES PROGRAMAS:'
      IMPRIMIR DETALLE 1 ' ' / 1 ' '
      MOVER NOM-TAB A X10
      MOVER  '-'  A  TOI
      CONVERTIR  TOI  A   X10  POS.  1  8  EJECUTA  65
  65  MOVER NOM-TAB-EXT A X40
      ESCRIBIR TEMPORAL 950 15 X10  X40 PAG
      COL = 10
      INC-RENG = 1
      IND-RET  =  10
      MOVER NOM-TAB A NOM-TAB-PRO
*
 66   BUSCAR DISCO DOCSIS EJECUTA  67  NO-PRIN-G5 NOM-TAB-PRO
      LEER DISCO DOCSIS INI-DBD-PRO
      SI INI-DBD <> INI-DBD-PRO EJECUTA  66
      LEER DISCO DOCSIS NOM-PRO
      DETALLE COL NOM-PRO
      COL = COL + 10
      SI COL <= 70 EJECUTA  66
      IMPRIMIR DETALLE
      COL = 10
      EJECUTA 200 :REGRESA A  66 ;
*
 67   SI COL = 10 EJECUTA  68
      IMPRIMIR DETALLE
      IND-RET = 11
      EJECUTA  200   : REGRESA  A  68;
*
 68   INC-RENG  =  1
      IMPRIMIR DETALLE                                      $
      10 '----------------------------------------'         $
      50 '------------------------------'
      IND-RET  =   12
      EJECUTA  200     : REGRESAR A  63 ;
*
*     POSICIONAR EL R0 Y AVANZA AL FINAL
*
70    BUSCAR DISCO DOCSIS EJECUTA 90 PRIN-G1 INI-DBD
      IND-RET1  =  4
      SI  RENG  =  1  EJECUTA   100
      EJECUTA 210      : REGRESAR  A  ETIQUETA  100 ;
*
*     ERRORES
*
90    ERROR 'ERROR 1 EN PSSIBA' 'DBD NO EXISTE'
      FIN
91    ERROR 'ERROR 1 EN PSSIBA' 'ARCHIVO NO EXISTE'
      FIN
92    ERROR 'ERROR 1 EN PSSIBA' 'NO ESTA EN SNIV'
      FIN
*---------------------------------------------------------------------
*D
*D    FORMAR LA PARTE III CON LA DOCUMENTACION DE PROGRAMAS.
*D
*D    A MANERA DE INTRODUCCION SE LEE LA INFORMACION DE T702
*---------------------------------------------------------------------
100   MOVER ' ' A X10
      MOVER 'III) PROGRAMAS' A X40
      IMPRIMIR DETALLE         5 X40 / 1 ' '
      RENG = 3
      ESCRIBIR TEMPORAL 950 10 X10 X40 PAG
      OPCION TEMPORAL 702 LECTURA ASCII DISCO 'C:\SISINF\DSIS' 
      INC-RENG =  1
      IND-RET  =  13
*
101   LEER TEMPORAL 702 EJECUTA 105 X40 X30 X10
      IMPRIMIR DETALLE 10 X40 50 X30
      EJECUTA  200     :REGRESA A 101;
*-------
*D
*D    IMPRIMIR EL NOMBRE DEL SISTEMA A QUE PERTENECEN LOS
*D    PROGRAMAS, SI NO TIENE GRUPOS NO SE IMPRIME
*-------
105   OPCION DISCO       DOCSIS ORD-R6 A NUM-SIS
106   BUSCAR RECURRENTE  DOCSIS 6 EJECUTA 170 ORD.
      LEER   DISCO       DOCSIS NUM-SIS NOM-SIS TOT-NUM-GRU
      SI TOT-NUM-GRU = 0 EJECUTA 106
      INC-RENG  =  1
      IND-RET1  =  5
      EJECUTA    210    : HACE EL CAMBIO DE HOJA Y REGRESA A 107;
*
107   IMPRIMIR DETALLE                                   $
      10 'SISTEMA'   21 NUM-SIS  LONG. 2   26  NOM-SIS
      RENG  =  RENG  +  INC-RENG
      MOVER 'SISTEMA' A X10
      MOVER NOM-SIS A X40
      ESCRIBIR TEMPORAL 950 15 X10 X40 PAG
      IND-CAM  =  1
*-------
*D
*D    IMPRIMIR NOMBRE DEL GRUPO, REVISA SI TIENE PROGRAMAS
*-------
      OPCION DISCO DOCSIS ORD-R7 A NUM-GRU
110   BUSCAR RECURRENTE DOCSIS 7 EJECUTA 106 ORD.
      LEER DISCO DOCSIS NUM-GRU NOM-GRU TOT-NUM-PRO
      SI TOT-NUM-PRO = 0 EJECUTA 110
      SI NUM-GRU = 0 EJECUTA 120
      IND-RET1  =   6
      SI  IND-CAM  =  0  EJECUTA  210  : BRINCO DE HOJA Y REG. A 111;
      IND-CAM   =   0
*
 111  INC-RENG  =  2
      IMPRIMIR DETALLE 2 ' ' / 10  'GRUPO' 21 NUM-GRU LONG. 2 $
             26 NOM-GRU
      RENG  =  RENG  +  INC-RENG
      MOVER 'GRUPO' A X10
      MOVER NOM-GRU A X40
      ESCRIBIR TEMPORAL 950 15 X10 X40 PAG
*D
*D    IMPRIMIR NOMBRE DEL PROGRAMA CON LA INFORMACION DEL R8
*D    Y SU DOCUMENTACION CON LA DEL R13
*
120   OPCION DISCO DOCSIS ORD-R8 A NOM-PRO
121   BUSCAR RECURRENTE DOCSIS 8 EJECUTA  110 ORD.
      LEER DISCO DOCSIS NOM-PRO NOM-PRO-EXT TOT-MEM
      INC-RENG =   2
      IND-RET  =  14
      EJECUTA  201  : REV. EL BRINCO Y REGRESA  A  122;
*
122   IMPRIMIR DETALLE         2 ' '                   $
      / 10 'PROGRAMA'   19  NOM-PRO    26 NOM-PRO-EXT
      MOVER NOM-PRO A X10
      MOVER NOM-PRO-EXT A X40
      ESCRIBIR TEMPORAL 950 18 X10 X40 PAG
      INC-RENG = 1
      IND-RET  =  15
*
123   BUSCAR  RECURRENTE  DOCSIS 13 EJECUTA 130 ANT.
      LEER    DISCO       DOCSIS DES-PR1 DES-PR2
      IMPRIMIR DETALLE    12 DES-PR1 52 DES-PR2
      EJECUTA   200         :REVISA EL BRINCO Y REGRESA A 123;
*-------
*D
*D    IMPRIME LOS ARCHIVOS QUE USA UN PROGRAMA CON R9
*-------
130   DETALLE 1 '0'
      MOVER  'PERMANENTES:'   A  X40
      DETALLE  12  X40
      COL       =  30
      INC-RENG  =   2
      IND-RET   =  16
*
131   BUSCAR  RECURRENTE  DOCSIS 9 EJECUTA 137  ANT.
      LEER    DISCO       DOCSIS  NOM-PER-PRO
      DETALLE COL NOM-PER-PRO
      COL = COL + 10
      SI  COL  <=  70  EJECUTA  131
      IMPRIMIR DETALLE
      EJECUTA  200       :REV. EL BRINCO Y REGRESA A 135;
*
 135  INC-RENG = 1
      COL = 30
      EJECUTA 131
*
 137  SI COL = 30 EJECUTA 140
      IMPRIMIR DETALLE
      IND-RET  = 17
      EJECUTA  200     : REVISA EL BRINCO Y REGRESA A 140;
*-------
*D
*D    IMPRIME TEMPORALES QUE USA EL PROGRAMA CON R11
*-------
140   DETALLE 1 '0'
      MOVER 'TEMPORALES:' A X40
      DETALLE 12 X40
      COL      =  30
      INC-RENG =   2
      IND-RET  =  18
*
141   BUSCAR  RECURRENTE  DOCSIS 11 EJECUTA 143 ANT.
      LEER    DISCO       DOCSIS NOM-TEM-PRO
      DETALLE COL NOM-TEM-PRO
      COL = COL + 10
      SI  COL  <=  70  EJECUTA  141
      IMPRIMIR DETALLE
      EJECUTA  200         :REV. EL BRINCO Y REGRESA A 142;
*
142   INC-RENG = 1
      COL = 30
      EJECUTA 141
*
143   SI COL = 30 EJECUTA 150
      IMPRIMIR DETALLE
      IND-RET  =  19
      EJECUTA  200    :REV. EL BRINCO Y REGRESA A 150;
*-------
*D
*D    IMPRIMIR TABLAS QUE USA EL PROGRAMA CON R12
*-------
150   DETALLE 1 '0'
      MOVER 'TABLAS:' A X40
      DETALLE 12 X40
      COL  =  30
      INC-RENG  =   2
      IND-RET   =  20
*
151   BUSCAR  RECURRENTE  DOCSIS  12  EJECUTA  153  ANT.
      LEER    DISCO       DOCSIS  NOM-TAB-PRO
      DETALLE COL NOM-TAB-PRO
      COL = COL + 10
      SI  COL  <=  70  EJECUTA  151
      IMPRIMIR  DETALLE
      EJECUTA  200    : REV. EL BRINCO Y REGRESA  A  152;
*
152   INC-RENG  =   1
      COL       =  30
      EJECUTA  151
*
153   SI COL = 30 EJECUTA 155
      IMPRIMIR DETALLE
      IND-RET  =  22
      EJECUTA 200        :REGRESA A 155;
*------
*D
*D    IMPRIME LA MEMORIA QUE USA EL PROGRAMA CON INF DEL R8.
*------
 155  INC-RENG  =  2
      IND-RET  =  23
      EJECUTA  201        : REVISA SI CABE Y REGRESAR A 157 ;
*
 157  IMPRIMIR   DETALLE         1 '0'                            $
      12 'MEMORIA USADA POR EL PROGRAMA'   42  TOT-MEM  LONG.  5
*-------
*D
*D    IMPRIMIR SEGURIDAD EN ESCRITURA Y LECTURA Y OPCIONES
*D    SEG. DEL PROGRAMA CON INFORMACION DE R8 Y R17
*------
160   INC-RENG =   5
      IND-RET  =  24
      EJECUTA    201       : REVISA SI CABE Y REGRESA A 161 ;
*
161   LEER  DISCO  DOCSIS  SEG-ESC  SEG-LEC  TOT-NUM-SEG
      IMPRIMIR DETALLE 2 ' ' / 12  'LA CLAVE DE ACCESO DEL USUARIO'  $
          43 'DE ESTE PROGRAMA, DEBE TENER:' $
      / 14 '-SEG. EN ESCRITURA ENTRE 00 A' 44 SEG-ESC LONG. 2     $
      / 14 '-SEG. EN LECTURA   ENTRE 00 A' 44 SEG-LEC LONG. 2     $
      /  2  '  '
* ------
*  IMP. LOS NUMEROS DE SEGURIDAD
* ------
      SI  TOT-NUM-SEG  =  0  EJECUTA  166
      INC-RENG = 1
      IND-RET  = 25
      DETALLE 14 '-OPCION SEG. DE:'
      COL = 35
*
162   BUSCAR  RECURRENTE  DOCSIS 17 EJECUTA 164 ANT.
      LEER    DISCO       DOCSIS  NUM-SEG
      DETALLE  COL  NUM-SEG
      COL = COL + 5
      SI  COL <=  75 EJECUTA 162
      IMPRIMIR  DETALLE
      COL  =  35
      EJECUTA  200  :REGRESA A 162;
*
164   SI  COL  =  35  EJECUTA  166
      IMPRIMIR DETALLE
      IND-RET  =  26
      EJECUTA  200     : REVISA SI BRINCA DE PAGINA Y REGRESA A 166;
*
 166  INC-RENG  =  1
      IMPRIMIR DETALLE                                      $
      10  '----------------------------------------'        $
      50  '------------------------------'
      IND-RET  =  27
      EJECUTA  200     :  REV. SI PONE PAGINA Y REGRESA A 121 ;
*
*     AVANZA AL FINAL
*
170   IND-RET1 = 7
      EJECUTA  210     :REGRESAR  A  ETIQUETA   180 ;
*--------------------------------------------------------------------
*D
*     PONER EL INDICE
*--------------------------------------------------------------------
180   OPCION TEMPORAL 950 LECTURA
      IMPRIMIR DETALLE   38 'INDICE'   67  'PAGINA' / 1 ' '
      RENG = 1
      IGUAL AREA N10 DESF
*
 181  LEER TEMPORAL 950 EJECUTA 188 DESF X10 X40 PAG
      SI  DESF  <>  10  EJECUTA  184
      DETALLE   1  '0'
      RENG  =  RENG  +  1
 184  DETALLE DESF X10 0 X40
      IMPRIMIR DETALLE 70 PAG LONG. 3
      RENG = RENG + 1
      SI RENG <= RMAX EJECUTA 181
      IMPRIMIR DETALLE 1 '1'  38 'INDICE'  67  'PAGINA' / 1  ' '
      RENG = 1
      EJECUTA 181
*
 188  OPCION TEMPORAL 950 BORRAR
      OPCION TEMPORAL 951 BORRAR
      OPCION TEMPORAL 952 BORRAR
      EJECUTA 1
*********************************************************
*
*     CONTROL DEL BRINCO DE HOJA.
*
*     LA FORMA EN QUE SE MANEJA LA IMPRESION ES LA SIG.
*
*-----
*D    CASO A   ( PRIMERO IMPRIME Y LUEGO REVISA SI BRINCA )
*-----
200   RENG  =  RENG  +  INC-RENG
      SI  RENG  <  RMAX  EJECUTA  205
      RENG-INI  = 1
      EJECUTA  203
*D
*D    CASO B   ( PRIMERO REVISA SI CABEN TODOS LOS RENG.  )
*D             ( PARA IMPRIMIR TODAS LAS LINEAS JUNTAS )
*
201   RENG-AUX  =  RENG  +  INC-RENG
      SI  RENG-AUX  >=  RMAX  EJECUTA  202
      RENG  =  RENG-AUX
      EJECUTA  205
*
202   RENG-INI  =  1  +  INC-RENG
*-----
*     PONER PAGINA
*-----
203   IMPRIMIR  DETALLE
      RENG  =  RENG + 1
      SI  RENG  <  RPAG  EJECUTA  203
      IMPRIMIR  DETALLE   38  PAG  /  1 '1'
      PAG  =  PAG      +   1
      RENG =  RENG-INI
*
*     RETORNAR
*
205   SI IND-RET = 1 EJECUTA 21
      SI IND-RET = 2 EJECUTA 31
      SI IND-RET = 3 EJECUTA 42
      SI IND-RET = 4 EJECUTA 45
      SI IND-RET = 5 EJECUTA 51
      SI IND-RET = 6 EJECUTA 52
      SI  IND-RET  =   7  EJECUTA   55
      SI  IND-RET  =   8  EJECUTA   41
      SI  IND-RET  =   9  EJECUTA   64
      SI  IND-RET  =  10  EJECUTA   66
      SI  IND-RET  =  11  EJECUTA   68
      SI  IND-RET  =  12  EJECUTA   63
      SI  IND-RET  =  13  EJECUTA  101
      SI  IND-RET  =  14  EJECUTA  122
      SI  IND-RET  =  15  EJECUTA  123
      SI  IND-RET  =  16  EJECUTA  135
      SI  IND-RET  =  17  EJECUTA  140
      SI  IND-RET  =  18  EJECUTA  142
      SI  IND-RET  =  19  EJECUTA  150
      SI  IND-RET  =  20  EJECUTA  152
      SI  IND-RET  =  22  EJECUTA  155
      SI  IND-RET  =  23  EJECUTA  157
      SI  IND-RET  =  24  EJECUTA  161
      SI  IND-RET  =  25  EJECUTA  162
      SI  IND-RET  =  26  EJECUTA  166
      SI  IND-RET  =  27  EJECUTA  121
      ERROR 'ERROR 1 EN PSSIBA' 'IND-RET MAL'
      FIN
*
*     AVANZA AL FINAL
*
210   SI  RENG  >=  RPAG  EJECUTA  211
      IMPRIMIR  DETALLE
      RENG  =  RENG  + 1
      EJECUTA 210
*
211   IMPRIMIR DETALLE  38 PAG  /  1  '1'
      RENG  =  1
      PAG   =  PAG + 1
      SI  IND-RET1  =  1  EJECUTA   30
      SI  IND-RET1  =  2  EJECUTA   38
      SI  IND-RET1  =  3  EJECUTA   61
      SI  IND-RET1  =  4  EJECUTA  100
      SI  IND-RET1  =  5  EJECUTA  107
      SI  IND-RET1  =  6  EJECUTA  111
      SI  IND-RET1  =  7  EJECUTA  180
      ERROR 'ERROR 1 EN PSSIBA   IND-RET1 MAL'   IND-RET1
      FIN
*
*     MENU O TERMINAR DEPENDIENDO DE BATCH
*
      IGUAL AREA N10 IND-BATCH
998   SACAR PARAMETROS BATCH IND-BATCH
      SI IND-BATCH <> 0 EJECUTA 999
      FIN 'DCME'
999   FIN
