Lade...
 

CX_SYSTEM_OBJECT::EnableTxnMgrTracing

CX_SYSTEM_OBJECT::EnableTxnMgrTracing

Beschreibung:

Die Verarbeitung einer Transaktion durch den Transaktions-Manager (Funktion GetProcessed) wird protokolliert. Als Parameter ist der Filename des Protokolls anzugeben. Der Trace-Modus kann mittels der DisableTxnMgrTracing wieder abgeschaltet werden, andernfalls bleibt er aktiv bis zum nächsten Start des ClassiX®-Systems.

Code-Beispiel:

"txntrace.log" SystemObject Call(EnableTxnMgrTracing)
 . . .
 txnMgr transaction Call(GetProcessed)
 . . .
 SystemObject Call(DisableTxnMgrTracing)

 

 

Achtung: Diese Methode ist inzwischen in den PROFILE-Manager gewandert. Der neue Aufruf, der zu dem Codebeispiel oben äquivalent ist, lautet wie folgt:

 

"txntrace.log" GetManager(PROFILE) Put(FileName()) 8 GetManager(PROFILE) Call(Start) // 8 = C++ traces txnMgr transaction Call(GetProcessed) GetManager(PROFILE) Call(Stop)

Der PROFILE-Manager schreibt das Log im XML-Format.

 

Stack
Stack Position Objekttyp Kurzbeschreibung
Stack(In) Top STRING Name der Datei für das Trace-Protokoll
Stack(Out) Top -  

Funktionsaufruf: SystemObject Call(EnableTxnMgrTracing)

Was erscheint im Protokoll?

  • die Instantiierung des transienten Transaktionsmanagers, mit Angabe der Log-Descriptoren
  • Aufruf der Funktion Process(), wobei für alle involvierten Objekte die Location in der Datenbank angegeben ist

Beispiel:

