* PSDCF1
       PROGRAMA 'A B M C C L, DE AYUDA VARIABLES' $  
                     /AREAS-COMUNES  DIR  $
                     /COLOR AZUL AMARILLO
       DOCUMENTACION 3 0
       SI DIR-PER-TEM <> ' ' OPCION DISCO AYUDAA DISCO DIR-PER-TEM
       SI DIR-PER-TEM <> ' ' OPCION DISCO AYUDAV DISCO DIR-PER-TEM
*
*     ESTE PROGRAMA SIRVE PARA DAR DE ALTA, BAJA, MODIFICAR, CONSULTAR
*     COPIAR Y LISTAR TEXTOS DE AYUDA DE VARIABLES
*
*     DEFINIR AREA DE MENU
*
      IGUAL AREA N1 NUM
      OPCION  TERMINAL  AREA  1  /MENU  /MARCO                  $
      /POS.  1  5    /LONG.  3  70                              $
      /COLOR  BLANCO BLANCO NEGRO  NEGRO AMARILLO  CELESTE NEGRO  $
      /TECLAS-DE-FUNCION  1 'TERMINAR'   2 '*AYUDA'   3 'MENU' $
        /AYUDA-GLOBAL DESPLEGAR-AYUDA                           $
      /BN  NO-E  VI  NO-E                                       $
      /CAMPOS                                                   $
      1 '*Alta' 4 '*Baja' 2 '*Modificacion' 3 '*Consulta' 5 'C*opia' $
      6 '*Listar'     NUM /VAR-SEL.
*
*     DEFINIR AREA PARA NOMBRE DEL CAMPO E INICIALES DE PROGRAMA
*
      OPCION  TERMINAL  AREA  2  /RENGLON   /MARCO      /TAB.   $
      /POS.  5   5   /LONG.  4  70                              $
      /BN  NO-E   VI     NO-E                                   $
      /COLOR  BLANCO BLANCO NEGRO NEGRO AMARILLO CELESTE NEGRO  $
      /TECLAS-DE-FUNCION   1 'TERMINAR'   2 '*AYUDA'  3 'MENU' $
        /AYUDA-GLOBAL   DESPLEGAR-AYUDA                         $
      /CAMPOS     NOM-VAR /INF.        INI-PRO /BLANCOS
*
*     DEFINIR AREA PARA TEXTO DE AYUDA
*
      OPCION   TERMINAL   AREA  3    /TEXTO    /MARCO           $
      /BN   VI   VI   NO-E                                      $
      /COLOR BLANCO BLANCO NEGRO BLANCO NEGRO CELESTE NEGRO     $
      /POS. 11 5       /LONG. 7 70                              $
      /MOD-1-GLOBAL    /ESC-2-GLOBAL                            $
      /TECLAS-DE-FUNCION  1 'TERMINAR'   2 '*AYUDA'  3 'MENU'  $
       /DEFINIR-ACCION CONTROL-DE-TEXTO NUMERO-DE-ACCION $
        /AYUDA-GLOBAL    DESPLEGAR-AYUDA-TEXTO                  $
*
      /CAMPOS                                                   $
       TEXTO-AYUDA /VAR. /LEC. /MOD-1 /ESC-2
*
*     DEFINIR AREA PARA BAJA
*
      OPCION   TERMINAL   AREA  4  /RENGLON  /MARCO             $
      /POS.   19  5     /LONG.  3  70                           $
      /COLOR   ROJO   ROJO BLANCO     NEGRO AMARILLO            $
      /TECLAS-DE-FUNCION  1 'TERMINAR'   2 '*AYUDA'   3 'MENU' $
         /AYUDA-GLOBAL DESPLEGAR-AYUDA                          $
*
      /CAMPOS                                                   $
        'ES LA VARIABLE-PROGRAMA $
         $A DAR DE BAJA'                 SINO /VAR. /LEC.
*
*     DEFINIR AREA PARA CAMPO-PROGRAMA A COPIAR
*
      IGUAL AYUDAV INI-PRO INI-PRO-C
      IGUAL AYUDAV NOM-VAR NOM-VAR-C
*
      OPCION TERMINAL AREA 5 /RENGLON                            $
      /BN   NO-E   VI   NO-E                                     $
      /COLOR   AZUL   NEGRO BLANCO  CELESTE NEGRO NEGRO AMARILLO $
      /TECLAS-DE-FUNCION   1 'TERMINAR'   2 '*AYUDA'   3 'MENU' $
         /AYUDA-GLOBAL   DESPLEGAR-AYUDA                         $
      /MARCO /POS. 19 5 /LONG. 3 70  /INF-GLOBAL                 $
      /CAMPOS                                                    $
       'SE COPIA EN: (VAR-PROG)'                                 $
         NOM-VAR-C /VAR. /LEC.    INI-PRO-C   /VAR.   /LEC.
*
*     PONER NO SE HA HECHO OPCION IMPRIMIR
*
      IGUAL AREA N1 IND-OP
      IND-OP  = 0
*
*     DESPLEGAR AREAS Y LEER SELECCION
*
1     OPCION TERMINAL AREA 1 2 3  /DESPLEGAR
      LEER TERMINAL EJECUTA 50 NUM
      SI NUM = 2 EJECUTA 10
      SI NUM = 3 EJECUTA 20
      SI NUM = 4 EJECUTA 20
      SI NUM = 5 EJECUTA 40
      SI NUM = 6 EJECUTA 20
*
*     CASO DE ALTA, LEER Y VALIDAR INICIALES DE PROGRAMA
*
5     LEER TERMINAL EJECUTA 50 NOM-VAR INI-PRO
      BUSCAR DISCO AYUDAV EJECUTA 8 PRIN-G1 NOM-VAR INI-PRO
      ERROR 'VARIABLE-PROGRAMA' NOM-VAR INI-PRO 'YA EXISTE'
      EJECUTA 5
