Tous les produits
Search
Centre de documentation

DataWorks:Formats des paramètres de planification

Dernière mise à jour :Sep 09, 2026

Les paramètres de planification remplacent dynamiquement les valeurs temporelles dans votre code au moment de l'exécution, ce qui évite d'avoir à coder en dur des dates dans les workflows récurrents. Cette rubrique décrit les formats pris en charge et l'utilisation des valeurs de paramètre.

Important

Assurez-vous de bien comprendre comment configurer les paramètres de planification. Pour plus de détails, consultez la rubrique Configurer et utiliser les paramètres de planification.

Concepts clés : références temporelles

Les paramètres temporels remplacent dynamiquement les chaînes de caractères représentant le temps lors de l'exécution. Tous les paramètres temporels dans DataWorks sont basés sur les deux références temporelles fondamentales suivantes.

Concept

Description

Valeur par défaut

Format personnalisé

Précision

Date métier

Le jour précédent la date d'exécution planifiée d'une tâche. Dans les scénarios de calcul offline T+1, elle correspond à la date de génération des données métier.

Par exemple, si vous exécutez une tâche aujourd'hui pour calculer le chiffre d'affaires d'hier, « hier » fait référence à la date des transactions, c'est-à-dire la date métier.

${yyyymmdd}

${...}

Année-mois-jour

Heure planifiée

L'heure planifiée définie dans la configuration de planification de la tâche. Au moment de l'exécution, le système la résout en la journée en cours. Elle représente l'heure théorique d'exécution de la tâche et ne varie pas en cas de mise en file d'attente des ressources ou de retards.

$[yyyymmddhh24miss]

$[...]

Année-mois-jour-heure-minute-seconde

En résumé :

  • Date métier ≈ Hier (date des données)

  • Heure planifiée ≈ Aujourd'hui (moment d'exécution de la tâche)

Une tâche T+1 typique démarre tôt le matin d'aujourd'hui (heure planifiée) pour traiter les données d'hier (date métier).

Expression de la valeur du paramètre

Les paramètres de planification prennent en charge les types de valeurs suivants :

  • Paramètres temporels personnalisés : expressions telles que ${...} et $[...] qui transforment les valeurs en fonction des deux références temporelles : la date métier et l'heure de planification. Pour plus d'informations, consultez la section Paramètres temporels personnalisés.

  • Paramètres système intégrés : variables prédéfinies, telles que $bizdate, $bizmonth et $jobid, qui renvoient des valeurs comme la date métier, le mois métier ou l'ID du workflow. Ces paramètres ne se limitent pas aux valeurs temporelles. Pour plus de détails, reportez-vous à la section Paramètres système intégrés.

  • Constantes : valeurs littérales, telles que '123' et 'abc'.

Important

Restrictions relatives aux caractères spéciaux : les expressions de paramètre ne peuvent pas contenir d'espaces ni le signe égal (=).

Utilisation

image

Définissez la logique d'affectation d'un paramètre de planification en spécifiant un nom de paramètre et une valeur de paramètre dans la section Scheduling Parameter > scheduling configuration. Une fois le paramètre défini, vous pouvez y faire référence dans votre code à l'aide de la syntaxe ${nom du paramètre}. Pour obtenir des instructions détaillées, consultez la rubrique Configurer et utiliser les paramètres de planification.

  • Utilisez les paramètres intégrés au système $bizdate et $cyctime pour représenter respectivement la date métier et l'heure planifiée. Ces paramètres se résolvent selon les valeurs suivantes :

    • $bizdate=${yyyymmdd}

    • $cyctime=$[yyyymmddhh24miss]

      image

      image

      Les exemples précédents illustrent les définitions des paramètres $bizdate (qui se résout en ${yyyymmdd} ) et $cyctime (qui se résout en $[yyyymmddhh24miss] ), ainsi que leurs résultats de prévisualisation lorsque la date métier est le 16/10/2025.
  • Si les valeurs par défaut de l'heure de base ne répondent pas à vos besoins, utilisez la syntaxe ${...} et $[...] pour transformer les deux heures de base en paramètres temporels personnalisés.

Paramètres temporels personnalisés

DataWorks permet de récupérer la date métier et l'heure de planification en utilisant respectivement les formats ${...} et $[...]. Ces formats vous permettent de transformer les valeurs temporelles afin de répondre aux exigences métier. Les exemples suivants partent du principe qu'un nœud est planifié pour s'exécuter quotidiennement à 02:30:45 et que la date métier est 20251031. Les heures de référence sont les suivantes :

  • Date métier : la valeur de ${yyyymmdd} est 20251031.

  • Heure de planification : la valeur de $[yyyymmddhh24miss] est 20251101023045.

Différences clés entre ${...} et $[...]

Les formats ${...} et $[...] diffèrent par leurs références temporelles et leurs capacités de calcul. Leur utilisation conjointe peut entraîner des erreurs de données.

Comparaison

${...} (Date métier)

$[...] (Heure de planification)

Référence temporelle

Date métier (T-1)

Heure de planification (T)

Précision temporelle

Jour (année, mois, jour)

Seconde (année, mois, jour, heure, minute, seconde)

Décalages pris en charge

Prend en charge les calculs de décalage pour l'année, le mois, la semaine et le jour.

Prend en charge les calculs de décalage pour le jour, l'heure et la minute.

Limitations principales

Ne prend pas en charge le formatage ni les calculs de décalage pour les unités de temps inférieures telles que les heures, les minutes ou les secondes.

Les décalages directs d'année ou de mois utilisant une syntaxe telle que $[yyyy±N] ou $[mm±N] ne sont pas pris en charge. Vous devez utiliser la fonction add_months pour ces décalages.

Paramètre système équivalent

${yyyymmdd} équivaut à $bizdate

$[yyyymmddhh24miss] équivaut à $cyctime

Formatage temporel

Utilisez les formats ${...} ou $[...] pour générer des paramètres temporels. Combinez des codes de format tels que yyyy, yy, mm et dd pour générer des dates situées N années, mois ou jours avant ou après la date métier.

Code

Description

${...} (Date métier)

$[...] (Heure de planification)

Exemple

Résultat

Exemple

Résultat

yyyy

Année à 4 chiffres

${yyyy}

2025

$[yyyy]

2025

mm

Mois à 2 chiffres

${mm}

10

$[mm]

11

dd

Jour à 2 chiffres

${dd}

31

$[dd]

01

hh24

Heure au format 24 heures

Non pris en charge (précision au niveau du jour)

-

$[hh24]

02

hh / hh12

Heure au format 12 heures

-

$[hh]

02

mi

Minute

-

$[mi]

30

ss

Seconde

-

$[ss]

45

yyyymm

Année et mois

${yyyymm}

202510

$[yyyymm]

202511

yyyy_mm

Année et mois formatés avec un trait de soulignement

${yyyy_mm}

2025_10

$[yyyy_mm]

2025_11

yyyy-mm-dd

Date formatée avec des traits d'union

${yyyy-mm-dd}

2025-10-31

$[yyyy-mm-dd]

2025-11-01

yyyy-mm-dd hh24:mi:ss

Date et heure formatées avec des traits d'union et des deux-points

Non pris en charge (précision au niveau du jour)

-

Ce format peut être obtenu par concaténation de chaînes. Voir Concaténation de chaînes : Cas 2.

Calcul du décalage

Le calcul du décalage vous permet d'ajouter ou de soustraire une durée à une date métier ou à une heure de planification. Vous pouvez appliquer des décalages de N années, mois, jours, heures ou minutes par rapport à la référence temporelle. Les décalages en heures et en minutes sont pris en charge uniquement pour l'heure de planification. Les capacités de décalage de ${...} et $[...] diffèrent car elles prennent en charge différents niveaux de précision temporelle.

  1. Calcul du décalage avec ${...}

    • Fonctionnalité principale : prend en charge les décalages entiers pour les années, les mois, les semaines et les jours.

      Important

      Les décalages en heures et en minutes ne sont pas pris en charge. Par exemple, ${yyyy-mm-dd-1/24} constitue une syntaxe invalide.

    • Syntaxe : ${<time_format><±N>}, où l'unité de N correspond à la plus petite unité du format, telle que yyyymm ou yyyymmdd.

      Exigence

      Unité de décalage

      Syntaxe

      Exemple

      N années avant/après

      Année

      ${yyyy±N} ou ${yy±N}

      Obtenir l'année précédente : ${yyyy-1}

      N mois avant/après

      Mois

      ${yyyymm±N}

      Obtenir le mois précédent : ${yyyymm-1}

      N semaines avant/après

      Semaine

      ${yyyymmdd±7*N}

      Obtenir la semaine précédente : ${yyyymmdd-7*1}

      N jours avant/après

      Jour

      ${yyyymmdd±N}

      Obtenir le jour précédent : ${yyyymmdd-1}

  2. Calcul du décalage avec $[...]

    • Fonctionnalité principale : prend en charge les décalages fractionnaires pour les jours, les heures et les minutes.

      Important

      Le format $[...] ne peut pas utiliser d'expressions telles que $[yyyy-N] ou $[mm-N] pour récupérer des dates datant de N années ou mois. Pour effectuer des décalages en années ou en mois, vous devez utiliser la fonction add_months.

    • Syntaxe : $[<time_format><±N>] , où N représente une fraction d'un jour : utilisez N/24 pour un décalage de N heures et N/24/60 pour un décalage de N minutes.

      Exigence

      Unité de décalage

      Syntaxe

      Exemple

      N années avant/après

      Année

      Dans N années : $[add_months(yyyymmdd,12N)]
      Il y a N années : $[add_months(yyyymmdd,-12N)]



      Obtenir l'année précédente : $[add_months(yyyymmdd,-12)]

      N mois avant/après

      Mois

      Dans N mois : $[add_months(yyyymmdd,N)]
      Il y a N mois : $[add_months(yyyymmdd,-N)]



      Obtenir le mois précédent : $[add_months(yyyymmdd,-1)]
      Obtenir le mois suivant : $[add_months(yyyy_mm,1)]

      N semaines avant/après

      Semaine

      $[yyyymmdd±7*N]

      Obtenir la semaine précédente : $[yyyymmdd-7*1]

      N jours avant/après

      Jour

      $[yyyymmdd±N]

      Obtenir le jour précédent (hier) : $[yyyymmdd-1]

      N heures avant/après

      Heure

      Formats disponibles :

      • $[hh24miss±N/24], $[hh24±N/24]

      • $[<custom_time_format>±N/24]

      Obtenir l'heure précédente dans différents formats :

      • Mois : $[mm-1/24]

      • Année : $[yyyy-1/24]

      • Année et mois : $[yyyymm-1/24]

      • Année, mois et jour : $[yyyymmdd-1/24]

      • Jour précédent et heure précédente : $[yyyymmdd-1-1/24]

      N minutes avant/après

      Minute

      Formats disponibles :

      • $[hh24miss±N/24/60]

      • $[yyyymmddhh24miss±N/24/60]

      • $[mi±N/24/60]

      • $[<custom_time_format>±N/24/60]

      Obtenir l'heure située 15 minutes avant l'heure de planification dans différents formats :

      • $[yyyy-15/24/60]

      • $[yyyymm-15/24/60]

      • $[yyyymmdd-15/24/60]

      • $[hh24-15/24/60]

      • $[mi-15/24/60]

      Décalage combiné

      Jour + Heure

      $[yyyymmdd±N±M/24], où N est le décalage en jours et M le décalage en heures.

      Exemple : Obtenir l'heure du jour précédent et de l'heure précédente → $[yyyymmdd-1-1/24]

      Remarque
      • Gestion du passage à la journée suivante : les décalages en heures et en minutes peuvent entraîner un dépassement de la limite journalière. Pour plus de détails sur la gestion de ce cas, consultez Comment gérer le remplacement des paramètres lors d'un décalage d'une heure franchissant la limite journalière.

      • Calibration de fin de mois : lorsque vous appliquez un décalage mensuel à une date de fin de mois, si le mois cible comporte moins de jours, le résultat est automatiquement ajusté au dernier jour de ce mois. Par exemple, soustraire un mois au 31 mars 2025 renvoie le 28 février 2025, car février ne compte pas 31 jours.

Transformation secondaire à l'aide des fonctions du moteur

Si les capacités intégrées de mise en forme et de décalage ne permettent pas d'obtenir la valeur exacte souhaitée (par exemple, le dernier jour du mois précédent), appliquez une transformation secondaire en utilisant les fonctions du moteur du nœud ou un nœud d'affectation.

Voir : Scénarios typiques de traitement secondaire des valeurs de retour des paramètres de planification .

Concaténation de chaînes

Utilisez la concaténation de chaînes pour construire des chaînes de dates structurées non prises en charge par la syntaxe intégrée. Cette méthode combine une partie de date générée par un paramètre de planification avec une chaîne constante.

