Description
This method will initialize all dataset in BBudget component.
Parameters
icTableName | input | character | Name of the database table of which a record is created in the class temp-table. |
oiReturnStatus | output | integer | |
Internal usage
unused
program code (program/bbudget.p)
<ANCESTOR-CODE>
case icTableName :
/* === BUDGET === */
when "Budget":U
then do :
assign tBudget.Usr_ID = viUsrId
tBudget.tcUsrLogin = vcUserLogin
tBudget.tcCurrencyCode = vcCompanyLC
tBudget.Currency_ID = viCompanyLCId
tBudget.tcCurrencyCode = vcCompanyLC
tBudget.BudgetStatus = {&BUDGETSTATUS-INITIAL}
tBudget.BudgetType = {&BUDGETTYPE-GLOBAL}
tBudget.BudgetIsCompanyDependent = true
tBudget.BudgetIsWithQuantityData = false
tBudget.BudgetIsCheckActualOnLine = false
tBudget.BudgetIsCheckCommitOnLine = false
tBudget.BudgetInputLevelBudget = 1
tBudget.BudgetInputLevelEAC = 1
tBudget.BudgetInputLevelFin = 1
tBudget.BudgetGroupCategory = 1 /* budgetgroup enhancement - ddl 07/03/08 */
tBudget.BudgetCheckReportPeriod = {&BUDGETOVERRUN-NONE}
tBudget.BudgetOverrunTotal = {&BUDGETOVERRUN-NONE}
tBudget.BudgetOverrunPeriod = {&BUDGETOVERRUN-NONE}
tBudget.BudgetOverrunYTD = {&BUDGETOVERRUN-NONE}
tBudget.BudgetForecastType = {&BUDGETFORECASTTYPE-LTE}.
/* Set tBudget.BudgetIsAutoRollUp = true is any-budget is found with true for this field */
<Q-6 assign vlFcQueryRecordsAvailable = BudgetByBudgetIDCodeStatus (NoCache) (input ?, (BudgetID)
input ?, (BudgetCode)
input ?, (BudgetStatus)
input ?, (CompanyId)
input ?, (ProjectCode)
input ?, (CostCentreCode)
input ?, (BudgetIsCheckActualOnLine)
input ?, (BudgetIsCheckCommitOnLine)
input false, (BudgetIsAutoRollUp)
input ?, (ProjectID)
input ?, (CostCentreID)
input ?, (BudgetType)) in BBudget >
assign tBudget.BudgetIsAutoRollUp = (vlFcQueryRecordsAvailable = false).
/* Create a default BudgetVersion as well */
<M-1 run AddDetailLine (input 'BudgetVersion':U (icTable),
input tBudget.tc_Rowid (icParentRowid),
output viFcReturnSuper (oiReturnStatus)) in BBudget>
if viFcReturnSuper < 0
then do :
assign oiReturnStatus = viFcReturnSuper.
return.
end. /* if viFcReturnSuper < 0 */
assign tBudgetVersion.BudgetVersionCode = #T-7'Initial Version':20(487)t-7#
tBudgetVersion.BudgetVersionDescription = tBudgetVersion.BudgetVersionCode
tBudgetVersion.Budget_ID = tBudget.Budget_ID
tBudgetVersion.BudgetVersionIsActive = true.
/* Create a default BudgetCompany as well: company = currency-company */
<M-2 run AddDetailLine (input 'BudgetCompany':U (icTable),
input tBudget.tc_Rowid (icParentRowid),
output viFcReturnSuper (oiReturnStatus)) in BBudget>
if viFcReturnSuper < 0
then do :
assign oiReturnStatus = viFcReturnSuper.
return.
end. /* if viFcReturnSuper < 0 */
assign tBudgetCompany.Budget_ID = tBudget.Budget_ID
tBudgetCompany.Company_ID = viCompanyId.
<Q-3 run CompanyPrim (all) (Read) (NoCache)
(input viCompanyId, (LookupCompanyId)
input ?, (CompanyCode)
output dataset tqCompanyPrim) in BCompany >
find first tqCompanyPrim where
tqCompanyPrim.tiCompany_ID = viCompanyId
no-lock no-error.
assign tBudgetCompany.tcCompanyCode = tqCompanyPrim.tcCompanyCode.
end. /* Budget */
/* === BUDGETWBSROSTER === */
when "BudgetWBSRoster":U
then do :
if can-find (first bBudgetWBSRoster where
bBudgetWBSRoster.BudgetWBS_ID = tBudgetWBSRoster.BudgetWBS_ID and
(bBudgetWBSRoster.BudgetWBSRosterDate = today or
bBudgetWBSRoster.tc_Status = "N":U))
then assign tBudgetWBSRoster.BudgetWBSRosterDate = ?.
else assign tBudgetWBSRoster.BudgetWBSRosterDate = today.
end. /* BudgetWBSRoster */
/* === BUDGETVERSION === */
when "BudgetVersion":U
then do :
assign tBudgetVersion.BudgetVersionCreateDate = today
tBudgetVersion.BudgetVersionCreateTime = time
tBudgetVersion.BudgetVersionIsActive = false.
assign tBudgetVersion.tcBudgetVersionCreateTimeForm =
string(trunc(tBudgetVersion.BudgetVersionCreateTime / 3600,0),"99":U) + ":":U +
string(trunc((tBudgetVersion.BudgetVersionCreateTime - trunc(tBudgetVersion.BudgetVersionCreateTime / 3600,0) * 3600) / 60,0),"99":U) + ":":U +
string(tBudgetVersion.BudgetVersionCreateTime - trunc(tBudgetVersion.BudgetVersionCreateTime / 60,0) * 60,"99":U) no-error.
/* Get the Report-period that embraces today */
<Q-5 run ReportPeriodByDate (all) (Read) (NoCache)
(input tBudgetVersion.BudgetVersionCreateDate, (Date)
output dataset tqReportPeriodByDate) in BReportPeriod >
find first tqReportPeriodByDate no-lock no-error.
if available tqReportPeriodByDate
then assign tBudgetVersion.tiReportPeriodYear = tqReportPeriodByDate.tiReportPeriodYear
tBudgetVersion.tiReportPeriodPeriod = tqReportPeriodByDate.tiReportPeriodPeriod
tBudgetVersion.ReportPeriod_ID = tqReportPeriodByDate.tiReportPeriod_ID.
end. /* when "BudgetVersion":U */
/* === BUDGETFDS === */
when "BudgetFDS":U
then do :
/* Get the last used sequence */
for each bBudgetFDS where
bBudgetFDS.tc_ParentRowid = tBudgetFDS.tc_ParentRowid
no-lock :
if bBudgetFDS.BudgetFDSSeq > viHighestFDSSequence
then assign viHighestFDSSequence = bBudgetFDS.BudgetFDSSeq.
end. /* for each bBudgetFDS where */
assign tBudgetFDS.BudgetFDSSeq = viHighestFDSSequence + 1
tBudgetFDS.BudgetFDSType = {&BUDGETFDSTYPE-GL}.
end. /* BudgetFDS */
/* === BUDGETWBS === */
when "BudgetWBS":U
then do:
assign tBudgetWBS.BudgetWBSOverrunTotal = {&BUDGETOVERRUN-NONE}
tBudgetWBS.BudgetWBSOverrunPeriod = {&BUDGETOVERRUN-NONE}
tBudgetWBS.BudgetWBSOverrunYTD = {&BUDGETOVERRUN-NONE}
tBudgetWBS.BudgetWBSCostRevenue = {&BUDGETWBSCOSTREVENUE-COSTREVENUE}
tBudgetWBS.BudgetWBSStatus = {&BUDGETWBSSTATUS-ACTIVE}
tBudgetWBS.BudgetWBSCostType = {&BUDGETWBSCOSTTYPE-DIRECT}
tBudgetWBS.BudgetWBSCategory = {&BUDGETWBSCATEGORY-ASSET}
tBudgetWBS.BudgetWBSIsWithSumLine = false
tBudgetWBS.BudgetWBSIsPrintDesc = false
tBudgetWBS.BudgetWBSIsRollUp = true.
find bBudget where
bBudget.tc_Rowid = tBudgetWBS.tc_ParentRowid
no-lock.
if available bBudget
then do :
if bBudget.BudgetStatus = {&BUDGETSTATUS-INITIAL}
then do :
assign oiReturnStatus = -3
vcMessage = trim(substitute(#T-8'You can only create budget WBS topics if the budget structure has been validated (budget: &1).':255(488)T-8#,bBudget.BudgetCode)).
<M-4 run SetMessage (input vcMessage (icMessage),
input '':U (icArguments),
input '':U (icFieldName),
input '':U (icFieldValue),
input 'E':U (icType),
input 3 (iiSeverity),
input bBudget.tc_Rowid (icRowid),
input 'QADFIN-504':U (icFcMsgNumber),
input '' (icFcExplanation),
input '' (icFcIdentification),
input '' (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BBudget>
Return.
end. /* if bBudget.BudgetStatus = {&BUDGETSTATUS-INITIAL} */
assign tBudgetWBS.BudgetWBSOverrunTotal = tBudget.BudgetOverrunTotal
tBudgetWBS.BudgetWBSOverrunPeriod = tBudget.BudgetOverrunPeriod
tBudgetWBS.BudgetWBSOverrunYTD = tBudget.BudgetOverrunYTD.
end. /* if available bBudget */
else assign tBudgetWBS.BudgetWBSOverrunTotal = {&BUDGETOVERRUN-NONE}
tBudgetWBS.BudgetWBSOverrunPeriod = {&BUDGETOVERRUN-NONE}
tBudgetWBS.BudgetWBSOverrunYTD = {&BUDGETOVERRUN-NONE}.
end. /* BudgetWBS */
end case.