Description
AdditionalUpdatesCreateDelete; Submethod of AdditionalUpdates
Parameters
oiReturnStatus | output | integer | Return status of the method. |
Internal usage
QadFinancials
program code (program6/bbudgetlinkactual.p)
/* ============================================================================================= */
/* For every tBudgetLinkActual that is created, a BudgetLink record will be created or updated. */
/* ============================================================================================= */
/* ================================================================ */
/* Set Return-status = Default-error */
/* ================================================================ */
assign oiReturnStatus = -98.
/* ===================== */
/* Empty the temp-tables */
/* ===================== */
empty temp-table tApiBudgetLinkFromActuals.
/* =============================================== */
/* Go through all new/ deletd instance records */
/* =============================================== */
for each tBudgetLinkActual where
tBudgetLinkActual.tc_Status = "N":U or
tBudgetLinkActual.tc_Status = "D":U
no-lock :
create tApiBudgetLinkFromActuals.
buffer-copy tBudgetLinkActual
except tc_rowid
tc_parentrowid
tc_status
BudgetLinkActual_ID
to tApiBudgetLinkFromActuals
/* This field has to be unique */
assign tApiBudgetLinkFromActuals.tc_Rowid = tBudgetLinkActual.tc_Rowid + string(tBudgetLinkActual.PostingLine_ID).
/* Inverse the Amount/Qty for a delete */
if tBudgetLinkActual.tc_Status = "D":U
then assign tApiBudgetLinkFromActuals.BudgetLinkActualQTY = tApiBudgetLinkFromActuals.BudgetLinkActualQTY * -1
tApiBudgetLinkFromActuals.BudgetLinkActualTC = tApiBudgetLinkFromActuals.BudgetLinkActualTC * -1
tApiBudgetLinkFromActuals.BudgetLinkActualSalesQTY = tApiBudgetLinkFromActuals.BudgetLinkActualSalesQTY * -1
tApiBudgetLinkFromActuals.BudgetLinkActualSalesTC = tApiBudgetLinkFromActuals.BudgetLinkActualSalesTC * -1.
end. /* for each */
/* ======================================================================== */
/* No further processing needed if these are no BudgetLinkActuals to update */
/* ======================================================================== */
if not can-find (first tApiBudgetLinkFromActuals)
then do :
assign oiReturnStatus = 0.
return.
end. /* if not can-find (first tBudgetCheckInfoWBSQBA) */
/* ================================================================ */
/* Call a method in BBudgetLinkAcutal that will create new records */
/* ================================================================ */
if viBBudgetLinkBLActID = 0 or viBBudgetLinkBLActID = ?
then do:
<I-1 {bFcStartAndOpenInstance
&ADD-TO-TRANSACTION = "true"
&CLASS = "BBudgetLink"}>
end. /* if viBBudgetLinkBLActID = 0 */
else do:
<I-2 {bFcOpenInstance
&CLASS = "BBudgetLink"}>
end. /* not if viBBudgetLinkBLActID = 0 */
<M-4 run ApiCreateOrUpdateBudgetLink (input tApiBudgetLinkFromActuals (tApiBudgetLink),
output viLocalReturnStatus (oiReturnStatus)) in BBudgetLink>
<I-3 {bFcCloseInstance
&CLASS = "BBudgetLink"}>
if viLocalReturnStatus <> 0
then do :
assign oiReturnStatus = viLocalReturnStatus.
if oiReturnStatus < 0 then return.
end. /* if viLocalReturnStatus <> 0 */
/* ================================================================ */
/* Set Return-status = OK */
/* ================================================================ */
if oiReturnStatus = -98
then assign oiReturnStatus = 0.