project BLF > class Database Component > method ValidateBC

Description

Validate the class temp-tables, when values are created / modified in the business class.
Because all validations are written on the t_s*** tables, and business code maintains it's data in the t_o*** tables, data from the t_o*** tables is first copied into the t_s*** tables, and copied back after the validation (in case the validation updated some fields).


Parameters


oiReturnStatusoutputintegerReturn status of the method.


Internal usage


BLF
method BBaseDaemon.ApiValidateStatus
method BBaseDaemonQueue.ApiResetDaemonQueueStatus
method BBaseDaemonQueue.LockWorkItem
method BBaseDaemonQueue.SetWorkResult
method BBusinessComponent.ApiSynchronise
method BBusinessComponent.ApiSynchroniseDefaultActivities
method BCompany.ApiSynchronise
method BCompany.SynchronizeSharedSet
method BControlProperty.ApiSaveViewSettings
method BControlProperty.DeleteControlProperty
method BControlProperty.RemoveCustomFieldFromUI
method BControlProperty.SaveControlProperties
method BDocumentLink.SaveDocumentList
method BDocumentLink.StoreDocument
method BDocumentLink.ValidateBCAndAdditionalUpdates
method BDomain.SetDomainTypeAsSystem
method BDomain.SetPrimaryCompany
method BDomain.SynchronizeSharedSet
method BEventDaemon.ApiUpdate
method BFcSession.CreateFcSessionRecord
method BFcSession.UpdateFcSessionRecord
method BLanguage.ApiSynchronise
method BNumber.ApiSetFreeNumbers
method BObjectSecurity.DataSaveObjectSecurity
method BPrinter.apiRefreshInfo
method BReportDaemon.UpdateSocketInformation
method BReportSchedule.ValidateBCAndAdditionalUpdates
method BReportTranslation.apiSynchronise
method BReportVariant.SetReportCBF
method BResource.ApiLinkResource
method BResource.ApiSetResourceCategories
method BResource.ApiSynchronize
method BResource.CreateResource
method BRole.ApiSynchronise
method BRole.CreateRolResource
method BRole.SaveRolePermissionsData
method BScanDaemon.ApiUpdateDaemonConfiguration
method BScanDaemonQueue.CreateScanDaemonQueue
method BSetting.ApiUpdateSetting
method BSetting.CreateSystemSettings
method BSettingConfiguration.apiSynchronise
method BSharedSet.ApiSynchronise
method BSharedSetType.ApiSynchronise
method BSODCategory.ApiCreateCategories
method BSODCategoryExclusion.ApiSetMatrixData
method BSODViolationRule1.CheckRule1
method BSODViolationRule1.DeleteFinish
method BSODViolationRule2.CheckRule2
method BSODViolationRule2.DeleteFinish
method BStoredSearch.apiSaveStoredSearch
method BStoredSearch.ValidateBCAndAdditionalUpdates
method BSystem.ActivateSOD
method BTimeOutDaemonQueue.CreateTimeOutDaemonQueue
method BTranslation.ApiSetTranslation
method BTranslation.SetTranslations
method BUser.ApiSaveUserDomainEntityAccess
method BUser.ApiSynchronise
method BUser.LinkCompanyToDaemonUsers
method BUserRole.ApiSaveUserMembership
method BUserRole.ApiSynchronise
method BUserRole.UpdateUsrRoleFromUserMnt
method BWorkClass.ApiUpdate
method BWorkObject.CreateOrUpdateWorkObject
method BWorkObject.DeleteWorkObjectScopeHolders
method BWorkObject.UpdateWorkobjectStatus
method BXmlDaemon.ApiUpdate
method BXmlDaemonQueue.CreateDaemonQueue
method BRole.ApiMaintainRolesForModuleURI
method BFcTranslation.ApiSaveFcTranslation

