project QadFinancials > class BCInvoice > method ValidateComponentPostNonDiscAmt

validation procedure

Description

ValidateNon Disc Amt TC,CC.LC


Parameters


oiReturnStatusoutputintegerReturn status of the method.


Internal usage


QadFinancials
method BCInvoice.ValidateComponentPost


program code (program5/bcinvoice.p)

/********* Validations for CInvoiceNonDiscAmtTC ************/
    if (t_sCInvoice.tc_Status       = "N":U  or
        t_sCInvoice.tc_Status       = "C":U) and
        t_sCInvoice.CInvoiceNonDiscAmtTC = ?     
    then do:   
        
        <M-45 run SetMessage
           (input  trim(#T-45'TC Non-Disc Amt can not be blank':255(821617934)T-45#) (icMessage), 
            input  '':U (icArguments), 
            input  'tCInvoice.CInvoiceNonDiscAmtTC':U (icFieldName), 
            input  t_sCInvoice.CInvoiceNonDiscAmtTC (icFieldValue), 
            input  'E':U (icType), 
            input  3 (iiSeverity), 
            input  t_sCInvoice.tc_Rowid (icRowid), 
            input  'QadFin-9514':U (icFcMsgNumber), 
            input  '':U (icFcExplanation), 
            input  '':U (icFcIdentification), 
            input  '':U (icFcContext), 
            output viFcReturnSuper (oiReturnStatus)) in BCInvoice>       
                
        assign oiReturnStatus = -1.                
        
    end. 
     
    if (t_sCInvoice.tc_Status      = "N":U  or
        t_sCInvoice.tc_Status      = "C":U) and
       (t_sCInvoice.CInvoiceType   = {&INVOICETYPE-INVOICE} or 
        t_sCInvoice.CInvoiceType   = {&INVOICETYPE-CREDITNOTE}) and
        t_sCInvoice.CInvoiceNonDiscAmtTC < 0 
    then do:  
        <M-3 run SetMessage
           (input  trim(#T-5'TC Non-Disc Amt cannot be negative':255(591276494)T-5#) (icMessage), 
            input  '':U (icArguments), 
            input  'tCInvoice.CInvoiceNonDiscAmtTC':U (icFieldName), 
            input  t_sCInvoice.CInvoiceNonDiscAmtTC (icFieldValue), 
            input  'E':U (icType), 
            input  3 (iiSeverity), 
            input  t_sCInvoice.tc_Rowid (icRowid), 
            input  'QadFin-9582':U:U (icFcMsgNumber), 
            input  '':U (icFcExplanation), 
            input  '':U (icFcIdentification), 
            input  '':U (icFcContext), 
            output viFcReturnSuper (oiReturnStatus)) in BCInvoice>
        assign oiReturnStatus = -1.                
    end.
  
    if (t_sCInvoice.tc_Status      = "N":U  or
        t_sCInvoice.tc_Status      = "C":U) and
       (t_sCInvoice.CInvoiceType   = {&INVOICETYPE-INVOICECORRECTION} or 
        t_sCInvoice.CInvoiceType   = {&INVOICETYPE-CREDITNOTECORRECTION}) and
        t_sCInvoice.CInvoiceNonDiscAmtTC > 0 
    then do:    
        <M-6 run SetMessage
           (input  trim(#T-8'TC Non-Disc Amt cannot be positive':255(227639183)T-8#) (icMessage), 
            input  '':U (icArguments), 
            input  'tCInvoice.CInvoiceNonDiscAmtTC':U (icFieldName), 
            input  t_sCInvoice.CInvoiceNonDiscAmtTC (icFieldValue), 
            input  'E':U (icType), 
            input  3 (iiSeverity), 
            input  t_sCInvoice.tc_Rowid (icRowid), 
            input  'QadFin-9575':U:U (icFcMsgNumber), 
            input  '':U (icFcExplanation), 
            input  '':U (icFcIdentification), 
            input  '':U (icFcContext), 
            output viFcReturnSuper (oiReturnStatus)) in BCInvoice>
        assign oiReturnStatus = -1.                
    end. 
    
    if (t_sCInvoice.tc_Status      = "N":U  or
        t_sCInvoice.tc_Status      = "C":U) and
       (t_sCInvoice.CInvoiceType   = {&INVOICETYPE-INVOICE} or 
        t_sCInvoice.CInvoiceType   = {&INVOICETYPE-INVOICECORRECTION}) and
       (t_sCInvoice.CInvoiceNonDiscAmtTC <> 0 and 
        abs(t_sCInvoice.CInvoiceNonDiscAmtTC) > abs(abs(t_sCInvoice.CInvoiceOriginalCreditTC) - abs(t_sCInvoice.CInvoiceVatDebitTC))) 
    then do:
        <M-9 run SetMessage
           (input  trim(#T-11'TC Non-Disc Amt cannot be greater than invoice amount':255(583979969)T-11#) (icMessage), 
            input  '':U (icArguments), 
            input  'tCInvoice.CInvoiceNonDiscAmtTC':U (icFieldName), 
            input  t_sCInvoice.CInvoiceNonDiscAmtTC (icFieldValue), 
            input  'E':U (icType), 
            input  3 (iiSeverity), 
            input  t_sCInvoice.tc_Rowid (icRowid), 
            input  'QadFin-9638':U (icFcMsgNumber), 
            input  '':U (icFcExplanation), 
            input  '':U (icFcIdentification), 
            input  '':U (icFcContext), 
            output viFcReturnSuper (oiReturnStatus)) in BCInvoice>
        assign oiReturnStatus = -1.                
    end.  
    
    if (t_sCInvoice.tc_Status      = "N":U  or
        t_sCInvoice.tc_Status      = "C":U) and
       (t_sCInvoice.CInvoiceType   = {&INVOICETYPE-CREDITNOTE} or 
        t_sCInvoice.CInvoiceType   = {&INVOICETYPE-CREDITNOTECORRECTION}) and
       (t_sCInvoice.CInvoiceNonDiscAmtTC <> 0 and 
        abs(t_sCInvoice.CInvoiceNonDiscAmtTC) > abs(abs(t_sCInvoice.CInvoiceOriginalDebitTC) - abs(t_sCInvoice.CInvoiceVatCreditTC))) 
    then do:        
        <M-12 run SetMessage
           (input  trim(#T-14'TC Non-Disc Amt cannot be greater than invoice amount':255(52816611)T-14#) (icMessage), 
            input  '':U (icArguments), 
            input  'tCInvoice.CInvoiceNonDiscAmtTC':U (icFieldName), 
            input  t_sCInvoice.CInvoiceNonDiscAmtTC (icFieldValue), 
            input  'E':U (icType), 
            input  3 (iiSeverity), 
            input  t_sCInvoice.tc_Rowid (icRowid), 
            input  'QadFin-9609':U (icFcMsgNumber), 
            input  '':U (icFcExplanation), 
            input  '':U (icFcIdentification), 
            input  '':U (icFcContext), 
            output viFcReturnSuper (oiReturnStatus)) in BCInvoice>
        assign oiReturnStatus = -1.                
    end. 
    
    /***** Validations for CInvoiceNonDiscAmtCC *******************/
    if (t_sCInvoice.tc_Status       = "N":U  or
        t_sCInvoice.tc_Status       = "C":U) and
        t_sCInvoice.CInvoiceNonDiscAmtCC = ?     
    then do:
        <M-15 run SetMessage
           (input  Trim(#T-17'CC Non-Disc Amt can not be blank':255(519392412)T-17#) (icMessage), 
            input  '':U (icArguments), 
            input  'tCInvoice.CInvoiceNonDiscAmtCC':U (icFieldName), 
            input  t_sCInvoice.CInvoiceNonDiscAmtCC (icFieldValue), 
            input  'E':U (icType), 
            input  3 (iiSeverity), 
            input  t_sCInvoice.tc_Rowid (icRowid), 
            input  'QadFin-9642':U:U (icFcMsgNumber), 
            input  '':U (icFcExplanation), 
            input  '':U (icFcIdentification), 
            input  '':U (icFcContext), 
            output viFcReturnSuper (oiReturnStatus)) in BCInvoice>
        assign oiReturnStatus = -1.                
    end.  
    
    if (t_sCInvoice.tc_Status      = "N":U  or
        t_sCInvoice.tc_Status      = "C":U) and
       (t_sCInvoice.CInvoiceType   = {&INVOICETYPE-INVOICE} or 
        t_sCInvoice.CInvoiceType   = {&INVOICETYPE-CREDITNOTE}) and
        t_sCInvoice.CInvoiceNonDiscAmtCC < 0 
    then do:
        <M-18 run SetMessage
           (input  trim(#T-20'CC Non-Disc Amt cannot be negative':255(117786500)T-20#) (icMessage), 
            input  '':U (icArguments), 
            input  'tCInvoice.CInvoiceNonDiscAmtCC':U (icFieldName), 
            input  t_sCInvoice.CInvoiceNonDiscAmtCC (icFieldValue), 
            input  'E':U (icType), 
            input  3 (iiSeverity), 
            input  t_sCInvoice.tc_Rowid (icRowid), 
            input  'QadFin-9649':U:U (icFcMsgNumber), 
            input  '':U (icFcExplanation), 
            input  '':U (icFcIdentification), 
            input  '':U (icFcContext), 
            output viFcReturnSuper (oiReturnStatus)) in BCInvoice>
        assign oiReturnStatus = -1.                
    end.  
    
    if (t_sCInvoice.tc_Status      = "N":U  or
        t_sCInvoice.tc_Status      = "C":U) and
       (t_sCInvoice.CInvoiceType   = {&INVOICETYPE-INVOICECORRECTION} or 
        t_sCInvoice.CInvoiceType   = {&INVOICETYPE-CREDITNOTECORRECTION}) and
        t_sCInvoice.CInvoiceNonDiscAmtCC > 0 
    then do:
        <M-21 run SetMessage
           (input  trim(#T-23'CC Non-Disc Amt cannot be positive':255(188945441)T-23#) (icMessage), 
            input  '':U (icArguments), 
            input  'tCInvoice.CInvoiceNonDiscAmtCC':U (icFieldName), 
            input  t_sCInvoice.CInvoiceNonDiscAmtCC (icFieldValue), 
            input  'E':U (icType), 
            input  3 (iiSeverity), 
            input  t_sCInvoice.tc_Rowid (icRowid), 
            input  'QadFin-9614':U:U (icFcMsgNumber), 
            input  '':U (icFcExplanation), 
            input  '':U (icFcIdentification), 
            input  '':U (icFcContext), 
            output viFcReturnSuper (oiReturnStatus)) in BCInvoice>
        assign oiReturnStatus = -1.                
    end. 
    
    if (t_sCInvoice.tc_Status      = "N":U  or
        t_sCInvoice.tc_Status      = "C":U) and
       (t_sCInvoice.CInvoiceType   = {&INVOICETYPE-INVOICE} or 
        t_sCInvoice.CInvoiceType   = {&INVOICETYPE-INVOICECORRECTION}) and
       (t_sCInvoice.CInvoiceNonDiscAmtCC <> 0 and
        abs(t_sCInvoice.CInvoiceNonDiscAmtCC) > abs(abs(t_sCInvoice.CInvoiceOriginalCreditCC) - abs(t_sCInvoice.CInvoiceVatDebitCC))) 
    then do:
        <M-24 run SetMessage
           (input  #T-26'CC Non-Disc Amt cannot be greater than invoice amount':255(325549618)T-26# (icMessage), 
            input  '':U (icArguments), 
            input  'tCInvoice.CInvoiceNonDiscAmtCC':U (icFieldName), 
            input  t_sCInvoice.CInvoiceNonDiscAmtCC (icFieldValue), 
            input  'E':U (icType), 
            input  3 (iiSeverity), 
            input  t_sCInvoice.tc_Rowid (icRowid), 
            input  'QadFin-9592':U (icFcMsgNumber), 
            input  '':U (icFcExplanation), 
            input  '':U (icFcIdentification), 
            input  '':U (icFcContext), 
            output viFcReturnSuper (oiReturnStatus)) in BCInvoice>
        assign oiReturnStatus = -1.                
    end.  
    
    if (t_sCInvoice.tc_Status      = "N":U  or
        t_sCInvoice.tc_Status      = "C":U) and
       (t_sCInvoice.CInvoiceType   = {&INVOICETYPE-CREDITNOTE} or 
        t_sCInvoice.CInvoiceType   = {&INVOICETYPE-CREDITNOTECORRECTION}) and
       (t_sCInvoice.CInvoiceNonDiscAmtCC <> 0 and 
        abs(t_sCInvoice.CInvoiceNonDiscAmtCC) > abs(abs(t_sCInvoice.CInvoiceOriginalDebitCC) - abs(t_sCInvoice.CInvoiceVatCreditCC)))
    then do:
        <M-27 run SetMessage
           (input  trim(#T-29'CC Non-Disc Amt cannot be greater than invoice amount':255(356542462)T-29#) (icMessage), 
            input  '':U (icArguments), 
            input  'tCInvoice.CInvoiceNonDiscAmtCC':U (icFieldName), 
            input  t_sCInvoice.CInvoiceNonDiscAmtCC (icFieldValue), 
            input  'E':U (icType), 
            input  3 (iiSeverity), 
            input  t_sCInvoice.tc_Rowid (icRowid), 
            input  'QadFin-9646':U (icFcMsgNumber), 
            input  '':U (icFcExplanation), 
            input  '':U (icFcIdentification), 
            input  '':U (icFcContext), 
            output viFcReturnSuper (oiReturnStatus)) in BCInvoice>
        assign oiReturnStatus = -1.                
    end. 
    
    /***** Validations for CInvoiceNonDiscAmtLC ******************/
    if (t_sCInvoice.tc_Status       = "N":U  or
        t_sCInvoice.tc_Status       = "C":U) and
        t_sCInvoice.CInvoiceNonDiscAmtLC =  ?     
    then do:
        <M-30 run SetMessage
           (input  trim(#T-32'LC Non-Disc Amt can not be blank':255(472260068)T-32#) (icMessage), 
            input  '':U (icArguments), 
            input  'tCInvoice.CInvoiceNonDiscAmtLC':U (icFieldName), 
            input  t_sCInvoice.CInvoiceNonDiscAmtLC (icFieldValue), 
            input  'E':U (icType), 
            input  3 (iiSeverity), 
            input  t_sCInvoice.tc_Rowid (icRowid), 
            input  'QadFin-9648':U:U (icFcMsgNumber), 
            input  '':U (icFcExplanation), 
            input  '':U (icFcIdentification), 
            input  '':U (icFcContext), 
            output viFcReturnSuper (oiReturnStatus)) in BCInvoice>
        assign oiReturnStatus = -1.                
    end. 
    
    if (t_sCInvoice.tc_Status      = "N":U  or
        t_sCInvoice.tc_Status      = "C":U) and
       (t_sCInvoice.CInvoiceType   = {&INVOICETYPE-INVOICE} or 
        t_sCInvoice.CInvoiceType   = {&INVOICETYPE-CREDITNOTE}) and
        t_sCInvoice.CInvoiceNonDiscAmtLC < 0 
    then do:
        <M-33 run SetMessage
           (input  trim(#T-35'LC Non-Disc Amt cannot be negative':255(678128280)T-35#) (icMessage), 
            input  '':U (icArguments), 
            input  'tCInvoice.CInvoiceNonDiscAmtLC':U (icFieldName), 
            input  t_sCInvoice.CInvoiceNonDiscAmtLC (icFieldValue), 
            input  'E':U (icType), 
            input  3 (iiSeverity), 
            input  t_sCInvoice.tc_Rowid (icRowid), 
            input  'QadFin-9569':U:U (icFcMsgNumber), 
            input  '':U (icFcExplanation), 
            input  '':U (icFcIdentification), 
            input  '':U (icFcContext), 
            output viFcReturnSuper (oiReturnStatus)) in BCInvoice>
        assign oiReturnStatus = -1.                
    end. 
    
    if (t_sCInvoice.tc_Status      = "N":U  or
        t_sCInvoice.tc_Status      = "C":U) and
       (t_sCInvoice.CInvoiceType   = {&INVOICETYPE-INVOICECORRECTION} or 
        t_sCInvoice.CInvoiceType   = {&INVOICETYPE-CREDITNOTECORRECTION}) and
        t_sCInvoice.CInvoiceNonDiscAmtLC > 0 
    then do:
        <M-36 run SetMessage
           (input  trim(#T-38'LC Non-Disc Amt cannot be positive':255(971817736)T-38#) (icMessage), 
            input  '':U (icArguments), 
            input  'tCInvoice.CInvoiceNonDiscAmtLC':U (icFieldName), 
            input  t_sCInvoice.CInvoiceNonDiscAmtLC (icFieldValue), 
            input  'E':U (icType), 
            input  3 (iiSeverity), 
            input  t_sCInvoice.tc_Rowid (icRowid), 
            input  'QadFin-9573':U:U (icFcMsgNumber), 
            input  '':U (icFcExplanation), 
            input  '':U (icFcIdentification), 
            input  '':U (icFcContext), 
            output viFcReturnSuper (oiReturnStatus)) in BCInvoice>
        assign oiReturnStatus = -1.                
    end. 
    
    if (t_sCInvoice.tc_Status      = "N":U  or
        t_sCInvoice.tc_Status      = "C":U) and
       (t_sCInvoice.CInvoiceType   = {&INVOICETYPE-INVOICE} or 
        t_sCInvoice.CInvoiceType   = {&INVOICETYPE-INVOICECORRECTION}) and
       (t_sCInvoice.CInvoiceNonDiscAmtLC <> 0 and
        abs(t_sCInvoice.CInvoiceNonDiscAmtLC) > abs(abs(t_sCInvoice.CInvoiceOriginalCreditLC) - abs(t_sCInvoice.CInvoiceVatDebitLC))) 
    then do:
        <M-39 run SetMessage
           (input  trim(#T-41'LC Non-Disc Amt cannot be greater than invoice amount':255(700936078)T-41#) (icMessage), 
            input  '':U (icArguments), 
            input  'tCInvoice.CInvoiceNonDiscAmtLC':U (icFieldName), 
            input  t_sCInvoice.CInvoiceNonDiscAmtLC (icFieldValue), 
            input  'E':U (icType), 
            input  3 (iiSeverity), 
            input  t_sCInvoice.tc_Rowid (icRowid), 
            input  'QadFin-9597':U (icFcMsgNumber), 
            input  '':U (icFcExplanation), 
            input  '':U (icFcIdentification), 
            input  '':U (icFcContext), 
            output viFcReturnSuper (oiReturnStatus)) in BCInvoice>
        assign oiReturnStatus = -1.                
    end. 
    
    if (t_sCInvoice.tc_Status      = "N":U  or
        t_sCInvoice.tc_Status      = "C":U) and
       (t_sCInvoice.CInvoiceType   = {&INVOICETYPE-CREDITNOTE} or 
        t_sCInvoice.CInvoiceType   = {&INVOICETYPE-CREDITNOTECORRECTION}) and
       (t_sCInvoice.CInvoiceNonDiscAmtLC <> 0 and 
        abs(t_sCInvoice.CInvoiceNonDiscAmtLC) > abs(abs(t_sCInvoice.CInvoiceOriginalDebitLC) - abs(t_sCInvoice.CInvoiceVatCreditLC))) 
    then do:
        <M-42 run SetMessage
           (input  trim(#T-44'LC Non-Disc Amt cannot be greater than invoice amount':255(118384993)T-44#) (icMessage), 
            input  '':U (icArguments), 
            input  'tCInvoice.CInvoiceNonDiscAmtLC':U (icFieldName), 
            input  t_sCInvoice.CInvoiceNonDiscAmtLC (icFieldValue), 
            input  'E':U (icType), 
            input  3 (iiSeverity), 
            input  t_sCInvoice.tc_Rowid (icRowid), 
            input  'QadFin-9566':U (icFcMsgNumber), 
            input  '':U (icFcExplanation), 
            input  '':U (icFcIdentification), 
            input  '':U (icFcContext), 
            output viFcReturnSuper (oiReturnStatus)) in BCInvoice>
        assign oiReturnStatus = -1.                
    end.