Description
ApiProcessQCrossCyPostingJE: submethod of ApiProcessQCrossCyPosting that will set the cross-company information in the new and in the originator posting.
Parameters
iiOriginatorCompanyID | input | integer | |
iiOriginatorPostingID | input | integer | OriginatorPostingID |
iiOriginatorPostingLineID | input | integer | OriginatorPostingLineId |
iiNewCompanyID | input | integer | NewCompanyID |
iiNewPostingID | input | integer | NewPostingID |
iiNewPostingLineID | input | integer | NewPostingLineID |
oiReturnStatus | output | integer | Return status of the method. |
Internal usage
QadFinancials
program code (program6/bqcrosscyposting.p)
/* ======================================================== */
/* Call method in BJE that will set the crosscompany info */
/* of the newly created cross-company posting-line */
/* ======================================================== */
<M-1 run UpdateCrossCompanyInfo
(input iiNewCompanyID (iiPostingCompanyID),
input iiNewPostingID (iiPostingID),
input iiNewPostingLineID (iiPostingLineID),
input iiOriginatorCompanyID (iiCrossCompanyID),
input iiOriginatorPostingID (iiCrossCompanyPostingID),
input iiOriginatorPostingLineID (iiCrossCompanyPostingLineID),
output viFcReturnSuper (oiReturnStatus)) in BJournalEntry>
if viFcReturnSuper <> 0
then do :
assign oiReturnStatus = viFcReturnSuper.
if oiReturnStatus < 0
then return.
end. /* if viFcReturnSuper <> 0 */
/* ================================================================================= */
/* Use WriteDirect to update the cross-company info for the originating posting-line */
/* Make sure we also set the IntercoBusinessRelation_ID field in that posting-line */
/* ================================================================================= */
/* Query the company (by iiNewCompanyID) to get the business-relation_ID to fill in in the */
<Q-5 run CompanyBusinessRelation (all) (Read) (NoCache)
(input iiNewCompanyID, (CompanyId)
output dataset tqCompanyBusinessRelation) in BCompany >
find first tqCompanyBusinessRelation no-error.
if available tqCompanyBusinessRelation
then assign viPostingLineIntercoBusRelID = tqCompanyBusinessRelation.tiBusinessRelation_ID.
/* Start persistance & call WriteDirect */
<M-4 run StartPersistence (output vhFcComponent (ohPersistence),
output viFcReturnSuper (oiReturnStatus)) in BQCrossCyPosting>
if viFcReturnSuper <> 0
then do :
assign oiReturnStatus = viFcReturnSuper.
if oiReturnStatus < 0
then return.
end. /* if viFcReturnSuper <> 0 */
assign vcWhereClause = "for each PostingLine where PostingLine.PostingLine_ID = ":U + string(iiOriginatorPostingLineID).
<M-3 run WriteDirect
(input 'PostingLine':U (icTableName),
input vcWhereClause (icPrepare),
input 'CrossCompany_ID,CrossCompanyPosting_ID,CrossCompanyPostingLine_ID,IntercoBusinessRelation_ID':U (icFieldList),
input 'i,i,i':U (icFieldListDataTypes),
input string(iiNewCompanyID) + chr(2) + string(iiNewPostingID) + chr(2) + string(iiNewPostingLineID) + chr(2) + string(viPostingLineIntercoBusRelID) (icAbsolute),
input '':U (icIncremental),
input {&TARGETPROCEDURE} (ihClass),
input vcUserLogin (icUserLogin),
output viFcReturnSuper (oiReturnStatus)) in persistence>
if viFcReturnSuper <> 0
then do :
assign oiReturnStatus = viFcReturnSuper.
if oiReturnStatus < 0
then return.
end. /* if viFcReturnSuper <> 0 */