project QadFinancials > class BPosting > method UpdateCrossCompanyInfo

Description

UpdateCrossCompanyInfo


Parameters


iiPostingCompanyIDinputintegerPostingCompanyID
iiPostingIDinputintegerPostingID
iiPostingLineIDinputintegerPostingLineId
iiCrossCompanyIDinputintegerCrossCompanyID
iiCrossCompanyPostingIDinputintegerCrossCompanyPostingID
iiCrossCompanyPostingLineIDinputintegerCrossCompanyPostingLineID
oiReturnStatusoutputintegerReturn status of the method.


Internal usage


QadFinancials
method BBankEntry.AdditionalUpdatesInvInstanceValidate
method BCDocument.AdditionalUpdatesPosting
method BCDocument.AdditionalUpdatesPostingCrossCy
method BDInvoiceMultiCy.UpdateDeductionDetailCy
method BDInvoiceMultiCy.UpdateDeductionDetailCyV01
method BPosting.UpdateCrossCompanyIDs
method BQCrossCyPosting.ApiProcessQCrossCyPostingJE


program code (program6/bposting.p)

    /* ==================================== */
    /* Find the PostingLine in the instance */
    /* ==================================== */
    find tPosting where 
         tPosting.Company_ID = iiPostingCompanyID and 
         tPosting.Posting_ID = iiPostingID 
         no-error.
    if not available tPosting
    then do :
        assign vcMessage      = trim(substitute(#T-1'Internal cross-company error: cannot find the posting based on the entity &1 and the posting ID &2.':255(14092)t-1#,string(iiPostingCompanyID), string(iiPostingID)))
               oiReturnStatus = -3.
        <M-2 run SetMessage (input  vcMessage (icMessage), 
                     input  '':U (icArguments), 
                     input  '':U (icFieldName), 
                     input  '':U (icFieldValue), 
                     input  'E':U (icType), 
                     input  3 (iiSeverity), 
                     input  '':U (icRowid), 
                     input  'QADFIN-3197':U (icFcMsgNumber), 
                     input  '':U (icFcExplanation), 
                     input  '':U (icFcIdentification), 
                     input  '':U (icFcContext), 
                     output viFcReturnSuper (oiReturnStatus)) in BPosting>
        return.
    end. /* if not available tPosting */
    find tPostingLine where 
         tPostingLine.tc_ParentRowid = tPosting.tc_Rowid and 
         tPostingLine.PostingLine_ID = iiPostingLineID
         no-error.
    if not available tPostingLine
    then do :
        assign vcMessage      = trim(substitute(#T-4'Internal cross-company error: cannot find the posting line based on its ID &1.':255(14091)t-4#,string(iiPostingLineID)))
               oiReturnStatus = -3.
        <M-3 run SetMessage (input  vcMessage (icMessage), 
                     input  '':U (icArguments), 
                     input  '':U (icFieldName), 
                     input  '':U (icFieldValue), 
                     input  'E':U (icType), 
                     input  3 (iiSeverity), 
                     input  '':U (icRowid), 
                     input  'QADFIN-3198':U (icFcMsgNumber), 
                     input  '':U (icFcExplanation), 
                     input  '':U (icFcIdentification), 
                     input  '':U (icFcContext), 
                     output viFcReturnSuper (oiReturnStatus)) in BPosting>
        return.
    end. /* if not available tPosting */
    
    /* ================================ */
    /* Set the CrossCompany information */
    /* ================================ */
    assign tPostingLine.CrossCompany_ID            = iiCrossCompanyID
           tPostingLine.CrossCompanyPosting_ID     = iiCrossCompanyPostingID
           tPostingLine.CrossCompanyPostingLine_ID = iiCrossCompanyPostingLineID.
    if tPostingLine.tc_Status = "":U    
    then assign tPostingLine.tc_Status = "C":U.