Generische Verzweigung

Aus Helper
Version vom 25. Juli 2023, 14:53 Uhr von Stefan (Diskussion | Beiträge) (*→‎Eigenen SQL in der WHERE clause einfügen)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen
Mantiseinträge
 2634
Systemtyp
 57

Beschreibung

Besteht aus einem Serverjob OJOHZDOGenerischeVerzweigung. Es kann ein Filter erstellt werden, welcher dann auf jedes DO angewandt wird. Je nachdem ob er zu trifft oder nicht wird das DO in eine bestimmte Richtung weiter geschickt. Zudem kann ausgewählt werden ob das Endresultat invertiert werden soll. Damit kann einfach definiert werden ob Links oder Rechts der erfolgreiche Output sein soll.

Im Hintergrund wird ein SQL zusammengestellt mit allen konfigurierten Bedingungen. Im Serverjob wird dann zu diesem SQL "AND DO_SEQ=[MeineAktuelleDOSEQ]" hinzugefügt und ausgeführt. Falls das aktuelle DO alle Bedingungen erfüllt gibt der SQL diesen Datensatz wieder zurück.

Definieren eines Filters

Grundsätzlich bestehen drei Optionen für das definieren eines Filters:

1. Einen neuen Filter erstellen
2. Den bestehenden Filter editieren
3. Ein bestehenden Filter laden

Essentielle Felder

 HZ_FORMEL  Soll das Resultat invertiert werden?
 HZ_K0_SEQ  Verknüpfung zum Filter-Datensatz (K0)

Konfiguration des Arbeitsschrittes


Beispiele

Eigenen SQL in der WHERE clause einfügen

Füge zuerst ein eigenes SQL Feld hinzu, um subselects oder weitere Bedingungen zu dem SQL hinzuzufügen.
Dies fügt dem gesammten SQL welcher generiert wird, den Fett hervorgehobenen Teil aus den Beispielen hinzu.


  • Es sollen die Objekte identifiziert werden, an welchen ein bestimmter Mitarbeiter an einem bestimmten vorangehenden Arbeitsschritt zuletzt gearbeitet hat.
 SQL = (select ls_an_seq1 from dleistungen where ls_hz_seq=94 and ls_do_seq=do_seq order by ls_erfdatum desc limit 1)=407
 select * from ddateienordner where (select ls_an_seq1 from dleistungen where ls_hz_seq=94 and ls_do_seq=do_seq order by ls_erfdatum desc limit 1)=407 and do_seq=MeineAktuelleDOSEQ