Skip to main content
Weil einfach - produktiver ist

Der Daten Spezialist

Konvertieren Sie die Daten mühelos zwischen verschiedenen Formaten ohne Programmierkenntnisse dank Visual Designer. Effizient und super einfach.
Flowheater Download

Ursprungs-ID nach Sort(absteigend)

Mehr
7 Jahre 1 Monat her #3101 von Ralf Birk
Ursprungs-ID nach Sort(absteigend) wurde erstellt von Ralf Birk
Hallo Herr Stark,

ich habe folgendes Problem:
Ich muss Daten in der im Read vorgegebenen Reihenfolge verarbeiten.
Hier habe ich bisher ein ID eingefügt, das im Write auf einen Satzzähler (6 Stellen mit Vornullen) und eine Lfd.Nr (Integer) geht.
Jetzt muss ich die Daten anschließend absteigend verarbeiten. Der Satzzähler soll, nach wie vor mit 000001 beginnen, da dies die Verarbeitungsreihenfolge ist. Die Laufende Nummer sollte aber mit der höchsten Nummer beginnen (bei 10.000 Datensätzen z.B 10000, 9999,9998 usw.)
Mit den eingebauten "Bordmitteln" ist mir keine Lösung eingefallen.
Haben Sie mir vielleicht noch einen Tip?


Vielen Dank im Voraus


Ralf B.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
7 Jahre 1 Monat her #3105 von FlowHeater-Team
FlowHeater-Team antwortete auf Ursprungs-ID nach Sort(absteigend)
Hallo Herr Birk,

ich bin mir nicht sicher ob ich es richtig verstanden habe. Hier mal grob wie das realisiert werden könnte.

Leider unterstützt der AutoID Heater keine Parameter als Startwert, so dass der Zähler über ein Skript abgebildet werden muss. Diese Anforderung wird mit der nächsten Version umgesetzt :-) Bis dahin können Sie das u.s. C# Skript für den .NET Script Heater verwenden.

Das Skript liest einmalig einen Parameter „StartWert“ aus und gibt diesen beim ersten Datensatz zurück. Bei allen weiteren Datensätzen wird pro Satz lediglich vom Initialwert der Wert 1 abgezogen und zurückgeleitet.

Das Formatieren der Zahl auf 6 Stellen mit führenden Nullen kann durch den String Format Heater erledigt werden. Im Anhang finden Sie ein Bespiel dazu.

Im Beispiel wird der Parameter „StartWert“ über den Parameter Standardwert gesetzt. In Ihrem Fall benötigen Sie einen SQL Heater , der beim „Start“ der Definition einen „SELECT COUNT ..“ auf die Datenquelle absetzt um dynamisch den max. Startwert zu setzen.

C# Skript für AutoID über Parameter
Code:
int nextID = -1; public object DoWork() { if (nextID == -1) { //Zähler Initialisieren nextID = (int)Parameter["StartWert"].GetInt(); } else { nextID--; } return nextID; }

Dateianhang:

Dateiname: autoid-ueb...ript.zip
Dateigröße:2 KB

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.
Anhänge:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
7 Jahre 1 Monat her #3108 von Ralf Birk
Ralf Birk antwortete auf Ursprungs-ID nach Sort(absteigend)
Hallo Herr Stark,

leider habe ich die Stellen im Write erwähnt und Sie damit verwirrt. Das ist natürlich kein Problem.
Ihre Lösung sieht im ersten Moment gut aus.
Leider kann ich den Parameter nicht statisch setzen, da die Anzahl der Datensätze im Vorfeld nicht bekannt ist.
Da ich mit dem SQL-Header Syntax nicht sehr weit gekommen bin, habe ich es auf folgende weiße versucht:
Ein Max hinter AutoID und das Ergebnis als Variable "Max" setzen. Ihren Netscript-Code habe ich so geändert: "nextID = (int)Parameter["$Max$"].GetInt();"

Geht leider nicht (Ich denke die Anzahl der Datensätze muss schon beim Start ermittelt werden).

Wie müsste denn der SQL Befehl für den SQL-Heater aussehen?
Wenn der Aufwand zu groß ist, warte ich eben noch auf die Start_Implementierung im AutoID Heater.

Gruß Ralf B.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
7 Jahre 1 Monat her - 7 Jahre 1 Monat her #3109 von FlowHeater-Team
FlowHeater-Team antwortete auf Ursprungs-ID nach Sort(absteigend)
Hallo Herr Birk,

die Verwendung des SQL Heater um dynamisch Parameter zu setzen ist eigentlich relativ einfach. Im Screenshot sehen Sie die notwendigen Einstellungen dazu.

Wichtig ist, dass Sie folgenden Einstellungen vornehmen.
  • Ausführen bei Start
  • Mit Rückgabewert -> Speichern in Parameter „Wert“
  • Und evtl. einen Standardwert vergeben falls das SQL Statement keinen Wert bzw. NULL/DBNULL zurückliefert.


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.
Anhänge:
Letzte Änderung: 7 Jahre 1 Monat her von FlowHeater-Team.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Ladezeit der Seite: 0.332 Sekunden
FlowHeater Logo

FlowHeater - Der Daten Spezialist

Effiziente Datenintegration und Transformation mit FlowHeater - Ihre Lösung für nahtlosen Datentransfer.

Rechtliches

Support & Kontakt

Kontaktinformation

Telefon:
0951 / 99339792

E-Mail:
Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein.


Copyright © 2009-2024 by FlowHeater GmbH. Alle Rechte vorbehalten.