Description
Validate Journal information
Parameters
oiReturnStatus | output | integer | Return status of the method. |
Internal usage
QadFinancials
program code (program4/bgrossincomeaccounting.p)
/* Note: t_sGrossIncAcc is available because it is available in the calling method ValidateComponentPost, which is in the same segment */
/* ================ */
/* Validate Journal */
/* ================ */
<Q-1 run JournalByJournalLayerType (all) (Read) (Cache)
(input t_sGrossIncAcc.Journal_ID, (JournalId)
input '', (JournalCode)
input t_sGrossIncAcc.Company_ID, (CompanyId)
input '', (LayerTypeCode)
output dataset tqJournalByJournalLayerType) in BJournal >
find tqJournalByJournalLayerType where
tqJournalByJournalLayerType.tiJournal_ID = t_sGrossIncAcc.Journal_ID
no-error.
if not available tqJournalByJournalLayerType
then do:
assign oiReturnStatus = -3
vcMessage = substitute(#T-61'Could not find Daybook with ID &1.':255(686519611)T-61#, string(t_sGrossIncAcc.Journal_ID)).
<M-45 run SetMessage
(input vcMessage (icMessage),
input '' (icArguments),
input 'tGrossIncAcc.Journal_ID' (icFieldName),
input string(t_sGrossIncAcc.Journal_ID) (icFieldValue),
input 'E' (icType),
input 3 (iiSeverity),
input t_sGrossIncAcc.tc_Rowid (icRowid),
input 'qadfin-793679':U (icFcMsgNumber),
input '' (icFcExplanation),
input '' (icFcIdentification),
input '' (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BGrossIncomeAccounting>
return.
end. /* if not available tqJournalByJournalLayerType */
/* Validate that Journal is of type 'Journal Entry' */
if tqJournalByJournalLayerType.tcJournalTypeCode <> {&JOURNALTYPE-JOURNALENTRY}
then do:
assign oiReturnStatus = -1
vcMessage = substitute(#T-85'The selected daybook must be of type &1.':255(870641117)T-85#, {&JOURNALTYPE-JOURNALENTRY-TR}).
<M-34 run SetMessage
(input vcMessage (icMessage),
input '' (icArguments),
input 'tGrossIncAcc.tcJournalCode' (icFieldName),
input t_sGrossIncAcc.tcJournalCode (icFieldValue),
input 'E' (icType),
input 3 (iiSeverity),
input t_sGrossIncAcc.tc_Rowid (icRowid),
input 'qadfin-876169':U (icFcMsgNumber),
input '' (icFcExplanation),
input '' (icFcIdentification),
input '' (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BGrossIncomeAccounting>
end. /* if tqJournalByJournalLayerType.tcJournalTypeCode <> {&JOURNALTYPE-JOURNALENTRY} */
/* Validate that Journal is not in a transient layer */
if tqJournalByJournalLayerType.tcLayerTypeCode = {&LAYERTYPECODE-TRANSIENT}
then do:
assign oiReturnStatus = -1
vcMessage = substitute(#T-12'The selected daybook cannot be in a &1 layer.':255(938325886)T-12#, {&LAYERTYPECODE-TRANSIENT-TR}).
<M-15 run SetMessage
(input vcMessage (icMessage),
input '' (icArguments),
input 'tGrossIncAcc.tcJournalCode' (icFieldName),
input t_sGrossIncAcc.tcJournalCode (icFieldValue),
input 'E' (icType),
input 3 (iiSeverity),
input t_sGrossIncAcc.tc_Rowid (icRowid),
input 'qadfin-167150':U (icFcMsgNumber),
input '' (icFcExplanation),
input '' (icFcIdentification),
input '' (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BGrossIncomeAccounting>
end. /* if tqJournalByJournalLayerType.tcLayerTypeCode = {&LAYERTYPECODE-TRANSIENT} */
/* Validate that Journal is Operational */
if tqJournalByJournalLayerType.tcJournalControl <> {&JOURNALCONTROL-LOGISTIC}
then do:
assign oiReturnStatus = -1
vcMessage = substitute(#T-46'The selected daybook must be an &1 daybook.':255(713407735)T-46#, {&JOURNALCONTROL-LOGISTIC-TR}).
<M-93 run SetMessage
(input vcMessage (icMessage),
input '' (icArguments),
input 'tGrossIncAcc.tcJournalCode' (icFieldName),
input t_sGrossIncAcc.tcJournalCode (icFieldValue),
input 'E' (icType),
input 3 (iiSeverity),
input t_sGrossIncAcc.tc_Rowid (icRowid),
input 'qadfin-931040':U (icFcMsgNumber),
input '' (icFcExplanation),
input '' (icFcIdentification),
input '' (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BGrossIncomeAccounting>
end. /* if tqJournalByJournalLayerType.tcJournalControl <> {&JOURNALCONTROL-LOGISTIC} */