project QadFinancials > class BDInvoice > method ValidateComponentAllPost
validation procedure
Description
This method is a submethod of ValidateComponentAll.
This method validations db fields. They are called from here and not as field validations either because they have queries that can be started/stopped or because they are interfield validatios.
Parameters
| iiHOAddressTypeId | input | integer | Id of the Head office address type |
| blstartVatPeriodByStartEndDate | input-output | logical | is query tqVatPeriodByStartEndDate already started or not ? |
| blStartJrnlByJrnlIDCodeType | input-output | logical | is query tqJournalByJournalIDCodeType already started or not ? |
| blstartPerByPerStartEndDate | input-output | logical | is query tqPeriodbyPeriodStartEndDate already started or not ? |
| oiReturnStatus | output | integer | Return status of the method. |
Internal usage
QadFinancials
program code (program5/bdinvoice.p)
if (t_sDInvoice.tc_Status = "N":U or
t_sDInvoice.tc_Status = "C") and
t_sDInvoice.DInvoiceType = {&INVOICETYPE-INVOICE} and
t_sDInvoice.DInvoiceOriginalDebitTC = 0
then do:
<M-18 run SetMessage
(input trim(#T-1'Warning: You are saving a zero value invoice.':255(68255)t-1#) (icMessage),
input '':U (icArguments),
input 'tDInvoice.DInvoiceOriginalDebitTC':U (icFieldName),
input t_sDInvoice.DInvoiceOriginalDebitTC (icFieldValue),
input 'W':U (icType),
input 3 (iiSeverity),
input t_sDInvoice.tc_Rowid (icRowid),
input 'QadFin-7593':U (icFcMsgNumber),
input '':U (icFcExplanation),
input '':U (icFcIdentification),
input '':U (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BDInvoice>
assign oiReturnStatus = +1.
end.
if (t_sDInvoice.tc_Status = "N":U or
t_sDInvoice.tc_Status = "C") and
t_sDInvoice.DInvoiceType = {&INVOICETYPE-CREDITNOTE} and
t_sDInvoice.DInvoiceOriginalCreditTC = 0
then do:
<M-19 run SetMessage
(input trim(#T-20'Warning: You are saving a zero value invoice.':255(68255)t-20#) (icMessage),
input '':U (icArguments),
input 'tDInvoice.DInvoiceOriginalCreditTC':U (icFieldName),
input t_sDInvoice.DInvoiceOriginalCreditTC (icFieldValue),
input 'W':U (icType),
input 3 (iiSeverity),
input t_sDInvoice.tc_Rowid (icRowid),
input 'QadFin-7594':U (icFcMsgNumber),
input '':U (icFcExplanation),
input '':U (icFcIdentification),
input '':U (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BDInvoice>
assign oiReturnStatus = +1.
end.
<M-22 run ValidateComponentAllPostBalances (output viFcReturnSuper (oiReturnStatus)) in BDInvoice>
if viFcReturnSuper <> 0 then assign oiReturnStatus = viFcReturnSuper.
/*CA676097*/
<M-23 run ValidateComponentAllPostNonDiscAmt (output viFcReturnSuper (oiReturnStatus)) in BDInvoice>
if viFcReturnSuper <> 0 then assign oiReturnStatus = viFcReturnSuper.
/*CA676097*/
<M-1 run ValidateComponentAllPostDAJournalCode
(input t_sDinvoice.tc_Rowid (icRowid),
input t_sDInvoice.DInvoiceType (icDInvoiceType),
input t_sDInvoice.LinkedDInvoice_ID (iiLinkedDInvoiceId),
input t_sDInvoice.tcDAJournalCode (icDAJournalCode),
input-output blStartJrnlByJrnlIDCodeType (blstartJrnlByJrnlIDCodeType),
output viFcReturnSuper (oiReturnStatus)) in BDInvoice>
if viFcReturnSuper <> 0 then assign oiReturnStatus = viFcReturnSuper.
<M-2 run ValidateDInvoiceExchangeRate
(input t_sDinvoice.DinvoiceExchangeRate (idDinvoiceExchangeRate),
input t_sDInvoice.tc_rowid (icRowid),
input t_sDInvoice.DinvoiceCurrency_ID (iiCurrencyID),
input trim(string(t_sDInvoice.DInvoicePostingYear)) + '/':U + trim(t_sDInvoice.tcJournalCode) + '/':U + trim(string(t_sDInvoice.DInvoiceVoucher)) (icDInvoiceReference),
input ? (icCurrencyCode),
output viFcReturnSuper (oiReturnStatus)) in BDInvoice>
if viFcReturnSuper <> 0 then assign oiReturnStatus = viFcReturnSuper.
if t_sDInvoice.tc_Status = "N":U or
(t_sDInvoice.tc_Status = "C":U and
(t_sDInvoice.DInvoiceDate <> t_iDInvoice.DInvoiceDate or
t_sDInvoice.DInvoicePostingDate <> t_iDInvoice.DInvoicePostingDate))
then do:
<M-3 run ValidateInvoiceDate
(input t_sDinvoice.DInvoiceDate (itDinvoiceInvoiceDate),
input t_sDinvoice.tc_rowid (icRowid),
input t_sDinvoice.DinvoicePostingDate (itDInvoicePostingDate),
input t_sDinvoice.DinvoiceType (icDInvoiceType),
output viFcReturnSuper (oiReturnStatus)) in BDInvoice>
if viFcReturnSuper <> 0 then assign oiReturnStatus = viFcReturnSuper.
end.
/* Validate the DinvoiceOriginalCreditLC field */
<M-5 run ValidateComponentAllPostOrigiNotNeg
(input t_sDinvoice.DinvoiceOriginalCreditLC (idTargetField),
input 'tDinvoice.DinvoiceOriginalCreditLC':U (icTargetFieldName),
input t_sDInvoice.tc_rowid (icRowid),
input t_sDInvoice.DInvoiceType (icDInvoiceType),
output viFcReturnSuper (oiReturnStatus)) in BDInvoice>
if viFcReturnSuper <> 0 then assign oiReturnStatus = viFcReturnSuper.
/* Validate the DinvoiceOriginalCrediTC field */
<M-6 run ValidateComponentAllPostOrigiNotNeg
(input t_sDinvoice.DinvoiceOriginalCreditTC (idTargetField),
input 'tDinvoice.DinvoiceOriginalCreditTC':U (icTargetFieldName),
input t_sDInvoice.tc_rowid (icRowid),
input t_sDInvoice.DInvoiceType (icDInvoiceType),
output viFcReturnSuper (oiReturnStatus)) in BDInvoice>
if viFcReturnSuper <> 0 then assign oiReturnStatus = viFcReturnSuper.
/* Validate the DinvoiceOriginalDebitLC field */
<M-7 run ValidateComponentAllPostOrigiNotNeg
(input t_sDinvoice.DinvoiceOriginalDebitLC (idTargetField),
input 'tDinvoice.DinvoiceOriginalDebitLC':U (icTargetFieldName),
input t_sDInvoice.tc_rowid (icRowid),
input t_sDInvoice.DInvoiceType (icDInvoiceType),
output viFcReturnSuper (oiReturnStatus)) in BDInvoice>
if viFcReturnSuper <> 0 then assign oiReturnStatus = viFcReturnSuper.
/* Validate the DinvoiceOriginalDebitTC field */
<M-8 run ValidateComponentAllPostOrigiNotNeg
(input t_sDinvoice.DinvoiceOriginalDebitTC (idTargetField),
input 'tDinvoice.DinvoiceOriginalDebitTC':U (icTargetFieldName),
input t_sDInvoice.tc_rowid (icRowid),
input t_sDInvoice.DInvoiceType (icDInvoiceType),
output viFcReturnSuper (oiReturnStatus)) in BDInvoice>
if viFcReturnSuper <> 0 then assign oiReturnStatus = viFcReturnSuper.
<M-21 run ValidateComponentAllPostPostingDate
(input t_sDInvoice.DInvoicePostingDate (itDInvoicePostingDate),
input t_sDInvoice.tc_Rowid (icRowid),
input t_sDInvoice.Period_ID (iiPeriodId),
input t_sDInvoice.DInvoicePostingYear (iiPeriodYear),
input t_sDInvoice.DInvoicePostingPeriod (iiPeriodPeriod),
input-output blstartPerByPerStartEndDate (blstartPerByPerStartEndDate),
input t_sDInvoice.Company_ID (iiInvoiceCompanyId),
output viFcReturnSuper (oiReturnStatus)) in BDInvoice>
if viFcReturnSuper <> 0 then assign oiReturnStatus = viFcReturnSuper.
/* Validate tax point date */
if t_sDInvoice.tc_Status = "N":U or
(t_sDInvoice.tc_Status = "C":U and
t_sDInvoice.DInvoiceTaxPointDate <> t_iDInvoice.DInvoiceTaxPointDate)
then do:
<M-16 run ValidateTaxPointDate
(input t_sDinvoice.DinvoiceTaxPointDate (itDinvoiceTaxPointDate),
input t_sDinvoice.tc_rowid (icRowid),
input-output blstartVatPeriodByStartEndDate (blstartVatPeriodByStartDate),
output viFcReturnSuper (oiReturnStatus)) in BDInvoice>
if viFcReturnSuper <> 0 then assign oiReturnStatus = viFcReturnSuper.
end.
/* Validte TSM Number */
if t_sDInvoice.tc_Status = "N":U or
(t_sDInvoice.tc_Status <> "D":U and
t_sDInvoice.DInvoiceIsSelected <> true)
then do:
<M-17 run ValidateComponentAllPostTSMNumber
(input t_sDInvoice.DInvoiceTSMNumber (icDinvoiceTSMNumber),
input iiHOAddressTypeId (iiHOAddressTypeId),
input t_sDInvoice.tc_Rowid (icRowid),
input t_sDInvoice.Debtor_ID (iiDebtorId),
output viFcReturnSuper (oiReturnStatus)) in BDInvoice>
if viFcReturnSuper <> 0 then assign oiReturnStatus = viFcReturnSuper.
end.