Utilitaires
Scripts
Divers
Jeux
Rechercher
Quillevere.net
Réflexions informatiques

Erreur Talend "Null value will be used for context parameter"

15/05/2020

Sur Talend, vous pouvez obtenir l'erreur "Null value will be used for context parameter X. Unparseable date: "<TALEND_NULL>"", avec X comme nom du paramètre. Cela peut se produire si vous passez des variables de type Date à un sous job. Seules les valeurs non nulles sont transférées et parsées. Pour les valeurs à Null, Talend les converti en <TALEND_NULL>.

Pour ne plus avoir cette alerte, vous pouvez utiliser le code suivant, à placer dans une routine :

public class DateUtil {

 /**
 * Convertit une date en chaîne, en remplaçant null par vide (utile pour passer une date à un sousjob)
 * @param dateSrc
 * @return
 */

 public static String versChaineNonNulle(java.util.Date dateSrc) {
    return (dateSrc==null ? "" : TalendDate.formatDate("yyyy-MM-dd HH:mm:ss", dateSrc));
 }

 /**
 * Convertit une chaîne en date, en remplaçant vide par null
 * @param sDateSrc
 * @return
 */

 public static java.util.Date depuisChaineNonNulle(String sDateSrc) {
    return (sDateSrc==null || sDateSrc.isEmpty() ? null : TalendDate.parseDate("yyyy-MM-dd HH:mm:ss", sDateSrc));
 }

}

La première fonction est à utiliser lors de l'appel au sous-job, pour convertir les dates en chaînes, en transformant le null en chaîne vide : DateUtil.versChaineNonNulle(maDate);

La seconde fonction est à appeler dans le sous-job, pour retransformer en date les champs récupérés : DateUtil.depuisChaineNonNulle(maChaineDate);

Dernière modification le 15/05/2020 - Quillevere.net

Rechercher sur le site

rss RSS info Informations