ئhGF 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 * sBatchf, qryDCf. qrySSf2 qryTTf4 FieldStringListf8 ValueStringListf: qryStringListf< sListValuesf> sListFieldsf@ MinDatefD MaxDatefF nTransactionRentfJ nTransactionCallfL nTransactionOtherfN nSplitRentfP nSplitCallfR nSplitOtherfT(GetTransactionReferencesX,TdA sValuef qAnsc(PrepareGeneralDCdataX,Td sTempStringfc(PrepareGeneralIDdataX,Td# c(PrepareGeneralVarDataX,TdA% sTempStringfc(SaveTransactionpta- ! nThisBatchb " lSuccessfulf % BIGGESTCHUNK "q MessageFormf FullAmountExGSTf FullGSTAmountf FullAmountIncGSTf nListValuesf sTempStringf Progressf nCountf nTotalCountf nBlockf Factorf nTransSavedf nElement sRevenueFlagf sThisServiceIDf nSIDf nMaxDCRecordsf nDCRecordsProcessedf nMaxBlockf lUseChunksf } nWhereIsAtf a nStringsfQ curTempAmtf1 nSoFarf! curExGSTf curIncGSTf curGSTf curExGSTTallyf curGSTTallyf curIncGSTTallyfa nPercentagefQ lSplitAccountf M lServiceIsNotSplitf I lAbortProcessf E LastRunf A sCustomerIDf1 nDataRefIDf! nEndOfChunkfc( FinalizationX,Td! c(SaveToTransaction! cD@D8W >Ű8W E}u-EEEE} NER@}t?h>8 N8h><<Q4 >Q4?Q40Q41Q41Q4h2Q43Q4d?Q43Q44Q4?Q4D5Q45Q4<6Q4|6Q4<@Q46Q4t7Q47Q488Q48Q48Q49Q4`9Q4< "<Q4`@Q4:Q48:Q4@Q4:Q4|;Q4;Q4L<Q4<Q4@Q4TAQ4AQ4 BQ4E%E$BEEEEtt EEE3E3Eā}~E{GEz?Ed0}c~EE?E 3EE?E3Eȋ ! !\B<QX3ҋ8W HDƅP}~UQDR;Euꍕ8H8<8E<Q4E NU;}AD N8D@8 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.RevenueElementIDSFROM (SELECT tDataCollection.*, (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.*'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!4  *"( Z .   .   ~ ~  " ~@     ~ $$$$"  r@$  ~ 4$$$$"  r@$  ~ 4$$$$"  r@$  ~ 4$$$$"  r@$  j, ~ 4$$$$$"  r@$$$$$$ V$$$$$$"  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 &Jd:@.    ^ "0.0.0 \ t t  ^ * \   ^  \LFLF  "    `  `>8bv z"*v z * \(~ bJFZ*" r|*" r6 " ~ * \(~~H    H    H           HH  H`N P`P` R  `  `  ` R  b6    <<8b 1Xz6>66t6>66>66^6t6t`^`^`^`^` V6j6j6j6j6j6j6j6j6j6t6t6t6t8xh = V6>66>66>66>66>66>66>66>66>66>66>66>66>66>66>6h^ bb $$.&.&    ,& $$$$$R$$& $$$$$R$$& $$$$$R$$& $$$$$R$$ & $$$$$$R$$$$$$$($$$$$$$R$$$$$$$$$$$*& F& "$   *"" ~ F& ,     22J 4J(B *t TT   ***  .&BB l &dL4HBL$,&dL4HBL$,&dL4HBL, DB 6<<B$B4@@ &&Z::@:@0H26 " 6 T@ h*n&,5(>2>.-5)t-06i   a   (@8V 8p 0p 0p`qp19n 1un1n 1p  a