CX_TXN_MANAGER 32 instantiated: 1 - Log Descriptor (LD) 0 - block index debitAccount 0 - block index TopTransaction().balancingPeriod.mainPeriod.term 2 - Log Descriptor (LD) 0 - block index TopTransaction().balancingPeriod.term 1 - Log Descriptor (LD) 0 - block index debitAccount 1 - Log Descriptor (LD) 0 - block index creditAccount 0 - block index TopTransaction().balancingPeriod.mainPeriod.term 2 - Log Descriptor (LD) 0 - block index TopTransaction().balancingPeriod.term 1 - Log Descriptor (LD) 0 - block index creditAccount 1 - Log Descriptor (LD) AUTO_OPEN_ITEM_BALANCE 0 - block index openItemAccount 1 - Log Descriptor (LD) 0 - block index openItemAccount 0 - block index TopTransaction().balancingPeriod.mainPeriod.term 2 - Log Descriptor (LD) 0 - block index TopTransaction().balancingPeriod.term 1 - Log Descriptor (LD) 0 - block index costTypeAccount 0 - block index TopTransaction().balancingPeriod.mainPeriod.term 2 - Log Descriptor (LD) 0 - block index TopTransaction().balancingPeriod.term 2 - Log Descriptor (LD) 0 - block index costCenterAccount 1 - block index TopTransaction().balancingPeriod.mainPeriod.term 3 - Log Descriptor (LD) 0 - block index TopTransaction().balancingPeriod.term 1 - Log Descriptor (LD) 0 - block index costCenterAccount 0 - block index TopTransaction().balancingPeriod.mainPeriod.term 2 - Log Descriptor (LD) 0 - block index TopTransaction().balancingPeriod.term 1 - Log Descriptor (LD) 0 - block index costObjectiveAccount 0 - block index TopTransaction().balancingPeriod.mainPeriod.term 2 - Log Descriptor (LD) 0 - block index TopTransaction().balancingPeriod.term ------------------------------------------------------------------ CX_TXN_MANAGER 64 instantiated: 1 - Log Descriptor (LD) 0 - block index debitAccount 0 - block index TopTransaction().balancingPeriod.mainPeriod.term 2 - Log Descriptor (LD) 0 - block index TopTransaction().balancingPeriod.term 1 - Log Descriptor (LD) 0 - block index creditAccount 0 - block index TopTransaction().balancingPeriod.mainPeriod.term 2 - Log Descriptor (LD) 0 - block index TopTransaction().balancingPeriod.term 1 - Log Descriptor (LD) 0 - block index openItemAccount 0 - block index TopTransaction().balancingPeriod.mainPeriod.term 2 - Log Descriptor (LD) 0 - block index TopTransaction().balancingPeriod.term ------------------------------------------------------------------ CX_TXN_MANAGER 128 instantiated: 1 - Log Descriptor (LD) 0 - block index openItemAccount ------------------------------------------------------------------ Process(CX_OPEN_ITEM_TXN <0|190|0|38b130|10000>, NULL, NULL) txnManagerID = 32 LD = Dimensions(debitAccount, CX_OPEN_ITEM_TXN <0|190|0|38b130|10000>) LD = dimConstraint = CX_FORMULA LD = Dimensions(creditAccount, CX_OPEN_ITEM_TXN <0|190|0|38b130|10000>) LD = dimConstraint = CX_FORMULA LD = AUTO_OPEN_ITEM_BALANCE Dimensions(openItemAccount, CX_OPEN_ITEM_TXN <0|190|0|38b130|10000>) dimVector[0] = CX_DEBIT_ACCOUNT <0|48|0|ca8|10000> SendPreDimMsg(CX_DEBIT_ACCOUNT <0|48|0|ca8|10000>, CX_OPEN_ITEM_TXN <0|190|0|38b130|10000>) returning 1 CX_DEBIT_ACCOUNT <0|48|0|ca8|10000>->Log(CX_OPEN_ITEM_TXN <0|190|0|38b130|10000>, AUTO_OPEN_ITEM_BALANCE) LD = Dimensions(openItemAccount, CX_OPEN_ITEM_TXN <0|190|0|38b130|10000>) Dimensions(TopTransaction().balancingPeriod.mainPeriod.term, CX_OPEN_ITEM_TXN <0|190|0|38b130|10000>) dimVector[0] = CX_DEBIT_ACCOUNT <0|48|0|ca8|10000> dimVector[1] = CX_SPAN_DATE <0|98|0|47ec|10000> dimVector[0]->Core()->DataCubeCore(...) returning CX_LOG_CUBE <0|48|0|d8d4|10000> CX_LOG_CUBE <0|48|0|d8d4|10000>->Log(CX_OPEN_ITEM_TXN <0|190|0|38b130|10000>, ) Process(CX_OPEN_ITEM_TXN <0|190|0|38b130|10000>, , CX_LOG_CUBE <0|48|0|d8d4|10000>) txnManagerID = 32 LD = Dimensions(TopTransaction().balancingPeriod.term, CX_OPEN_ITEM_TXN <0|190|0|38b130|10000>) dimVector[0] = CX_SPAN_DATE <0|98|0|4880|10000> CX_LOG_CUBE <0|48|0|d9d4|10000>->Log(CX_OPEN_ITEM_TXN <0|190|0|38b130|10000>, ) LD = Dimensions(costTypeAccount, CX_OPEN_ITEM_TXN <0|190|0|38b130|10000>) LD = Dimensions(costCenterAccount, CX_OPEN_ITEM_TXN <0|190|0|38b130|10000>) LD = Dimensions(costObjectiveAccount, CX_OPEN_ITEM_TXN <0|190|0|38b130|10000>) Process(CX_TRANSACTION <0|190|0|38b268|10000>, NULL, NULL) txnManagerID = 32 LD = Dimensions(debitAccount, CX_TRANSACTION <0|190|0|38b268|10000>) LD = dimConstraint = CX_FORMULA LD = Dimensions(creditAccount, CX_TRANSACTION <0|190|0|38b268|10000>) Dimensions(TopTransaction().balancingPeriod.mainPeriod.term, CX_TRANSACTION <0|190|0|38b268|10000>) dimVector[0] = CX_FINANCIAL_ACCOUNT <0|66|0|2bb2c|10000> dimVector[1] = CX_SPAN_DATE <0|98|0|47ec|10000> dimVector[0]->Core()->DataCubeCore(...) returning CX_LOG_CUBE <0|66|0|193000|10000> CX_LOG_CUBE <0|66|0|193000|10000>->Log(CX_TRANSACTION <0|190|0|38b268|10000>, ) Process(CX_TRANSACTION <0|190|0|38b268|10000>, , CX_LOG_CUBE <0|66|0|193000|10000>) txnManagerID = 32 LD = Dimensions(TopTransaction().balancingPeriod.term, CX_TRANSACTION <0|190|0|38b268|10000>) dimVector[0] = CX_SPAN_DATE <0|98|0|4880|10000> CX_LOG_CUBE <0|66|0|193124|10000>->Log(CX_TRANSACTION <0|190|0|38b268|10000>, ) LD = dimConstraint = CX_FORMULA LD = AUTO_OPEN_ITEM_BALANCE Dimensions(openItemAccount, CX_TRANSACTION <0|190|0|38b268|10000>) LD = Dimensions(openItemAccount, CX_TRANSACTION <0|190|0|38b268|10000>) LD = Dimensions(costTypeAccount, CX_TRANSACTION <0|190|0|38b268|10000>) LD = Dimensions(costCenterAccount, CX_TRANSACTION <0|190|0|38b268|10000>) LD = Dimensions(costObjectiveAccount, CX_TRANSACTION <0|190|0|38b268|10000>) Process(CX_FINANCIAL_BOOKING <0|190|0|38af50|10000>, NULL, NULL) txnManagerID = 32 LD = Dimensions(debitAccount, CX_FINANCIAL_BOOKING <0|190|0|38af50|10000>) Dimensions(TopTransaction().balancingPeriod.mainPeriod.term, CX_FINANCIAL_BOOKING <0|190|0|38af50|10000>) dimVector[0] = CX_FINANCIAL_ACCOUNT <0|66|0|3f294|10000> dimVector[1] = CX_SPAN_DATE <0|98|0|47ec|10000> dimVector[0]->Core()->DataCubeCore(...) returning CX_LOG_CUBE <0|66|0|1927c0|10000> CX_LOG_CUBE <0|66|0|1927c0|10000>->Log(CX_FINANCIAL_BOOKING <0|190|0|38af50|10000>, ) Process(CX_FINANCIAL_BOOKING <0|190|0|38af50|10000>, , CX_LOG_CUBE <0|66|0|1927c0|10000>) txnManagerID = 32 LD = Dimensions(TopTransaction().balancingPeriod.term, CX_FINANCIAL_BOOKING <0|190|0|38af50|10000>) dimVector[0] = CX_SPAN_DATE <0|98|0|4880|10000> CX_LOG_CUBE <0|66|0|193224|10000>->Log(CX_FINANCIAL_BOOKING <0|190|0|38af50|10000>, ) LD = dimConstraint = CX_FORMULA LD = Dimensions(creditAccount, CX_FINANCIAL_BOOKING <0|190|0|38af50|10000>) Dimensions(TopTransaction().balancingPeriod.mainPeriod.term, CX_FINANCIAL_BOOKING <0|190|0|38af50|10000>) dimVector[0] = CX_FINANCIAL_ACCOUNT <0|66|0|17344|10000> dimVector[1] = CX_SPAN_DATE <0|98|0|47ec|10000> dimVector[0]->Core()->DataCubeCore(...) returning CX_LOG_CUBE <0|66|0|193324|10000> CX_LOG_CUBE <0|66|0|193324|10000>->Log(CX_FINANCIAL_BOOKING <0|190|0|38af50|10000>, ) Process(CX_FINANCIAL_BOOKING <0|190|0|38af50|10000>, , CX_LOG_CUBE <0|66|0|193324|10000>) txnManagerID = 32 LD = Dimensions(TopTransaction().balancingPeriod.term, CX_FINANCIAL_BOOKING <0|190|0|38af50|10000>) dimVector[0] = CX_SPAN_DATE <0|98|0|4880|10000> CX_LOG_CUBE <0|66|0|193444|10000>->Log(CX_FINANCIAL_BOOKING <0|190|0|38af50|10000>, ) LD = dimConstraint = CX_FORMULA LD = AUTO_OPEN_ITEM_BALANCE Dimensions(openItemAccount, CX_FINANCIAL_BOOKING <0|190|0|38af50|10000>) LD = Dimensions(openItemAccount, CX_FINANCIAL_BOOKING <0|190|0|38af50|10000>) LD = Dimensions(costTypeAccount, CX_FINANCIAL_BOOKING <0|190|0|38af50|10000>) Dimensions(TopTransaction().balancingPeriod.mainPeriod.term, CX_FINANCIAL_BOOKING <0|190|0|38af50|10000>) dimVector[0] = CX_COST_TYPE_ACCOUNT <0|66|0|a9674|10000> dimVector[1] = CX_SPAN_DATE <0|98|0|47ec|10000> dimVector[0]->Core()->DataCubeCore(...) returning CX_LOG_CUBE <0|66|0|193544|10000> CX_LOG_CUBE <0|66|0|193544|10000>->Log(CX_FINANCIAL_BOOKING <0|190|0|38af50|10000>, ) Process(CX_FINANCIAL_BOOKING <0|190|0|38af50|10000>, , CX_LOG_CUBE <0|66|0|193544|10000>) txnManagerID = 32 LD = Dimensions(TopTransaction().balancingPeriod.term, CX_FINANCIAL_BOOKING <0|190|0|38af50|10000>) dimVector[0] = CX_SPAN_DATE <0|98|0|4880|10000> CX_LOG_CUBE <0|66|0|193680|10000>->Log(CX_FINANCIAL_BOOKING <0|190|0|38af50|10000>, ) LD = dimConstraint = CX_FORMULA LD = Dimensions(costCenterAccount, CX_FINANCIAL_BOOKING <0|190|0|38af50|10000>) LD = Dimensions(costObjectiveAccount, CX_FINANCIAL_BOOKING <0|190|0|38af50|10000>)