project QadFinancials > class BUserRole > 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


BLF
method BUserRole.ApiSaveUserMembership
method BUserRole.ApiSynchronise
method BUserRole.UpdateUsrRoleFromUserMnt

QadFinancials
method BUserRole.CreateUsrRoleFromRoleCIApproveRole


program code (program/buserrole.p)

<ANCESTOR-CODE>

Empty Temp-table tUserRoleDomainForRep.

<Q-15 run UserById  (Start) in BUser >

For Each tUsrRole:

    <Q-16 run UserById (all)  (Read)  (NoCache)  (input tUsrRole.Usr_ID, (UsrId)
                    output dataset tqUserById) in BUser >
    Find First tqUserById.

    For Each tUsrRoleDomain Where 
             tUsrRoleDomain.tc_ParentRowid = tUsrRole.tc_Rowid:   
        Create tUserRoleDomainForRep.            
        Buffer-copy tUsrRoleDomain to tUserRoleDomainForRep.     
        
        Assign 
            tUserRoleDomainForRep.tcUserLoginForRep = tqUserById.tcUsrLogin
            tUserRoleDomainForRep.tcRoleName        = tUsrRole.tcRoleName.

        If tUsrRole.tc_Status = 'D':U 
        Then Assign tUserRoleDomainForRep.tc_Status = 'D':U.
        
    End.    
End.     

If viBMfgUserRoleID = 0 Or
   viBMfgUserRoleID = ?
Then Do:
    <I-1 {bFcStartAndOpenInstance
            &ADD-TO-TRANSACTION = "True"
            &CLASS              = "BMfgUserRole"}>
End.
Else Do:
    <I-2 {bFcOpenInstance
            &CLASS           = "BMfgUserRole"}>
End.
<M-3 run MaintainData (input  tUserRoleDomainForRep (tUserRoleDomain), 
                       output viLocalReturnStatus (oiReturnStatus)) in BMfgUserRole>
<I-4 {bFcCloseInstance
            &CLASS           = "BMfgUserRole"}>
If viLocalReturnStatus <> 0
Then Assign oiReturnStatus = viLocalReturnStatus.
If viLocalReturnStatus < 0
Then Do:
    <M-22 run StopExternalInstances
       (output viFcReturnSuper (oiReturnStatus)) in BUserRole>
    Return.
End.


Empty Temp-table tUserRoleDomainForRep.

If vlNeedsUpdateMfgUserDomain
Then Do:

    For Each tUsrRole:
    
        <Q-19 run UserById (all)  (Read)  (NoCache)  (input tUsrRole.Usr_ID, (UsrId)
                        output dataset tqUserById) in BUser >
        Find First tqUserById.
        
        For Each tUsrRoleDomain Where 
                 tUsrRoleDomain.tc_ParentRowid = tUsrRole.tc_Rowid:   
            Create tUserRoleDomainForRep.            
            Buffer-copy tUsrRoleDomain to tUserRoleDomainForRep.                                     
            If tUsrRoleDomain.tc_Status = 'N':U
            Then Assign tUserRoleDomainForRep.tc_Status = 'C':U.
            If tUsrRole.tc_Status = 'D':U Or
               tUsrRoleDomain.tc_Status = 'D':U
            Then Assign tUserRoleDomainForRep.tc_Status = 'D':U.     
            
            Assign 
                tUserRoleDomainForRep.tcUserLoginForRep = tqUserById.tcUsrLogin
                tUserRoleDomainForRep.tcRoleName        = tUsrRole.tcRoleName.       
        End.
    End.     
    
    If viBMfgUserDomainForUsrRoleID = 0 Or
       viBMfgUserDomainForUsrRoleID = ?
    Then Do:
        <I-6 {bFcStartAndOpenInstance
            &ADD-TO-TRANSACTION = "True"
            &CLASS              = "BMfgUserDomainForUsrRole"}>
    End.
    Else Do:
        <I-7 {bFcOpenInstance
            &CLASS           = "BMfgUserDomainForUsrRole"}>
    End.
    <M-14 run MaintainData (input  tUserRoleDomainForRep (tMfgUserRoleDomain), 
                            output viLocalReturnStatus (oiReturnStatus)) in BMfgUserDomainForUsrRole>
    <I-9 {bFcCloseInstance
            &CLASS           = "BMfgUserDomainForUsrRole"}>
    If viLocalReturnStatus <> 0
    Then Assign oiReturnStatus = viLocalReturnStatus.
    If viLocalReturnStatus < 0
    Then Do:
        <M-23 run StopExternalInstances
           (output viFcReturnSuper (oiReturnStatus)) in BUserRole>
        Return.
    End.
End. /* If vlNeedsUpdateMfgUserDomain*/

<Q-21 run UserById  (Stop) in BUser >