Description
if the invoice type is deduction or prepayment, get the new credit term, invoice due date, invoice discount due date.
Parameters
icInvoiceType | input | character | Prepayment or Deduction |
ocPaymentConditionCode | output | character | |
oiReturnStatus | output | integer | Return status of the method. |
Internal usage
QadFinancials
program code (program1/bpaymentcondition.p)
assign oiReturnStatus = -98
ocPaymentConditionCode = '':U.
if icInvoiceType = {&INVOICETYPE-PREPAYMENT} or icInvoiceType = {&INVOICETYPE-DEDUCTION} then
do:
<Q-26 run DomainCreditTermByDomain (all) (Read) (NoCache)
(input viDomainID, (Domain_ID)
output dataset tqDomainCreditTermByDomain) in BDomainProperty>
find first tqDomainCreditTermByDomain no-error.
if icInvoiceType = {&INVOICETYPE-PREPAYMENT} then
do:
if not available tqDomainCreditTermByDomain or tqDomainCreditTermByDomain.tcPrePaymentConditionCode = '':U
or tqDomainCreditTermByDomain.tcPrePaymentConditionCode = ? then
do:
assign oiReturnStatus = 0.
return.
end.
if tqDomainCreditTermByDomain.tlPrePaymentConditionIsActive = false then
do:
assign oiReturnStatus = 0.
return.
end.
assign ocPaymentConditionCode = tqDomainCreditTermByDomain.tcPrePaymentConditionCode.
end.
if icInvoiceType = {&INVOICETYPE-DEDUCTION} then
do:
if not available tqDomainCreditTermByDomain or tqDomainCreditTermByDomain.tcDeductPaymentConditionCode = '':U
or tqDomainCreditTermByDomain.tcDeductPaymentConditionCode = ? then
do:
assign vcErrorType = 'E':U
vcMessage = trim(#T-85'Please set the Credit Terms Deduction in the domain setting.':100(916627142)T-85#).
<M-48 run SetMessage
(input vcMessage (icMessage),
input ? (icArguments),
input '':U (icFieldName),
input '':U (icFieldValue),
input vcErrorType (icType),
input 3 (iiSeverity),
input ? (icRowid),
input 'qadfin-943020':U (icFcMsgNumber),
input ? (icFcExplanation),
input ? (icFcIdentification),
input ? (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BOpenBalance>
return.
end.
if tqDomainCreditTermByDomain.tlDeductPaymentConditionIsActive = false then
do:
assign vcErrorType = 'E':U
vcMessage = trim(substitute(#T-74'the Credit Terms Deduction &1 is not active.':255(244353464)T-74#, tqDomainCreditTermByDomain.tcDeductPaymentConditionCode)).
<M-5 run SetMessage
(input vcMessage (icMessage),
input ? (icArguments),
input ? (icFieldName),
input ? (icFieldValue),
input vcErrorType (icType),
input 3 (iiSeverity),
input ? (icRowid),
input 'qadfin-636837':U (icFcMsgNumber),
input ? (icFcExplanation),
input ? (icFcIdentification),
input ? (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BPaymentCondition>
return.
end.
ocPaymentConditionCode = tqDomainCreditTermByDomain.tcDeductPaymentConditionCode.
end.
end.
assign oiReturnStatus = 0.