TSystem Wawi » Historie » Revision 20
Revision 19 ([X] Daniel S, 28.08.2019 08:51) → Revision 20/21 ([X] Daniel S, 28.08.2019 09:08)
h1. TSystem Wawi Grundtabellen für ERP (Warenwirtschaft), PARTS für Funktionsbereiche : Kopf, Position, Artikel usw. <pre> SCHEMA: TSystem_Wawi - alle Strukturfunktionen und Tabellen - Tabellen liegen nur in einzelteilen vor um Features durch Ableitung zu vererben - Besonderheit: Abzuschlag nicht geclustert. (abzu_x) </pre> * *TWawi.beleg_k; TWawi.beleg_p* + Enthält grundsätzlich Strukturen für Warenwirtschaft (Ableitungen inkl Preise usw) zzgl Wawi-Basis-Felder (Projekt, Kontierung, Referenzen usw) <pre> Trigger werden erst in TWawi einheitlich über Funktion konkret angehangen. Es gibt Funktionen zum Anhängen der Trigger welche nur den Tabellennamen übergeben bekommen. - Die grundsätzlichen Triggerfunktionen sind in TSystem_Wawi abgelegt. Im Schema TWawi sind nur "Einzelne Trigger" - Damit ist klar ersichtlich, welche Funktionen über alle Tabellen und welche nur über einzelne abgebildet sind. </pre> h2. *Grundsätzliche Idee* h3. Globale Trigger für alle Wawi Vorgänge SOWIE Tabellen mit Position, Menge, Preis * Zeilen nehmen im Insert - wenn nicht anders angegeben - automatisch Header Defaults (Währung, Steuern) + Trigger: *....b_050_i_defaults* > Texte, Gesamwerte usw. an Kopf, Position, Abzuschlägen * Mengen werden in Triggern "20" bearbeitet. + Trigger: *....b_2X0_iu__menge__uf* (war stkvkpuf1) * Trigger: *....b_3X0_iu__wert* > Werte, Preis und Preiseinheiten * Ab *390* sind Kopfwerte aktualisiert (Abzuschlag Kopfbezogen prozentual kann erst ab 400 berechnet werden) * Parent > Child übergibt Änderungen von Währung, Steuern usw. in gleiche Datensätze (damit ist es möglich, das Unterdatensätze manuell geändert werden) + Trigger: *...._a_3X_...propagate* > Übergibt Daten an Child bzw. Kopftabellen * Alle Werte liegen in Einzelnen Feldern vor (..wert_abzu_netto, wert_abzuk_netto) * Gesamtrabatt wird in Spezifischen Trigger vorgesetzt. @TWawi.beleg_p__verkauf.beleg_p__b_31_iu__wert__possum__rabattgesamt@ h3. Funktion, welche Trigger und Constraints an Ableitungen anhängt * TSystem_Wawi.beleg_X__trigger__all__create > Trigger siehe unten * TSystem_Wawi.beleg_X__constraints__all__create > FOREIGN KEY, PRIMARY KEY usw *Beziehungen:* * Beleg_K : k_id * Beleg_P : p_k_id * Abzu_P : az_p_id bei Positionsbezogenem Abzuschlag * Abzu_P : az_k_id bei Kopfbezogenem Abzuschlag h3. *Trigger:* * @beleg_k__b_00_i__relation@; beleg_p__b_00_i__relation >> source eintragen *Kopf:* * @a_?_u__wert__propagate@ > übergibt Kopfdaten an Positionen : Steuern, Währung usw. bei Wechsel dieser * @b_390_iu__wert__possum__tot__calculated@ > berechnet die Totalwerte aus Einzelsummen (wert + abzu = tot) *Position:* * @p__b_01_iu__p_nummer@ >> Kompatibilität : Holen oder Anlegen von p_k_id (INSERT INTO belzeil (be_bnr) .... keine p_k_id) * @b_050_i__defaults@ > Defaults und Vorbereitungen * @b_220_iu__menge__uf@ > Berechnet Menge in UF1 * @b_330_iu__wert__possum@ > Berechnet Preis, Preiseinheit totalwerte der Position > TODO: Beachte vkptotalpos * @b_390_iu__wert__possum__tot__calculated@ > berechnet netto + abzu. Wird im After von Abzu angestossen indem netto_wert_abzu übergeben wird * @p__a_?_u__wert__propagate@ > Steuern an Subdaten (abzuschläge) * @p__a_350_u__wert__propagate__abzu_p@ > zum Aktualisieren abzu (Prozentualer Abzuschlag, k_rund_faktor change?!) * *@p__a_390_iud__wert__propagate__beleg_k@* Kopfwerte ausrechnen @p__a_390_iud__wert__propagate__beleg_k@ *abzuschläge* * @b_050_i__defaults@ > Defaultwerte aus Vorgängern * @b_330_iu__wert@ > totalwerte * @a_390_iud__wert__propagate@ + Rückübergabe Werte an Belegzeile, dort beleg_p__b_35_iu__possum__tot__calculated > beleg_p__a_39_iud__wert__propagate__beleg_k + Rückgabe der Kopfbezogenen Abzuschläge an beleg_k. Dort ...possum__tot__calculated h3. Datenfluß: * beleg_k > beleg_p > abzu_p* > beleg_p > beleg_k | *abzu_p > beleg_k (Kopfbezogen abzuschläge) + Im Satz: Positionen wird berechnet. Position gibt TotalWert an Kopf. Anschliessend wird von Position aus die Abzuschlagsberechnung angestossen. >> Alle Berechnungen werden durch die Position ausgelöst.