project QadFinancials > class BCMask > method ValidateComponentPostCMaskJournalGroup
Description
Implement extra validations for the Closing mask
Parameters
oiReturnStatus | output | integer | Return status of the method. |
Internal usage
QadFinancials
program code (program1/bcmask.p)
/* ============================================================================================ *
* Perform validation for CMaskJournalGroup record *
* ============================================================================================ */
VAL_BLOCK:
do on error undo, leave:
/* Precondition */
if not available t_sCMaskJrnlGroup
then do:
assign vcMessage = #T-86'There is missing t_sCMaskJournalGroup record.':255(72910928)T-86#.
<M-22 run SetMessage
(input vcMessage (icMessage),
input '':U (icArguments),
input '':U (icFieldName),
input '':U (icFieldValue),
input 'S':U (icType),
input 3 (iiSeverity),
input '':U (icRowid),
input 'qadfin-631480':U (icFcMsgNumber),
input '':U (icFcExplanation),
input '':U (icFcIdentification),
input '':U (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BCMask>
assign oiReturnStatus = -1.
return.
end.
/* ============================================================================================ *
* Only active daybook groups can be used *
* ============================================================================================ */
if can-find (JournalGroup where
JournalGroup.JournalGroup_ID = t_sCMaskJrnlGroup.JournalGroup_ID and
JournalGroup.JournalGroupIsActive <> true)
then do:
assign vcMessage = #T-31'Daybook group &1 is inactive.':255(92397815)T-31#
vcMessage = substitute(vcMessage, t_sCMaskJrnlGroup.tcJournalGroupCode, t_sCMask.CMaskCode).
<M-48 run SetMessage
(input vcMessage (icMessage),
input '':U (icArguments),
input 'tCMaskJrnlGroup.tcJournalGroupCode':U (icFieldName),
input t_sCMaskJrnlGroup.tcJournalGroupCode (icFieldValue),
input 'W':U (icType),
input 3 (iiSeverity),
input t_sCMaskJrnlGroup.tc_Rowid (icRowid),
input 'qadfin-808927':U (icFcMsgNumber),
input '':U (icFcExplanation),
input '':U (icFcIdentification),
input '':U (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BCMask>
assign oiReturnStatus = 1.
end.
/* ============================================================================================ *
* Check if any of the daybook groups contain inactive daybooks *
* ============================================================================================ */
<Q-3 assign vlFcQueryRecordsAvailable = JournalByJournalGroupIsActive (NoCache)
(input viCompanyId, (CompanyId)
input t_sCMaskJrnlGroup.JournalGroup_ID, (JournalGroupId)
input ?, (JournalId)
input false, (JournalIsActive)) in BJournal>
if vlFcQueryRecordsAvailable <> false
then do:
assign vcMessage = #T-53'Daybook group &1 contains an inactive daybook.':255(115532316)T-53#
vcMessage = substitute(vcMessage, t_sCMaskJrnlGroup.tcJournalGroupCode).
<M-1 run SetMessage
(input vcMessage (icMessage),
input '':U (icArguments),
input 'tCMaskJrnlGroup.tcJournalGroupCode':U (icFieldName),
input t_sCMaskJrnlGroup.tcJournalGroupCode (icFieldValue),
input 'W':U (icType),
input 3 (iiSeverity),
input t_sCMaskJrnlGroup.tc_Rowid (icRowid),
input 'qadfin-210958':U (icFcMsgNumber),
input '':U (icFcExplanation),
input '':U (icFcIdentification),
input '':U (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BCMask>
assign oiReturnStatus = 1.
end.
/* ============================================================================================ *
* Daybook Groups that contain Daybook of type Period Costing are not supported *
* ============================================================================================ */
<Q-83 assign vlFcQueryRecordsAvailable = JournalByJournalGroup (NoCache)
(input viCompanyId, (CompanyId)
input ?, (JournalId)
input {&JOURNALTYPE-PERIODICCOSTING}, (JournalTypeCode)
input t_sCMaskJrnlGroup.JournalGroup_ID, (JournalGroupId)) in BJournal>
if vlFcQueryRecordsAvailable <> false
then do:
assign vcMessage = #T-93'Daybook group &1 includes a daybook of type Periodic Costing. Daybooks of that type are not allowed.':255(693234501)T-93#
vcMessage = substitute(vcMessage, t_sCMaskJrnlGroup.tcJournalGroupCode).
<M-95 run SetMessage
(input vcMessage (icMessage),
input '':U (icArguments),
input 'tCMaskJrnlGroup.tcJournalGroupCode':U (icFieldName),
input t_sCMaskJrnlGroup.tcJournalGroupCode (icFieldValue),
input 'E':U (icType),
input 3 (iiSeverity),
input t_sCMaskJrnlGroup.tc_Rowid (icRowid),
input 'qadfin-477927':U (icFcMsgNumber),
input '':U (icFcExplanation),
input '':U (icFcIdentification),
input '':U (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BCMask>
assign oiReturnStatus = -1.
end.
end. /* VAL_BLOCK */