ئhGeF g .TStringList<*cdBdeZkcdDBTablesZkfTQuery-g.TQueryg TQuery.CreategTDBDataSet.SetDatabaseName !~gTQuery.SetQuerygTQuery.ExecSQLcdSysUtilsZkgIntToStrJ 7gTrim~ cdSysInitZkcdSystemZkfLongint|ofBooleanNcfInteger|ogTObject.Create݋RfString8f AnsiString8g TObject.Free݋Rg @LStrCat3X,Tdg @LStrCatNX,Tdg @VarFromIntX,Tdg@VarCmpX,TdfVariantJh7g@FinalizeArrayX,Tdg @LStrArrayClrX,Tdg@HandleFinallyX,TdgTrue1ogFalse1og@LStrClrceControlsZkgTControl.SetTextc_ceFormsZkgTCustomForm.Createj-gTCustomForm.Showj-gTCustomForm.Closej-ceDbZkg TDataSet.Open4gTDataSet.Close4gTDataSet.GetFieldValue4gTDataSet.FieldByName4ce MyMessage f TMessagesFormcO<*g.TMessagesForm8g TMessagesForm.ProcessWinMessagesV*NceGenFns gUpdateBatchStatusz3>ce GenericPrint g PrintQueryڟ8ce DateFunctions ceDataMod ceMain gMainForm.|c .1f(UpdateCriticalTestList! nThisBatch!Test_nn! lSuccessfulb qryCC qryStringList nBatchf lPassedf TestNumber c(Critical_Clear! nThisBatch nBatch qryDC qryStringListc(CriticalTest_1pta! nThisBatch" lSuccessful sBatchf qryDC qryStringListc(CriticalTest_2pta! nThisBatch" lSuccessful sBatchf qryDC qryStringList sSupplierAccountIDfc(CriticalTest_3pta1! nThisBatch" lSuccessfulf sBatchf qryDC qryStringList sSupplierAccountIDf nTotalMissed c(CriticalTest_4ptaA ! nThisBatch" lSuccessful sBatchf qryDC qryDC2 qryStringListc(CriticalTest_5pta! nThisBatch" lSuccessful sBatchf qryDC qryStringListc(CriticalTest_6pta! nThisBatch" lSuccessful sBatchf sBatchTypeIDf qryDC qryStringListc(CriticalTest_7pta! nThisBatch" lSuccessful sBatchf qryDC qryStringListc(CriticalTest_8pta! nThisBatch" lSuccessful sBatchf qryDC qryStringListc(CriticalTest_9pta! nThisBatch" lSuccessful sBatchf qryDC qryStringListc(CriticalTest_10pta1! nThisBatch" lSuccessful sBatchf qryDC qryStringListc(CriticalErrorTestpta-! nThisBatch" lSuccessfulf CriticalMsg nBatchf sBatchf qryDCf qryBatchType qryStringList lResultIsGoodfc( FinalizationX,Td\! c( CriticalTests!cD@l[UQjjIuMSVWM3Uhd1d!E}t E3E غƋQ4UEMEUƋQ4UMEUƋQ4֋ƋR@ ƋQ4DƋQ4htUEuhUuhUEuhEUƋQ4֋MԺEPEċUUXƋR@ƋQ4UEMEUƋQ4ƋQ4UEMEUƋQ4UMEUƋQ4֋3ZYYdhEċE_^[]dbPPdataSELECT * FROM tCriticalCheckWHERE BatchID = AND CriticalChecknn = INSERT INTO tCriticalCheck$ (BatchID, CriticalChecknn, Passed) VALUES ( ,  )PassedUPDATE tCriticalCheck SET Passed = FROM tCriticalCheckUjjSVW3Uhd2d"؋ ËQ4ËQ48ËQ4UMEXUËQ4Ӌ3ZYYdhE_^[YY]dbPPdataUPDATE tDataCollectionSET StatusID = NULLFROM tDataCollection WHERE tDataCollection.BatchID = UjjSVW3Uhd0d U؋ ËQ4ËQ4ËQ4EM(UËQ4TËQ4ËQ4ËQ4ËQ4ӋttwËR@ËQ4$ËQ4PËQ4ËQ4EM(UËQ4ËQ4Ӌ3ZYYdhE_^[YY]dbPPdataSELECT DC.ServiceID&FROM (SELECT tDataCollection.ServiceIDFROM tDataCollection WHERE tDataCollection.BatchID = )GROUP BY tDataCollection.ServiceID) AS DCLEFT JOIN tServiceID' ON DC.ServiceID = tServiceID.ServiceID"WHERE tServiceID.ServiceID IS NULLUPDATE tDataCollection SET tDataCollection.StatusID = 1)FROM tDataCollection LEFT JOIN tServiceID4 ON tDataCollection.ServiceID = tServiceID.ServiceID AND tServiceID.ServiceID IS NULLUjjjSVW3Uh:d0d U؋ PdQ4EMUQ4RTUËQ4ËQ4ËQ4EM8UËQ4dËQ4ËQ4EMUËQ4ӋttËR@ËQ40ËQ4ËQ4ËQ4EM8UËQ4dËQ4ËQ4EM\UËQ4ËQ4EMUËQ4Ӌ3ZYYdhAE_^[]dbPPdata$SELECT SupplierAccountID FROM tBatch WHERE ID = SupplierAccountIDSELECT DC.ServiceID/FROM (SELECT DISTINCT tDataCollection.ServiceID FROM tDataCollection! WHERE tDataCollection.BatchID = , AND tDataCollection.StatusID IS NULL) AS DC;LEFT JOIN tServiceID ON DC.ServiceID = tServiceID.ServiceID&WHERE tServiceID.SupplierAccountID <> UPDATE tDataCollection SET tDataCollection.StatusID = 2 WHERE tDataCollection.BatchID = ,AND tDataCollection.ServiceID = DC.ServiceID$AND tServiceID.SupplierAccountID <> U3QQQQQSVWU3Uhd0d U غ(<Q4EMlUQ4t uRTu E&RTUƋQ4ƋQ4ƋQ4 ƋQ4h4uhdEUƋQ4xƋQ4ƋQ4EMUƋQ4ƋQ4,ƋQ4TƋQ4֋xRTu E#EƋR@ƋQ4ƋQ4ƋQ4ƋQ4 ƋQ4h4uhdEUƋQ4xƋQ4ƋQ4EMUƋQ4ƋQ4,ƋQ4TƋQ4dƋQ4֋huhUuhEU3ZYYdhE_^[]dbPPdata$SELECT SupplierAccountID FROM tBatch WHERE ID = SupplierAccountIDSELECT COUNT(*) AS MissedNum!FROM (SELECT tServiceID.ServiceID FROM tServiceID WHERE tServiceID.Active = 1$ AND tServiceID.SupplierAccountID = ) AS SID+LEFT JOIN (SELECT tDataCollection.ServiceID FROM tDataCollection! WHERE tDataCollection.BatchID = * GROUP BY tDataCollection.ServiceID) AS DCON SID.ServiceID = DC.ServiceIDWHERE DC.ServiceID IS NULL MissedNum#SELECT SID.ServiceID, SID.AccountNo@FROM (SELECT tServiceID.ServiceID, tValidAccountNumber.AccountNoVLEFT JOIN tValidAccountNumber ON tServiceID.SupplierAccountID = tValidAccountNumber.IDORDER BY SID.ServiceIDBatch: - List of " Services Omitted From The InvoiceUjjSVW3Uhd0d U؋ ËQ4ËQ4DËQ4ËQ4ËQ4$ËQ4ËQ4ËQ4ËQ4EMUËQ4ËQ4ËQ4HËQ4ËQ4ËQ4ËQ4ӋttO ËQ4@ËQ4lËQ4ËQ4DËQ4ËQ4ËQ4$ËQ4ËQ4ËQ4ËQ4EMUËQ4ËQ4ËQ4HËQ4ËQ4ËQ4ËQ4EMUËQ4ËQ4 Ӌ3ZYYdhE_^[YY]dbPPdata SELECT DC2.*(FROM (SELECT DC1.*, tServiceType.NoCalls2 FROM (SELECT DC.ServiceID, DC.Call, 'Code' = CASEK WHEN DC.ServiceType IS NULL THEN tServiceType.Code ELSE DC.ServiceType ENDEFROM ((SELECT tDataCollection.ServiceID, tDataCollection.ServiceType,j Sum(CASE tTransactionGroup.Description WHEN 'CALL' THEN tDataCollection.AmountIncGST ELSE 0 END) AS CALL FROM (tDataCollectionX LEFT JOIN tTransactionType ON tDataCollection.TransactionTypeID = tTransactionType.ID)[ LEFT JOIN tTransactionGroup ON tTransactionType.TransactionGroupID = tTransactionGroup.ID" WHERE tDataCollection.BatchID = H GROUP BY tDataCollection.ServiceID, tDataCollection.ServiceType) AS DC= LEFT JOIN tServiceID ON DC.ServiceID = tServiceID.ServiceID)M LEFT JOIN tServiceType ON tServiceID.ServiceTypeID = tServiceType.ID) AS DC1? LEFT JOIN tServiceType ON DC1.Code = tServiceType.Code) AS DC2WHERE DC2.Call <> 0AND DC2.NoCalls = 1UPDATE tDataCollection SET tDataCollection.StatusID = 4FROM (SELECT DC2.ServiceIDAND DC2.NoCalls = 1) AS DC3 WHERE tDataCollection.BatchID = -AND tDataCollection.ServiceID = DC3.ServiceIDUjjSVW3Uhd0d U؋ ËQ4ËQ44ËQ4pËQ4ËQ4(ËQ4EMHUËQ4tËQ4ËQ4 ËQ4dËQ4ËQ4ËQ4ËQ4DËQ4Ӌtt&tËQ4ËQ4ËQ4ËQ44ËQ4pËQ4ËQ4(ËQ4EMHUËQ4ËQ4tËQ4ËQ4 ËQ4dËQ4ËQ4ËQ4ËQ4ËQ4EMLUËQ4xËQ4Ӌ3ZYYdhE_^[YY]dbPPdataSELECT DC2.ServiceID, DC2.SID>FROM (SELECT DC1.*, tServiceType.ID, tServiceType.SplitService1FROM (SELECT DC.ServiceID, tServiceID.ID AS SID, \ (CASE WHEN DC.ServiceType IS NULL THEN tServiceType.Code ELSE DC.ServiceType END) AS "Code"DFROM ((SELECT tDataCollection.ServiceID, tDataCollection.ServiceType FROM tDataCollection! WHERE tDataCollection.BatchID = G GROUP BY tDataCollection.ServiceID, tDataCollection.ServiceType) AS DC= LEFT JOIN tServiceID ON DC.ServiceID = tServiceID.ServiceID)M LEFT JOIN tServiceType ON tServiceID.ServiceTypeID = tServiceType.ID) AS DC17 LEFT JOIN tServiceType ON DC1.Code = tServiceType.Code WHERE DC1.SID IS NOT NULL* AND tServiceType.SplitService = 1) AS DC2<LEFT JOIN tServiceSplit ON DC2.SID = tServiceSplit.ServiceID%WHERE tServiceSplit.ServiceID IS NULLUPDATE tDataCollection SET tDataCollection.StatusID = 5FROM (SELECT DC2.ServiceID% AND tDataCollection.StatusID IS NULL-WHERE tServiceSplit.ServiceID IS NULL) AS DC2 WHERE tDataCollection.BatchID = -AND tDataCollection.ServiceID = DC2.ServiceIDUjjjSVW3Uhd0d U؋ ËQ4ËQ4EMUËQ4ӋRTUËR@(ËQ4DËQ4xËQ4EMUËQ4ËQ4ËQ4@ËQ4ËQ4EMUËQ4ӋttËR@ËQ4ËQ4DËQ4DËQ4xËQ4EMUËQ4ËQ4ËQ4@ËQ4ËQ4huhhEUËQ4EMUËQ4ËQ4Ӌ3ZYYdhE_^[]dbPPdataSELECT tBatch.BatchTypeID FROM tBatchWHERE tBatch.ID = BatchTypeIDSELECT DC.ServiceID(FROM (((SELECT tDataCollection.ServiceIDFROM tDataCollection WHERE tDataCollection.BatchID = )GROUP BY tDataCollection.ServiceID) AS DC<LEFT JOIN tServiceID ON DC.ServiceID = tServiceID.ServiceID)ELEFT JOIN tServiceType ON tServiceID.ServiceTypeID = tServiceType.ID)7LEFT JOIN tSystem ON tServiceType.SystemID = tSystem.IDWHERE tSystem.BatchTypeID <> UPDATE tDataCollection SET tDataCollection.StatusID = 6FROM (SELECT DC.ServiceID ) AS DCupdate2AND tDataCollection.ServiceID = DCupdate.ServiceIDUjjSVW3Uhd0d U؋ ËQ4ËQ4ËQ4EM8UËQ4dËQ4ËQ4ËQ4ËQ4ӋttËR@ ËQ4@ËQ4lËQ4ËQ4EM8UËQ4ËQ4ËQ4Ӌ3ZYYdhE_^[YY]dbPPdataSELECT DC.ServiceID&FROM (SELECT tDataCollection.ServiceIDFROM tDataCollection WHERE tDataCollection.BatchID = )GROUP BY tDataCollection.ServiceID) AS DCLEFT JOIN tServiceID' ON DC.ServiceID = tServiceID.ServiceID,WHERE tServiceID.TerminationDate IS NOT NULLUPDATE tDataCollection SET tDataCollection.StatusID = 7)FROM tDataCollection LEFT JOIN tServiceID4 ON tDataCollection.ServiceID = tServiceID.ServiceID$AND tDataCollection.StatusID IS NULL*AND tServiceID.TerminationDate IS NOT NULLUjjSVW3Uhd0d U؋ ËQ4ËQ4hËQ4EMUËQ4ËQ4,ËQ4LËQ4hËQ4ӋttËR@ËQ4ËQ4hËQ4EMUËQ4ËQ4ËQ4,ËQ4XËQ4Ӌ3ZYYdhE_^[YY]dbPPdataSELECT DC.ServiceIDkFROM (SELECT tDataCollection.ServiceID, tDataCollection.Var04, tDataCollection.Var05, tDataCollection.Var08FROM tDataCollection WHERE tDataCollection.BatchID = nGROUP BY tDataCollection.ServiceID, tDataCollection.Var04, tDataCollection.Var05, tDataCollection.Var08) AS DCWHERE DC.Var04 IS NULLOR DC.Var05 IS NULLOR DC.Var08 IS NULLUPDATE tDataCollection SET tDataCollection.StatusID = 8$AND tDataCollection.StatusID IS NULL"AND (tDataCollection.Var04 IS NULL! OR tDataCollection.Var05 IS NULL" OR tDataCollection.Var08 IS NULL)UjjSVW3Uhd0d U؋ ËQ4ËQ4LËQ4ËQ4ËQ4<ËQ4EM\UËQ4ËQ4ËQ4 ËQ4xËQ4ËQ4ËQ4ËQ4XËQ4ËQ4Ӌtt2ËQ4ËQ4ËQ4ËQ4LËQ4ËQ4ËQ4<ËQ4EM\UËQ4$ËQ4ËQ4ËQ4 ËQ4xËQ4ËQ4ËQ4ËQ4XËQ4TËQ4EMUËQ4ËQ4Ӌ3ZYYdhE_^[YY]dbPPdataSELECT DC2.ServiceID, DC2.SID>FROM (SELECT DC1.*, tServiceType.ID, tServiceType.SplitService6FROM (SELECT DC.ServiceID, tServiceID.ID AS SID, (CASEV WHEN DC.ServiceType IS NULL THEN tServiceType.Code ELSE DC.ServiceType END) AS "Code"DFROM ((SELECT tDataCollection.ServiceID, tDataCollection.ServiceType FROM tDataCollection! WHERE tDataCollection.BatchID = G GROUP BY tDataCollection.ServiceID, tDataCollection.ServiceType) AS DC= LEFT JOIN tServiceID ON DC.ServiceID = tServiceID.ServiceID)M LEFT JOIN tServiceType ON tServiceID.ServiceTypeID = tServiceType.ID) AS DC17 LEFT JOIN tServiceType ON DC1.Code = tServiceType.Code WHERE DC1.SID IS NOT NULL+ AND tServiceType.SplitService <> 1) AS DC2<LEFT JOIN tServiceSplit ON DC2.SID = tServiceSplit.ServiceID)WHERE tServiceSplit.ServiceID IS NOT NULLAND tServiceSplit.Active = 1UPDATE tDataCollection SET tDataCollection.StatusID = 9FROM (SELECT DC2.ServiceID% AND tDataCollection.StatusID IS NULL$AND tServiceSplit.Active = 1) AS DC3 WHERE tDataCollection.BatchID = -AND tDataCollection.ServiceID = DC3.ServiceIDUjjSVW3Uhd0d U؋ ËQ4ËQ4DËQ4EMdUËQ4ËQ4ËQ4,ËQ4Ӌtt`ËQ4ËQ4ËQ4ËQ4DËQ4EMdUËQ4ËQ4ËQ44ËQ4EMpUËQ4ËQ4Ӌ3ZYYdhE_^[YY]dbPPdataSELECT DC.ServiceID&FROM (SELECT tDataCollection.ServiceID FROM tDataCollection! WHERE tDataCollection.BatchID = * GROUP BY tDataCollection.ServiceID) AS DC\ LEFT JOIN tServiceID ON ((DC.ServiceID = tServiceID.ServiceID) AND (tServiceID.Active = 1)))WHERE tServiceID.CustomerCentreID IS NULLUPDATE tDataCollection!SET tDataCollection.StatusID = 10FROM (SELECT DC.ServiceID[LEFT JOIN tServiceID ON ((DC.ServiceID = tServiceID.ServiceID) AND (tServiceID.Active = 1))1WHERE tServiceID.CustomerCentreID IS NULL) AS DC3 WHERE tDataCollection.BatchID = -AND tDataCollection.ServiceID = DC3.ServiceIDUjjIuSVWU3Uhd2d"EUEEUEE EE EUU( غNjR@PNjQ4NjQ4NjQ4EMUNjQ4׋MغEPEȋ$ UXEtPtGUEMEEUe@R@t:UEMEE8tEUXR@t:pUEMEE8tEUR@t:UEMEE8tEUR@t:UEMEE8tEU( R@t:@ UEMEE8tEU| R@t: UEMEE8tEU R@t: UEMEE8tEU R@t:( UEMEE8tEU\ R@t:t UEM EE8tEU R@t: UEM EE8tEU R@E8tEU R@E8tEU$ R@E8tEU< R@E8tEUT R@E8tEUE8t$ E EEE3ZYYdhEȋEE_^[]dbPPdata: Critical Error ChecksClearing previous results ...)SELECT tBatchType.*, tBatch.BatchStatusID!FROM tBatchType INNER JOIN tBatch& ON tBatchType.ID = tBatch.BatchTypeIDWHERE tBatch.ID = BatchStatusID!Checking for Unknown Services ...CriticalCheck01CriticalCheck02$Checking for additional Services ...CriticalCheck03!Checking for omitted Services ...CriticalCheck04!Checking for unexpected calls ...CriticalCheck053Checking Splits are only between valid Services ...CriticalCheck06*Checking System references are correct ...CriticalCheck07$Checking for Terminated Services ...CriticalCheck08(Checking for incomplete Quetzal data ...CriticalCheck09(Checking for unwanted split services ...CriticalCheck10*Checking CustomerCentreID is allocated ...CriticalCheck11CriticalCheck12CriticalCheck13CriticalCheck14CriticalCheck15U3Uh%d0d 3ZYYdh,]Ã-m v:vL (r v v$v 0(v 0&TLvvvvvv2"VvX46$v$v 0v$v 0(v 0"VV..v8:< > (r  " 0&V..< >$  (r  $ 0 TL$ 0VV..< >U (  (r  , 0*T ZV $ 0$ 0&TR$ 0$ 0$ 0"VV..< > ,  (r  , 0*T.Z2ZV 2$ 0 T ZVB2$ 0VT 2jV..< >$  (r  $ 0 TD$ 0$ 0r V.V..< > $  (r  $ 0 TD$ 0$ 0VV..< >=(  (r  $ 0&T ZV$ 0$ 0&TR$ 02* 0VV..< >} $  (r  $ 0 TR$ 0VV..< >i $  (r  $ 0 TR$ 0VV..< >9 $  (r  $ 0 TD$ 0$ 0VV..< >$  (r  $ 0 TD$ 0$ 0VV..< > )2)(" (r ) r` L)0H )HN rb r ))))$) 0&T)Xr46.)H rb v$)Z)H rb v*)Z)H rb v*)Z)H rb v*)Z)H rb v*)Z)H rb v*)Z)H rb v*)Z)H rb v*)Z)H rb v*)Z)H rb v*)Z)H rb v*)Z8)Z8)Z8)Z8)ZHr fr f.V.V.P.)8:DD >!QQtQ >Ut UY rN(,JH4ZJJHx0,HR8,4$ 4R= <, <244$444R @, <N2H4& H4lR8,4$44,R8,4$44R%<,4244$4H4Re 8,4$4RQ 8,4$4R! 8,4$44tR8,4$44R F, .,4 ,4p$  *   *   *   *   *   *   *   *   *   *   & & & & & . * ~U  9vxpxNzNxTX zX~ ~u e p04 4P|Iep8 8Lhep< <Pl)a (p@Tp  ] p8 8LhĔE u ĭ Q ʠp8 8LhҔ } ֠p< <Pl m p8 8Lhp8 8Lh-p8 8L h E 9  p8 8L%h!!%M)pp-F-LI 59EIE15Q U a