Skip to main content
Skip table of contents

Ermitteln des Kalkulationsergebnisses

Technische Dokumentation

Komponentenübersicht

Prozesse

  • C12SYNPull

Skriptbibliothek

  • SC12SYNUtils

  • SC12SYNTests

Globale Variablen

  • C12SYN_ClientID

  • C12SYN_URL_requestToken

  • C12SYN_ClientCredentials

  • C12SYN_URL

Administrationsmöglichkeiten

Administrationsmöglichkeiten durch folgende globale Variablen:

Die Werte für diese Variablen sind bei Syneco zu erfragen/beantragen.

Globale Variable

Beschreibung

C12SYN_URL_requestToken

URL zur Abfrage des Tokens

C12SYN_ClientID

ClientID zur Abfrage des Tokens

C12SYN_ClientCredentials

Passwort zur Abfrage des Tokens

C12SYN_URL

URL zum Zugriff auf Synection

Übersteuerungsmöglichkeiten

Grundsätzlich können die mit dem Modul bereitgestellten Komponenten wie BPM-Prozesse, -teilprozesse, Suchen und Skriptbibliotheksmethoden übersteuert werden, um diese an individuelle Anforderungen und Bedürfnisse anzupassen. Nach dem Einspielen eines Moduls sollte geprüft werden, ob bereits Skriptmethoden im Projekt übersteuert wurden und ob die Methodenänderung aus dem Standard im Projekt übernommen werden soll.

Ablaufbeschreibung

Ermitteln des Kalkulationsergebnisses

Nach der Übertragung der Kalkulationsparameter zu einem Angebot startet Synection die Kalkulation. Dies kann einige Zeit in Anspruch nehmen und erfolgt deshalb asynchron. Als Ergebnis der Übertragung wird deshalb nur eine URL zurückgeliefert, die im Angebot eingetragen wird (siehe 4. Ergebnis eintragen).

Um das eigentliche Ergebnis von Synection zu ermitteln, wird deshalb der Prozess C12SYNPull in zyklischen Abständen gestartet. Er ermittelt alle Angebote mit dem Status "IN KALKULATION", die eine Vorgangs-ID (C12InstanceID.Quote) besitzen, die den Text "syneco.net" enthält.

Die in der Vorgangs-ID gespeicherte URL wird dann aufgerufen, um das Ergebnis von Synection zu lesen. Wie beim Übertragen der Kalkulationsparameter wird hier in 3 Schritten gearbeitet:

1. Token anfordern

Hierzu wird wie bei den Kalkulationsparametern die Methode SC12SYNUtils.getToken() aufgerufen.

2. Webservice aufrufen

Dies geschieht ebenfalls mit der Methode SC12SYNUtils.httpTransfer(). Im Gegensatz zur Übertragung der Kalkulationsparameter wird hier jedoch die Aktion GET verwendet. Da die URL bereits alle Informationen enthält, sind keine weiteren Parameter mehr notwendig.

3. Ergebnis eintragen

Dazu wird die Methode SC12SYNUtils.storeCalculatedResult() aufgerufen. Sie ermittelt die Komponente "status" aus der Antwort des Webservices. Im Fall status=OFFERED oder status=EXPIRED trägt sie das Ergebnis in EVI ein. Dazu werden folgende Werte gesetzt:

Ergebnis Webservice

Zielfeld EVI

calculatedQuantity

C12MengeLZ.C12VARIANT, C12MengeLZ.PriceCalc

price

C12EP_CTKWH.C12VARIANT, C12EP_CTKWH.PriceCalc

externalId

enthält den PK und dient zur Ermittlung der Variante (C12VARIANT)

Außerdem wird der Status des Angebots, der Varianten und der Preiskalkulationen auf "KALKULIERT" gesetzt.

Liefert der Webservice den status = ERROR, dann wird der Status des Angebots, der Varianten und der Preiskalkulationen auf "IN BEARBEITUNG" gesetzt. Der Benutzer kann dann die Daten ändern und erneut zur Kalkulation übertragen.

4. Event als Ergebnis erzeugen

Da der Prozess asynchron läuft, wird der Benutzer über ein Event informiert. Je nach Wert status, den der Webservice liefert, wird ein Event mit anderem Namen und anderem Eventresult erzeugt:

Status

Event

OPEN

Noch kein Ergebnis. Wird komplett ignoriert und beim nächsten mal nochmal abgefragt.

CALCULATED

QUOTE_CALCULATION_CLEARING

OFFERED

QUOTE_CALCULATION_FINISHED

EXPIRED

QUOTE_CALCULATION_FINISHED

REJECTED

Sollte nicht vorkommen und wird ignoriert.

CONTRACTED

Sollte nicht vorkommen und wird ignoriert.

DISCARDED

Sollte nicht vorkommen und wird ignoriert.

ERROR

QUOTE_CALCULATION_INPUTDATAERROR

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.