project QadFinancials > class BBudget > method BudgetWBSAutoLinkAssignFDS
Description
This submethod of Method BudgetWBSAutoLink will assign FDS or BudgetGroup content per FDS Type.
Parameters
bcBudgetWBSCodes | input-output | character | BudgetWBSCodes |
icBudgetFRWChartCode | input | character | |
oiReturnStatus | output | integer | Return status of the method. |
Internal usage
QadFinancials
program code (program9/bbudget.p)
/* Remove BudgetWBSFDSList condition for FIN-10317 */
if (tNewBudgetWBS.BudgetWBSFDSCode <> "":U and tNewBudgetWBS.BudgetWBSFDSCode <> ?) or
/* (tNewBudgetWBS.BudgetWBSFDSList <> "":U and tNewBudgetWBS.BudgetWBSFDSList <> ?) or */
(tNewBudgetWBS.tcBudgetGroupCode <> "":U and tNewBudgetWBS.tcBudgetGroupCode <> ?) or
(tNewBudgetWBS.BudgetWBSFDSFromCode <> "":U and tNewBudgetWBS.BudgetWBSFDSFromCode <> ?) or
(tNewBudgetWBS.BudgetWBSFDSToCode <> "":U and tNewBudgetWBS.BudgetWBSFDSToCode <> ?)
then do:
assign oiReturnStatus = 1
bcBudgetWBSCodes = bcBudgetWBSCodes + (if bcBudgetWBSCodes = "":U
then tNewBudgetWBS.BudgetWBSCode
else chr(10) + tNewBudgetWBS.BudgetWBSCode).
return.
end.
find tBudgetWBS where
tBudgetWBS.tc_Rowid = tNewBudgetWBS.tc_Rowid
no-lock no-error.
if not available tBudgetWBS
then do:
assign oiReturnStatus = -1.
<M-14 run SetMessage
(input trim(#T-15'Data inconsistency.':255(665)T-15#) (icMessage),
input '':U (icArguments),
input 'tNewBudgetWBS.tc_rowid':U (icFieldName),
input ? (icFieldValue),
input 'E':u (icType),
input 3 (iiSeverity),
input ? (icRowid),
input 'QADFIN-2267':U (icFcMsgNumber),
input '' (icFcExplanation),
input '' (icFcIdentification),
input '' (icFcContext),
output oiReturnStatus (oiReturnStatus)) in BBudget>
return.
end.
case tNewBudgetWBS.BudgetFDSType:
when {&BUDGETFDSTYPE-GL}
then do:
<Q-1 run GLByCode (all) (Read) (NoCache)
(input viCompanyId, (CompanyId)
input tNewBudgetWBS.BudgetWBSCode, (GLCode)
output dataset tqGLByCode) in BGL >
find tqGLByCode no-lock no-error.
if available tqGLByCode
then do:
create tNewMBudgetWBS.
buffer-copy tNewBudgetWBS to tNewMBudgetWBS.
assign tNewMBudgetWBS.BudgetWBSFDSList = tNewBudgetWBS.BudgetWBSCode
tBudgetWBS.BudgetWBSFDSList = tNewBudgetWBS.BudgetWBSCode
tNewMBudgetWBS.BudgetWBSFDSLink = tNewBudgetWBS.BudgetWBSCode
tBudgetWBS.BudgetWBSFDSLink = tNewBudgetWBS.BudgetWBSCode.
end.
else do:
<Q-2 run BudgetGroupPrim (all) (Read) (NoCache)
(input ?, (BudgetGroupID)
input tNewBudgetWBS.BudgetWBSCode, (BudgetGroupCode)
output dataset tqBudgetGroupPrim) in BBudgetGroup >
find tqBudgetGroupPrim no-lock no-error.
if available tqBudgetGroupPrim
then do:
create tNewMBudgetWBS.
buffer-copy tNewBudgetWBS to tNewMBudgetWBS.
assign tNewMBudgetWBS.tcBudgetGroupCode = tNewBudgetWBS.BudgetWBSCode
tBudgetWBS.tcBudgetGroupCode = tNewBudgetWBS.BudgetWBSCode.
end.
end.
end. /* case gl */
when {&BUDGETFDSTYPE-DIVISION}
then do:
<Q-5 run DivisionPrim (all) (Read) (NoCache)
(input viCompanyId, (CompanyId)
input ?, (DivisionID)
input tNewBudgetWBS.BudgetWBSCode, (DivisionCode)
output dataset tqDivisionPrim) in BDivision >
find tqDivisionPrim no-lock no-error.
if available tqDivisionPrim
then do:
create tNewMBudgetWBS.
buffer-copy tNewBudgetWBS to tNewMBudgetWBS.
assign tNewMBudgetWBS.BudgetWBSFDSList = tNewBudgetWBS.BudgetWBSCode
tBudgetWBS.BudgetWBSFDSList = tNewBudgetWBS.BudgetWBSCode
tNewMBudgetWBS.BudgetWBSFDSLink = tNewBudgetWBS.BudgetWBSCode
tBudgetWBS.BudgetWBSFDSLink = tNewBudgetWBS.BudgetWBSCode.
end.
else do:
<Q-6 run BudgetGroupPrim (all) (Read) (NoCache)
(input ?, (BudgetGroupID)
input tNewBudgetWBS.BudgetWBSCode, (BudgetGroupCode)
output dataset tqBudgetGroupPrim) in BBudgetGroup >
find tqBudgetGroupPrim no-lock no-error.
if available tqBudgetGroupPrim
then do:
create tNewMBudgetWBS.
buffer-copy tNewBudgetWBS to tNewMBudgetWBS.
assign tNewMBudgetWBS.tcBudgetGroupCode = tNewBudgetWBS.BudgetWBSCode
tBudgetWBS.tcBudgetGroupCode = tNewBudgetWBS.BudgetWBSCode.
end.
end.
end. /* case division */
when {&BUDGETFDSTYPE-COSTCENTRE}
then do:
<Q-8 run CostCentrePrim (all) (Read) (NoCache)
(input viCompanyId, (CompanyId)
input ?, (CostCentreID)
input tNewBudgetWBS.BudgetWBSCode, (CostCentreCode)
output dataset tqCostCentrePrim) in BCostCentre >
find tqCostCentrePrim no-lock no-error.
if available tqCostCentrePrim
then do:
create tNewMBudgetWBS.
buffer-copy tNewBudgetWBS to tNewMBudgetWBS.
assign tNewMBudgetWBS.BudgetWBSFDSList = tNewBudgetWBS.BudgetWBSCode
tBudgetWBS.BudgetWBSFDSList = tNewBudgetWBS.BudgetWBSCode
tNewMBudgetWBS.BudgetWBSFDSLink = tNewBudgetWBS.BudgetWBSCode
tBudgetWBS.BudgetWBSFDSLink = tNewBudgetWBS.BudgetWBSCode.
end.
else do:
<Q-7 run BudgetGroupPrim (all) (Read) (NoCache)
(input ?, (BudgetGroupID)
input tNewBudgetWBS.BudgetWBSCode, (BudgetGroupCode)
output dataset tqBudgetGroupPrim) in BBudgetGroup >
find tqBudgetGroupPrim no-lock no-error.
if available tqBudgetGroupPrim
then do:
create tNewMBudgetWBS.
buffer-copy tNewBudgetWBS to tNewMBudgetWBS.
assign tNewMBudgetWBS.tcBudgetGroupCode = tNewBudgetWBS.BudgetWBSCode
tBudgetWBS.tcBudgetGroupCode = tNewBudgetWBS.BudgetWBSCode.
end.
end.
end. /* case costcentre */
when {&BUDGETFDSTYPE-PROJECT}
then do:
<Q-10 run ProjectPrim (all) (Read) (NoCache)
(input viCompanyId, (CompanyId)
input ?, (ProjectID)
input tNewBudgetWBS.BudgetWBSCode, (ProjectCode)
output dataset tqProjectPrim) in BProject >
find tqProjectPrim no-lock no-error.
if available tqProjectPrim
then do:
create tNewMBudgetWBS.
buffer-copy tNewBudgetWBS to tNewMBudgetWBS.
assign tNewMBudgetWBS.BudgetWBSFDSList = tNewBudgetWBS.BudgetWBSCode
tBudgetWBS.BudgetWBSFDSList = tNewBudgetWBS.BudgetWBSCode
tNewMBudgetWBS.BudgetWBSFDSLink = tNewBudgetWBS.BudgetWBSCode
tBudgetWBS.BudgetWBSFDSLink = tNewBudgetWBS.BudgetWBSCode.
end.
else do:
<Q-9 run BudgetGroupPrim (all) (Read) (NoCache)
(input ?, (BudgetGroupID)
input tNewBudgetWBS.BudgetWBSCode, (BudgetGroupCode)
output dataset tqBudgetGroupPrim) in BBudgetGroup >
find tqBudgetGroupPrim no-lock no-error.
if available tqBudgetGroupPrim
then do:
create tNewMBudgetWBS.
buffer-copy tNewBudgetWBS to tNewMBudgetWBS.
assign tNewMBudgetWBS.tcBudgetGroupCode = tNewBudgetWBS.BudgetWBSCode
tBudgetWBS.tcBudgetGroupCode = tNewBudgetWBS.BudgetWBSCode.
end.
end.
end. /* case project */
when {&BUDGETFDSTYPE-SAF}
then do:
<Q-12 run SafPrim (all) (Read) (NoCache)
(input ?, (SafID)
input tNewBudgetWBS.BudgetWBSCode, (SafCode)
input tNewBudgetWBS.tcSafConceptCode, (SafConceptCode)
output dataset tqSafPrim) in BSaf >
find tqSafPrim no-lock no-error.
if available tqSafPrim
then do:
create tNewMBudgetWBS.
buffer-copy tNewBudgetWBS to tNewMBudgetWBS.
assign tNewMBudgetWBS.BudgetWBSFDSList = tNewBudgetWBS.BudgetWBSCode
tBudgetWBS.BudgetWBSFDSList = tNewBudgetWBS.BudgetWBSCode
tNewMBudgetWBS.BudgetWBSFDSLink = tNewBudgetWBS.BudgetWBSCode
tBudgetWBS.BudgetWBSFDSLink = tNewBudgetWBS.BudgetWBSCode.
end.
else do:
<Q-11 run BudgetGroupPrim (all) (Read) (NoCache)
(input ?, (BudgetGroupID)
input tNewBudgetWBS.BudgetWBSCode, (BudgetGroupCode)
output dataset tqBudgetGroupPrim) in BBudgetGroup >
find tqBudgetGroupPrim no-lock no-error.
if available tqBudgetGroupPrim
then do:
create tNewMBudgetWBS.
buffer-copy tNewBudgetWBS to tNewMBudgetWBS.
assign tNewMBudgetWBS.tcBudgetGroupCode = tNewBudgetWBS.BudgetWBSCode
tBudgetWBS.tcBudgetGroupCode = tNewBudgetWBS.BudgetWBSCode.
end.
end.
end. /* case saf */
when {&BUDGETFDSTYPE-REPORT}
then do:
<Q-23 run SelectFRWAnCodeForFRWBudget (all) (Read) (NoCache) (output dataset tqSelectFRWAnCodeForFRWBudget) in BFRWAnalysisCode>
find tqSelectFRWAnCodeForFRWBudget
where tqSelectFRWAnCodeForFRWBudget.tcFRWAnCodeCode = tNewBudgetWBS.BudgetWBSCode and
tqSelectFRWAnCodeForFRWBudget.tcFRWAnCodeFRWChartCode = icBudgetFRWChartCode no-lock no-error.
if available tqSelectFRWAnCodeForFRWBudget
then do:
create tNewMBudgetWBS.
buffer-copy tNewBudgetWBS to tNewMBudgetWBS.
assign tNewMBudgetWBS.BudgetWBSFDSList = tNewBudgetWBS.BudgetWBSCode
tBudgetWBS.BudgetWBSFDSList = tNewBudgetWBS.BudgetWBSCode.
end.
else do:
<Q-41 run BudgetGroupPrim (all) (Read) (NoCache)
(input ?, (BudgetGroupID)
input tNewBudgetWBS.BudgetWBSCode, (BudgetGroupCode)
output dataset tqBudgetGroupPrim) in BBudgetGroup>
find tqBudgetGroupPrim no-lock no-error.
if available tqBudgetGroupPrim
then do:
create tNewMBudgetWBS.
buffer-copy tNewBudgetWBS to tNewMBudgetWBS.
assign tNewMBudgetWBS.tcBudgetGroupCode = tNewBudgetWBS.BudgetWBSCode
tBudgetWBS.tcBudgetGroupCode = tNewBudgetWBS.BudgetWBSCode.
end.
end.
end. /* case analysis report */
end case.