project QadFinancials > class BCInvoice > method ValidateComponentPreCI

Description

ValidateComponentPreCI: This method includes validations that are done before the ancestor code of ValidateComponent.


Parameters


oiReturnStatusoutputintegerReturn status of the method.


Internal usage


QadFinancials
method BCInvoice.ValidateComponentPre


program code (program5/bcinvoice.p)

/* Calling method makes sure we already have a t_sCInvoice and a t_iCInvoice available */
    if available (t_sCInvoice)              and 
       available (t_iCInvoice)              and 
       t_sCInvoice.tc_Status        = "C":U and 
       t_iCInvoice.CInvoiceVoucher <> 0     and  /* started from a non-initial invoice */
       (t_sCInvoice.CInvoiceVoucher           <> t_iCInvoice.CInvoiceVoucher           or 
        t_sCInvoice.tcJournalCode             <> t_iCInvoice.tcJournalCode             or 
        t_sCInvoice.CInvoicePostingYear       <> t_iCInvoice.CInvoicePostingYear       or
        t_sCInvoice.CInvoicePostingPeriod     <> t_iCInvoice.CInvoicePostingPeriod     or
        t_sCInvoice.CInvoicePostingDate       <> t_iCInvoice.CInvoicePostingDate       or
        t_sCInvoice.CInvoiceTaxPointDate      <> t_iCInvoice.CInvoiceTaxPointDate      or
        t_sCInvoice.CInvoiceDate              <> t_iCInvoice.CInvoiceDate              or            
        t_sCInvoice.CInvoiceCurrency_ID       <> t_iCInvoice.CInvoiceCurrency_ID       or
        t_sCInvoice.CInvoiceCreationDate      <> t_iCInvoice.CInvoiceCreationDate      or
        t_sCInvoice.CInvoiceOriginalCreditTC  <> t_iCInvoice.CInvoiceOriginalCreditTC  or 
        t_sCInvoice.CInvoiceOriginalDebitTC   <> t_iCInvoice.CInvoiceOriginalDebitTC   or
        t_sCInvoice.CInvoiceOriginalCreditLC  <> t_iCInvoice.CInvoiceOriginalCreditLC  or 
        t_sCInvoice.CInvoiceOriginalDebitLC   <> t_iCInvoice.CInvoiceOriginalDebitLC   or
        t_sCInvoice.CInvoiceOriginalCreditCC  <> t_iCInvoice.CInvoiceOriginalCreditCC  or
        t_sCInvoice.CInvoiceOriginalDebitCC   <> t_iCInvoice.CInvoiceOriginalDebitCC)
    then do:
        assign vcMessage = trim(substitute(#T-3'Changing these fields on this non-initial invoice (&1) is not allowed: &2.':255(73461622)T-3#,
                                           string(t_sCInvoice.CInvoicePostingYear) + chr(2) + t_sCInvoice.tcJournalCode + chr(2) + string(t_sCInvoice.CInvoiceVoucher),
                                           trim(#T-4'Year, Period, Daybook, Voucher, Date, Posting-date, Tax-point-date, Currency, Creation-date and Invoice-amount':255(591277023)T-4#))).            
        <M-5 run SetMessage
           (input  vcMessage (icMessage), 
            input  '':U (icArguments), 
            input  '':U (icFieldName), 
            input  '':U (icFieldValue), 
            input  'E':U (icType), 
            input  3 (iiSeverity), 
            input  t_sCInvoice.tc_Rowid (icRowid), 
            input  'QadFin-9503':U (icFcMsgNumber), 
            input  '':U (icFcExplanation), 
            input  '':U (icFcIdentification), 
            input  '':U (icFcContext), 
            output viFcReturnSuper (oiReturnStatus)) in BCInvoice>            
        assign oiReturnStatus = -1.
        Return.
        
        
    end. /* if */