Lade...
 

CX_TRANSACTION - Transaktionen (Belege)

CX_TRANSACTION

Klassenhierarchie
Beschreibung:

Alle Belege eines Unternehmens werden als Transaktionen modelliert. Die Transaktionsobjekte werden mit Hilfe der jeweils spezialisierten Eingabemasken mit Daten gefüllt.

Die Verarbeitung bzw. die Verbuchung der Belege in Konten/Monitoren erfolgt über Transaktionsbeschreibungen, die den Transaktionsmanager steuern.

Es stehen folgende Klassen zur Verfügung:

 

Transaktion Objekttyp
Einfacher Beleg (Belegsposition) CX_TRANSACTION
Belegkopf mit Belegpositionen CX_COMPOUND_TXN
Allokationsbeleg (Stücklisten, Arbeitspläne) CX_ALLOCATION_TXN
Arithmetik:

CX_TRANSACTION kann zusammen mit CX_COMPOUND_TXN in einer arithmetischen Operation miteinander verknüpft werden. Erlaubt sind Addition (+) und Subtraktion (-). Es können niemals zwei CX_TRANSACTION-Objekte miteinander verknüpft werden (das würde einen Fehler auslösen), wohl aber zwei CX_COMPOUND_TXN-Objekte (oder davon abgeleitete).

Wird ein CX_TRANSACTION zu einem CX_COMPOUND_TXN oder ein CX_COMPOUND_TXN zu einem CX_TRANSACTION "addiert", so wird folgende Operation durchgeführt:

  • CX_COMPOUND_TXN erhält die CX_TRANSACTION als weitere untergeordnete Transaktion
  • In CX_TRANSACTION wird die Rückreferenz auf das CX_COMPOUND_TXN gesetzt, so dass dieses zur übergeordneten Transaktion wird

Bei einer Subtraktion wird das CX_TRANSACTION aus der Liste der untergeordneten Transaktionen bei CX_COMPOUND_TXN entfernt und die Rückreferenz auf NULL gesetzt. Wenn das CX_TRANSACTION nicht zu CX_COMPOUND_TXN gehörte, wird nur die Rückreferenz auf NULL gesetzt.

Der Rückgabewert einer solchen Addition oder Subtraktion ist immer das Objekt, das zuletzt auf den Stack gelegt wurde, natürlich wie oben beschrieben modifiziert.

Beim Zusammenspiel von CX_TRANSACTION und CX_COMPOUND_TXN spielt es keine Rolle, in welcher Reihenfolge sie im InstantView®-Code erscheinen. Bei zwei CX_COMPOUND_TXN-Objekten wird das Objekt, was zuerst auf dem Stack liegt, Teil der zweiten CX_COMPOUND_TXN in Form einer untergeordneten Transaktion.

Code-Beispiel:
// Beispiel zur Arithmetik
CreateTransObject(CX_TRANSACTION) -> txn
CreateTransObject(CX_COMPOUND_TXN) -> compound_txn

// txn wird untergeordnete Transaktion von compound_txn,
// in beiden Fällen
txn compound_txn +
compound_txn txn +

// Zusammenspiel von zwei CX_COMPOUND_TXN
CreateTransObject(CX_COMPOUND_TXN) -> compound_txn2
// compound_txn wird untergeordnete Transaktion von compound_txn2
compound_txn compound_txn2 +
// compound_txn2 wird untergeordnete Transaktion von compound_txn
compound_txn2 compound_txn +    

 

Methodenverzeichnis (MDI)
Funktion MA* Parameter Rückgabe Kurzbeschreibung
ConnectStateMonitor   OBJECT, STRING   Verbinden mit dem Status- Monitor 
FirstPredecessorByCondition   STRING, INTEGER OBJECT Untersuchen der Vorgänger- Kette. Liefert den ersten passenden Vorgänger zurück.
FirstSuccessorByCondition   STRING, INTEGER OBJECT wie FirstPredecessorByCondition nur für Nachfolger.
FlattenedUniqueID   STRING, INTEGER STRING Sortierbare UniqueID
GetProcessed   OBJECT   Als Parameter wird der vorher aus Transaktionsbeschreibungen instanziierte Transaktionsmanager übergeben. Dieser Aufruf entspricht CX_TXN_MANAGER::Process(this)
IsTopTransaction     INTEGER Prüfung, ob die Transaktion die oberste Transaktion ist.
LevelAboveBottom     INTEGER Gibt die Ebenentiefe "von unten gesehen" zurück
LevelBelowTop     INTEGER Gibt die Ebenentiefe "von oben gesehen" zurück
LogicalOrToTop   STRING OBJECT Untersuchen der Slot Inhalt der aktuelle Transaktion sowie aller übergeordneten Transaktion.
Monitor   STRING, INTEGER OBJECT Untersuchen der monitor- Collection. Liefert den ersten passenden Monitor zurück.
MonitorByCondition   STRING OBJECT Gibt den ersten Monitor zurück, der eine bestimmte Bedingung erfüllt
MonitorByUniqueID   STRING OBJECT Gibt den ersten Monitor (aus der Collection monitors) mit der uniqueID=STRING
MultiplyToTop   STRING OBJECT Slot Inhalt bis zu höchsten Ebene auf multiplizieren 
MultiplyToTopByCondition   STRING, STRING OBJECT  
PostStateByUniqueID   STRING OBJECT Vorschauende Rückgabe des Status-Monitors, d.h. analoger Aufruf zu TriggeredStateMonitor() aber OHNE Weiterschalten der Transaktion
Predecessors   INTEGER COLLECTION Gibt eine Collection aller Vorgänger zurück 
PredecessorsByCondition   STRING, INTEGER COLLECTION Vorgänger-Kette rekursiv mit eine  Bedingung untersuchen
PredecessorsOfTopType   STRING, INTEGER, INTEGER COLLECTION Gibt alle Vorgänger zurück, die zu einer bestimmten Klasse gehören
PredecessorsTop   INTEGER COLLECTION Gibt eine Collection aller obersten Transaktionen von allen Vorgänger zurück
PreviousToPostState   STRING OBJECT testet, ob der über uniqueID ausgewählte Statusmonitor der Vorgänger des Statusmonitors ist
RemoveStateMonitor   STRING   Status-Monitor nach uniqueID finden und Verbindung lösen 
SanityCheck     INTEGER Prüfung auf Konsistenz des Objektes
SetStateMonitor   STRING, OBJECT   Status-Monitor nach uniqueID finden und die Verbindung zum neuen Status-Monitor umleiten
SmartUniqueID     STRING uniqueIDs dieser und der übergeordneten Transaktionen, etwas intelligenter formatiert als in UniqueID()
StateMonitor   STRING OBJECT Status-Monitor nach uniqueID (STRING) finden (nicht gewrappt)
StateMonitorWrapper   STRING OBJECT Status-Monitor nach uniqueID finden
Successors   INTEGER COLLECTION Gibt eine Collection aller Nachfolger zurück
SuccessorsByCondition   STRING, INTEGER COLLECTION Nachfolger-Kette rekursiv mit eine  Bedingung untersuchen
SuccessorsOfTopType   STRING, INTEGER, INTEGER COLLECTION Gibt alle Nachfolger zurück, die zu einer bestimmten Klasse gehören
SuccessorsTop   INTEGER COLLECTION Gibt eine Collection aller obersten Transaktionen von allen Nachfolger zurück
TopTransaction     OBJECT Liefert die oberste Transaktion
TotalSlotValue   STRING OBJECT Slotinhalt zurückgeben, wenn es ein CX_VALUE ist
Transaction   INTEGER OBJECT Liefert die Transaktion des n. Levels
TriggeredStateMonitor   STRING OBJECT Versucht Status-Monitor weiterzuschalten und gibt den neuen Status-Monitor (nicht gewrappt) zurück
TriggeredStateMonitorWrapper   STRING OBJECT Versucht Status-Monitor weiterzuschalten und gibt den neuen Status-Monitor (gewrappt) zurück
UniqueID     STRING uniqueIDs dieser und der übergeordneten Transaktionen 
UniqueIDIndexMaint   INTEGER, OBJECT INTEGER für automatische Index-Maintenance de ClassiX-Systems - nicht mit  InstantView®-Code aufrufen
UniqueIDIndexMaint2   INTEGER, OBJECT INTEGER für automatische Index-Maintenance de ClassiX-Systems - nicht mit  InstantView®-Code aufrufen
WorkflowRoute   STRING COLLECTION Liste aller Status-Monitore
ClassFilter   STRING, INTEGER OBJECT Dieses Objekt, wenn es einer bestimmten Klasse entspricht
ConditionedFilter   STRING OBJECT  
ConditionedFilter2   OBJECT OBJECT  
Deleted     INTEGER Objekt als gelöscht markiert?
Description     STRING Bezeichnung dieses Objektes
GetDomain     INTEGER Domain dieses Objektes
GetSiblings     COLLECTION Alle Siblings dieses Objektes
GetSiblings2     COLLECTION Alle Siblings dieses Objektes
GetSlotEntries     VECTORject> Rückgabe von internen Informationen zu Slots
LastUpdate     OBJECT Datum des letzten Schreibzugriffs
LastUser     INTEGER User, der zuletzt schreibend auf das Objekt zugegriffen hat
Link   OBJECT   Dieses Objekt in die Liste der Objekte mit Gültigkeit einfügen
NextValidObject     OBJECT Zeitlich nachfolgendes Gültigkeitsobjekt
PrePostUpdate   INTEGER, OBJECT   Protokollierung von Änderungen
PreviousValidObject     OBJECT Zeitlich vorangehendes Gültigkeitsobjekt
RestrictedValidity *     Gültigkeitsbereich eingeschränkt?
SetDomain   INTEGER, INTEGER   Domain setzen
ShortName     STRING Kurzbezeichnung dieses Objektes
Siblings *     Objekte mit Gültigkeit
SpanDateValidity *     Gültigkeitsspanne
string   INTEGER CX_STRING Liefert die String-Darstellung des Objektes
Unlink       Dieses Objekt aus der Liste der Objekte mit Gültigkeit entfernen
Unlink2       Dieses Objekt aus der Liste der Objekte mit Gültigkeit entfernen
Valid   OBJECT INTEGER Gültigkeit prüfen
ValidSince     OBJECT Beginn der Gültigkeitsspanne
ValidToday     INTEGER Heute gültig?
ValidUntil     OBJECT Ende der Gültigkeitsspanne
VerifySiblings     INTEGER Ring der Austauschobjekte prüfen

