Dynamischer Daten Import / Export

datenbank

weil Einfach - produktiver ist
Mit der Freeware Version können bis zu 100.000 Datensätze verarbeitet werden!
Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
Willkommen im FlowHeater Support Forum!

Hier werden Fragen zum Umgang mit dem FlowHeater beantwortet.
  • Seite:
  • 1

THEMA: Ursprungs-ID nach Sort(absteigend)

Ursprungs-ID nach Sort(absteigend) 8 Monate 3 Wochen her #3101

  • Ralf Birk
  • Ralf Birks Avatar Autor
  • Offline
  • Senior Member
  • Senior Member
  • Beiträge: 70
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.

Ursprungs-ID nach Sort(absteigend) 8 Monate 2 Wochen her #3105

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Administrator
  • Administrator
  • Beiträge: 1248
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
int nextID = -1;

public object DoWork()
{
  if (nextID == -1)
  {
    //Zähler Initialisieren
    nextID = (int)Parameter["StartWert"].GetInt();
  }
  else
  {
    nextID--;
  }

  return nextID;
}

Dateianhang:

Dateiname: autoid-ueber-script.zip
Dateigröße: 2 KB
Anhang:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

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.

Ursprungs-ID nach Sort(absteigend) 8 Monate 2 Wochen her #3108

  • Ralf Birk
  • Ralf Birks Avatar Autor
  • Offline
  • Senior Member
  • Senior Member
  • Beiträge: 70
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.

Ursprungs-ID nach Sort(absteigend) 8 Monate 2 Wochen her #3109

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Administrator
  • Administrator
  • Beiträge: 1248
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.

Anhang:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

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.
Letzte Änderung: von FlowHeater-Team.
  • Seite:
  • 1
Moderatoren: FlowHeater-Team
Ladezeit der Seite: 0.263 Sekunden