QadFinancials
method BAccountingInterface.ApiSynchronise
method BAcctIFFilters.ApiUpdateAcctIFFilter
method BAddressType.ApiStdMaintainTT
method BAddressType.ApiSynchronise
method BAllocationBatch.ValidateBCAndAdditionalUpdates
method BAPMatching.ValidateBCAndAdditionalUpdates
method BBalanceDaemonQueue.CreateBalanceDaemonQueue
method BBankAccountFormat.ApiSynchronise
method BBankEntry.ApiCreateBankEntryFromImport
method BBankEntry.ApiStdMaintainTT
method BBankEntry.ValidateBCAndAdditionalUpdates
method BBankFileFormat.ApiMaintainStdTT
method BBankImport.ApiEDIImportBankImport
method BBankImport.ApiImportUSBank
method BBankImportLine.ValidateBCAndAdditionalUpdates
method BBankNumber.ApiStdMaintainTT
method BBankNumber.UpdateBankNumber
method BBankNumber.UpdateBankNumberAndPayCode
method BBankNumber.ValidateBCAndAdditionalUpdates
method BBankPayFormat.ApiMaintainStdTT
method BBankPayFormat.UpdateBankPayFormatNbr
method BBill.ChangeBillStatus
method BBill.ConfirmPrint
method BBill.CreateBills
method BBLWICountry.ApiStdMaintainTT
method BBudget.ApiCopyBudget
method BBudgetDaemonQueue.CreateBudgetDaemonQueue
method BBudgetLink.ApiCreateOrUpdateBudgetLink
method BBudgetLink.DeleteBudgetLinkByBudgetID
method BBudgetLinkAcc.ApiCreateOrUpdateBudgetLinkAcc
method BBudgetLinkAcc.DeleteBudgetLinkAccByBudgetID
method BBudgetLinkAccDet.ApiCreateOrUpdateBudgetLinkAccDet
method BBudgetLinkAccDet.DeleteBudgetLinkAccDetByBudgetID
method BBudgetLinkActual.ApiCreateBudgetLinkActual
method BBudgetLinkActual.ApiUpdateBudgetLinkActualRep
method BBudgetLinkActual.DeleteBudgetLinkActualByBudgetID
method BBudgetLinkCommitment.ApiCreateBudgetLinkCommit
method BBudgetLinkCommitment.DeleteBudgetLinkCommitByBudgetID
method BBusinessRelation.ApiMaintainAddressForEI
method BBusinessRelation.ApiStdMaintainTT
method BBusinessRelation.ApiSynchronise
method BBusinessRelation.ValidateBCAndAdditionalUpdates
method BCCollection.ValidateBCAndAdditionalUpdates
method BCDocument.ApiSetCDocumentStatusChange
method BCDocument.ApiUpdateCDocumentPrint
method BCDocument.CreateVoidedDocument
method BCDocument.ValidateBCAndAdditionalUpdates
method BCDocumentStatus.CreateDocumentStatusForBankGL
method BCInvoice.ApiCreateCreditorInvoices
method BCInvoice.ApiStdMaintainTTWithExtPost
method BCInvoice.ApiStdMaintainTTWithIntPost
method BCInvoice.ApiUpdateCInvoiceFromAPM
method BCInvoice.ValidateBCAndAdditionalUpdates
method BCompany.ApiStdMaintainTT
method BCompany.ValidateBCAndAdditionalUpdates
method BCompanyProperty.UpdateCompanyProperty
method BCompanyProperty.ValidateBCAndAdditionalUpdates
method BConCheck.ValidateBCAndAdditionalUpdates
method BConsolid.CreateConsolidation
method BConsolidPeriodXref.ApiSetConsolidPeriods
method BCostCentre.ApiStdMaintainTT
method BCountry.ApiStdMaintainTT
method BCountry.ApiSynchronise
method BCounty.ApiStdMaintainTT
method BCPay.ApiCreateCPay
method BCPay.ApiCreateCPayRecords
method BCPay.ValidateBCAndAdditionalUpdates
method BCreditor.ApiStdMaintainTTV01
method BCreditorBalance.RebuildHistory
method BCreditorBalance.UpdateCBalanceAndCHist
method BCrossCyDaemonQueue.CreateCrossCyDaemonQueue
method BCubeDaemonQueue.CreateFRWCubeDaemonQueue
method BCurrency.ApiStdMaintainTT
method BCurrency.ApiSynchronise
method BCurrency.UpdateNumberOfDecimals
method BDCollection.ValidateBCAndAdditionalUpdates
method BDDocument.ApiSetDDocumentStatusChange
method BDDocument.ValidateBCAndAdditionalUpdates
method BDebtor.ApiCheckCreditLimit
method BDebtor.ApiStdMaintainTT
method BDebtor.ApiUpdateDebtorHighCreditInfo
method BDebtor.ApiUpdateDebtorPaymentSales
method BDebtorBalance.RebuildHistory
method BDebtorBalance.UpdateDBalanceAndDHist
method BDebtorEndUser.ApiCreateDebtorEndUser
method BDebtorEndUser.ApiDeleteEndUserForDebtor
method BDebtorEndUser.ApiStdMaintainTT
method BDebtorShipTo.ApiCreateDebtorShipto
method BDebtorShipTo.ApiDeleteShiptoForDebtor
method BDebtorShipTo.ApiMaintainDebtorShipto
method BDInvoice.ApiCreateDebtorInvoicesV01
method BDInvoice.ApiCreateDInvoicesFinCharge
method BDInvoice.ApiSetDeductionStatus
method BDInvoice.ApiStdMaintainTTWithExtPost
method BDInvoice.ApiStdMaintainTTWithIntPost
method BDInvoice.ApiUpdateDInvoiceOpInfo
method BDInvoice.UpdateDeductionDetail
method BDInvoice.ValidateBCAndAdditionalUpdates
method BDivision.ApiStdMaintainTT
method BDomain.ApiSynchronise
method BDomain.ValidateBCAdditionalUpdates
method BDomainProperty.UpdateDomainProperty
method BDPay.ApiCreateDPay
method BDPay.ApiCreateDPayRecords
method BDPaymentSelection.DeleteDPaySelLine
method BDPaymentSelection.StoreBankReference
method BDPaymentSelection.UpdateDPaySelAndPayCode
method BERS.ValidateBCAndAdditionalUpdate
method BERSLine.ValidateBCAndAdditionalUpdates
method BExchangeRate.ApiSaveDerivedExchangeRates
method BExchangeRate.ApiStdMaintainTT
method BExchangeRateType.ApiSynchronise
method BExchangeRateType.UpdateExchangeRateType
method BExpenseGLMatrix.ApiSetExpenseGLMatrix
method BExpenseNote.ValidateBCAndAdditionalUpdates
method BFixedAssetAsset.ApiStdMaintainTT
method BFixedAssetAsset.ValidateBCAndAdditionalUpdates
method BFixedAssetCapital.ApiCreateFACapital
method BFixedAssetCapital.ApiStdMaintainStatus
method BFRWAnalysisCode.UpdateFRWAnCode
method BFRWTreeView.UpdateFRWTreeNodeId
method BGL.ApiStdMaintainTT
method BGLMask.ApiGetGLMasks
method BGLMask.ApiSetGLMasks
method BGLMask.ApiStdMaintainTT
method BGLOpenItem.ValidateBCAddUpdDataSave
method BGLOpenItem.ValidateBCAndAdditionalUpdates
method BGLSystemType.ApiSynchronise
method BGLSystemType.SynchronizeGLSystemType
method BGLType.ApiSynchronise
method BHistoryDaemonQueue.CreateHistoryDaemonQueue
method BHoliday.UpdateHolidayByInput
method BJournal.ApiGenerateInitialJournals
method BJournal.ApiStdMaintainTT
method BPosting.ApiMassDeletePeriodicCostingPostings
method BPosting.ApiMassDeletePeriodicCostingPostingsByDomain
method BPosting.ApiMassReversePeriodicCostingPostings
method BPosting.ApiMassReversePeriodicCostingPostingsByDomain
method BPosting.ApiStdMaintainMultiTT
method BPosting.ApiStdMaintainTT
method BJournalEntry.ApiUpdateJournal
method BJournalEntry.CreateRecEntryPosting
method BJournalEntry.ValidateBCAddUpdDataSave
method BJournalEntry.ValidateBCAndAdditionalUpdates
method BJournalType.ApiSynchronise
method BLayer.ApiGenerateInitialLayers
method BLayer.ApiStdMaintainTT
method MfgDatabaseComponent.ProcessMaintainDataSave
method BMfgAccount.ApiReplicateFromFinancials
method BMfgAccount.DeleteRoleFromCanRun
method BMfgAccountPayableCtrl.ValidateBCAdditionalUpdates
method BMfgAddress.ApiReplicateFromFinancialsBusRel
method BMfgAddress.ApiReplicateFromFinancialsCreditor
method BMfgAddress.ApiReplicateFromFinancialsDebtor
method BMfgAddress.ApiReplicateFromFinancialsEndUSer
method BMfgAddress.ApiReplicateFromFinancialsShipTo
method BMfgAddress.DeleteDockAddressesForCustomer
method BMfgAddressListDetail.ApiReplicateFromFinancialsCreditor
method BMfgAddressListDetail.ApiReplicateFromFinancialsDebtor
method BMfgAddressListDetail.ApiReplicateFromFinancialsEndUser
method BMfgAddressListDetail.ApiReplicateFromFinancialsShipTo
method BMfgBatchControlDetail.ValidateBCAndAdditionalUpdates
method BMfgBatchNumber.ValidateBCAdditionalUpdates
method BMfgControlWorkTable.DeleteRoleFromCanRun
method BMfgCostCenter.ApiReplicateFromFinancials
method BMfgCreditTerms.ApiReplicateFromFinancials
method BMfgCustomer.ApiReplicateFromFinancials
method BMfgCustomer.UpdateCustomerLanguageSearchName
method BMfgDataEntryProfile.DeleteRoleFromCanRun
method BMfgDaybook.ApiReplicateFromFinancials
method BMfgEmployee.ApiReplicateFromFinancials
method BMfgEndUser.ApiReplicateFromFinancials
method BMfgEndUser.MaintainDataBusinessRelation
method BMfgEntity.ApiReplicateFromFinancials
method BMfgEntity.ValidateBCAndAdditionalUpdates
method BMfgExchangeRate.ApiReplicateFromFinancials
method BMfgInventoryMovSite.DeleteRoleFromCanRun
method BMfgLocation.ValidateBCAndAdditonalUpdates
method BMfgLocationDet.ValidateBCAndAdditionalUpdates
method BMfgMenu.DeleteMenuFromResource
method BMfgNRM.ApiReplicateFromFinancials
method BMfgPendingVoucher.ValidateBCAndAdditionalUpdates
method BMfgProject.ApiReplicateFromFinancials
method BMfgSite.DeleteRoleFromCanRun
method BMfgSubAccount.ApiReplicateFromFinancials
method BMfgSupplier.ApiReplicateFromFinancials
method BMfgSupplier.UpdateSupplierLanguageSearchName
method BMfgSystemAccountControl.UpdateRndMthd
method BOpenItemAdjustment.OIAdjCommitSubOpenItemAdj
method BPaymentCondition.ApiStdMaintainTT
method BPaymentFormat.ApiImportPaymentFormat
method BPaymentFormat.ApiStdMaintainTT
method BPaymentFormat.ApiSynchronise
method BPaymentSelection.APITransferPayments
method BPaymentSelection.ChangeStatusPaymentSelection
method BPaymentSelection.ChangeStatusPaymentSelInBatch
method BPeriod.ApiActivatePeriodForPeriodicCosting
method BPeriod.ApiCreatePeriod
method BPeriod.ApiDeactivatePeriodForPeriodicCosting
method BPeriod.ApiStdMaintainTT
method BPeriod.ApiUpdatePeriodStatus
method BPeriod.LoadAndUpdateInstanceData
method BPeriod.SynchronizePeriod
method BPeriod.ValidateBCAndAdditionalUpdates
method BPeriodMark.CreateDefaultForNewCompany
method BPeriodMark.ValidateBCAndAdditionalUpdates
method BPostingHist.UpdatePostingHist
method BPostingSafHist.ValidateBCAndAdditionalUpdates
method BPostingTemplate.ValidateBCAndAdditionalUpdates
method BPrepayment.UpdatePaySelPrepay
method BProfile.ApiStdMaintainTT
method BProfile.ValidateBCAdditionalUpdates
method BProfileType.ApiSynchronise
method BProject.ApiStdMaintainTT
method BProjectGroup.ApiStdMaintainTT
method BProjectStatus.ApiStdMaintainTT
method BQBudgetActual.ApiCreateQBudgetLinkActual
method BQBudgetActual.ApiDeleteQBudgetLinkActual
method BQBudgetCommitment.ApiCreateQBudgetLinkCommit
method BQBudgetCommitment.ApiDeleteQBudgetLinkCommit
method BQCInvoiceMovement.ApiCreateQCInvoiceMovement
method BQCInvoiceMovement.ApiProcessQCInvoiceMovement
method BQCrossCyPosting.ApiCreateQCrossCyPosting
method BQCrossCyPosting.ApiProcessQCrossCyPosting
method BQCrossCyPosting.ValidateBcAndAdditionalUpdates
method BQDInvoiceMovement.ApiCreateQDInvoiceMovement
method BQDInvoiceMovement.ApiProcessQDInvoiceMovement
method BQFRWCube.ApiCreateQFRWCubeAndSaf
method BQFRWCube.ApiDeleteQFRWCube
method BQPosting.ApiCreateQPostingLineSaf
method BQPosting.ApiProcessQPostingLineSaf
method BRecurringEntry.ApiPostRecEntryCommit
method BReplicaDaemonQueue.ApiCreateReplicationDaemonQueue
method BReportTree.UpdateReportTreeNodeDesc
method BRevaluation.LoadAndUpdateInstanceData
method BRevaluation.RevaluationPost
method BRevaluationSaf.ValidateBCAndAdditionalUpdates
method BRole.AddGenCodeGroupToRoles
method BRole.ApiCreateCIApproveRole
method BRoundingMethod.ApiSynchronise
method BSaf.ApiStdMaintainTT
method BSafConcept.ApiStdMaintainTT
method BSafConcept.ApiSynchronise
method BSafStructure.ApiStdMaintainTT
method BSafStructureLink.ApiStdMaintainTT
method BSafStructureLink.UpdateSafStructureLink
method BSharedSetMergeLog.LogEndMerge
method BSharedSetMergeLog.LogStartMerge
method BState.ApiStdMaintainTT
method BSystem.ApiSetSystemPropertiesExtInvCert
method BSystemProperty.SetSystemProperties
method BSystemProperty.SetSystemPropertiesExtInvCert
method BSystemProperty.SynchronisePropertyInvCert
method BTaxRegister.UpdateTaxRegisterFinalPrint
method BUserRole.CreateUsrRoleFromRoleCIApproveRole
method BVAT.ApiDeleteOfTaxRate
method BVAT.ApiStdMaintainTT
method BVATGroup.ApiStdMaintainTT
method BVATGroup.ApiSynchronise
method BVATPeriod.APIUpdateVATPeriodStatus
method BWithholdingTax.ValidateBCAndAdditionalUpdates
method BYearClosing.ApiStdMaintainTT
method BAcctIFFilters.ApiSynchronise
method BAccountingInterface.ApiUpdateAcctIF
method BBankImportLine.UpdateBankImportLineStatusAndLog
method BBudget.UpdateBudgetCompanyFromChart
method BCOACrossRef.UpdateCOACrossRef

