project QadFinancials > class BPaymentCondition > method AdditionalUpdates

Description

This empty method allows to do additional updates on class temp-tables after records were received (and validated) from outside, using method SetPublicTables.
You can start instances of other business classes to do those updates.


Parameters


oiReturnStatusoutputinteger


Internal usage


QadFinancials
method BPaymentCondition.ApiStdMaintainTT


program code (program/bpaymentcondition.p)

<ANCESTOR-CODE>
                                                                                
/* ============================== */
/* Check ReturnStatus of Ancestor */
/* Set default ReturnStatus       */
/* ============================== */
if oiReturnStatus < 0
then Return.
assign oiReturnStatus      = -98
       viLocalReturnStatus = 0.

/* ======================= */
/* Updates towards MfgPro  */
/* ======================= */

/* set credit term detail code from credit term first */
for each tPaymentCondition where
         tPaymentCondition.PaymentConditionPaymentTyp = {&PAYMENTCONDITIONPAYMENTTYPE-STAGED}.
    for each tPaymentConditionStaged where
             tPaymentConditionStaged.PaymentCondition_ID = tPaymentCondition.PaymentCondition_ID.
        assign tPaymentConditionStaged.tcPaymentConditionCode = tPaymentCondition.PaymentConditionCode.
    end. /* end of for each tPaymentConditionStaged */
end. /* end of for each tPaymentCondition */

if viBMfgCreditTermsFromFinID = 0 or 
viBMfgCreditTermsFromFinID    = ?
then do:
    <I-27 {bFcStartAndOpenInstance
            &ADD-TO-TRANSACTION = "true"
            &CLASS              = "BMfgCreditTerms"}>
end. /* if viBMfgCreditTermsFromFinID = 0 or viBMfgCreditTermsFromFinID = ? */
else do:
    <I-28 {bFcOpenInstance
            &CLASS           = "BMfgCreditTerms"}>
end. /* Not if viBMfgCreditTermsFromFinID = 0 or viBMfgCreditTermsFromFinID = ? */

<M-29 run MaintainData (input  tPaymentCondition (tCopyPaymentCondition), 
                        output viFcReturnSuper (oiReturnStatus)) in BMfgCreditTerms>
if viFcReturnSuper <> 0
then assign viLocalReturnStatus = viFcReturnSuper.
<I-30 {bFcCloseInstance
            &CLASS           = "BMfgCreditTerms"}>

if viLocalReturnStatus < 0 
then do :
    <M-38 run StopExternalInstances
       (output viFcReturnSuper (oiReturnStatus)) in BPaymentCondition>
    assign oiReturnStatus = viLocalReturnStatus.
    Return.
end. /* if viLocalReturnStatus < 0  */

/* to update credit term detail if it is a staged payment condition */
if can-find(first tPaymentCondition where
                  tPaymentCondition.PaymentConditionPaymentTyp = {&PAYMENTCONDITIONPAYMENTTYPE-STAGED})
then do:
    if viBMfgCreditTermsDetailFinID = 0 or 
       viBMfgCreditTermsDetailFinID = ?
    then do:
       <I-32 {bFcStartAndOpenInstance
            &ADD-TO-TRANSACTION = "true"
            &CLASS              = "BMfgCreditTermsDetail"}>
    end. /* if viBMfgCreditTermsDetailFinID ... */
    else do:
         <I-33 {bFcOpenInstance
            &CLASS           = "BMfgCreditTermsDetail"}>
    end. /* else do   */
    <M-34 run MaintainData (input  tPaymentConditionStaged (tCopyPaymentConditionStaged), 
                        output viFcReturnSuper (oiReturnStatus)) in BMfgCreditTermsDetail>  
    
    if viFcReturnSuper <> 0
    then assign viLocalReturnStatus = viFcReturnSuper.                       
    <I-36 {bFcCloseInstance
            &CLASS           = "BMfgCreditTermsDetail"}>
    if viLocalReturnStatus < 0 
    then do :
        <M-39 run StopExternalInstances
           (output viFcReturnSuper (oiReturnStatus)) in BPaymentCondition>
         assign oiReturnStatus = viLocalReturnStatus.
         return.
    end. /* if viLocalReturnStatus < 0  */
end. /* if payment condition type is staged */
           
/* ======================== */
/* Set ReturnStatus = OK    */
/* ======================== */
assign oiReturnStatus = viLocalReturnStatus.