Cómo usar las funciones de fechas estándar

En esta sección:

Durante el uso de las funciones de fechas estándar, es importante que conozca los ajustes y propiedades que afectan a su comportamiento, además de los formatos aceptables y el modo en que éstos se proporcionan.

Puede afectar al comportamiento de las funciones de fechas de las siguientes formas:

Para más información sobre cada función de fechas estándar, consulte:

DATEADD: Cómo añadir o restar una unidad de fecha de una fecha

DATECVT: Cómo convertir el formato de una fecha

DATEDIF: Cómo hallar la diferencia entre dos fechas

DATEMOV: Cómo cambiar la fecha a un punto significativo

DATETRAN: Cómo aplicar un formato internacional a las fechas

DPART: Cómo extraer un componente de una fecha

FIYR: Cómo obtener el año financiero

FIQTR: Cómo obtener el año financiero

FIYYQ: Cómo convertir una fecha de calendario en una fecha financiera

TODAY: Cómo devolver la fecha actual


Principio de página

x
Cómo especificar los días de trabajo

En esta sección:

Puede definir los días que son de trabajo y los que no lo son. Los días de trabajo afectan a las funciones DATEADD, DATEDIF y DATEMOV. Identifique los días de trabajo como laborables o festivos.



x
Cómo especificar los días laborables

Tradicionalmente, los días laborables son de lunes a viernes, aunque no todas las empresas siguen esta planificación. Por ejemplo, si su empresa opera los domingos, martes, miércoles, viernes y sábados, puede ajustar las unidades de día laborable para que reflejen su planificación.



x
Sintaxis: Cómo Configurar los días laborables
SET BUSDAYS = smtwtfs

donde:

smtwtfs

Es la lista de días, de siete caracteres que representa su semana laborable. La lista cuenta con una posición para cada día, de domingo a sábado:

  • Para identificar un día de la semana como laborable, introduzca la primera letra del día en su posición correspondiente.
  • Para identificar un día no laborable, introduzca un carácter de subrayado (_) en la posición de ese día.

Si alguna letra está en una posición incorrecta, o si sustituye una letra por un carácter que no sea un guión bajo, aparece un mensaje de error.



Ejemplo: Cómo configurar los días laborables para que reflejen su semana de trabajo

El siguiente código designa los días de trabajo como domingo, martes, miércoles, viernes y sábado:

SET BUSDAYS = S_TW_FS


x
Sintaxis: Cómo Ver la configuración actual de días laborables
? SET BUSDAYS


x
Cómo especificar los días festivos

Puede especificar una lista de fechas designadas como festivas, en su empresa. Estas fechas quedan excluidas del uso de las funciones que realizan cálculos basados en los días de trabajo. Por ejemplo, si el jueves de una semana determinada está designado como festivo, el siguiente día de trabajo posterior al miércoles será el viernes.

Para definir una lista de días festivos, debe:

  1. Crear un archivo de festivos utilizando un editor de texto estándar.
  2. Seleccionar el archivo de festivos emitiendo el comando SET junto con el parámetro HDAY.


x
Referencia: Reglas para crear un archivo de festivos
  • Las fechas deben estar en formato YYMD.
  • Las fechas deben estar en orden ascendente.
  • Cada fecha debe ocupar su propia línea.
  • Debe incluir todos los años para los que existan datos. Si invoca una función de fechas con un valor situado fuera del rango del archivo de festivos, el resultado de las solicitudes de días laborables será cero.
  • Puede incluir una descripción opcional del día festivo, separado de la fecha mediante un espacio.


x
Procedimiento: Cómo Crear un archivo de festivos
  1. En un editor de texto, cree una lista con las fechas designadas como festivas, siguiendo las Reglas para crear un archivo de festivos.
  2. Guarde el archivo:

    En Windows y UNIX: El archivo debe ser HDAYxxxx.ERR

    En z/OS: El archivo debe ser un miembro de ERRORS, llamado HDAYxxxx.

    donde:

    xxxx

    Es una cadena de texto de cuatro caracteres.



x
Sintaxis: Cómo Seleccionar un archivo de festivos
SET HDAY = xxxx

donde:

xxxx

Es la parte del nombre del archivo de festivos situada después de HDAY. Esta cadena debe tener cuatro caracteres de longitud.



Ejemplo: Cómo crear y seleccionar un archivo de festivos

A continuación, le mostramos el archivo HDAYTEST, que establece los días festivos:

19910325 TEST HOLIDAY
19911225 CHRISTMAS 

Esta solicitud emplea HDAYTEST en sus cálculos:

SET BUSDAYS = SMTWTFS
SET HDAY = TEST
TABLE FILE MOVIES
PRINT TITLE RELDATE
COMPUTE NEXTDATE/YMD = DATEADD(RELDATE, 'BD', 1);
WHERE RELDATE GE '19910101';
END

Principio de página

x
Cómo activar los ceros a la izquierda en funciones de fechas y horas en Dialogue Manager

Cómo:

Si está usando una función de fechas y horas en Dialogue Manager, que devuelve un formato numérico de números enteros, Dialogue Manager trunca los ceros a la izquierda. Por ejemplo, si una función devuelve el valor 000101 (que indica Enero 1, 2000), Dialogue Manager trunca los ceros a la izquierda, resultando en 101, que es una fecha incorrecta. Para evitar este problema, use el parámetro LEADZERO.

LEADZERO sólo es compatible con expresiones que llamen directamente a una función. Las expresiones que incluyen anidamiento u otras funciones matemáticas, siempre truncan los ceros a la izquierda. Por ejemplo,

-SET &OUT = AYM(&IN, 1, 'I4')/100;

trunca los ceros a la izquierda independientemente de la configuración del parámetro LEADZERO.



x
Sintaxis: Cómo Establecer la visualización de ceros a la izquierda
SET LEADZERO = {ON|OFF}

donde:

ON

Muestra los ceros a la izquierda, si los hay.

OFF

Trunca los ceros a la izquierda. OFF es el valor predeterminado.



Ejemplo: Cómo mostrar los ceros a la izquierda

La función AYM añade un mes a la fecha de entrada de Diciembre 1999:

-SET &IN = '9912';
-RUN
-SET &OUT = AYM(&IN, 1, 'I4');
-TYPE &OUT

Utilizando la propiedad LEADZERO por defecto, el resultado es:

1

Esto hace que la fecha Enero 2000 se represente incorrectamente. Establezca el parámetro LEADZERO del siguiente modo, en la solicitud:

SET LEADZERO = ON
-SET &IN = '9912';
-SET &OUT = AYM(&IN, 1, 'I4');
-TYPE &OUT

resulta en:

0001

Esto indica Enero 2000 de un modo correcto.


Information Builders