viernes, 6 de septiembre de 2019

Jcl - tratamiento de fechas (1)

Vamos a ver cómo se puede realizar tratamiento de fechas en un jcl. Para ello vamos a partir de la fecha del sistema y a suponer que la fecha del día es 8 de Agosto de 2017 (08-08-2017).


//* %%SET %%FECHAX = %%$CALCDTE %%$ODATE +M1
//*------------------------------------------------------------------------
//* %%SET %%AAAAX     = %%SUBSTR %%FECHAX 1 4
//* %%SET %%MMX        = %%SUBSTR %%FECHAX 5 2
//* %%SET %%DDX         = 01
//* %%SET %%FECHAY    = %%AAAAX.%%MMX.%%DDX
//*------------------------------------------------------------------------
//* %%SET %%FECHA      = %%$WCALC %%FECHAY -1 TODOS
//*------------------------------------------------------------------------
//* %%SET %%AAAA       = %%SUBSTR %%FECHA 1 4
//* %%SET %%AA           = %%SUBSTR %%FECHA 3 2
//* %%SET %%MM          = %%SUBSTR %%FECHA 5 2
//* %%SET %%DD           = %%SUBSTR %%FECHA 7 2
//* %%SET %%FECHDA    = %%AAAA-%%MM-%%DD

ODATE - contiene la fecha del día que según el ejemplo dado sería 20170808 (OJO!!!! fíjate en el formato, va primero el año y a continuación el mes y el día, todo junto, sin ningún tipo de separación).

La variable FECHAX contendrá la fecha del día más un mes (20170908).

La variable AAAAX contendrá el año de la fecha calculada en FECHAX (2017).

La variable MMX contendrá el mes de la fecha calculada en FECHAX (09).

La variable DDX contiene el valor 01, se le está asignando un valor fijo.

La variable FECHAY contendrá la unión de las tres variables antes mencionadas (20170901).

La variable FECHA contendrá el resultado de restarle un día a la fecha contenida en FECHAY (20170901 - 1 día = 20170831).

La variable AAAA contendrá el año de la fecha calculada en FECHA (2017).

La variable AA contendrá los dos últimos dígitos del año de la fecha calculada en FECHA (17).

La variable MM creada en la línea 54 contendrá el mes de la fecha calculada en FECHA (08).

La variable DD contendrá el día de la fecha calculada en FECHA (31).

La variable FECHDA contendrá la unión de las variables AAAA (2017), MM (08) y DD (31), es decir, 2017-08-31. Fíjate que aquí hay separación entre el año, el mes y el día. Fíjate cómo se ha creado esta variable para que vaya el "-" como separador.

No hay comentarios:

Publicar un comentario