* MA = Member-Access-Funktion,
grau unterlegt = geerbte Funktion

 

Datenverzeichnis (DDI)
Datenfeld Typ Referenz-Klasse I* Kurzbeschreibung
monitors REL_MN CX_MONITOR   Monitors
transaction REL_1M CX_TRANSACTION   Übergeordnete Transaktion
transactionStatusEnum ENUMCHAR     Typ der Transaktion (Bitmuster):
Bit 0 (1): nicht gesetzt = angelegt, gesetzt = registriert (verbucht);
Bit 1 (2): gesetzt = wartend;
Bit 2 (4): gesetzt = gestartet;
Bit 3 (8): gesetzt = unterbrochen (Sperrvermerke);
Bit 4 (16): gesetzt = beendet (Offene Posten);
Bit 5 (32): gesetzt = aufgehoben;
Bit 6 (64) gesetzt = übergeben
txnManagerID SHORT     Bezeichner des Txn-Managers
uniqueID STRING   * Eindeutiger Schlüssel
validity POINTER CX_VALIDITY   Gültigkeitszeitraum des Objektes

* I = Indizierbares Datenfeld,
grau unterlegt = geerbtes Datenfeld




Suche im PlugSpace
Reihenfolge Beschreibung
1 Wie CX_EXPANDABLE.
2 Es wird "der Baum" über das Datenfeld "transaction" nach oben durchwandert und jeweils geplugged und durchsucht.

 

Verwendung in AppsWH
Modul Kurzbeschreibung
assetrep.mod Anlagegüter Auswertungsmodul
carbonco.mod Verteilermodul
cobjrept.mod Kostenträgerauswertungsmodul
ecvatsta.mod Zusammenfassende Meldung Modul
finabook.mod Finanzbuchhaltungsbuchung Editiermodul
fwdfabal.mod Fibu Saldenvortragsmodul
loggicid.mod geänderte Teileanforderungsposition
loggipit.mod
     loggipit.htm Arbeitsvorrat
     loggings.htm Auftragspositionen im Status zu produzieren Transaktionen Selektionsmodul
loggiwfl.mod
     loggipoi.htm Bereitstellung Basismodul
     loggirit.htm Bereitstellung Basismodul
     loggitap.htm Technische Freigabe Basismodul
     loggings.htm Workflow Transaktionen Selektionsmodul
loggipoi.mod Bereitstellungen Selektionsmodul
loggings.mod
     loggirec.htm Transaktionen Basismodul
     loggings.htm Transaktionen Basismodul
loggirec.mod
     loggirec.htm Wareneingangspositionen Transaktionen Selektionsmodul
     loggings.htm Wareneingangspositionen Transaktionen Selektionsmodul
loggirit.mod Bereitstellungen Selektionsmodul
txnhisto.mod Transaktionshistorie Basismodul
bpihisto.mod Beleghistorie Modul
bprhisto.mod Historie der Belegpositionen Modul
payhisto.mod Zahlungshistorie Modul
loggiapp.mod Zu genehmigende Bedarfsanforderungen Selektionsmodul
loggicos.mod Kostentransaktionen Selektionsmodul
loggifac.mod Finanztransaktionen Selektionsmodul
loggiopa.mod Finanztransaktionen (Offene Posten) Selektionsmodul
loggiocr.mod Finanztransaktionen (Kreditor) Selektionsmodul
loggiode.mod Finanztransaktionen (Debitor) Selektionsmodul
loggioex.mod Finanztransaktionen (Spesen) Selektionsmodul
loggiprq.mod Genehmigte Bedarfsanforderungspositionen Selektionsmodul
loggisel.mod Transaktionen Selektionsmodul
loggisto.mod Lager Transaktionen Selektionsmodul
loggibom.mod Auftragspositionen im Status (Stückliste erstellen) Transaktionen Selektionsmodul
loggidit.mod Auftragspositionen im Status (Teile disponiert) Transaktionen Selektionsmodul
loggidsp.mod Auftragspositionen im Status (Stückliste erstellt) Transaktionen Selektionsmodul
loggipor.mod Bestellpositionen Transaktionen Selektionsmodul
loggitap.mod Auftragspositionen im Status (Freigabe Technik) Transaktionen Selektionsmodul