project QadFinancials > class BCInvoice > method ValidateComponentPostHoldAmount

Description

This method is a submethod of ValidateComponentPost.

This method does some validations on the creditor hold amount.


Parameters


oiReturnStatusoutputintegerReturn status of the method.


Internal usage


QadFinancials
method BCInvoice.ValidateComponentPost


program code (program5/bcinvoice.p)

if (t_sCInvoice.tc_Status             = "N":U                               or
    t_sCInvoice.tc_Status             = "C":U                               and
   (t_sCInvoice.CInvoiceType         <> t_iCInvoice.CInvoiceType            or
    t_sCInvoice.CInvoiceHoldAmountTC <> t_iCInvoice.CInvoiceHoldAmountTC))  and
    t_sCInvoice.CInvoiceType         <> {&INVOICETYPE-INVOICECORRECTION}    and
    t_sCInvoice.CInvoiceType         <> {&INVOICETYPE-CREDITNOTECORRECTION} and
    t_sCInvoice.CInvoiceHoldAmount    < 0
then do:
    <M-1 run SetMessage
       (input  trim(#T-1'The hold amount cannot be negative.':255(65519)t-1#) (icMessage), 
        input  '':U (icArguments), 
        input  'tCInvoice.CInvoiceHoldAmountTC':U (icFieldName), 
        input  t_sCInvoice.CInvoiceHoldAmountTC (icFieldValue), 
        input  'E':U (icType), 
        input  3 (iiSeverity), 
        input  t_sCInvoice.tc_Rowid (icRowid), 
        input  'QadFin-7110':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         <> t_iCInvoice.CInvoiceType           or
    t_sCInvoice.CInvoiceHoldAmountTC <> t_iCInvoice.CInvoiceHoldAmountTC)) and
    t_sCInvoice.CInvoiceType         <> {&INVOICETYPE-INVOICE}             and
    t_sCInvoice.CInvoiceType         <> {&INVOICETYPE-CREDITNOTE}          and
    t_sCInvoice.CInvoiceHoldAmount    > 0
then do:
    <M-2 run SetMessage
       (input  trim(#T-3'The hold amount cannot be positive.':255(65520)t-3#) (icMessage), 
        input  '':U (icArguments), 
        input  'tCInvoice.CInvoiceHoldAmountTC':U (icFieldName), 
        input  t_sCInvoice.CInvoiceHoldAmountTC (icFieldValue), 
        input  'E':U (icType), 
        input  3 (iiSeverity), 
        input  t_sCInvoice.tc_Rowid (icRowid), 
        input  'QadFin-7111':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         <> t_iCInvoice.CInvoiceType            or
    t_sCInvoice.CInvoiceHoldAmountTC <> t_iCInvoice.CInvoiceHoldAmountTC    or
    t_sCInvoice.tdCInvoiceOriginalTC <> t_iCInvoice.tdCInvoiceOriginalTC))  and
    t_sCInvoice.CInvoiceType         <> {&INVOICETYPE-INVOICECORRECTION}    and
    t_sCInvoice.CInvoiceType         <> {&INVOICETYPE-CREDITNOTECORRECTION} and
    t_sCInvoice.CInvoiceHoldAmount    > abs(t_sCInvoice.CInvoiceBalanceTC)
then do:
    <M-4 run SetMessage
       (input  trim(#T-96'The hold amount cannot be greater than the open amount of the invoice.':255(82664022)T-96#) (icMessage), 
        input  '':U (icArguments), 
        input  'tCInvoice.CInvoiceHoldAmountTC':U (icFieldName), 
        input  t_sCInvoice.CInvoiceHoldAmountTC (icFieldValue), 
        input  'E':U (icType), 
        input  3 (iiSeverity), 
        input  t_sCInvoice.tc_Rowid (icRowid), 
        input  'QadFin-7112':U (icFcMsgNumber), 
        input  '':U (icFcExplanation), 
        input  '':U (icFcIdentification), 
        input  '':U (icFcContext), 
        output viFcReturnSuper (oiReturnStatus)) in BCInvoice>

    assign oiReturnStatus = -1.
end.