[*]-----------------------------------------------------------[*]
[*]-----------------------------------------------------------[*]
IDENTIFICATION DIVISION.
PROGRAM-ID. SanMenu.
AUTHOR.
[email protected].
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SPECIAL-NAMES.
DECIMAL-POINT IS COMMA.
DATA DIVISION.
WORKING-STORAGE SECTION.
[*]-----------------------------------------------------------[*]
[*]-----------------------------------------------------------[*]
01 CONSTANTES.
03 LINEA-DOBLE PIC X(80) VALUE ALL "-".
[*]-----------------------------------------------------------[*]
[*]-----------------------------------------------------------[*]
77 TEC-FUNCION PIC 99.
88 TECLA-ESC VALUE 27 01.
88 TECLA-ENTER VALUE 13.
01 SWT-MENU PIC 9(01) VALUE 0.
88 IS-MENU-PGMS VALUE 1 2 3 4 5.
88 IS-MENU-SALIR VALUE 6.
88 IS-MENU-VALIDO VALUE 1 2 3 4 5 6.
01 ID-WORKS.
03 PAUSA PIC X(01) VALUE " ".
03 WS-MSGERROR PIC X(76) VALUE ALL " ".
03 LINEA-BLANCA PIC X(81) VALUE ALL " ".
03 IX PIC 9(02) VALUE 0.
03 IK PIC 9(02) VALUE 0.
03 PGM002 PIC X(10) VALUE SPACES.
[*]-----------------------------------------------------------[*]
[*]-----------------------------------------------------------[*]
PROCEDURE DIVISION.
MAIN-COBOL.
PERFORM MUESTRA-MENU.
PERFORM ACCEPTA-MENU UNTIL IS-MENU-SALIR.
PERFORM FINALIZACION.
[*]-----------------------------------------------------------[*]
ACCEPTA-MENU.
[*]-----------------------------------------------------------[*]
DISPLAY "Opci¾n:[ ]"
LINE 16 COLUMN 20
WITH FOREGROUND-COLOR 15.
INITIALIZE SWT-MENU
PERFORM UNTIL IS-MENU-SALIR
ACCEPT SWT-MENU LINE 16 COLUMN 28
WITH FOREGROUND-COLOR 15 UPDATE AUTO
END-ACCEPT
IF NOT IS-MENU-VALIDO THEN
PERFORM OPCION-INCORRECTA
INITIALIZE SWT-MENU
ELSE
PERFORM ELIGE-PROGMA
END-IF
PERFORM MUESTRA-MENU
END-PERFORM.
[*]-----------------------------------------------------------[*]
MUESTRA-MENU.
[*]-----------------------------------------------------------[*]
PERFORM VARYING IX FROM 01 BY 1 UNTIL IX > 24
*]-
PERFORM VARYING IK FROM 01 BY 1 UNTIL IK > 80
DISPLAY " " LINE IX COLUMN IK
END-PERFORM
*]-
END-PERFORM.
*]-
DISPLAY "1" LINE 9 COLUMN 28 WITH FOREGROUND-COLOR 10.
DISPLAY "2" LINE 10 COLUMN 28 WITH FOREGROUND-COLOR 10.
DISPLAY "3" LINE 11 COLUMN 28 WITH FOREGROUND-COLOR 10.
DISPLAY "4" LINE 12 COLUMN 28 WITH FOREGROUND-COLOR 10.
DISPLAY "5" LINE 13 COLUMN 28 WITH FOREGROUND-COLOR 10.
DISPLAY "6" LINE 14 COLUMN 28 WITH FOREGROUND-COLOR 10.
*]-
DISPLAY "- Altas"
LINE 9 COLUMN 29
WITH FOREGROUND-COLOR 15.
DISPLAY "- Bajas"
LINE 10 COLUMN 29
WITH FOREGROUND-COLOR 15.
DISPLAY "- Modificaciones"
LINE 11 COLUMN 29
WITH FOREGROUND-COLOR 15.
DISPLAY "- Consultas"
LINE 12 COLUMN 29
WITH FOREGROUND-COLOR 15.
DISPLAY "- Listados"
LINE 13 COLUMN 29
WITH FOREGROUND-COLOR 15.
DISPLAY "- Salir"
LINE 14 COLUMN 29
WITH FOREGROUND-COLOR 15.
[*]-----------------------------------------------------------[*]
ELIGE-PROGMA.
[*]-----------------------------------------------------------[*]
*]--
EVALUATE SWT-MENU
WHEN 01 MOVE "AL001.exe" TO PGM002
WHEN 02 MOVE "DL001.exe" TO PGM002
WHEN 03 MOVE "MD001.exe" TO PGM002
WHEN 04 MOVE "CN001.exe" TO PGM002
WHEN 05 MOVE "LS001.exe" TO PGM002
WHEN 06 CONTINUE
END-EVALUATE.
IF IS-MENU-PGMS THEN
CALL PGM002
ON EXCEPTION
DISPLAY "No se encuentra el Programa " PGM002
LINE 23 COLUMN 01
WITH FOREGROUND-COLOR 10
NOT ON EXCEPTION
CANCEL PGM002
END-CALL
ELSE
IF IS-MENU-SALIR THEN
CONTINUE
END-IF
END-IF.
[*]-----------------------------------------------------------[*]
OPCION-INCORRECTA.
[*]-----------------------------------------------------------[*]
MOVE "OPCION INCORRECTA" TO WS-MSGERROR
DISPLAY WS-MSGERROR
LINE 23 COLUMN 01
WITH FOREGROUND-COLOR 14.
ACCEPT PAUSA.
MOVE SPACES TO WS-MSGERROR.
DISPLAY WS-MSGERROR " " LINE 23 COLUMN 01.
[*]-----------------------------------------------------------[*]
FINALIZACION.
[*]-----------------------------------------------------------[*]
GOBACK.
[*]-----------------------------------------------------------[*]