Dynamische Erzeugung des Flatfile Dateinamens in Informatica Powercenter

Der Dateinamen eines Flatfile Targets in Informatica wird in den Target Properties der Session konfiguriert. Wie muss man aber vorgehen, wenn man keinen statischen Dateinamen haben möchte? Vom Auftraggeber könnte ja z.B. die Anforderung kommen, dass jeden Tag eine neue Datei erzeugt werden soll, die einen Zeitstempel im Dateinamen enthält.

Informatica biete hier im Target Designer eine etwas versteckte Option an, über die ein weiterer Port in der Target Definition erzeugt werden kann. Über genau diesen neuen Port kann der Dateiname dynamisch im Mapping generiert werden.

Informatica Flatfile - Filename Port

Informatica Flatfile – Filename Port

Sobald der neue Port im Target erzeugt wurde, legt man im Mapping in einer Expression Transformation einen weiteren Output Port an, der mit dem Filename Port des Targets verbunden wird.

Informatica Flatfile - Filename Port Mapping

Informatica Flatfile – Filename Port Mapping

Informatica Flatfile - Filename Port setzen

Informatica Flatfile – Filename Port setzen

Im Formel Edltor stehen dann alle Möglichkeiten zur Verfügung, um den Dateinamen nach den Anforderungen zu formen. In meinem Beispiel wird der Startzeitpunkt der Session (sessstarttime) in einen String im Format „YYYYMMDDHH24MISS“ umgewandelt und dem fachlichen Dateinamen mit der Concat Funktion vorangestellt.

Informatica Flatfile - Filename Port Formel

Informatica Flatfile – Filename Port Formel

Leider wird bei dieser Methode auch eine 0 Byte große Datei mit dem in der Session konfiguriertem Namen erzeugt. Ich lösche diese in der Regel in einem Post-Session Kommando über das Betriebssystem.