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
oiReturnStatus | output | integer | Return status of the method. |
Internal usage
QadFinancials
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.