Developer's Diary

22 octubre, 2010

Ejemplo de manejo de Fechas en EasyTrieve

Filed under: Cobol / Jcl / Easytrieve, Programación — Etiquetas: , , , , , — jnavero @ 5:23 PM

—- Nos mudamos: http://devthisblog.namocode.es
—————————————————————–
El otro día tuve que realizar cálculos con fechas de diferentes formas, para poder explicarlo he creado el siguiente  Easytrieve y que explicaré posteriormente.

DEFINE W-FECHA      W 10 A

DEFINE   W-MM   W-FECHA        2 A

DEFINE   W-DD   W-FECHA +3     2 A

DEFINE   W-YY   W-FECHA +6     4 A

DEFINE W-FECHAFIN   W  8 A

DEFINE   WS-AAAA W-FECHAFIN        4 A

DEFINE   WS-MM   W-FECHAFIN  +4    2 A

DEFINE   WS-DD   W-FECHAFIN  +6    2 A

DEFINE W-FECNUM     W  8 N

DEFINE WS-FECHAP    W  5 P 0 MASK ‘999999999’

JOB INPUT NULL

W-FECHA = SYSDATE-LONG

WS-AAAA  = W-YY

WS-MM    = W-MM

WS-DD    = W-DD

MOVE W-FECHAFIN        TO W-FECNUM

W-FECNUM = W-FECHAFIN

WS-FECHAP = W-FECNUM

DISPLAY ‘W-FECHA  :  ‘ W-FECHA

DISPLAY ‘W-MM: ‘ W-MM

DISPLAY ‘W-DD: ‘ W-DD

DISPLAY ‘W-YY: ‘ W-YY

DISPLAY ‘W-FECHAFIN: ‘ W-FECHAFIN

DISPLAY ‘FECHANUM :  ‘ W-FECNUM

DISPLAY ‘WS-FECHAP : ‘ WS-FECHAP

STOP

Como vemos en el ejemplo realizamos declaraciones de varias variables, numéricas como alfanuméricas y asignamos la fecha del dia con SYSDATE-LONG, esto nos proporciona la fecha en el siguiente formato: mm/dd/aaaa.

Como podemos se asigna a W-FECHA que tiene un redimensionamiento y las posiciones de memoria están movidas en uno (en vez de comenzar en 2 comienza en +3) de esa forma capturo los números y dejo las barras que no me interesan. Después les cambio el formato a aaaa/mm/dd que es como me interesa moviendo las variables independientemente y por ultimo le paso la dirección de memoria de la cadena a un número que posteriormente y por ultimo lo convierto a empaquetado (5 P 0).

Con el MOVE podemos pasar una cadena a un número (por llamarlo de alguna manera).

Si intentamos mostrar el empaquedado WS-FECHAP con un Display, no nos lo muestra. Por eso he utilizado una mascara (MASK) numérica. Con este ejemplo vemos como hemos pasado la fecha por diferentes formatos de variables.

Otras funciones para el manejo de Fechas son:

SYSDATE (Aparece un ejemplo en la última entrega del curso) El formato es mm/dd/aa

SYSDATE-LONG: Cuyo formato es mm/dd/aaaa (el año aparece con 4 dígitos)

SYSTIME: Muestra la hora del sistema en el formato: hh.mm.ss

Y para bases de datos podemos usar el CURRENT TIMESTAMP que es el formato timestamp de bases de datos.

Hasta aquí este pequeño tutorial.

Muchas gracias a todos.

Anuncios

Dejar un comentario »

Aún no hay comentarios.

RSS feed for comments on this post. TrackBack URI

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: