FAQ - Insérer une date

Différence entre versions

De MappingDoc
(Comment insérer une date ou l'heure dans un document ?)
Ligne 7 : Ligne 7 :
 
Partant de ce principe, pour insérer une date avec un formatage spécifique, il suffit de créer, avant la composition, une variable d'environnement contenant cette date.
 
Partant de ce principe, pour insérer une date avec un formatage spécifique, il suffit de créer, avant la composition, une variable d'environnement contenant cette date.
  
Cela peut se faire par script si la commande de composition (mapcpysplf) est invoquée en ligne de commande, ou en utilisant une boite "PARAM" si le traitement se fait dans un workflow Mapping.
+
Cela peut se faire par script si la commande de composition (mapcpysplf) est invoquée en ligne de commande, ou en utilisant une boite "PARAM" si le traitement se fait dans un workflow Mapping. Les commandes illustrées ci-dessous peuvent aussi bien être utilisées via un workflow que directement en script shell.
  
 
==Via un workflow sous Mapping Linux==
 
==Via un workflow sous Mapping Linux==

Version du 20 octobre 2020 à 15:22

Comment insérer une date ou l'heure dans un document ?

Pour rappel, dans le Designer Mapping il est possible d'utiliser le mot clé VAR: entre doubles crochets afin d'insérer la valeur d'une variable d'environnement Linux ou Windows.

Ainsi, une zone contenant le texte suivant : VAR:MaVariable permet d'insérer le contenu de la variable d'environnement %MaVariable% sous windows ou $MaVariable sous linux.

Partant de ce principe, pour insérer une date avec un formatage spécifique, il suffit de créer, avant la composition, une variable d'environnement contenant cette date.

Cela peut se faire par script si la commande de composition (mapcpysplf) est invoquée en ligne de commande, ou en utilisant une boite "PARAM" si le traitement se fait dans un workflow Mapping. Les commandes illustrées ci-dessous peuvent aussi bien être utilisées via un workflow que directement en script shell.

Via un workflow sous Mapping Linux

  • Créer une boite de type "Paramètre" (attribut)
  • Donner un nom à la variable à utiliser
  • Pour la valeur, positionner le type de champ sur "cmd" (via le bouton droit)
  • Cliquer sur l'icone en bout de champ (cmd)
  • Saisir la commande suivante dans la zone de texte CMD:
/usr/bin/date +%d/%m/%Y

puis l'adapter selon le format de date désiré

Via un workflow sous Mapping Windows

  • Créer un script .bat avec le contenu suivant :
@echo off
for /f %%a in ('wmic os get localdatetime ^| findstr [0-9]') do set "$WmicDate=%%a"
set "$Date=%$WmicDate:~0,4%/%$WmicDate:~4,2%/%$WmicDate:~6,2%" 
echo %$date
  • Créer une boite de type "Paramètre" (attribut)
  • Donner un nom à la variable à utiliser
  • Pour la valeur, positionner le type de champ sur "cmd" (via le bouton droit)
  • Cliquer sur l'icone en bout de champ (cmd)
  • Saisir le chemin complet du fichier .bat créé précédemment


Autres solutions

Si un traitement est invoqué via le Spooler Mapping, une variable d'environnement nommée MAP_DATE est déjà existante. Le format de cette date est définie dans le fichier de configuration Mapping (mapping.conf), via le paramètre DATE_FORMAT

Attention : si le traitement n'est pas issu du Spooler, cette variable n'existe pas !!!