project QadFinancials > class BJournal > method ValidateComponentPostRole
validation procedure
Description
Validates the role to make sure it is a valid one. If not it returns an error. Also checks that the daybook can be assigned a role.
Parameters
| oiReturnStatus | output | integer | Return status of the method. |
Internal usage
QadFinancials
program code (program1/bjournal.p)
/* Exception handling */
assign oiReturnStatus = -98
viLocalReturnStatus = 0.
for each t_sJournal where
t_sJournal.tc_Status <> "":U:
if t_sJournal.tc_Status <> "N":U
then do:
find first t_iJournal where
t_iJournal.tc_Rowid = t_sJournal.tc_Rowid
no-error.
if not available t_iJournal
then next. /* error raised by ancestor-code */
end. /* t_sJournal.tc_Status <> "N":U */
if (t_sJournal.tc_Status = "N":U or
t_sJournal.tc_Status = "C":U) and
(t_sJournal.Role_ID <> 0 and
t_sJournal.Role_ID <> ?)
then do:
if not can-do({&SECUREJOURNALTYPES}, t_sJournal.JournalTypeCode)
then do:
assign vcMessage = #T-46'You cannot assign a role to a daybook of this type':100(636607980)T-46#
oiReturnStatus = -1.
<M-17 run SetMessage
(input vcMessage (icMessage),
input '':U (icArguments),
input 't_sJournal.JournalTypeCode':U (icFieldName),
input t_sJournal.JournalTypeCode (icFieldValue),
input 'E':U (icType),
input 1 (iiSeverity),
input t_sJournal.tc_Rowid (icRowid),
input 'QadFin-878594':U (icFcMsgNumber),
input '':U (icFcExplanation),
input '':U (icFcIdentification),
input '':U (icFcContext),
output viLocalReturnStatus (oiReturnStatus)) in BJournal>
return.
end. /* if not can-do({&SECUREJOURNALTYPES}, t_sJournal.JournalTypeCode) */
if t_sJournal.JournalControl <> {&JOURNALCONTROL-FINANCIAL} and
t_sJournal.JournalControl <> {&JOURNALCONTROL-EXTERNAL}
then do:
assign vcMessage = #T-91'You can only assign a role to a daybook with a daybook control of Financial or External':100(8520389)T-91#
oiReturnStatus = -1.
<M-74 run SetMessage
(input vcMessage (icMessage),
input '':U (icArguments),
input 't_sJournal.JournalControl':U (icFieldName),
input t_sJournal.JournalControl (icFieldValue),
input 'E':U (icType),
input 1 (iiSeverity),
input t_sJournal.tc_Rowid (icRowid),
input 'QadFin-902783':U (icFcMsgNumber),
input '':U (icFcExplanation),
input '':U (icFcIdentification),
input '':U (icFcContext),
output viLocalReturnStatus (oiReturnStatus)) in BJournal>
return.
end. /* t_sJournal.JournalTypeCode <> {&JOURNALCONTROL-FINANCIAL} and */
else do:
<Q-72 assign vlFcQueryRecordsAvailable = RoleByIDName (NoCache)
(input t_sJournal.Role_ID, (RoleID)
input t_sJournal.tcRoleName, (RoleName)) in BRole >
if vlFcQueryRecordsAvailable <> true
then do:
assign vcMessage = #T-52'This role does not exist':50(18119318)T-52#
oiReturnStatus = -1.
<M-69 run SetMessage
(input vcMessage (icMessage),
input '':U (icArguments),
input 't_sJournal.tcRoleName':U (icFieldName),
input t_sJournal.tcRoleName (icFieldValue),
input 'E':U (icType),
input 1 (iiSeverity),
input t_sJournal.tc_Rowid (icRowid),
input 'QadFin-867168':U (icFcMsgNumber),
input '':U (icFcExplanation),
input '':U (icFcIdentification),
input '':U (icFcContext),
output viLocalReturnStatus (oiReturnStatus)) in BJournal>
return.
end. /* vlFcQueryRecordsAvailable <> true */
end. /* else do */
end. /* t_sJournal.tc_Status = "N":U or */
if t_sJournal.tc_Status = "C":U and
t_sJournal.Role_ID <> t_iJournal.Role_ID
then do:
assign vcMessage = #T-15'You have updated the role for this daybook':100(524656127)T-15#
oiReturnStatus = 1.
<M-11 run SetMessage
(input vcMessage (icMessage),
input '':U (icArguments),
input 't_sJournal.tcRoleName':U (icFieldName),
input t_sJournal.tcRoleName (icFieldValue),
input 'W':U (icType),
input 3 (iiSeverity),
input t_sJournal.tc_Rowid (icRowid),
input 'QadFin-323523':U (icFcMsgNumber),
input '':U (icFcExplanation),
input '':U (icFcIdentification),
input '':U (icFcContext),
output viLocalReturnStatus (oiReturnStatus)) in BJournal>
return.
end. /* t_sJournal.Role_ID <> t_iJournal.Role_ID */
end. /* for each t_sJournal where */
/* Exception handling */
assign oiReturnStatus = viLocalReturnStatus.