IDENTIFICATION DIVISION.
PROGRAM-ID. MENU.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 OPX PIC X.
01 WCB.
03 WINCAB PIC 999 BINARY VALUE 0.
03 WINLIN PIC 999 BINARY.
03 WINCOL PIC 999 BINARY.
03 WINLOC PIC X VALUE "S".
* (S-W)
03 WINBORST PIC X VALUE "Y".
* (Y-N)
03 WINBORTI PIC 9 VALUE 2.
03 WINBORCH PIC X.
03 WINLLE PIC X.
* (Y-N)
03 WINLLECH PIC X.
03 WINTITSI PIC X VALUE "T".
* (T-B)
03 WINTITPO PIC X VALUE "C".
* (C-L-R)
03 WINTITLO PIC 999 BINARY.
03 WINTIT PIC X(64).
* ----- * --- Colores.
01 C0.
02 pic X(37) value " HIGHNO REVERSE BLINK , FCOL".
02 pic X(30) value "OR = WHITE , BCOLOR = BLUE ".
01 C1.
02 pic X(37) value " HIGHNO REVERSE BLINK , FCOL".
02 pic X(30) value "OR = WHITE , BCOLOR = BLACK ".
01 C2.
02 pic X(37) value " HIGHNO REVERSE BLINK , FCOL".
02 pic X(30) value "OR = GREEN , BCOLOR = BLACK ".
01 C3.
02 pic X(37) value " HIGHNO REVERSE BLINK , FCOL".
02 pic X(30) value "OR = RED , BCOLOR = WHITE ".
01 C4.
02 pic X(37) value " HIGHNO REVERSE BLINK , FCOL".
02 pic X(30) value "OR = RED , BCOLOR = BLCK ".
01 C5.
02 pic X(37) value " HIGHNO REVERSE BLINK , FCOL".
02 pic X(30) value "OR = CYAN , BCOLOR = BLACK ".
01 C6.
02 pic X(37) value " HIGHNO REVERSE BLINK , FCOL".
02 pic X(30) value "OR = BROWN , BCOLOR = WHITE ".
01 C7.
02 pic X(37) value " HIGHNO REVERSE BLINK , FCOL".
02 pic X(30) value "OR = BLUE , BCOLOR = WHITE ".
01 C8.
02 pic X(37) value " HIGHNO REVERSE BLINK , FCOL".
02 pic X(30) value "OR = MAGENTA, BCOLOR = BLACK ".
01 C9.
02 pic X(37) value " HIGHNO REVERSE BLINK , FCOL".
02 pic X(30) value "OR = MAGENTA, BCOLOR = WHITE ".
01 CA.
02 pic X(37) value " HIGHNO REVERSE BLINK , FCOL".
02 pic X(30) value "OR = BROWN , BCOLOR = BLACK ".
01 CB.
02 pic X(37) value " HIGHNO REVERSE BLINK , FCOL".
02 pic X(30) value "OR = BROWN , BCOLOR = WHITE ".
01 CC.
02 pic X(37) value " HIGHNO REVERSE BLINK , FCOL".
02 pic X(30) value "OR = BLACK , BCOLOR = WHITE ".
01 CJ.
02 pic X(37) value " HIGHNO REVERSE BLINK , FCOL".
02 pic X(31) value "OR = CYAN , BCOLOR = BLACK LOW ".
01 VENTANAS.
02 WIN PIC X(80) OCCURS 10 TIMES.
01 LI PIC 9(2).
01 LI2 PIC 9(2).
01 LIX PIC 9(2).
01 OP PIC X.
01 ESCA PIC 9(2).
01 QW PIC 9(1).
01 TABLA-OPCIONES.
02 PIC X(45) VALUE " Programa de Contabilidad ".
02 PIC X(45) VALUE " Programa de Facturacion ".
02 PIC X(45) VALUE " Copias de Seguridad ".
02 PIC X(45) VALUE " Surpervision de la Red Local ".
02 PIC X(45) VALUE " Utilidades del Sistema ".
02 PIC X(45) VALUE " Salir del Menu ".
01 RTABLA REDEFINES TABLA-OPCIONES.
02 ELEMEN PIC X(45) OCCURS 6 TIMES.
01 TABLA-OPCIONES2.
02 PIC X(45) VALUE " Hacer Copias de Seguridad ".
02 PIC X(45) VALUE " Restaurar Copias de Seguridad ".
02 PIC X(45) VALUE " Preferencias ".
02 PIC X(45) VALUE " Volver al Menu Principal ".
01 RTABLA2 REDEFINES TABLA-OPCIONES2.
02 ELEMEN2 PIC X(45) OCCURS 4 TIMES.
PROCEDURE DIVISION.
INICIO.
DISPLAY SPACES ERASE CONTROL C1 LOW.
DISPLAY SPACES SIZE 80 LINE 1 POSITION 1 CONTROL C0
DISPLAY " Menu Principal de Opciones ³ "
LINE 1 POSITION 1 CONTROL C0
DISPLAY "Versi¢n 1.00/2.003" LINE 1 POSITION 00 CONTROL C0
DISPLAY SPACES SIZE 80 LINE 2 POSITION 1 CONTROL C5 LOW.
INI2.
MOVE 6 TO WINLIN
MOVE 45 TO WINCOL
MOVE " Opciones " TO WINTIT MOVE 10 TO WINTITLO
MOVE 3 TO WINBORTI
MOVE WCB TO WIN(1)
DISPLAY WIN(1) LINE 8 POSITION 19 LOW CONTROL "WINDOW-CREATE"
MOVE 1 TO LI.
UNO.
DISPLAY ELEMEN (LI) LINE LI POSITION 1 control c1 LOW.
ADD 1 TO LI IF LI > 6 NEXT SENTENCE ELSE GO UNO.
DOS.
IF LI = 6 MOVE 1 TO LI.
DISPLAY ELEMEN (LI) LINE LI POSITION 1 CONTROL C9 reverse.
TRES.
ACCEPT OP LINE LI POSITION 45 OFF NO BEEP
ON EXCEPTION ESCA MOVE 1 TO QW.
DISPLAY ELEMEN (LI) LINE LI POSITION 1 control c1 low.
IF ESCA = 27
DISPLAY WIN(1) CONTROL "WINDOW-REMOVE"
DISPLAY SPACES ERASE CONTROL C1
STOP RUN.
IF ESCA = 52 SUBTRACT 1 FROM LI GO DOS.
IF ESCA = 53 ADD 1 TO LI GO DOS.
IF ESCA = 13 NEXT SENTENCE ELSE GO TRES.
CUATRO.
IF LI = 1
CALL "GCM.COB" CANCEL "GCM.COB"
MOVE 0 TO QW
GO UNO
END-IF.
IF LI = 2
CALL "CGA.COB" CANCEL "CGA.COB"
MOVE 0 TO QW
GO UNO
END-IF.
IF LI = 3
PERFORM INI22 THRU CUATRO2
MOVE 0 TO QW
GO UNO
END-IF.
IF LI = 4
CALL "MEN-SRED.COB" CANCEL "MEN-SRED.COB"
MOVE 0 TO QW
GO UNO
END-IF.
IF LI = 5
CALL "MEN-UTIL.COB" CANCEL "MEN-UTIL.COB"
MOVE 0 TO QW
GO UNO
END-IF.
IF LI = 6
MOVE 0 TO QW
DISPLAY WIN(1) CONTROL "WINDOW-REMOVE"
DISPLAY SPACES ERASE CONTROL C1
STOP RUN
END-IF.
INI22.
DISPLAY SPACES SIZE 1 LINE 2 POSITION 44 CONTROL C5 LOW
MOVE 4 TO WINLIN
MOVE 45 TO WINCOL
MOVE " Copias de Seguridad " TO WINTIT MOVE 21 TO WINTITLO
MOVE 3 TO WINBORTI
MOVE WCB TO WIN(2)
DISPLAY WIN(2) LINE 12 POSITION 25 LOW
CONTROL "WINDOW-CREATE"
MOVE 1 TO LI2.
UNO2.
DISPLAY ELEMEN2 (LI2) LINE LI2 POSITION 1 control c1 LOW
ADD 1 TO LI2 IF LI2 > 4 NEXT SENTENCE ELSE GO UNO2.
DOS2.
IF LI2 = 4 MOVE 1 TO LI2.
DISPLAY ELEMEN2 (LI2) LINE LI2 POSITION 1
CONTROL C9 reverse.
TRES2.
ACCEPT OP LINE LI2 POSITION 45 OFF NO BEEP
ON EXCEPTION ESCA MOVE 1 TO QW.
DISPLAY ELEMEN2 (LI2) LINE LI2 POSITION 1 control c1 low.
IF ESCA = 27
DISPLAY WIN(2) CONTROL "WINDOW-REMOVE"
go ini2.
IF ESCA = 52 SUBTRACT 1 FROM LI2 GO DOS2.
IF ESCA = 53 ADD 1 TO LI2 GO DOS2.
IF ESCA = 13 NEXT SENTENCE ELSE GO TRES2.
CUATRO2.
IF LI2 = 1
MOVE 0 TO QW
GO UNO2
END-IF.
IF LI2 = 2
MOVE 0 TO QW
GO UNO2
END-IF.
IF LI2 = 3
MOVE 0 TO QW
GO UNO2
END-IF.
IF LI2 = 4
MOVE 0 TO QW
DISPLAY WIN(2) CONTROL "WINDOW-REMOVE"
GO INI2
END-IF.