Cas 1 : Obtenir dynamiquement le premier jour de chaque mois

  • Scénario : vous avez besoin d'une chaîne représentant le premier jour du mois en cours au format yyyymm01, quel que soit le jour d'exécution de la tâche.

  • Implémentation :

    1. Extrayez la partie année et mois : utilisez ${yyyymm} pour obtenir l'année et le mois de la date métier actuelle. Par exemple, si la date métier est 20231027, le résultat est 202310.

    2. Concaténez l'année et le mois extraits avec la chaîne constante '01'.

    3. Appel du paramètre : first_day_of_month=${yyyymm}01

  • Résultat : lors de l'exécution de la tâche, ${first_day_of_month} est remplacé par 20231001.

Cas 2 : Générer un horodatage au format yyyy-mm-dd hh24:mi:ss

  • Scénario : vous devez générer un horodatage au format yyyy-mm-dd hh24:mi:ss, tel que 2023-11-01 02:30:45.

  • Implémentation :

    1. Définissez deux paramètres, datetime1 et datetime2. Configurez-les comme suit : datetime1=$[yyyy-mm-dd] et datetime2=$[hh24:mi:ss].

    2. Concaténez les paramètres datetime1 et datetime2, séparés par un espace.

    3. Appel du paramètre : pt=${datetime1} ${datetime2}

  • Résultat : lors de l'exécution de la tâche, ${datetime1} ${datetime2} est remplacé par 2023-11-01 02:30:45.

Paramètres système intégrés

DataWorks met à disposition les paramètres système intégrés suivants. En raison de leurs formats temporels figés et de leur flexibilité limitée, il est recommandé d'utiliser plutôt des paramètres temporels personnalisés.

Parameter

Description

$bizdate

La date métier au format yyyymmdd, cohérent avec le paramètre personnalisé ${yyyymmdd}.

Par défaut, correspond généralement à la veille de l'heure de planification prévue de la tâche.

$cyctime

L'heure planifiée au format yyyymmddhh24miss, équivalent au paramètre personnalisé $[yyyymmddhh24miss].

$gmtdate

La date actuelle au format yyyymmdd.

Correspond par défaut à la date du jour. Pour une rétroalimentation de données, la date équivaut à date métier + 1.

$bizmonth

Le mois métier au format yyyymm.

  • Si la date métier se situe dans le mois en cours, alors $bizmonth = mois_de_la_date_métier - 1.

  • Si le mois de la date métier diffère du mois en cours, alors $bizmonth = mois de la date métier.

$jobid

L'ID du workflow contenant la tâche.

$nodeid

L'ID du nœud.

$taskid

L'ID de l'instance générée par le nœud.

Exemples de remplacement de paramètres

La valeur de remplacement d'un paramètre de planification est déterminée lors de la création d'une instance et n'est pas influencée par l'heure réelle de démarrage.

image

Scénario 1 : planification normale

Dans le cadre d'une planification normale, le remplacement des paramètres s'appuie sur deux repères temporels : la date métier et l'heure de planification.

  • ${...} (date métier) : la valeur est dérivée de la date métier de l'instance.

  • $[...] (heure de planification) : la valeur est dérivée de l'heure de planification de l'instance.

Prenons l'exemple d'une tâche quotidienne nommée A, planifiée pour s'exécuter à 00:00 avec les paramètres suivants :

  • yesterday=${yyyymmdd}

  • today=$[yyyymmddhh24miss]

Le tableau ci-dessous illustre le remplacement de ces paramètres pour une instance spécifique :

Scheduling time

Business date

yesterday=${yyyymmdd}

today=$[yyyymmddhh24miss]

2025-3-15 00:00:00

2025-3-14

20250314

20250315000000

Scénario 2 : rétroalimentation de données

Lors d'une rétroalimentation de données, la logique de remplacement des paramètres varie selon la date métier sélectionnée. Cette variation impacte particulièrement les paramètres dépendant de l'heure de planification.

  • ${...} (date métier) : le repère correspond à la date métier sélectionnée manuellement.

  • $[...] (heure de planification) : le repère correspond à la date métier sélectionnée manuellement + 1 jour.

Par exemple, si vous effectuez une rétroalimentation de la tâche A avec 2025-03-15 comme date métier :

Selected business date

yesterday=${yyyymmdd}

today=$[yyyymmddhh24miss]

2025-03-15

20250315

20250316000000 (Le repère est 2025-03-15 + 1 day)

FAQ

Pour toute question relative aux paramètres de planification, consultez la rubrique FAQ sur les paramètres de planification.

Documents connexes