ئhGִ.Q g .TStringList<*cdBdeZkcdDBTablesZkfTQuery-g.TQueryg TQuery.CreategTDBDataSet.SetDatabaseName !~gTQuery.ExecSQLgTQuery.SetQuerycdSysUtilsZkg UpperCase~ gTrim~ gIntToStrJ 7g FloatToStrmgDateN g CurrToStr`bgStrToIntcdSysInitZkcdSystemZkfLongint|ofBooleanNcf AnsiString8f TDateTime_IfInteger|ofString8gCopyg @LStrCopyX,Tdg TObject.Free݋Rg@LStrCmpX,Tdg @VarToIntX,Tdg@VarClrX,Tdg @LStrArrayClrX,Tdg@HandleFinallyX,Tdg VarIsNullcgLengthg@LStrLen?g@LStrAsgX,Tdg @LStrCatNX,Tdg@LStrCatX,Tdg@LStrClrg @VarToRealX,TdfCurrency,eifRealBYrPgFalse1ogTObject.Create݋RgTrue1ogIncgTruncg @LStrCat3X,Tdg @LStrLAsgX,Tdg@TRUNCX,TdceComCtrlsZkgTProgressBar.SetPositionceControlsZkgTControl.SetTextc_gTControl.SetVisiblee_ceFormsZkgTCustomForm.Createj-gTCustomForm.Showj-gTCustomForm.Hidej-gTCustomForm.Closej-ceDbZkg TDataSet.Open4gTDataSet.FieldByName4gTDataSet.GetFieldValue4g TDataSet.Next4gTDataSet.Close4gTDataSet.GetActive4gTDataSet.First4ceProgress f TProgressForm%g.TProgressForm<g TProgressForm.ProcessWinMessagesce MyMessage f TMessagesFormcO<*g.TMessagesForm8ceMain gMainForm.|ce GenericPrint g PrintQueryڟ8ceGenFns gRecord_DataTakengDeleteTransactionsjgUpdateBatchStatusz3>ce DateFunctions ceDataMod ceCurrentRentCalls gUpdateCurrentRentCallsc .1f nBatchf 6 sBatchf8 qryDCf: qrySSf< qryTTf> FieldStringListf@ ValueStringListfB qryStringListfD sListValuesfF sListFieldsfH MinDatefL MaxDatefN nTransactionRentfR nTransactionCallfT nTransactionOtherfV nSplitRentfX nSplitCallfZ nSplitOtherf\(GetTransactionReferencesX,TdA sValuef qAnsc(PrepareGeneralDCdataX,Td sTempStringfc(PrepareGeneralIDdataX,Td# c(PrepareGeneralVarDataX,TdA% sTempStringfc(SaveTransactionptaB ! nThisBatchb " lSuccessfulf % BIGGESTCHUNK "q%BATCHTYPEID_VICTRACK_UNICOMMS "a lUniCommsf MessageFormf FullAmountExGSTf FullGSTAmountf FullAmountIncGSTf nListValuesf sTempStringf Progressf nCountf nTotalCountf nBlockf Factorf nTransSavedf nElement sRevenueFlagf sThisServiceIDf nSIDf nMaxDCRecordsf nDCRecordsProcessedf nMaxBlockfq lUseChunksf m nWhereIsAtf Q nStringsfA curTempAmtf! nSoFarf curExGSTf curIncGSTf curGSTf curExGSTTallyf curGSTTallyfq curIncGSTTallyfQ nPercentagefA lSplitAccountf = lServiceIsNotSplitf 9 lAbortProcessf 5 LastRunf 1 sCustomerIDf! nDataRefIDf nEndOfChunkfc( FinalizationX,Td! c(SaveToTransaction! cD@DQ4>Q4>Q4?Q4EQ4CQ4CQ4PDQ4DQ4E%EDEEEEtt EEE3E3E}~E{GEz?Ed0}c~EE?E 3EE?E3Eċ " "E8QX8U3EƅMR@R@R@ERT;EE8QX8UERTE8M$E8ER@8EQ44E48\E8Q4Etu3NIt4tu3NƅNExERH}蛺ERH}ERH}؛3E3|E3lp3tx3dh3\`3TXDžPd3EƅOERTDEE5$E$88hE} Nx$E$uWF5$E$88hE$$F$uW@F5$$F$88hE\F5uu荅88hEuu44hEuu؍ hE}OF4QX488UE@FEкF588hE uFRTtСtM$E$ERTH;tjFRTP$E$u!ERTH H uFRTtСz+E PƅOXEкF588hE uFRTtСtM$E$ERTH;tjFRTP$E$u!ERTH H uFRTtС+E PƅOEкF588hE uGRTtСtM$E$ERTH;tjGRTP$E$u!ERTH H uGRTtСt*+E PƅO HH~1F5HhEx$E$uWF5$E$88hE}>ۅPm5G D"߽|݅d D"߭|5D"ݝdۅPm5G D"߽t݅T D"߭t5D"ݝT߭t߭|߽l݅\ D"߭l5D"ݝ\PE}ui߭|m݅d D"߽|߭tm݅T D"߽t߭lm݅\ D"߽lƅO \F5u|88hEpl44hExt hE}u" GRTE 100OR DC1.Call <> 100OR DC1.Other <> 100.tSplitService - Errors in totals (expect 100%);Errors found in the tServiceSplit table. Refer to printout. Saving Expenses transactions ...INSERT INTO tTransactionu(DataRefID, SequenceNo, Duration, CallCode, BatchID, TxnDate, AmountExGST, GSTAmount, AmountIncGST, FromDate, ToDate,f TransactionTypeID, StatusID, GSTFlag, ActivityID, CentreID, ServiceID, SubledgerID, CustomerCentreID,z CustomerActivityID, CustomerElementID, CustomerSubledgerID, LocationID, UpEnd, UpMDF, DownEnd, DownMDF, Length, PersonID,v ServiceTypeID, RevenueFlag, ElementID, CustomerID, DialledNumberID, OriginID, DestinationID, RateDescriptionID, Peak, Var01, Var02, Var03, Var04, Var05, Var06, Var07, Var08, Var09, Var10, Var11, Var12, Var13, Var14, Var15, SupplierServiceCodeID)TSELECT DC2.ID AS DataRefID, DC2.SequenceNo, DC2.Duration, DC2.CallCode, DC2.BatchID, (CASE DC2.TxnDate WHEN NULL THEN NULL ELSE SUBSTRING(DC2.TxnDate,7,4) + SUBSTRING(DC2.TxnDate,4,2) + SUBSTRING(DC2.TxnDate,1,2) + (CASE DC2.TxnTime WHEN NULL THEN '' ELSE ' ' + DC2.TxnTime END) END) AS "TxnDate",2 DC2.AmountExGST, DC2.GSTAmount, DC2.AmountIncGST, (CASE DC2.FromDate WHEN NULL THEN NULL ELSE SUBSTRING(DC2.FromDate,7,4) + SUBSTRING(DC2.FromDate,4,2) + SUBSTRING(DC2.FromDate,1,2) END) AS "FromDate", (CASE DC2.ToDate WHEN NULL THEN NULL ELSE SUBSTRING(DC2.ToDate,7,4) + SUBSTRING(DC2.ToDate,4,2) + SUBSTRING(DC2.ToDate,1,2) END) AS "ToDate",a DC2.TransactionTypeID, DC2.StatusID, (CASE DC2.GSTFlag WHEN 'Y' THEN 1 ELSE 0 END) AS "GSTFlag",y tServiceID.ActivityID, tServiceID.CentreID, DC2.SID AS "ServiceID", tServiceID.SubledgerID, tServiceID.CustomerCentreID, tServiceID.CustomerActivityID, tServiceID.CustomerElementID, tServiceID.CustomerSubledgerID, tServiceID.LocationID, tServiceID.UpEnd,u tServiceID.UpMDF, tServiceID.DownEnd, tServiceID.DownMDF, tServiceID.Length, tServiceID.PersonID, DC2.ServiceTypeID,; (0) AS "RevenueFlag", DC2.ExpenseElementID AS "ElementID", tGroup.CustomerID, tDialledNumber.ID as "DialledNumberID", tOrigin.ID as "OriginID", tDestination.ID as "DestinationID", tRateDescription.ID AS "RateDescriptionID", DC2.Peak,7 DC2.Var01, DC2.Var02, DC2.Var03, DC2.Var04, DC2.Var05,7 DC2.Var06, DC2.Var07, DC2.Var08, DC2.Var09, DC2.Var10,Q DC2.Var11, DC2.Var12, DC2.Var13, DC2.Var14, DC2.Var15, DC2.SupplierServiceCodeIDFROM (((((SELECT DC1.*sFROM (SELECT DC.*, tServiceType.ID AS "ServiceTypeID", tServiceType.ExpenseElementID, tServiceType.RevenueElementID FROM (SELECT tDataCollection.*,  tServiceType.Code, x (CASE WHEN tDataCollection.ServiceType IS NULL THEN tServiceType.Code ELSE tDataCollection.ServiceType END) AS "Code",  tServiceType.SplitService,X tServiceSplit.ServiceID AS SplitServiceID, tServiceSplit.Active, tServiceID.ID AS "SID"FROM ((tDataCollectionILEFT JOIN tServiceID ON tDataCollection.ServiceID = tServiceID.ServiceID)ELEFT JOIN tServiceType ON tServiceID.ServiceTypeID = tServiceType.ID)BLEFT JOIN tServiceSplit ON tServiceID.ID = tServiceSplit.ServiceIDLAND (tDataCollection.RevenueFlag IS NULL OR tDataCollection.RevenueFlag = 0)+AND tServiceID.ServiceID IS NOT NULL) AS DC=LEFT JOIN tServiceType ON DC.Code = tServiceType.Code) AS DC1sWHERE (DC1.SplitService <> 1 OR (DC1.SplitService = 1 AND (DC1.SplitServiceID IS NULL OR DC1.Active <> 1)))) AS DC2tLEFT JOIN (tServiceID LEFT JOIN (tCentre LEFT JOIN (tDepartment LEFT JOIN tGroup ON tDepartment.GroupID = tGroup.ID)rON tCentre.DepartmentID = tDepartment.ID) ON tServiceID.CustomerCentreID = tCentre.ID) ON DC2.SID = tServiceID.ID)KLEFT JOIN tDialledNumber ON DC2.DialledNumber = tDialledNumber.Description)6LEFT JOIN tOrigin ON DC2.Origin = tOrigin.Description)ELEFT JOIN tDestination ON DC2.Destination = tDestination.Description)PLEFT JOIN tRateDescription ON DC2.RateDescription = tRateDescription.Description&WHERE DC2.ExpenseElementID IS NOT NULLAND DC2.ExpenseElementID > 0Saving Revenue transactions...:(1) AS "RevenueFlag", DC2.RevenueElementID AS "ElementID",LAND (tDataCollection.RevenueFlag IS NULL OR tDataCollection.RevenueFlag = 1)&WHERE DC2.RevenueElementID IS NOT NULLAND DC2.RevenueElementID > 0 SELECT TOP  DC2.ID AS "DataRefID",SELECT DC2.ID AS "DataRefID",Q DC2.SequenceNo, DC2.Duration, DC2.CallCode, DC2.BatchID, DC2.ServiceID, DC2.SID,a tServiceID.ActivityID, tServiceID.CentreID, tServiceID.SubledgerID, tServiceID.CustomerCentreID,a tTransactionGroup.Description AS "TransactionGroup", DC2.RevenueElementID, DC2.ExpenseElementID,FROM ((((((((SELECT DC1.*/ tServiceType.Code, tServiceType.SplitService,SFROM (SELECT tDataCollection.*, (CASE WHEN tDataCollection.ServiceType IS NULL THEN^ tServiceType.Code ELSE tDataCollection.ServiceType END) AS "Code", tServiceType.SplitService,'AND tDataCollection.RevenueFlag IS NULL]WHERE (DC1.SplitService = 1 AND (DC1.SplitServiceID IS NOT NULL AND DC1.Active = 1)))) AS DC2QLEFT JOIN tRateDescription ON DC2.RateDescription = tRateDescription.Description)JLEFT JOIN tTransactionType ON DC2.TransactionTypeID = tTransactionType.ID)YLEFT JOIN tTransactionGroup ON tTransactionType.TransactionGroupID = tTransactionGroup.IDORDER BY DC2.ID-Loading invoices for split service funding... ServiceIDSID Splitting: SELECT * FROM tServiceSplitWHERE ServiceID = AmountExGST GSTAmount AmountIncGST DataRefIDGSTFlag,GSTFlag, CustomerID CustomerID,TransactionTypeIDTransactionTypeID,#AmountExGST,GSTAmount,AmountIncGST,TransactionGroupRENTRentPercentageCALLCallPercentageOTHEROtherPercentage$tIExpenseElementID0RevenueElementID1 ElementID, RevenueFlag))BProcessing (transaction: )...WHERE DC2.ID > AND DC2.ID < Loading...=tDataCollection tTransactionU3UhEd0d u3ZYYdhL]Ã-m"    $4F(& JL  JL  JL (HNP RI    Z    *\T&(X ^\T ^ &(\T&(X ^\T&(X ^\T ^*\T ^ &(\T ^ &(\``T  ^*\T  ^*\T  ^*\T  ^*\T  ^*\`NP R    ^L*L*\T ^L*\T ^L*\T ^L*\T ^L*\T ^L*\T ^L*\T ^L*\T ^L*\T ^L*\T ^ &(\T ^ &(\T ^ &(\T ^ &(\  ^b,\X```N` RU   T&(X ^\T&(X ^\T&(X ^\T&(X ^\T&(X ^\X``T&(X ^\T&(X ^\T&(X ^\T&(X ^\T&(X ^\X``T&(X ^\T&(X ^\T&(X ^\T&(X ^\T&(X ^\X```N` R!2  *"( Z .   .   ~ ~  " ~@    $"  r4 *6 ~ $$$$"  r@$  ~ 4$$$$"  r@$  ~ 4$$$$"  r@$  ~ 4$$$$"  r@$  j, ~ 4$0($$$"  r@$$$$$$ V$$0($$$"  r@$$$$$$$$$$.$ H& ~  $&  r$ "  ~  . &"  H . j  j $ * \($&  r$8 ~ "HR             2(:&2( , r~    &*" r    8   H      `  `  ^ L* \<T  ^ L* \T  ^ L* \   ^ "0"0"0 \*8(&X  ^ J * \    (  T  $2  ,  T   *`      n J * \    (  T  $2  ,  T   *`      n J * \    (  T  $2  ,  T   *`      f`X  ^  \T  ^ L* \< &0 &Pj@@.    ^ (0.0.0 \ t t  ^ * \   ^  \LFLF  "    `  `>8bv z"*v z * \(~ bJFZ*" r|*" r6 " ~ * \(~~H    H    H           HH  H`N P`P` R `  `  ` R  j6    <<8b 1Xz6>66t6>66>66^6t6t`^`^`^`^` V6j6j6j6j6j6j6j6j6j6t6t6t6t8xh = V6>66>66>66>66>66>66>66>66>66>66>66>66>66>66>6hb `b $$.&.&    ,$$R4& $$$$$R$$& $$$$$R$$& $$$$$R$$& $$$$$R$$ & $$ ($$$$R$$$$$$$($$$ ($$$$R$$$$$$$$$$$*&  F& "$   *"" ~  F& ,     22J 4J(B *t TT   ***  .&BB l &dL4HBL$,&dL4HBL$,&dL4HBL, DB <B<B*B@@@ &&Z::@:@0H26 " 6 T@ h*n&,5(>2>.I t< B Y    m(@8V 8p 0p 0p`p9ar 9r9r 9-t  a