QadFitnesse
method BBankEntry.ApiBankingEntryCreate
method BCompanyProperty.ApiCompanyUpdate
method BCompanyProperty.ApiUpdateARAPTaxDateProperties
method BDPaymentSelection.ApiDPaymentSelectionCreate
method BPaymentSelection.ApiPaymentSelectionCreate


program code (program1/database.p)

<M-4 run CheckValidationExceptionList
   (input  no (ilValidateInputData), 
    output vlDoValidate (olDoValidation)) in database>

if vlDoValidate
then do:
    /* Copy tables from t_o<table> to t_s<table> */
    <I-1 {bFcRun
                &PARAMETERS = "output viFcReturnSuper"
                &PROCEDURE  = "gipr_GetTables"}>
    if viFcReturnSuper <> 0
    then assign oiReturnStatus = viFcReturnSuper.
    
    if oiReturnStatus >= 0
    then do:
        <M-2 run ValidateComponent (output viFcReturnSuper (oiReturnStatus)) in database>
        if viFcReturnSuper <> 0
        then assign oiReturnStatus = viFcReturnSuper.
    end.
    
    if oiReturnStatus >= 0
    then do:
        /* And copy changes to t_s<table> back to t_o<table> */
        <I-3 {bFcRun
                &PARAMETERS = "output viFcReturnSuper"
                &PROCEDURE  = "gipr_SetTables"}>
        if viFcReturnSuper <> 0
        then assign oiReturnStatus = viFcReturnSuper.
    end.
    
    assign vlFcDataValidated = (oiReturnStatus >= 0).
end.
else vlFcDataValidated = yes.