*
*     LEER EL RESTO E INSERTAR
*
8     LEER TERMINAL EJECUTA 50 TEXTO-AYUDA
      INSERTAR DISCO AYUDAV NOM-VAR INI-PRO TEXTO-AYUDA
      OPCION TERMINAL AREA 1 2 3 /TERMINAR
      EJECUTA 1
*
*     CASO DE MODIFICACION
*
10    LEER TERMINAL EJECUTA 50 NOM-VAR INI-PRO
      BUSCAR    DISCO     AYUDAV  EJECUTA 12 PRIN-G1 NOM-VAR INI-PRO
      LEER      DISCO     AYUDAV  TEXTO-AYUDA
      OPCION    TERMINAL  AREA 3 /INICIO-USO-1
      ESCRIBIR  TERMINAL  TEXTO-AYUDA
      LEER      TERMINAL  EJECUTA 50 TEXTO-AYUDA
      ESCRIBIR  DISCO     AYUDAV TEXTO-AYUDA
      OPCION    TERMINAL  AREA 1 2 3 /TERMINAR
      EJECUTA 1
*
 12   ERROR 'VARIABLE-PROGRAMA' NOM-VAR INI-PRO 'NO DADO DE ALTA'
      EJECUTA 10
*
*     CASO DE CONSULTA
*
 20   LEER TERMINAL EJECUTA 50 NOM-VAR INI-PRO
      BUSCAR DISCO AYUDAV EJECUTA 21 PRIN-G1 NOM-VAR INI-PRO
      LEER DISCO AYUDAV TEXTO-AYUDA
      SI NUM = 6 EJECUTA 25
      OPCION TERMINAL AREA 3 /INICIO-USO-2
      ESCRIBIR TERMINAL TEXTO-AYUDA
      SI NUM = 4 EJECUTA 30
      OPCION TERMINAL AREA 1 2 3 /TERMINAR
      EJECUTA 1
21    ERROR 'VARIABLE-PROGRAMA' NOM-VAR INI-PRO 'NO DADO DE ALTA'
      EJECUTA 20
*
*     CASO DE LISTAR
*
25    OPCION TERMINAL AREA 1 2 3 /TERMINAR
      SI IND-OP = 1 EJECUTA 26
      OPCION IMPRIMIR COL. 80 ENC. 10 NOM-VAR 50 INI-PRO $
             ENC. 30 TEXTO-AYUDA $
             LET. 'TEXTO DE AYUDA DE VARIABLE-PROGRAMA'
      IND-OP = 1
26    IMPRIMIR  DETALLE  10  NOM-VAR               50 INI-PRO
      IMPRIMIR  DETALLE  30  TEXTO-AYUDA LONG. 40
      IMPRIMIR  DETALLE  1 '0' 10 70'* / 1 '0'
      EJECUTA 1
*
*     CASO DE BAJA, PREGUNTAR ESTE ES
*
30    OPCION TERMINAL AREA 4 /DESPLEGAR /SALVAR-ANTERIORES $
        /EMPALMAR /PROCESADA
      LEER TERMINAL EJECUTA 50 SINO
      SI SINO = 'SI' BORRAR DISCO AYUDAV
      OPCION TERMINAL AREA 4 /TERMINAR /INMEDIATA
      OPCION TERMINAL AREA 1 2 3 /TERMINAR
      EJECUTA 1
*
*     CASO DE COPIAR, LEER PROGRAMA Y DESPLEGAR TEXTO
*
40    LEER TERMINAL EJECUTA 50 NOM-VAR INI-PRO
      BUSCAR DISCO AYUDAV EJECUTA 41 PRIN-G1 NOM-VAR INI-PRO
      EJECUTA 42
41    ERROR 'VARIABLE-PROGRAMA' NOM-VAR INI-PRO 'NO DADO DE ALTA'
      EJECUTA  40
42    LEER      DISCO     AYUDAV  TEXTO-AYUDA
      OPCION    TERMINAL  AREA    3           /INICIO-USO-1
      ESCRIBIR  TERMINAL  TEXTO-AYUDA
      LEER      TERMINAL  EJECUTA 50 TEXTO-AYUDA
      OPCION    TERMINAL  AREA 5 /DESPLEGAR  /SALVAR-ANTERIORES $
                                 /EMPALMAR   /PROCESADA
43    LEER TERMINAL EJECUTA 50 NOM-VAR-C INI-PRO-C
      BUSCAR DISCO AYUDAV EJECUTA 44 PRIN-G1 NOM-VAR-C INI-PRO-C
      ERROR 'VARIABLE-PROGRAMA' NOM-VAR-C INI-PRO-C 'YA EXISTE'
      EJECUTA 43
44    INSERTAR DISCO AYUDAV NOM-VAR-C INI-PRO-C TEXTO-AYUDA
      OPCION TERMINAL AREA 5      /TERMINAR  /INMEDIATA
      OPCION TERMINAL AREA 1 2 3  /TERMINAR
      EJECUTA  1
*
*     TERMINAR
*
      IGUAL  AREA      N1   COND-E
      IGUAL  AREA      N1   AREA-E
*
50    SACAR  PARAMETROS CONDICION-EJECUTA COND-E $
                        NUMERO-DE-AREA AREA-E
      SI COND-E = 3 Y AREA-E <> 1 EJECUTA 1
      SI COND-E = 3 Y AREA-E =  1 FIN 'DCF0'
      FIN
*
*     INCLUIR RUTINAS DE AYUDA
*
&I AYUA
&I AYUP
