Wurde ein Antrag erfolgreich in der Detailmaske der Urlaubsverwaltung gestellt, laufen mehrere Prozesse zur Abarbeitung.
Alle Anträge durchlaufen eine, in den Basisparametern hinterlegte Hierarchie zur Genehmigung. Ist diese angelegt, wird sie aufsteigend (von unten nach oben) durchlaufen.
Hinweis: Es muss hier die Art „Urlaub“ gewählt werden!
Damit die Abarbeitung der Genehmigungshierarchie funktioniert wurden entsprechende Historienevents mit Workflows ausgestattet. Allgemeine Infos zu Workflows finden Sie hier.
Hinweis: Es ist wichtig, dass das Kennzeichen „Ausführung im Hintergrund (über Workflow-Engine)“ auf ja gesetzt und das Kennzeichen „Message-Dialogwindow“ auf nein gesetzt wird. Somit wird gewährleistet, dass sämtliche Workflows bzw. Urlaubanträge im Hintergrund abgearbeitet werden.
Die Workflows für die Urlaubsverwaltung sind wie folgt aufgebaut:
Benötigt wird hier eine Formel, durch die der Platzhalter &(RESULTMAILEMPFAENGER) gefüllt wird:
declare
enddeclare
begin
RESULTMAILEMPFAENGER = ckey2;
if ckey2 != '' then
return true;
endif;
end
Thema und Text können durch Platzhalter gefüllt werden. Beispiele finden Sie weiter unten.
Benötigt wird hier eine Formel, durch die der Platzhalter &(RESULTMAILEMPFAENGER) gefüllt wird:
declare
sb_nr_antrag = integer not null with default,
sb_name_antrag = varchar(64) not null with default,
enddeclare
begin
select :sb_nr_antrag = sb_antrag
from pze_urlaub_todo_ctrl
where id_antrag = :ckey1
and status = 5;
select :sb_name_antrag = sb_benutzer_profil
from sta_sachbearbeiter_stamm
where sachbearbeiter_nummer = :sb_nr_antrag;
if sb_name_antrag != '' then
RESULTMAILEMPFAENGER = sb_name_antrag;
return true;
endif;
end
Benötigt wird hier eine Formel, durch die der Platzhalter &(RESULTMAILEMPFAENGER) gefüllt wird:
declare
enddeclare
begin
RESULTMAILEMPFAENGER = ckey2;
if ckey2 != '' then
return true;
endif;
end
Benötigt wird hier eine Formel, durch die der Platzhalter &(RESULTMAILEMPFAENGER) gefüllt wird:
declare
sb_nr_antrag = integer not null with default,
sb_name_antrag = varchar(64) not null with default,
enddeclare
begin
select :sb_nr_antrag = sb_antrag
from pze_urlaub_todo_ctrl
where id_antrag = :ckey1
and status = 5;
select :sb_name_antrag = sb_benutzer_profil
from sta_sachbearbeiter_stamm
where sachbearbeiter_nummer = :sb_nr_antrag;
if sb_name_antrag != '' then
RESULTMAILEMPFAENGER = sb_name_antrag;
return true;
endif;
end
Für eine übersichtliche Darstellung, der in den Wofls definierten ToDos sind einige Platzhalter sinnvoll.
Diese wurden wie folgt definiert: