ئhGoִ.Q 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_4ptaq ! 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_10pta! nThisBatch" lSuccessful sBatchf qryDC qryStringListc(CriticalTest_11pta! nThisBatch" lSuccessfulf sBatchf qryDC qryStringListc(CriticalErrorTestptaQ/! nThisBatch" lSuccessfulf CriticalMsg nBatchf sBatchf qryDCf qryBatchType qryStringList lResultIsGoodfc( FinalizationX,Td\! c( CriticalTests!cD@lUQjjIuMSVWM3Uhd1d!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ËQ4EM0UËQ4\ËQ4ËQ4ËQ4ËQ4ӋttwËR@ ËQ4,ËQ4XËQ4ËQ4EM0UËQ4ËQ4Ӌ3ZYYdhE_^[YY]dbPPdataSELECT TOP 1 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ËQ4EMUËQ4ËQ4EMUËQ4Ӌ3ZYYdhAE_^[]dbPPdata$SELECT SupplierAccountID FROM tBatch WHERE ID = SupplierAccountIDSELECT TOP 1 DC.ServiceID&FROM (SELECT 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/FROM (SELECT DISTINCT tDataCollection.ServiceID 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ËQ4PËQ4ËQ4ËQ40ËQ4ËQ4ËQ4(ËQ4EMUËQ4ËQ4 ËQ4TËQ4ËQ4ËQ4ËQ4ӋttVËR@,ËQ4LËQ4xËQ4ËQ4PËQ4ËQ4ËQ40ËQ4ËQ4ËQ4(ËQ4EMUËQ4ËQ4 ËQ4TËQ4ËQ4ËQ4ËQ4EMUËQ4ËQ4 Ӌ3ZYYdhE_^[YY]dbPPdataSELECT TOP 1 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ËQ4@ËQ4|ËQ4ËQ44ËQ4EMTUËQ4ËQ4ËQ4ËQ4pËQ4ËQ4ËQ4ËQ4PËQ4Ӌtt-ËR@ËQ4ËQ4ËQ4ËQ4@ËQ4|ËQ4ËQ44ËQ4EMTUËQ4ËQ4ËQ4ËQ4ËQ4pËQ4ËQ4ËQ4ËQ4 ËQ4EMXUËQ4ËQ4Ӌ3ZYYdhE_^[YY]dbPPdata#SELECT TOP 1 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@(ËQ4LËQ4ËQ4EMUËQ4ËQ4ËQ4HËQ4ËQ4EMUËQ4ӋttËR@ËQ4 ËQ4LËQ4LËQ4ËQ4EMUËQ4ËQ4ËQ4HËQ4ËQ4huhpEUËQ4EMUËQ4ËQ4Ӌ3ZYYdhE_^[]dbPPdataSELECT tBatch.BatchTypeID FROM tBatchWHERE tBatch.ID = BatchTypeIDSELECT TOP 1 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 ËQ4EM@UËQ4lËQ4ËQ4ËQ4ËQ4ӋttËR@(ËQ4HËQ4tËQ4ËQ4EM@UËQ4ËQ4ËQ4Ӌ3ZYYdhE_^[YY]dbPPdataSELECT TOP 1 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ËQ4pËQ4EMUËQ4ËQ44ËQ4TËQ4pËQ4ӋttËR@ËQ4ËQ4pËQ4EMUËQ4ËQ4ËQ44ËQ4`ËQ4Ӌ3ZYYdhE_^[YY]dbPPdataSELECT TOP 1 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ËQ4XËQ4ËQ4ËQ4HËQ4EMhUËQ4ËQ4ËQ4,ËQ4ËQ4ËQ4ËQ4ËQ4dËQ4ËQ4Ӌtt9ËR@ËQ4ËQ4 ËQ4ËQ4XËQ4ËQ4ËQ4HËQ4EMhUËQ40ËQ4ËQ4ËQ4,ËQ4ËQ4ËQ4ËQ4ËQ4dËQ4`ËQ4EMUËQ4ËQ4Ӌ3ZYYdhE_^[YY]dbPPdata#SELECT TOP 1 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$ËQ4TËQ4EMtUËQ4ËQ4ËQ4<ËQ4ӋttËR@pËQ4ËQ4ËQ4$ËQ4TËQ4EMtUËQ4ËQ4ËQ4HËQ4EMUËQ4ËQ4Ӌ3ZYYdhE_^[YY]dbPPdataSELECT TOP 1 DC.ServiceID&FROM (SELECT tDataCollection.ServiceID FROM tDataCollection! WHERE tDataCollection.BatchID = * GROUP BY tDataCollection.ServiceID) AS DC] INNER JOIN tServiceID ON ((DC.ServiceID = tServiceID.ServiceID) AND (tServiceID.Active = 1)))WHERE tServiceID.CustomerCentreID IS NULLUPDATE tDataCollection!SET tDataCollection.StatusID = 10FROM (SELECT DC.ServiceID\INNER 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.ServiceIDUjjjSVWU3Uhdd0d U؋ |ËQ4ËQ4EMUËQ4ËQ44ËQ4pËQ4Ӌt u3UE8tVË8W Ë8W Ӌt u3UE8ËR@<ËQ4\ËQ4ËQ4ËQ4ËQ4EMhUËQ4ËQ4ËQ4ËQ4lËQ4ËQ4ËQ4ӋË8W Ë8W Ӌ3ZYYdhkE_^[]dbPPdataSELECT TOP 1 tDataCollection.IDFROM tDataCollection WHERE tDataCollection.BatchID = 'AND (tDataCollection.Var09 IS NOT NULL)1AND (tDataCollection.Var06 NOT IN ('TXX', 'TNN'))<AND (SUBSTRING(RateDescription,5,2) <> SUBSTRING(Var06,2,2))1AND (tDataCollection.Var07 NOT IN ('SXX', 'SNN'))<AND (SUBSTRING(RateDescription,5,2) <> SUBSTRING(Var07,2,2))UPDATE tDataCollection!SET tDataCollection.StatusID = 11TFROM (SELECT DISTINCT tDataCollection.ServiceID, tTransactionType.TransactionGroupID FROM tDataCollectionULEFT JOIN tTransactionType ON tDataCollection.TransactionTypeID = tTransactionType.ID! WHERE tDataCollection.BatchID = ( AND (tDataCollection.Var09 IS NOT NULL)2 AND (tDataCollection.Var06 NOT IN ('TXX', 'TNN'))] AND (SUBSTRING(tDataCollection.RateDescription,5,2) <> SUBSTRING(tDataCollection.Var06,2,2)). AND (tDataCollection.StatusID IS NULL)) AS DC.WHERE tDataCollection.ServiceID = DC.ServiceIDAND (DC.TransactionGroupID = 1)\AND (SUBSTRING(tDataCollection.RateDescription,5,2) <> SUBSTRING(tDataCollection.Var07,2,2))UjjIuSVWU3Uhd2d"EUEEUEE E0E EDUUd غ0NjR@NjQ4NjQ4NjQ4EMUNjQ4׋Mغ8EPEȋ$ UX6EtPtGPUEMEEU|R@t:PUEMEE8tEUR@t:UEMEE8tEUR@t:UEMEE8tEU R@t:8 UEMEE8tEUd R@t:| UEMEE8tEU R@t: UEMEE8tEU R@t: UEMEE8tEUL R@t:d UEMEE8tEU R@t: UEM EE8tEU R@t: UEM EE8tEU0 R@t:H UEM EE8tEU| R@E8tEU R@E8tEU R@E8tEU 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 ...CriticalCheck11)Checking TEC and SFC values are known ...CriticalCheck12CriticalCheck13CriticalCheck14CriticalCheck15U3Uh%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 TR$ 0$ 0r V.V..< >$  (r  $ 0 TR$ 0$ 0VV..< >Q(  (r  $ 0&T ZV$ 0$ 0&TR$ 02* 0VV..< > $  (r  $ 0 TR$ 0VV..< > $  (r  $ 0 TR$ 0VV..< >Y $  (r  $ 0 TR$ 0$ 0VV..< >$  (r  $ 0 TR$ 0$ 0VV..< >1 )*)  (r ) ))$) 0))) TT)")&VTj)))))$) 0))))))V )")*V..)< >A2A(" (r A r` LA0H AHN rb r AAAA$A 0&TAXr46.AH rb v$AZAH rb v*AZAH rb v*AZAH rb v*AZAH rb v*AZAH rb v*AZAH rb v*AZAH rb v*AZAH rb v*AZAH rb v*AZAH rb v*AZAH rb) v*AZ8AZ8AZ8AZHr fr f.V.V.P.A8:DD >iiti >mt m1 |N(,JH4ZJJHx0,HR8,4$ 4R] <, <244$444R} @, <N2H4& H4lR8,4$44,R8,4$44R9<,4244$4H4R 8,4$4Rq 8,4$4RA 8,4$44tR8,4$44R >,4:"":4""R F, .,4 ,4p$  *   *   *   *   *   *   *   *   *   *   *   & & & & . * ~ 1 YvxpxNzNxTX zX~ ~u e p04 4P|Iep8 8Lhep< <Pl)a (p@Tp  ] p8 8LhĔE Ƒ m ʠp8 8LhҔ ԙ ֠p< <Pl m p8 8Lhp8 8Lh-p8 8L h E U  p8 8L%h!!%i)p->-R=n99 = AppEFELa M9]a]!Myi m a