- Beiträge: 36
Verwendung des Lookup Heater
- Philip Herbert
- Autor
- Offline
- Benutzer
Weniger
Mehr
1 Jahr 10 Monate her #4712
von Philip Herbert
Verwendung des Lookup Heater wurde erstellt von Philip Herbert
Hallo,
ich habe eine Frage zur Verwendung des Lookup Heater.
Ich habe auf der Eingangsseite eine csv Datei, welche eine Rechnungsnummer als Teil eines Stringfeldes beinhaltet. Diese Rechnungsnummer extrahiere ich per RegEx (?<!\d)\d{6}(?!\d) aus dem entsprechenden CSV Feld, was soweit auch funktioniert.
Auf der Write - Seite habe ich aktuell zwei Adapter. Den In-Memory-Adapter für den späteren CSV Export (2. Verarbeitungschritt), sowie einen nur zu Definition des SQL-Connect für den Lookup verwendeten Oracle Adapter.
Das RegEx Ergebnis versuche ich über den Lookup Heater zu führen um entsprechende zusätzliche Informationen, die aus einer Oracle-Tabelle gelesen/ergänzt werden müssen zu erhalten.
Das scheint aber offenbar der falsche Weg zu sein.
Wie kann diese Anforderung abgebildet werden ?
Danke, Philip Herbert
ich habe eine Frage zur Verwendung des Lookup Heater.
Ich habe auf der Eingangsseite eine csv Datei, welche eine Rechnungsnummer als Teil eines Stringfeldes beinhaltet. Diese Rechnungsnummer extrahiere ich per RegEx (?<!\d)\d{6}(?!\d) aus dem entsprechenden CSV Feld, was soweit auch funktioniert.
Auf der Write - Seite habe ich aktuell zwei Adapter. Den In-Memory-Adapter für den späteren CSV Export (2. Verarbeitungschritt), sowie einen nur zu Definition des SQL-Connect für den Lookup verwendeten Oracle Adapter.
Das RegEx Ergebnis versuche ich über den Lookup Heater zu führen um entsprechende zusätzliche Informationen, die aus einer Oracle-Tabelle gelesen/ergänzt werden müssen zu erhalten.
Das scheint aber offenbar der falsche Weg zu sein.
Wie kann diese Anforderung abgebildet werden ?
Danke, Philip Herbert
Anhänge:
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
1 Jahr 10 Monate her #4713
von FlowHeater-Team
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
FlowHeater-Team antwortete auf Verwendung des Lookup Heater
Hallo Herr Herbert,
das Problem ist, dass aktuell ein hinzugefügter Adapter auch eine Verbindung und Funktion haben muss. Sie können das auf zwei Arten lösen.
das Problem ist, dass aktuell ein hinzugefügter Adapter auch eine Verbindung und Funktion haben muss. Sie können das auf zwei Arten lösen.
- Einlesen der Tabellenwerte in einem vorgelagerten Verarbeitungsschritt in eine weitere
InMemory Adapter
Tabelle und dann per
String Replace Heater
diese InMemory Tabelle abfragen.
- Sie konfigurieren den Oracle Adapter so, dass hier nur ein SQL Skript erstellt wird, siehe Screenshot. Für den PrimaryKey übergeben Sie lediglich einen Dummy Wert, so sind Sie sicher, dass keine Daten eingefügt werden. Hinweis: Wenn Sie die Definition ausführen wird Ihnen angezeigt, dass die Daten erfolgreich geschrieben wurden, das bezieht sich in dem Fall nur auf das SQL Skript!
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Philip Herbert
- Autor
- Offline
- Benutzer
Weniger
Mehr
- Beiträge: 36
1 Jahr 10 Monate her #4714
von Philip Herbert
Philip Herbert antwortete auf Verwendung des Lookup Heater
Danke, zumindest komme ich einen Schritt weiter,
Ich hatte zuvor die gesamte Tabelle ausgelesen,
das hat jedoch deutlich zu lange gedauert.
allerdings liefert der Lookup Header (Konfig wie im Screenshot kein Ergebnis, sondern nur das Default Ergebnis wenn nichts gefunden wird.
Im In Memory Adapter steht aber die richtige Rechnungsnummer drin, die der RegEx findet.
Wenn ich Lookup die Bedingung = $1 gegen 4711 tausche, wird der Inhalt des Feldes PATNR richtig aus der Tabelle passend zur Rechnung 4711 geliefert.
Das verstehe ich noch nicht.
Danke, Philip Herbert
Ich hatte zuvor die gesamte Tabelle ausgelesen,
das hat jedoch deutlich zu lange gedauert.
allerdings liefert der Lookup Header (Konfig wie im Screenshot kein Ergebnis, sondern nur das Default Ergebnis wenn nichts gefunden wird.
Im In Memory Adapter steht aber die richtige Rechnungsnummer drin, die der RegEx findet.
Wenn ich Lookup die Bedingung = $1 gegen 4711 tausche, wird der Inhalt des Feldes PATNR richtig aus der Tabelle passend zur Rechnung 4711 geliefert.
Das verstehe ich noch nicht.
Danke, Philip Herbert
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
1 Jahr 10 Monate her #4715
von FlowHeater-Team
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
FlowHeater-Team antwortete auf Verwendung des Lookup Heater
bitte setzen Sie auf dem
Lookup Heater
mal einen Haltepunkt. Hierzu einfach mit der rechten Maustaste das Kontextmenü öffnen und „Haltepunkt“ auswählen. Der
Lookup Heater
wird nun mit einem roten Kreis dargestellt. Wenn Sie die Definition nun im Testmodus ausführen hält die Verarbeitung hier an und Sie können sich die Ein- und Ausgehenden Daten ansehen. Ich vermute, dass hier ein Problem mit der Formatierung vorliegt?
Alternativ könnten Sie auch den SQL Heater verwenden. Hier können Sie den SQL Befehl selbst aufbauen.
Alternativ könnten Sie auch den SQL Heater verwenden. Hier können Sie den SQL Befehl selbst aufbauen.
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Philip Herbert
- Autor
- Offline
- Benutzer
Weniger
Mehr
- Beiträge: 36
1 Jahr 10 Monate her #4716
von Philip Herbert
Philip Herbert antwortete auf Verwendung des Lookup Heater
Danke, ein TRIM vor dem Lookup Heater war die Lösung !
Dennoch werde ich mal weiter mit Tabelle einlesen (in Memory) probieren.
Da ich insgesamt 3 Felder aus der Tabelle benötigen werde, erscheint mit das doch effizienter (ggf. mit WHERE Clause um keinen FullTable Read zu benötigen)
ggf. kommen noch ein-zwei Fragen zum FlowHeater Server ... Ich bin auf jeden Fall schon mal begeistert !
Danke, Philip Herbert
Dennoch werde ich mal weiter mit Tabelle einlesen (in Memory) probieren.
Da ich insgesamt 3 Felder aus der Tabelle benötigen werde, erscheint mit das doch effizienter (ggf. mit WHERE Clause um keinen FullTable Read zu benötigen)
ggf. kommen noch ein-zwei Fragen zum FlowHeater Server ... Ich bin auf jeden Fall schon mal begeistert !
Danke, Philip Herbert
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
1 Jahr 10 Monate her #4717
von FlowHeater-Team
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
FlowHeater-Team antwortete auf Verwendung des Lookup Heater
Ich habe den Fehler gefunden. Das Problem ist, dass aus dem
RegEx Heater
ein Datentyp String kommt und dann der Lookup Heater hier folgendes durchführt.
… WHERE RECHNR = ‘4711’
Sie können diese Standardformatierung umgehen indem Sie die Ausgabe des RegEx Heater über einen Set Parameter Heater in einem FlowHeater Parameter (z.B. $RECHNR$) ablegen und dann im Lookup Heater diesen Parameter verwenden.
… WHERE RECHNR = $RECHNR$
… WHERE RECHNR = ‘4711’
Sie können diese Standardformatierung umgehen indem Sie die Ausgabe des RegEx Heater über einen Set Parameter Heater in einem FlowHeater Parameter (z.B. $RECHNR$) ablegen und dann im Lookup Heater diesen Parameter verwenden.
… WHERE RECHNR = $RECHNR$
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
Ladezeit der Seite: 0.313 Sekunden