PC 894 Angebot erstellen
Gilt auch für
PC 895 Angebot kalkulieren
Um den nachfolgend beschriebenen Workflow zu realisieren, bedarf es spezieller Voraussetzungen, unter anderem muss eine SQL-Kommunikationsdatei existieren.
Bei Interesse bitte beim Softwarelieferanten nachfragen.
-
Auf einem Internetserver (IIS) läuft ein infra Dienst (infra WebApi), der Anfragen von einem externen System über eine REST-API entgegennehmen kann.
-
Über ein externes System (z.B. einem Webshop – hier: Worldiety) wird eine Anfrage mit spezifischen Daten zu einem zu kalkulierenden Teil an die infra WebApi übergeben. Die WebApi erstellt aus der Anfrage je angefragter Position einen Datensatz mit einer eindeutigen Kalkulations-ID in einer Kommunikationstabelle (SF_CalculationRequests) der infra SQL-Datenbank. Die darin enthaltene Statusspalte wird auf „Recorded“ gesetzt.
-
Anschließend erstellt die WebApi einen Datensatz mit Verweis auf die o.g. Kalkulations-ID in der infra-Verbuchertabelle (SQL) zur Generierung eines Angebots aus den in der SQL-Kommunikationstabelle abgelegten Anfragedaten (siehe Kapitel „448 Angebot erstellen (PC 894)".
-
Die Daten für das zu erzeugende Angebot werden von der Verbucher-Aktion über die eingetragene Kaklulations-ID aus der SQL-Kommunikationstabelle übernommen. Das Angebot wird in infra angelegt. Falls das Angebot alle Prüfkriterien (individuelle Prüfungen auf kundenspezifische Felder) erfüllt, wird eine Kennung im Auftragskopf gesetzt.Bei der Ausführung der Aktion wird der Status in der SQL-Kommunikationstabelle auf „InProgress“ gesetzt.
-
Über SQL-Trigger werden beim Erstellen der Angebotspositionen und bei der Änderung der o.g. Kennung im Auftragskopf die SQL-Schnittstellestellentabellen für den Schnittoptimierer (IBE) „Infra_IBE_KalkHeader“ und „Infra_IBE_KalkPos“ versorgt.
-
Der Schnittoptimierer berechnet anhand der übergebenen Spezifikationen alle für die Kalkulation notwendigen Kosten und Materialverbräuche und stellt das Ergebnis in der SQL-Tabelle „Infra_IBE_KalkPos“ ab.
-
Über einen weiteren SQL-Trigger werden die Ergebnisse des Schnittoptimierers über die Verbucherschnittstelle „Konfigurierbare Daten in Datei (ohne INI), 31M-PC919.IPS (PC 919)“ in das Angebot zurückgeschrieben und der Status der Anfrage in der SQL-Kommunikationstabelle auf „Processed“ gesetzt.
-
Das externe System (hier Worldiety) erfragt über die infra WebApi den Status der übergebenen Anfragen. Bei Status „Processed“ holt das externe System über einen weiteren infra WebApi-Endpunkt die kalkulierten Angebotsdaten des aktuellen Angebots und aller Angebote aus der Vergangenheit ab und ermittelt eine Gewinn-Marge zum aktuellen Angebot. Diese Marge wird über einen weiteren infra WebApi-Endpunkt übergeben und von der WebApi in die SQL-Kommunikationstabelle übernommen. Dabei wird der Status auf „Calculated“ gesetzt und durch die WebApi zwei Datensätze in die infra Verbuchertabelle geschrieben.Einmal mit Postingcode 919 zur Übernahme der Marge in die Angebotsposition („Konfigurierbare Daten in Datei (ohne INI), 31M-PC919.IPS (PC 919)“) und einmal mit Postingcode 895 zur erneuten Kalkulation des Angebots (siehe Kapitel „448 Angebot erstellen (PC 894)".
-
Danach ist das Angebot zur Weiterverarbeitung durch die Mitarbeiter freigegeben.
