project QadFinancials > class BPosting > method AdditionalUpdatesCrossCyPosting

Description

Create Cross Company Posting Daemon request


Parameters


oiReturnStatusoutputintegerReturn status of the method.


Internal usage


QadFinancials
method BPosting.AdditionalUpdates


program code (program5/bposting.p)

if can-find(first tQCrossCyPostingFromBPosting)
then do:
    if viBQCrossCyPostingFromPostingID = 0 or
       viBQCrossCyPostingFromPostingID = ?
    then do:
        <I-39 {bFcStartAndOpenInstance
             &ADD-TO-TRANSACTION   = "true"
             &CLASS                = "BQCrossCyPosting"}>

        assign vlBQCrCyPostStartedFrmBPosting = true.
    end.
    else do:
        <I-1 {bFcOpenInstance
             &CLASS           = "BQCrossCyPosting"}>
    end.
    
    <M-9 run CreateQCrossCyPosting1
       (input  tQCrossCyPostingFromBPosting (tNewQCrossCyPosting), 
        output viReturn (oiReturnStatus)) in BQCrossCyPosting>
        
    if viReturn >= 0 and
       vlBQCrCyPostStartedFrmBPosting
    then do:
        <M-80 run ValidateBcAndAdditionalUpdates  (output viReturn (oiReturnStatus)) in BQCrossCyPosting>
    end.
    
    /* ========================================================================================================= */
    /* Normally we would here close BQCrossCyPosting but we will not do it for performance                       */
    /* reasons as this way the Commit of the transaction does not have to re-open the instance to commit it.     */
    /* And in all other scenario's the instance of the class ill be closed by the de-activiate procedure of the  */
    /* appserver that is executed after each call to the appserver                                               */
    /* ========================================================================================================= */    

    if viReturn       < 0 or
       oiReturnStatus = 0
    then assign oiReturnStatus = viReturn.

    if oiReturnStatus < 0
    then return.
end.