project QadFinancials > class BReportPeriod > method DataNewMultipleCopyPeriodYear
Description
This method creates a new report year based on another existing year.
Parameters
iiReportYear | input | integer | the Year that you want to create |
iiSourceReportYear | input | integer | The year where you want to copy from |
oiReturnStatus | output | integer | Return status of the method. |
Internal usage
unused
program code (program7/breportperiod.p)
/* ========================= */
/* Validate input parameters */
/* ========================= */
if iiReportYear = 0 or iiReportYear = ?
then do:
assign vcMsgRepPd = trim(#T-13'You must enter the reporting year you want to create.':255(3549)T-13#)
oiReturnStatus = -1.
<M-3 run SetMessage (input vcMsgRepPd (icMessage),
input '':U (icArguments),
input '':U (icFieldName),
input '':U (icFieldValue),
input 'E':U (icType),
input 3 (iiSeverity),
input '':U (icRowid),
input 'QADFIN-985':U (icFcMsgNumber),
input '' (icFcExplanation),
input '' (icFcIdentification),
input '' (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BReportPeriod>
return.
end. /* if iiReportYear = 0 */
if iiSourceReportYear = 0
then do:
assign vcMsgRepPd = trim(#T-14'You must enter the reporting year to copy from.':255(3550)T-14#)
oiReturnStatus = -1.
<M-5 run SetMessage (input vcMsgRepPd (icMessage),
input '':U (icArguments),
input '':U (icFieldName),
input '':U (icFieldValue),
input 'E':U (icType),
input 3 (iiSeverity),
input '':U (icRowid),
input 'QADFIN-986':U (icFcMsgNumber),
input '' (icFcExplanation),
input '' (icFcIdentification),
input '' (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BReportPeriod>
return.
end. /* if iiSourceReportYear = 0 */
<Q-6 assign vlFcQueryRecordsAvailable = ReportPeriodByAllInfo (NoCache)
(input ?, (ReportPeriodID)
input iiSourceReportYear, (ReportPeriodYear)
input ?, (ReportPeriodPeriod)
input ?, (ReportPeriodStartDate)
input ?, (ReportPeriodEndDate)
input ?, (ReportPeriodIsReported)) in BReportPeriod >
if vlFcQueryRecordsAvailable = false
then do:
assign vcMsgRepPd = trim(#T-15'The reporting year you want to copy is not defined in the system.':255(3551)t-15#)
oiReturnStatus = -1.
<M-7 run SetMessage (input vcMsgRepPd (icMessage),
input '':U (icArguments),
input '':U (icFieldName),
input '':U (icFieldValue),
input 'E':U (icType),
input 3 (iiSeverity),
input '':U (icRowid),
input 'QADFIN-987':U (icFcMsgNumber),
input '' (icFcExplanation),
input '' (icFcIdentification),
input '' (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BReportPeriod>
return.
end. /* if not vlFcQueryRecordsAvailable */
/* ========================================================================================== */
/* First, clear the instance, otherwise problems might occur when executing this method twice */
/* ========================================================================================== */
<M-8 run ClearData (output viFcReturnSuper (oiReturnStatus)) in BReportPeriod>
if viFcReturnSuper <> 0
then do:
assign oiReturnStatus = viFcReturnSuper.
return.
end. /* if viFcReturnSuper <> 0 */
/* ================================================================ */
/* Read the Accounting Year to copy */
/* ================================================================ */
<Q-9 run ReportPeriodByAllInfo (all) (Read) (NoCache)
(input ?, (ReportPeriodID)
input iiSourceReportYear, (ReportPeriodYear)
input ?, (ReportPeriodPeriod)
input ?, (ReportPeriodStartDate)
input ?, (ReportPeriodEndDate)
input ?, (ReportPeriodIsReported)
output dataset tqReportPeriodByAllInfo) in BReportPeriod >
for each tqReportPeriodByAllInfo where
tqReportPeriodByAllInfo.tiReportPeriodYear = iiSourceReportYear no-lock :
<M-10 run AddDetailLine (input 'ReportPeriod':U (icTable),
input '':U (icParentRowid),
output viFcReturnSuper (oiReturnStatus)) in BReportPeriod>
if viFcReturnSuper <> 0
then do:
assign oiReturnStatus = viFcReturnSuper.
return.
end.
assign tReportPeriod.ReportPeriodYear = iiReportYear
tReportPeriod.ReportPeriodPeriod = tqReportPeriodByAllInfo.tiReportPeriodPeriod
tReportPeriod.ReportPeriodIsReported = false
tReportPeriod.ReportPeriodStartDate = <M-11 GetDate (input tqReportPeriodByAllInfo.ttReportPeriodStartDate (itDate),
input tqReportPeriodByAllInfo.tiReportPeriodYear (iiOldYear),
input iiReportYear (iiNewYear)) in BReportPeriod>
tReportPeriod.ReportPeriodEndDate = <M-12 GetDate (input tqReportPeriodByAllInfo.ttReportPeriodEndDate (itDate),
input tqReportPeriodByAllInfo.tiReportPeriodYear (iiOldYear),
input iiReportYear (iiNewYear)) in BReportPeriod> .
end. /* for each tqReportPeriodByAllInfo where */
/* ============================================================ */
/* Validate data - perform external updates - save data */
/* you don't have to do it here because this method is executed */
/* when they start the period form so when they press save */
/* the methods will automatically executed */
/* ============================================================ */