* PSDCF3
       PROGRAMA 'ABMCCL DE AYUDA PROGRAMAS'$  
                            /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
       SI DIR-PER-TEM <> ' ' OPCION DISCO AYUDAP DISCO DIR-PER-TEM
*D
*D    ESTE PROGRAMA SIRVE PARA DAR DE ALTA, BAJA, MODIFICAR, CONSULTAR
*D    COPIAR Y LISTAR TEXTOS DE AYUDA DE PROGRAMAS
*
*     DEFINE EL DIRECTORIO DE *AYUDAP*
*
      OPCION DISCO AYUDAP DISCO DIR-PER-TEM
*
*     DEFINIR AREA DE MENU
*
      IGUAL AREA N1 NUM
      OPCION TERMINAL AREA 1 /MENU /MARCO /POS. 2 5 $
      /COLOR BLANCO BLANCO NEGRO NEGRO AMARILLO AZUL BLANCO $
       /TECLAS-DE-FUNCION 1 'TERMINAR' 2 '*AYUDA' 3 'MENU' $
       /AYUDA-GLOBAL DESPLEGAR-AYUDA $
      /LONG. 3 70 /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 INICIALES DE PROGRAMA
*
      OPCION TERMINAL AREA 2 /RENGLON /BN NO-E VI NO-E  $
      /COLOR BLANCO BLANCO NEGRO CELESTE NEGRO NEGRO AMARILLO $
      /TECLAS-DE-FUNCION 1 'TERMINAR' 2 '*AYUDA' 3 'MENU' $
       /AYUDA-GLOBAL DESPLEGAR-AYUDA $
       /MARCO /POS. 6 5 /LONG. 3 70  /TAB. 3 25  /INF-GLOBAL  $
           /CAMPOS INI-PRO
*
*     DEFINIR AREA PARA TEXTO DE AYUDA
*
      OPCION TERMINAL AREA 3 /TEXTO /BN VI VI NO-E  $
       /COLOR BLANCO BLANCO NEGRO BLANCO NEGRO CELESTE NEGRO $
       /MARCO /POS. 11 5 /LONG. 7 70  $
       /DEFINIR-ACCION CONTROL-DE-TEXTO NUMERO-DE-ACCION $
       /MOD-1-GLOBAL /ESC-2-GLOBAL $
       /TECLAS-DE-FUNCION 1 'TERMINAR' 2 '*AYUDA' 3 'MENU' 8 'Fin' $
       /AYUDA-GLOBAL DESPLEGAR-AYUDA-TEXTO $
       /CAMPOS  TEXTO-AYUDA /VAR. /LEC. /MOD-1 /ESC-2
*
*     DEFINIR AREA PARA BAJA
*
      OPCION TERMINAL AREA 4 /RENGLON /POS. 19 5 /MARCO $
       /COLOR ROJO ROJO BLANCO NEGRO AMARILLO  $
       /TECLAS-DE-FUNCION 1 'TERMINAR' 2 '*AYUDA' 3 'MENU' $
       /AYUDA-GLOBAL DESPLEGAR-AYUDA $
         /LONG. 3 70 /CAMPOS 'ES EL PROGRAMA A DAR DE BAJA' $
        SINO /VAR. /LEC.
*
*     DEFINIR AREA PARA PROGRAMA A COPIAR
*
      IGUAL AYUDAP INI-PRO INI-PRO-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  /TAB. 3 25  /INF-GLOBAL  $
           /CAMPOS 'SE COPIA EN:' 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 INI-PRO
      BUSCAR DISCO AYUDAP EJECUTA 8 PRIN-G1 INI-PRO
      ERROR 'PROGRAMA' INI-PRO 'YA EXISTE'
      EJECUTA 5
*
*     LEER EL RESTO E INSERTAR
*
8     LEER TERMINAL EJECUTA 50 TEXTO-AYUDA
      INSERTAR DISCO AYUDAP INI-PRO TEXTO-AYUDA
      OPCION TERMINAL AREA 1 2 3 /TERMINAR
      EJECUTA 1
*
*     CASO DE MODIFICACION, LEER DE TERMINAL Y DISCO PARA MODIFICAR
*
10    LEER TERMINAL EJECUTA 50 INI-PRO
      BUSCAR DISCO AYUDAP EJECUTA 12 PRIN-G1 INI-PRO
      LEER DISCO AYUDAP TEXTO-AYUDA
      OPCION TERMINAL AREA 3 /INICIO-USO-1
      ESCRIBIR TERMINAL TEXTO-AYUDA
      LEER TERMINAL EJECUTA 50 TEXTO-AYUDA
      ESCRIBIR DISCO AYUDAP TEXTO-AYUDA
      OPCION TERMINAL AREA 1 2 3 /TERMINAR
      EJECUTA 1
12    ERROR 'PROGRAMA' INI-PRO 'NO DADO DE ALTA'
      EJECUTA 10
*
*     CASO DE CONSULTA
*
20    LEER TERMINAL EJECUTA 50 INI-PRO
      BUSCAR DISCO AYUDAP EJECUTA 21 PRIN-G1 INI-PRO
      LEER DISCO AYUDAP 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 'PROGRAMA' 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 INI-PRO  30 TEXTO-AYUDA $
        LET. 'TEXTO DE AYUDA DE PROGRAMA' COPIAS 3
      IND-OP = 1
26    DETALLE 10 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 AYUDAP
      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 INI-PRO
      BUSCAR DISCO AYUDAP EJECUTA 41 PRIN-G1 INI-PRO
      EJECUTA 42
41    ERROR 'PROGRAMA' INI-PRO 'NO DADO DE ALTA'
      EJECUTA 40
42    LEER DISCO AYUDAP 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 INI-PRO-C
      BUSCAR DISCO AYUDAP EJECUTA 44 PRIN-G1 INI-PRO-C
      ERROR 'EL PROGRAMA' INI-PRO-C 'YA EXISTE'
      EJECUTA 43
44    INSERTAR DISCO AYUDAP 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
