Projekt

Allgemein

Profil

TSystem Wawi » Historie » Revision 17

Revision 16 ([X] Daniel S, 20.06.2019 17:48) → Revision 17/21 ([X] Daniel S, 20.06.2019 17:51)

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@ @beleg_k__a_30_u__wert__propagate@ > übergibt Kopfdaten an Positionen : Steuern, Währung usw. bei Wechsel dieser 
 * @b_390_iu__wert__possum__tot__calculated@ @beleg_k__b_35_iu__wert__possum__tot__calculated@ > berechnet die Totalwerte aus Einzelsummen (wert + abzu = tot) 

 *Position:* 
 * @p__b_01_iu__p_nummer@ @beleg_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@ @beleg_p__b_05_i__defaults@ > Defaults und Vorbereitungen  
 * @b_220_iu__menge__uf@ @beleg_p__b_20_iu__menge__uf@    > Berechnet Menge in UF1 
 * @b_330_iu__wert__possum@ @beleg_p__b_30_iu__wert__possum@ > Berechnet Preis, Preiseinheit totalwerte der Position > TODO: Beachte vkptotalpos 
 * @b_390_iu__wert__possum__tot__calculated@ @beleg_p__b_35_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@ @beleg_p__a_30_u__wert__propagate@ > Steuern an Subdaten (abzuschläge)   
 * @p__a_350_u__wert__propagate__abzu_p@ @beleg_p__a_35_u__wert__propagate__abzu_p@ > zum Aktualisieren abzu (Prozentualer Abzuschlag, k_rund_faktor change?!) 
 * @p__a_390_iud__wert__propagate__beleg_k@ @beleg_p__a_39_iud__wert__propagate__beleg_k@ 

 *abzuschläge* 
 * @b_050_i__defaults@ @abzu_p__b_05_i__defaults@ > Defaultwerte aus Vorgängern 
 * @b_330_iu__wert@ @abzu_p__b_30_iu__wert@ > totalwerte 
 * @a_390_iud__wert__propagate@ @abzu_p__a_30_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)