
3.- Las variables
Las distintas variables que vayamos a utilizar, se irán comentando durante todo el proceso, pero
por ejemplo, para empezar, tendremos que definir algunas fijas, como, la que guarde el estado del
fichero, una para aceptar campos de preguntas, contador de líneas para los listados,
definiciones de ventanas, etc...
La estructura de cada una de las variables, dependerá de su uso. Como los requisitos de memoria
no son un problema hoy en día, no utilizaremos la cláusula COMP en ninguna de ellas, es decir
todas ocuparán su tamaño, sin ningún tipo de compresión.
Además voy a incluir todas las variables necesarias para utilizar ventanas en RM, dentro de la
Working, si no sabéis como se tratan las ventanas en Cobol, podéis ir a la sección
Ventanas
dentro de Temáticos.
También se incluirán diversas tablas con informaciones como los días de la semana, los meses
del año, etc...
Las frases en éste color son comentarios.
»» VARIABLES |
Veamos como se definen esas
variables en nuestro programa. |
WORKING-STORAGE
SECTION. diversas variables que
utilizaremos durante el programa.
77 STAAGE PIC
XX.
77 ELE
PIC 99.
77 OP
PIC X.
77 LI
PIC 99.
77 DIA
PIC 99.
77 ESCA
PIC 9 COMP-1.
77 MODI
PIC 9.
01 C4
PIC 9(4).
01 DC4
PIC ZZZ9.
01 MOTIVO PIC X(20).
tablas para
utilizar en el menu, con las opciones y unas frases explicativas
de la función de cada opción.
01 TABLAOPCIONES.
02 FILLER
PIC X(24) VALUE " CONTACTOS LISTADO ".
02 FILLER
PIC X(12) VALUE " SALIR ".
01 OPCIONESTABLA REDEFINES TABLAOPCIONES.
02 ELEOPC PIC
X(12) OCCURS 3 TIMES.
01 TABLAMENSAJES1.
02 FILLER
PIC X(26) VALUE "Altas, bajas, modificacion".
02 FILLER
PIC X(26) VALUE "Listado por impresora de ".
02 FILLER
PIC X(26) VALUE SPACES.
01 MENSAJESTABLA1 REDEFINES TABLAMENSAJES1.
02 ELEME1 PIC X(26)
OCCURS 3 TIMES.
01 TABLAMENSAJES2.
02 FILLER
PIC X(26) VALUE "y consultas de la agenda. ".
02 FILLER
PIC X(26) VALUE "los datos de la agenda. ".
02 FILLER
PIC X(26) VALUE "Abandonar la aplicacion.".
01 MENSAJESTABLA2 REDEFINES TABLAMENSAJES2.
02 ELEME2 PIC
X(26) OCCURS 3 TIMES.
variables
para el uso de ventanas en RM/Cobol.
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".
03 WINBORST
PIC X VALUE "Y".
03 WINBORTI
PIC 9 VALUE 2.
03 WINBORCH
PIC X.
03 WINLLE
PIC X.
03 WINLLECH
PIC X.
03 WINTITSI
PIC X VALUE "T".
03 WINTITPO
PIC X VALUE "C".
03 WINTITLO
PIC 999 BINARY.
03 WINTIT
PIC X(64).
en ésta tabla guardaremos todas las ventanas que vayamos creando
01 VENTANAS.
02 WIN
PIC X(80) OCCURS 10 TIMES.
linea con la fecha del dia.
01 LIFEDI.
02 LFDDIA PIC
X(9).
02 FILLER
PIC XX VALUE ", ".
02 LFDNUM PIC ZZ.
02 FILLER
PIC X(4) VALUE " DE ".
02 LFDMES PIC X(10).
02 FILLER
PIC X(7) VALUE " DE 2.0".
02 LFDANO PIC 99B.
para trabajar
con la fecha, lo haremos a 6 digitos, para evitar problemas con
compiladores que no tengan disponible el efecto 2000.
01 FECA
PIC 9(6).
01 FECAL REDEFINES FECA.
02 FI
PIC 99.
02 FM
PIC 99.
02 FA
PIC 99.
01 FF
PIC 99.
variables necesarias para generar los cuadros y rayas.
01 CUADRO.
02 U1
PIC 99.
02 U2
PIC 99.
02 U3
PIC 99.
02 U4
PIC 99.
01 U0
PIC 99 VALUE 0.
01 U9
PIC 99 VALUE 0.
01 RAYA.
02 FILLER
PIC X(80) VALUE ALL "-". (Alt+196)
tablas con los meses y los dias.
01 TABLAMES.
02 FILLER PIC X(30) VALUE
"ENERO FEBRERO
MARZO ".
02 FILLER PIC X(30) VALUE
"ABRIL MAYO
JUNIO ".
02 FILLER PIC X(30) VALUE
"JULIO AGOSTO
SEPTIEMBRE".
02 FILLER PIC X(30) VALUE
"OCTUBRE NOVIEMBRE DICIEMBRE".
01 TABLIMES REDEFINES TABLAMES.
02 TMES PIC X(10)
OCCURS 12 TIMES.
01 TABLASEM.
02 FILLER PIC X(27) VALUE
"LUNES MARTES
MIERCOLES".
02 FILLER PIC X(27) VALUE
"JUEVES VIERNES SABADO
".
02 FILLER PIC X(9)
VALUE "DOMINGO".
01 TABLISEM REDEFINES TABLASEM.
02 TSEM PIC X(9) OCCURS 7
TIMES. |
Hasta aquí todo lo correspondiente a las variables que vamos a utilizar en nuestro programa.
|
|