ئhGZveC

g .TStringList<*cdSysUtilsZkg FloatToStrFǜf TFloatFormat5XgffFixedAgIntToStrJ 7cdMessagesZkcdSysInitZkcdSystemZkfLongint|of TDateTime_IfString8f AnsiString8fInteger|ofBooleanNcfRealBYrPg @LStrCatNX,Tdg @LStrArrayClrX,Tdg@HandleFinallyX,Tdg @LStrCat3X,Tdg TObject.Free݋Rg@LStrClrgStrg@Str2ExtX,TdgTrue1ogTObject.Create݋RgLengthg@LStrLen?gFalse1og@LStrFromString|g @LStrLAsgX,Tdg @VarToIntX,Tdg@LStrCatX,Tdg@VarClrX,TdceFormsZkgTCustomForm.Createj-gTCustomForm.Showj-gTCustomForm.Closej-ceProgress ce MyMessage f TMessagesFormcO<*g.TMessagesForm8ce CriticalTests ce FileFunctions ce DateFunctions gFormattedDateString_tgMonthceGenFns gUpdateBatchStatusz3>g DeleteFromDC.ceDataMod ceMain gMainForm.|gTMainForm.ProcessWinMessages(aceMathZkc* TServicesType{v .1f qInsertfH qUpdatefJ( InsertRateq"!sServiceTypeID! sCustomerID!fRate"c( UpdateRate"!sServiceTypeID! sCustomerID!fRate"c(SetExServiceRateskA"! sSystemID!sExServiceStatusID qry sServiceTypeIDf sCustomerIDf fRatefc(GetServiceChargesV"! nBatchNumberb! dStartDate"(!dEndDate"!BatchDescription! nBatchTypeIDb" lReturnCode& sFromDatef sToDatef sMonthf sBatchIDf sVRTIDf sSystemIDf qryStringList  qryServices tblTempf sTransactionIDf sStatusIDf sExServiceStatusIDf sGSTRatef MessageFormf sSeqNoStartf lNothingSavedfc(ServiceInvoicea"!nBatch! dStartDate" !dEndDate"!BatchDescription ! nBatchTypeIDf lContinuef EmptyList c( FinalizationX,Td\! "c(Services!"cMf, ServiceID$,TxnDate&$,TxnTime(6,FromDate*B,ToDate,TcD @K$.0K20K 40K60K80D:>B0>D:>D:>D:>D:>D >l-UjjSVWؿ3Uhd0d R@ Q4DQ4hxShEUQ4hxVhEUQ4hxE<$EPuhEUQ43ZYYdh E_^[YY]INSERT INTO tDiscountedRate)(ServiceTypeID, CustomerID, Rate, Active)VALUES (,, 1UjjSV3Uhd0d R@Q4E<$EPME$UQ4E˺8UQ4EκXUQ43ZYYdhE^[YY]UPDATE tDiscountedRate SET Rate = WHERE ServiceTypeID = AND CustomerID = U3QQQQQSVW3Uhd0d     غ  Q4TQ4Q4Q48Q4Q4Q4Q4hQ4Q4<Q4Q4Q4(Q4Q4Q4Q4, Q4T Q4p Q4 Q4< Q4 Q4 Q4Eκh U싃Q4EϺ U싃Q4 Q4 Q4 Q4h Q4 Q4 Q4l Q4 Q4 Q40Q4Q4Q4LQ4Q4RTU0RTUDRP]TR@tuuUEuuUEl3ZYYdhEE_^[]dbPPdata)SELECT ST1.ServiceTypeID, ST1.CustomerID,u(100.0 * (CASE WHEN (ST1.Cost IS NULL) OR (ST1.Cost = 0) THEN 1 ELSE (ST1.ChargeAmount / ST1.Cost) END)) AS "ExRate",=(CASE WHEN ST1.Rate IS NULL THEN 1 ELSE 0 END) AS "InsertNew"FROM (SELECT ST0.*,>(CASE WHEN ST0.MaxExServiceAmount IS NULL THEN ST0.AmountExGSTL WHEN (ST0.MaxExServiceAmount < ST0.AmountExGST) THEN ST0.MaxExServiceAmount, ELSE ST0.AmountExGST END) AS "ChargeAmount"MFROM (SELECT ST.ServiceTypeID, ST.CustomerID, ST.Rate, ST.MaxExServiceAmount,ZSUM(ST.AmountExGST) AS "AmountExGST", SUM(ST.Cost) AS "Cost", SUM(ST.Cost100) AS "Cost100"dFROM (SELECT SID.*, SI.ServiceID, SI.ServiceTypeID, tGroup.CustomerID, tCustomer.MaxExServiceAmount,dCAST((CASE WHEN SID.Invoiced IS NULL THEN SID.Cost ELSE SID.Invoiced END) AS money) AS "AmountExGST"FROM ( SELECT SI0.ID, SI1.Rate,H Max(CASE WHEN tRate.Cost IS NULL THEN 0 ELSE tRate.Cost END) AS "Cost",Q Max(CASE WHEN tRate.Cost100 IS NULL THEN 0 ELSE tRate.Cost100 END) AS "Cost100",) SI0.Length AS "ServiceLen", SI0.Invoiced* FROM (SELECT SC1.ID, tDiscountedRate.Rate7 FROM (SELECT tServiceID.ID, tServiceID.ServiceTypeID, tCustomer.ID AS "CustomerID" FROM tServiceIDZ LEFT JOIN tServiceType AS ST ON ((tServiceID.ServiceTypeID = ST.ID) AND (ST.Active = 1))\ LEFT JOIN tCentre ON ((tServiceID.CustomerCentreID = tCentre.ID) AND (tCentre.Active = 1))a LEFT JOIN tDepartment ON ((tCentre.DepartmentID = tDepartment.ID) AND (tDepartment.Active = 1))Q LEFT JOIN tGroup ON ((tDepartment.GroupID = tGroup.ID) AND (tGroup.Active = 1))X LEFT JOIN tCustomer ON ((tGroup.CustomerID = tCustomer.ID) AND (tCustomer.Active = 1)) WHERE ST.SystemID =  AND tServiceID.StatusID =  AND tServiceID.Active = 1+ AND tCustomer.InvoiceServices = 1) AS SC1V LEFT JOIN tDiscountedRate ON ((SC1.ServiceTypeID = tDiscountedRate.ServiceTypeID) ANDY (SC1.CustomerID = tDiscountedRate.CustomerID) AND (tDiscountedRate.Active = 1))) AS SI1/INNER JOIN tServiceID AS SI0 ON SI1.ID = SI0.ID_LEFT JOIN tRate ON ((SI0.ServiceTypeID = tRate.ServiceTypeID) AND (SI0.Length >= tRate.Length));GROUP BY SI0.ID, SI0.Length, SI0.Invoiced, SI1.Rate) AS SID-INNER JOIN tServiceID AS SI ON SID.ID = SI.ID<LEFT JOIN tServiceType ON SI.ServiceTypeID = tServiceType.IDRLEFT JOIN tCentre ON ((SI.CustomerCentreID = tCentre.ID) AND (tCentre.Active = 1))_LEFT JOIN tDepartment ON ((tCentre.DepartmentID = tDepartment.ID) AND (tDepartment.Active = 1))OLEFT JOIN tGroup ON ((tDepartment.GroupID = tGroup.ID) AND (tGroup.Active = 1))]LEFT JOIN tCustomer ON ((tGroup.CustomerID = tCustomer.ID) AND (tCustomer.Active = 1))) AS STXGROUP BY ST.ServiceTypeID, ST.CustomerID, ST.Rate, ST.MaxExServiceAmount) AS ST0) AS ST1 ServiceTypeID CustomerIDExRate InsertNewUQ*jjIuQMSVWME3Uh|d0d EܺEEUEuuEuu EuuU݀L <$EE؋ EtEE EȺEEȋEEغ$Q48Q4XQ4Q4u%UR@$Q4Q4Q4Q4EԺIEH~ EԺRTEtEԺ8W uRTUR@$Q4<Q4TQ4Q4tERTUR@$Q4tQ4EQ4Q4tERTUR@UЋEEȋËR@ËQ4<ËQ4ËQ4ËQ4ËQ4h0uhËQ4ËQ4LËQ4huhhËQ4huhuh4ËQ4hLuh\ËQ4<ËQ4ËQ4ËQ4ËQQ,ËR@ËQ4ËQ4ËQQ,t"tEĺ@ELRT@UËR@XËQ4|ËQ4ËQ4ËQ4xËQ4ËQ4ËQQ,Et"R@Q4ËR@huh hPËQ4lËQ4ËQ4ËQ4(ËQ4ËQ4TËQ4ËQ4huhËQ4h$uh|ËQ4huhuh4ËQ4hLuhËQ4ËQ4h\uhhËQ4ËQ4 ËQ4$ ËQ4H ËQ4 ËQ4 ËQ4 ËQ4@!ËQ4x!ËQ4!ËQ4L"ËQ4"ËQ4"ËQ4#ËQ4#ËQ4#ËQ4#ËQ4($ËQ4hP$uh$ËQ4h$uh$ËQ4 %ËQ4 %ËQ4<%ËQ4X%ËQ4%ËQ4 &ËQ4&ËQ4&ËQ4MH'ËQ4MԺh'ËQ4'ËQ4'ËQ4'ËQ4H(ËQ4(ËQ4(ËQ4)ËQ4p)ËQ4)ËQ4)ËQ44*ËQ4*ËQ4*ËQ4 &ËQ40+ËQ4+ËQ4ËQQ,ËR@+ËQ4ËQ4ËQQ,tt EËR@XËQ4|ËQ4lËQ4ËQ4ËQ4+ËQ4ËQ4lËQ4ËQ4ËQ4(ËQ4ËQ4ËQQ,Eȋ,ËR@Et1ËQ4ËQQ,ËR@huh hPËQ4lËQ4ËQ4ËQ4(ËQ4ËQ4TËQ4ËQ4huhËQ4h$uh|ËQ4huhuh4ËQ4hLuhËQ4ËQ4h\uhhËQ4ËQ4 ËQ44,ËQ4 ËQ4 ËQ4 ËQ4@!ËQ4x!ËQ4\,ËQ4L"ËQ4"ËQ4"ËQ4#ËQ4#ËQ4#ËQ4#ËQ4($ËQ4h -uh$ËQ4h$uh$ËQ4 %ËQ4 %ËQ4<%ËQ4X%ËQ4\-ËQ4MH'ËQ4MԺh'ËQ4'ËQ4-ËQ4'ËQ4'ËQ4H(ËQ4(ËQ4(ËQ4)ËQ4p)ËQ4)ËQ4)ËQ44*ËQ4*ËQ44.ËQ4.ËQ4.ËQ4ËQQ,ËR@+ËQ4ËQ4ËQQ,t0t'}t!jf d/3Ҹp/ËR@XËQ4|ËQ4lËQ4ËQ4ËQ4+ËQ4ËQ4lËQ4ËQ4ËQ4(ËQ4ËQ4Eȋ/ËQQ, EEȋ/ËR@Eȋ/EËR@0ËQ480ËQ4l0ËQ40ËQ40ËQ4)ËQ4M41ËQ4\1ËQ4x1ËQ41ËQ4ËQQ,EEE3ZYYdhEE̺E_^[]dbPPdatatDC_TempRJC_ExServiceCreating Service Charges ...Reading system variables ...0 SELECT IDFROM tTransactionType)WHERE Description LIKE '%Service Record%'AND Active = 1id FROM tStatusWHERE Status LIKE 'In Service'(,)WHERE Status LIKE 'Ex Service'FROM tCustomerWHERE ShipTo LIKE 'VRT' FROM tSystemWHERE BatchTypeID = ID(Copying charges to a Temporary table ...FSELECT IDENTITY(int,1,1) AS "SequNo", ServiceID, AmountExGST, GSTFlag,? RateDescription, BatchID, FromDate, ToDate, TransactionTypeID, GSTAmount, AmountIncGSTINTO tDC_TempRJC_ExServiceYFROM (SELECT CID2.*, CAST((CID2.AmountExGST + CID2.GSTAmount) AS money) AS "AmountIncGST"TFROM (SELECT CID1.*, CAST((CASE WHEN CID1.GSTFlag LIKE 'Y' THEN (CID1.AmountExGST * &) ELSE 0 END) AS money) AS "GSTAmount"FROM (SELECT (tCustomer.ShipTo + ' Services Pre July 1999') AS "ServiceID", (tCustomer.MaxExServiceAmount / 12) AS "AmountExGST",L (CASE WHEN tCustomer.ShipTo LIKE 'VRT' THEN 'N' ELSE 'Y' END) AS "GSTFlag",- 'Network Access' AS "RateDescription", CAST( AS int) AS "BatchID", ('') AS "FromDate", ('') AS "ToDate", CAST( AS int) AS "TransactionTypeID"&WHERE tCustomer.MaxExServiceAmount > 0;AND tCustomer.InvoiceServices = 1) AS CID1) AS CID2) AS CIDSELECT COUNT(*) AS "Max"FROM tDC_TempRJC_ExService1MaxINSERT INTO tDataCollection1(SequenceNo, BatchID, ServiceID, RateDescription,T AmountExGST, GSTFlag, GSTAmount, AmountIncGST, FromDate, ToDate, TransactionTypeID)TSELECT CAST(SequNo AS varchar) AS "SequenceNo", BatchID, ServiceID, RateDescription,S AmountExGST, GSTFlag, GSTAmount, AmountIncGST, FromDate, ToDate, TransactionTypeID DROP TABLE tDC_TempRJC_ExServiceSELECT IDENTITY(int,%,1) AS "SequNo", BatchID, ServiceID, RateDescription,T AmountExGST, GSTFlag, GSTAmount, AmountIncGST, FromDate, ToDate, TransactionTypeID, Var01, Var02, Var03,1 Var04, Var05, Var06, Var07, Var08, Var09, Var10," Var11, Var12, Var13, Var14, Var15YFROM (SELECT SID2.*, CAST((SID2.AmountExGST + SID2.GSTAmount) AS money) AS "AmountIncGST"FROM (SELECT SID1.*,@ CAST((CASE WHEN SID1.GSTFlag LIKE 'Y' THEN (SID1.AmountExGST * NFROM (SELECT SID.*, SI.ServiceID, 'Network Access' AS "RateDescription", CAST( AS int) AS "BatchID", AS int) AS "TransactionTypeID", CAST(((CASE WHEN SID.Invoiced IS NULL THEN SID.Cost ELSE SID.Invoiced END)*SID.Rate/12*tServiceType.Frequency) AS money) AS "AmountExGST", (CASE WHEN tGroup.CustomerID =  THEN 'N' ELSE 'Y' END) AS "GSTFlag",:CONVERT(varchar(10), SI.InstallationDate, 103) AS "Var01",SI.Service AS "Var02",tStatus.Status AS "Var03",0CONVERT(varchar(50), SI.ServiceCode) AS "Var04",$tApplication.Description AS "Var05",& CAST(SID.Cost AS varchar) AS "Var06",S CAST(SID.Cost100 AS varchar) AS "Var07", CAST(SID.Invoiced AS varchar) AS "Var08",, CAST(SID.ServiceLen AS varchar) AS "Var09",, SI.UpMDF AS "Var10", SI.DownMDF AS "Var11", RTRIM(SUBSTRING(SI.Description,1,50)) AS "Var12", CAST(SI.StatusID AS varchar) AS "Var13", SI.SACCnumber AS "Var14", tServiceType.Code AS "Var15"ZFROM (SELECT SI0.ID, SI1.Rate, Max(tRate.Cost) AS "Cost", Max(tRate.Cost100) AS "Cost100",) SI0.Length AS "ServiceLen", SI0.InvoicedFROM (SELECT SC.ID, SC.Ratey FROM (SELECT SC1.ID, (CASE WHEN tDiscountedRate.Rate IS NULL THEN 100.0 ELSE tDiscountedRate.Rate END) / 100.0 AS "Rate"6 FROM (SELECT tServiceID.ID, tServiceID.ServiceTypeID,$ tCustomer.ID AS "CustomerID", (CASE" WHEN ST.Frequency IS NULL THEN 1 WHEN ST.Frequency = 0 THEN 1/ WHEN (CAST(Month(tServiceID.InstallationDate)- AS Real) / ST.Frequency) =, ROUND((Month(tServiceID.InstallationDate)-) / ST.Frequency,0,0) THEN 0 ELSE 1 END) AS "Period" FROM tServiceIDY LEFT JOIN tServiceType AS ST ON ((tServiceID.ServiceTypeID = ST.ID) AND (ST.Active = 1))[ LEFT JOIN tCentre ON ((tServiceID.CustomerCentreID = tCentre.ID) AND (tCentre.Active = 1))` LEFT JOIN tDepartment ON ((tCentre.DepartmentID = tDepartment.ID) AND (tDepartment.Active = 1))P LEFT JOIN tGroup ON ((tDepartment.GroupID = tGroup.ID) AND (tGroup.Active = 1))W LEFT JOIN tCustomer ON ((tGroup.CustomerID = tCustomer.ID) AND (tCustomer.Active = 1)) WHERE ST.SystemID =  AND tServiceID.StatusID IN  AND tServiceID.Active = 1* AND tCustomer.InvoiceServices = 1) AS SC1ULEFT JOIN tDiscountedRate ON ((SC1.ServiceTypeID = tDiscountedRate.ServiceTypeID) ANDP (SC1.CustomerID = tDiscountedRate.CustomerID) AND (tDiscountedRate.Active = 1))#WHERE SC1.Period = 0) AS SC) AS SI1/INNER JOIN tServiceID AS SI0 ON SI1.ID = SI0.ID_LEFT JOIN tRate ON ((SI0.ServiceTypeID = tRate.ServiceTypeID) AND (SI0.Length >= tRate.Length));GROUP BY SI0.ID, SI0.Length, SI0.Invoiced, SI1.Rate) AS SID-INNER JOIN tServiceID AS SI ON SID.ID = SI.ID<LEFT JOIN tServiceType ON SI.ServiceTypeID = tServiceType.ID^LEFT JOIN tApplication ON ((SI.ApplicationID = tApplication.ID) AND (tApplication.Active = 1))-LEFT JOIN tStatus ON SI.StatusID = tStatus.IDS LEFT JOIN tCentre ON ((SI.CustomerCentreID = tCentre.ID) AND (tCentre.Active = 1))Y LEFT JOIN tGroup ON ((tDepartment.GroupID = tGroup.ID) AND (tGroup.Active = 1))) AS SID13WHERE SID1.AmountExGST IS NOT NULL) AS SID2) AS SIFSELECT BatchID# Var11, Var12, Var13, Var14, Var15)Adding new services ...tServiceType.Code AS "Var04", RTRIM(SUBSTRING(SI.Description,1,50)) AS "Var12", CAST(SI.StatusID AS varchar) AS "Var13", tStatus.Status AS "Var03", SI.SACCnumber AS "Var14", CAST(SID.Invoiced AS varchar) AS "Var15"0 WHEN (CAST(Month(tServiceID.InstallationDate)-n LEFT JOIN tCustomer ON ((SUBSTRING(tServiceID.SACCnumber,1,3) = tCustomer.ShipTo) AND (tCustomer.Active = 1))T AND ((tServiceID.SACCnumber IS NOT NULL) AND (tServiceID.CustomerCentreID IS NULL))RLEFT JOIN tCentre ON ((SI.CustomerCentreID = tCentre.ID) AND (tCentre.Active = 1))_LEFT JOIN tDepartment ON ((tCentre.DepartmentID = tDepartment.ID) AND (tDepartment.Active = 1))iLEFT JOIN tGroup ON ((tDepartment.GroupID = tGroup.ID) AND (tGroup.Active = 1))) AS SID1) AS SID2) AS SIF(No Services are available for invoicing.%Saving charges to tDataCollection ...Cleaning up ...'Updating Cost/Cost100 in tServiceID ...UPDATE tServiceID(SET Cost = CostAmt, Cost100 = Cost100AmtUFROM (SELECT SI0.ID, Max(tRate.Cost) AS "CostAmt", Max(tRate.Cost100) AS "Cost100Amt"FROM tServiceID AS SI0=LEFT JOIN tServiceType ON SI0.ServiceTypeID = tServiceType.IDWHERE tServiceType.SystemID = AND SI0.Active = 1GROUP BY SI0.ID) AS CostRate!WHERE tServiceID.ID = CostRate.IDUSVWMEMӋuuu uEPM׋_^[YY]U3Uh%d0d 3ZYYdh,]Ã-m)@$ \* \*>@\:^ `U" H@ b* b* b  ^ `*                                      * b0 b&             *F F 4&( df^ `1B  FF Hjv< n    4 4 x    $"($zF    $" xr |  F|" | ."F    $"" xF  2F" b,$"" xF , 4  \$  \$ \$ \$XX"2  xF X($  \$ \$ \$ \$ \$  \$ \$ \$* b6 b$XX"2  X 4 X  \$ \$ \$ \$ \$  \$ \$ \$* b6 b$XX">  ( * 4 J   4 * 4* b$Xdd dd ^~f^^ `y&< n$d8 `! !=PB$$PP=6 *DDX>22,                        ::             *22**&"b41V.,n,  .&    J    0T *2    2  j 02& T^dT <<$$4< ^TTdT^TT@@ <<$<&< ^TTdT^TT@@<<04&<*&&@<y 8n  Rj Q8   e e "   - "L`pBB`066€(p>> Ĺ- `a(pMLL p   <j  ! a