project QadFinancials > class BMfgEndUser > 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 BMfgEndUser.ApiReplicateFromFinancials
method BMfgEndUser.MaintainDataBusinessRelation


program code (program/bmfgenduser.p)

MAIN_BLOCK:
do on error undo, leave MAIN_BLOCK:

    <ANCESTOR-CODE>
    if oiReturnStatus < 0 then leave MAIN_BLOCK.
    
    if viBMfgAddress10ID = 0 or
       viBMfgAddress10ID  = ?
    then do:   
        /*Call the MaintainDataCreditor in BMFGAddress to update the ad_mstr in mfgpro */
        <I-10 {bFcStartAndOpenInstance
                &ADD-TO-TRANSACTION = "true"
                &CLASS              = "BMfgAddress"}>
        assign vlIsBMfgAddressStartedHr = true
               vlIsBMfgAddressOpenedHr  = true.
    end.
    else if not valid-handle(vhBMfgAddress10Inst)
    then do:
         <I-11 {bFcOpenInstance
                &CLASS           = "BMfgAddress"}>
         assign vlIsBMfgAddressOpenedHr  = true.
    end.                              
                                                            
    /* MIZ to delete
    <M-30 run MaintainDataEndUser
       (input  tDebtorEndUser (tDebtorEndUsersToUpdate), 
        input  viBBusinessRelationMfgEndUserID (iiBusinessRelationInstanceID), 
        output viLocalReturnStatus (oiReturnStatus)) in BMfgAddress>
    */    
    
    <M-27 run ApiReplicateFromFinancialsEndUSer
       (input  tDebtorEndUser (tDebtorEndUsersToUpdate), 
        input  vcEndUserDomainCode (icDomainCode), 
        input  viBBusinessRelationMfgEndUserID (iiBBusinessRelationID), 
        output viFcReturnSuper (oiReturnStatus)) in BMfgAddress>
    if viFcReturnSuper <> 0 and viLocalReturnStatus = 0
    then assign viLocalReturnStatus = viFcReturnSuper.
    if viFcReturnSuper < 0 then leave MAIN_BLOCK.
    
    
    if viBMfgAddressListDetail11ID = 0 or
       viBMfgAddressListDetail11ID = ?
    then do:
        <I-15 {bFcStartAndOpenInstance
             &ADD-TO-TRANSACTION   = "true"
             &CLASS                = "BMfgAddressListDetail"}>
        assign vlIsBMfgAddressListStartedHr = true
               vlIsBMfgAddressListOpenedHr  = true.
    end.
    else if not valid-handle(vhBMfgAddressListDetail11Inst)
    then do:
        <I-16 {bFcOpenInstance
                &CLASS           = "BMfgAddressListDetail"}>
        assign vlIsBMfgAddressListOpenedHr  = true.
    end.
                                  
    /* Miz to delete
    <M-31 run MaintainDataDebtorEnduser
       (input  tDebtorEndUser (tDebtorEndusersToUpdate2), 
        input  viBBusinessRelationMfgEndUserID (iiBusinessRelationInstanceID), 
        output viLocalReturnStatus (oiReturnStatus)) in BMfgAddressListDetail>
    */
    <M-29 run ApiReplicateFromFinancialsEndUser
       (input  tDebtorEndUser (tDebtorEndusersToUpdate2), 
        input  vcEndUserDomainCode (icDomainCode), 
        output viFcReturnSuper (oiReturnStatus)) in BMfgAddressListDetail>
    if viFcReturnSuper <> 0 and viLocalReturnStatus = 0
    then assign viLocalReturnStatus = viFcReturnSuper.
    if viFcReturnSuper < 0 then leave MAIN_BLOCK. 
                            
    assign vcEndUserDomainCode = '':U.
end. /* of MAIN_BLOCK */

if not vlIsKeepInstancesOpenBMfgEndUs
then do:
    <M-73 run CloseExternalInstances  (output viFcReturnSuper (oiReturnStatus)) in BMfgEndUser>
    if viFcReturnSuper < 0 or viFcReturnSuper > 0 and viLocalReturnStatus = 0 then assign viLocalReturnStatus = viFcReturnSuper.
end.

if viLocalReturnStatus < 0
then do:
    <M-7 run StopExternalInstances  (output viFcReturnSuper (oiReturnStatus)) in BMfgEndUser>
end.

/* ======================== */
/* Set ReturnStatus = OK    */
/* ======================== */
assign oiReturnStatus = viLocalReturnStatus.