project QadFinancials > class BDInvoice > method ValidateComponentAllPostNonDiscAmt

validation procedure

Description

Validate Non Disc Amount


Parameters


oiReturnStatusoutputintegerReturn status of the method.


Internal usage


QadFinancials
method BDInvoice.ValidateComponentAllPost


program code (program5/bdinvoice.p)

/******* Validations for NonDiscAmtTC **************************************/
    
    if (t_sDInvoice.tc_Status       = "N":U  or
        t_sDInvoice.tc_Status       = "C":U) and
        t_sDInvoice.DInvoiceNonDiscAmtTC  =  ?     
    then do:
       <M-1 run SetMessage
          (input  trim(#T-1'TC Non-Disc Amt can not be blank':255(733753502)T-1#) (icMessage), 
           input  '':U (icArguments), 
           input  'tdInvoice.DInvoiceNonDiscAmtTC':U (icFieldName), 
           input  t_sDinvoice.DInvoiceNonDiscAmtTC (icFieldValue), 
           input  'E':U (icType), 
           input  3 (iiSeverity), 
           input  t_sDinvoice.tc_Rowid (icRowid), 
           input  'QadFin-9519':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":U) and
       (t_sDInvoice.DInvoiceType   = {&INVOICETYPE-INVOICE} or 
        t_sDInvoice.DInvoiceType   = {&INVOICETYPE-FINANCECHARGE} or 
        t_sDInvoice.DInvoiceType   = {&INVOICETYPE-CREDITNOTE}) and
        t_sDInvoice.DInvoiceNonDiscAmtTC  < 0  
    then do:
       <M-2 run SetMessage
          (input  trim(#T-4'TC Non-Disc Amt cannot be negative':255(73474831)T-4#) (icMessage), 
           input  '':U (icArguments), 
           input  'tdInvoice.DInvoiceNonDiscAmtTC':U (icFieldName), 
           input  t_sDinvoice.DInvoiceNonDiscAmtTC (icFieldValue), 
           input  'E':U (icType), 
           input  3 (iiSeverity), 
           input  t_sDinvoice.tc_Rowid (icRowid), 
           input  'QadFin-9520':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":U) and
       (t_sDInvoice.DInvoiceType   = {&INVOICETYPE-INVOICECORRECTION} or 
        t_sDInvoice.DInvoiceType   = {&INVOICETYPE-CREDITNOTECORRECTION}) and
        t_sDInvoice.DInvoiceNonDiscAmtTC > 0 
    then do:
       <M-5 run SetMessage
          (input  trim(#T-7'TC Non-Disc Amt cannot be positive':255(413967262)T-7#) (icMessage), 
           input  '':U (icArguments), 
           input  'tdInvoice.DInvoiceNonDiscAmtTC':U (icFieldName), 
           input  t_sDinvoice.DInvoiceNonDiscAmtTC (icFieldValue), 
           input  'E':U (icType), 
           input  3 (iiSeverity), 
           input  t_sDinvoice.tc_Rowid (icRowid), 
           input  'QadFin-9521':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":U) and
       (t_sDInvoice.DInvoiceType   = {&INVOICETYPE-INVOICE} or 
        t_sDInvoice.DInvoiceType   = {&INVOICETYPE-FINANCECHARGE} or 
        t_sDInvoice.DInvoiceType   = {&INVOICETYPE-INVOICECORRECTION}) and
        abs(t_sDInvoice.DInvoiceNonDiscAmtTC) > abs(abs(t_sDInvoice.DInvoiceOriginalDebitTC) - abs(t_sDInvoice.DInvoiceVatCreditTC))
    then do:
       <M-8 run SetMessage
          (input  trim(#T-10'TC Non-Disc Amt cannot be greater than invoice amount':255(591291342)T-10#) (icMessage), 
           input  '':U (icArguments), 
           input  'tdInvoice.DInvoiceNonDiscAmtTC':U (icFieldName), 
           input  t_sDinvoice.DInvoiceNonDiscAmtTC (icFieldValue), 
           input  'E':U (icType), 
           input  3 (iiSeverity), 
           input  t_sDinvoice.tc_Rowid (icRowid), 
           input  'QadFin-9522':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":U) and
       (t_sDInvoice.DInvoiceType   = {&INVOICETYPE-CREDITNOTE} or 
        t_sDInvoice.DInvoiceType   = {&INVOICETYPE-CREDITNOTECORRECTION}) and
        abs(t_sDInvoice.DInvoiceNonDiscAmtTC) > abs(abs(t_sDInvoice.DInvoiceOriginalCreditTC) - abs(t_sDInvoice.DInvoiceVatDebitTC)) 
    then do:
       <M-11 run SetMessage
          (input  trim(#T-12'TC Non-Disc Amt cannot be greater than invoice amount':255(591291342)T-12#) (icMessage), 
           input  '':U (icArguments), 
           input  'tdInvoice.DInvoiceNonDiscAmtTC':U (icFieldName), 
           input  t_sDinvoice.DInvoiceNonDiscAmtTC (icFieldValue), 
           input  'E':U (icType), 
           input  3 (iiSeverity), 
           input  t_sDinvoice.tc_Rowid (icRowid), 
           input  'QadFin-9523':U (icFcMsgNumber), 
           input  '':U (icFcExplanation), 
           input  '':U (icFcIdentification), 
           input  '':U (icFcContext), 
           output viFcReturnSuper (oiReturnStatus)) in BDInvoice>
       assign oiReturnStatus = -1.                
    end.    
    
    /***** Validations for DInvoiceNonDiscAmtCC (NonDiscAmtCC) *******************/
    
    if (t_sDInvoice.tc_Status       = "N":U  or
        t_sDInvoice.tc_Status       = "C":U) and
        t_sDInvoice.DInvoiceNonDiscAmtCC  =  ?     
    then do:    
       <M-13 run SetMessage
          (input  trim(#T-15'CC Non-Disc Amt can not be blank':255(332072466)T-15#) (icMessage), 
           input  '':U (icArguments), 
           input  'tdInvoice.DInvoiceNonDiscAmtCC':U (icFieldName), 
           input  t_sDinvoice.DInvoiceNonDiscAmtCC (icFieldValue), 
           input  'E':U (icType), 
           input  3 (iiSeverity), 
           input  t_sDinvoice.tc_Rowid (icRowid), 
           input  'QadFin-9524':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":U) and
       (t_sDInvoice.DInvoiceType   = {&INVOICETYPE-INVOICE} or 
        t_sDInvoice.DInvoiceType   = {&INVOICETYPE-FINANCECHARGE} or 
        t_sDInvoice.DInvoiceType   = {&INVOICETYPE-CREDITNOTE}) and
        t_sDInvoice.DInvoiceNonDiscAmtCC < 0 
    then do:
       <M-16 run SetMessage
          (input  trim(#T-18'CC Non-Disc Amt cannot be negative':255(227655117)T-18#) (icMessage), 
           input  '':U (icArguments), 
           input  'tdInvoice.DInvoiceNonDiscAmtCC':U (icFieldName), 
           input  t_sDinvoice.DInvoiceNonDiscAmtCC (icFieldValue), 
           input  'E':U (icType), 
           input  3 (iiSeverity), 
           input  t_sDinvoice.tc_Rowid (icRowid), 
           input  'QadFin-9525':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":U) and
       (t_sDInvoice.DInvoiceType   = {&INVOICETYPE-INVOICECORRECTION} or 
        t_sDInvoice.DInvoiceType   = {&INVOICETYPE-CREDITNOTECORRECTION}) and
        t_sDInvoice.DInvoiceNonDiscAmtCC > 0 
    then do:
       <M-19 run SetMessage
          (input  trim(#T-21'CC Non-Disc Amt cannot be positive':255(825524400)T-21#) (icMessage), 
           input  '':U (icArguments), 
           input  'tdInvoice.DInvoiceNonDiscAmtCC':U (icFieldName), 
           input  t_sDinvoice.DInvoiceNonDiscAmtCC (icFieldValue), 
           input  'E':U (icType), 
           input  3 (iiSeverity), 
           input  t_sDinvoice.tc_Rowid (icRowid), 
           input  'QadFin-9526':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":U) and
       (t_sDInvoice.DInvoiceType   = {&INVOICETYPE-INVOICE} or 
        t_sDInvoice.DInvoiceType   = {&INVOICETYPE-FINANCECHARGE} or 
        t_sDInvoice.DInvoiceType   = {&INVOICETYPE-INVOICECORRECTION}) and
        abs(t_sDInvoice.DInvoiceNonDiscAmtCC) > abs(abs(t_sDInvoice.DInvoiceOriginalDebitCC) - abs(t_sDInvoice.DInvoiceVatCreditCC)) 
    then do:   
       <M-22 run SetMessage
          (input  trim(#T-24'CC Non-Disc Amt cannot be greater than invoice amount':255(583996346)T-24#) (icMessage), 
           input  '':U (icArguments), 
           input  'tdInvoice.DInvoiceNonDiscAmtCC':U (icFieldName), 
           input  t_sDinvoice.DInvoiceNonDiscAmtCC (icFieldValue), 
           input  'E':U (icType), 
           input  3 (iiSeverity), 
           input  t_sDinvoice.tc_Rowid (icRowid), 
           input  'QadFin-9527':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":U) and
       (t_sDInvoice.DInvoiceType   = {&INVOICETYPE-CREDITNOTE} or 
        t_sDInvoice.DInvoiceType   = {&INVOICETYPE-CREDITNOTECORRECTION}) and
        abs(t_sDInvoice.DInvoiceNonDiscAmtCC) > abs(abs(t_sDInvoice.DInvoiceOriginalCreditCC) - abs(t_sDInvoice.DInvoiceVatDebitCC))  
    then do: 
       <M-25 run SetMessage
          (input  trim(#T-26'CC Non-Disc Amt cannot be greater than invoice amount':255(583996346)T-26#) (icMessage), 
           input  '':U (icArguments), 
           input  'tdInvoice.DInvoiceNonDiscAmtCC':U (icFieldName), 
           input  t_sDinvoice.DInvoiceNonDiscAmtCC (icFieldValue), 
           input  'E':U (icType), 
           input  3 (iiSeverity), 
           input  t_sDinvoice.tc_Rowid (icRowid), 
           input  'QadFin-9528':U (icFcMsgNumber), 
           input  '':U (icFcExplanation), 
           input  '':U (icFcIdentification), 
           input  '':U (icFcContext), 
           output viFcReturnSuper (oiReturnStatus)) in BDInvoice>
       assign oiReturnStatus = -1.                
    end.
    
    /***** Validations for DInvoiceNonDiscAmtLC (NonDiscAmtLC) ******************/
    if (t_sDInvoice.tc_Status       = "N":U  or
        t_sDInvoice.tc_Status       = "C":U) and
        t_sDInvoice.DInvoiceNonDiscAmtLC =  ?     
    then do:
       <M-27 run SetMessage
          (input  trim(#T-29'LC Non-Disc Amt cannot be blank':255(606063660)T-29#) (icMessage), 
           input  '':U (icArguments), 
           input  'tdInvoice.DInvoiceNonDiscAmtLC':U (icFieldName), 
           input  t_sDinvoice.DInvoiceNonDiscAmtLC (icFieldValue), 
           input  'E':U (icType), 
           input  3 (iiSeverity), 
           input  t_sDinvoice.tc_Rowid (icRowid), 
           input  'QadFin-9529':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":U) and
       (t_sDInvoice.DInvoiceType   = {&INVOICETYPE-INVOICE} or 
        t_sDInvoice.DInvoiceType   = {&INVOICETYPE-FINANCECHARGE} or 
        t_sDInvoice.DInvoiceType   = {&INVOICETYPE-CREDITNOTE}) and
        t_sDInvoice.DInvoiceNonDiscAmtLC < 0 
    then do: 
       <M-30 run SetMessage
          (input  #T-32'LC Non-Disc Amt cannot be negative':255(52833482)T-32# (icMessage), 
           input  '':U (icArguments), 
           input  'tdInvoice.DInvoiceNonDiscAmtLC':U (icFieldName), 
           input  t_sDinvoice.DInvoiceNonDiscAmtLC (icFieldValue), 
           input  'E':U (icType), 
           input  3 (iiSeverity), 
           input  t_sDinvoice.tc_Rowid (icRowid), 
           input  'QadFin-9530':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":U) and
       (t_sDInvoice.DInvoiceType   = {&INVOICETYPE-INVOICECORRECTION} or 
        t_sDInvoice.DInvoiceType   = {&INVOICETYPE-CREDITNOTECORRECTION}) and
        t_sDInvoice.DInvoiceNonDiscAmtLC > 0 
    then do:  
       <M-33 run SetMessage
          (input  trim(#T-35'LC Non-Disc Amt cannot be positive':255(915911543)T-35#) (icMessage), 
           input  '':U (icArguments), 
           input  'tdInvoice.DInvoiceNonDiscAmtLC':U (icFieldName), 
           input  t_sDinvoice.DInvoiceNonDiscAmtLC (icFieldValue), 
           input  'E':U (icType), 
           input  3 (iiSeverity), 
           input  t_sDinvoice.tc_Rowid (icRowid), 
           input  'QadFin-9531':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":U) and
       (t_sDInvoice.DInvoiceType   = {&INVOICETYPE-INVOICE} or 
        t_sDInvoice.DInvoiceType   = {&INVOICETYPE-FINANCECHARGE} or 
        t_sDInvoice.DInvoiceType   = {&INVOICETYPE-INVOICECORRECTION}) and
        abs(t_sDInvoice.DInvoiceNonDiscAmtLC) > abs(abs(t_sDInvoice.DInvoiceOriginalDebitLC) - abs(t_sDInvoice.DInvoiceVatCreditLC)) 
    then do: 
       <M-36 run SetMessage
          (input  trim(#T-38'LC Non-Disc Amt cannot be greater than invoice amount':255(519410193)T-38#) (icMessage), 
           input  '':U (icArguments), 
           input  'tdInvoice.DInvoiceNonDiscAmtLC':U (icFieldName), 
           input  t_sDinvoice.DInvoiceNonDiscAmtLC (icFieldValue), 
           input  'E':U (icType), 
           input  3 (iiSeverity), 
           input  t_sDinvoice.tc_Rowid (icRowid), 
           input  'QadFin-9532':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":U) and
       (t_sDInvoice.DInvoiceType   = {&INVOICETYPE-CREDITNOTE} or 
        t_sDInvoice.DInvoiceType   = {&INVOICETYPE-CREDITNOTECORRECTION}) and
        abs(t_sDInvoice.DInvoiceNonDiscAmtLC) > abs(abs(t_sDInvoice.DInvoiceOriginalCreditLC) - abs(t_sDInvoice.DInvoiceVatDebitLC)) 
    then do:
       <M-39 run SetMessage
          (input  trim(#T-40'LC Non-Disc Amt cannot be greater than invoice amount':255(519410193)T-40#) (icMessage), 
           input  '':U (icArguments), 
           input  'tdInvoice.DInvoiceNonDiscAmtLC':U (icFieldName), 
           input  t_sDinvoice.DInvoiceNonDiscAmtLC (icFieldValue), 
           input  'E':U (icType), 
           input  3 (iiSeverity), 
           input  t_sDinvoice.tc_Rowid (icRowid), 
           input  'QadFin-9533':U (icFcMsgNumber), 
           input  '':U (icFcExplanation), 
           input  '':U (icFcIdentification), 
           input  '':U (icFcContext), 
           output viFcReturnSuper (oiReturnStatus)) in BDInvoice>
       assign oiReturnStatus = -1.                
    end.