project QadFinancials > class BDDocument > method AdditionalUpdatesPostingPrePaymentPayCond
Parameters
icDebtorCode | input | character | |
ocPaymentConditionCode | output | character | |
oiReturnStatus | output | integer | Return status of the method. |
Internal usage
QadFinancials
program code (program5/bddocument.p)
/* ================================================================= */
/* Get default payment condition from the Customer definition */
/* ================================================================= */
<Q-96 run DebtorForDIDefault (all) (Read) (NoCache)
(input viCompanyId, (CompanyId)
input icDebtorCode, (DebtorCode)
output dataset tqDebtorForDIDefault) in BDebtor>
find first tqDebtorForDIDefault where
tqDebtorForDIDefault.tcDebtorCode = icDebtorCode no-error.
if not available tqDebtorForDIDefault
then do:
assign vcMessage = #T-20'Cannot find customer definition based for customer &1.':255(297464269)T-20#
vcMessage = substitute(vcMessage, icDebtorCode).
<M-57 run SetMessage
(input vcMessage (icMessage),
input '':U (icArguments),
input 'tDebtor.DebtorCode':U (icFieldName),
input icDebtorCode (icFieldValue),
input 'S':U (icType),
input 3 (iiSeverity),
input '':U (icRowid),
input 'qadfin-355779':U (icFcMsgNumber),
input '':U (icFcExplanation),
input '':U (icFcIdentification),
input '':U (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BDDocument>
assign oiReturnStatus = -1.
return.
end.
assign ocPaymentConditionCode = tqDebtorForDIDefault.tcPaymentConditionCode.
/* ===================================================================================== */
/* If the payment condition is Staged, then try to find another payment condition which: */
/* - has no stages */
/* - has no discount */
/* ===================================================================================== */
if tqDebtorForDIDefault.tcPaymentConditionPaymentTyp = {&PAYMENTCONDITIONPAYMENTTYPE-STAGED}
then do:
<Q-56 run PaymentConditionByProperties (first) (Read) (NoCache)
(input ?, (PaymentCondition_ID)
input ?, (PaymentConditionCode)
input true, (PaymentConditionIsActive)
input {&PAYMENTCONDITIONPAYMENTTYPE-NORMAL}, (PaymentConditionPaymentType)
input ?, (PaymentConditionPdDiscType)
input 0, (PaymentConditionPercentage)
output dataset tqPaymentConditionByProperties) in BPaymentCondition>
find first tqPaymentConditionByProperties no-error.
if available tqPaymentConditionByProperties
then assign ocPaymentConditionCode = tqPaymentConditionByProperties.tcPaymentConditionCode.
end.