project QadFinancials > class BQCrossCyPosting > method ValidateComponentPostJournalRole
validation procedure
Parameters
iiJournalID | input | integer | |
iiCompanyID | input | integer | |
icJournalCode | input | character | |
oiReturnStatus | output | integer | Return status of the method. |
Internal usage
QadFinancials
program code (program1/bqcrosscyposting.p)
/* ================== */
/* Exception handling */
/* ================== */
assign oiReturnStatus = -98
viLocalReturnStatus = 0.
/* Read the journal to find out the type */
<Q-68 run JournalByJournalLayerType (all) (Read) (NoCache)
(input iiJournalID, (JournalId)
input ?, (JournalCode)
input iiCompanyID, (CompanyId)
input ?, (LayerTypeCode)
output dataset tqJournalByJournalLayerType) in BJournal >
Find first tqJournalByJournalLayerType
where tqJournalByJournalLayerType.tiJournal_ID = iiJournalID no-error.
if not available tqJournalByJournalLayerType
then do :
assign oiReturnStatus = -1
vcMessage = trim(substitute(#T-28'Invalid daybook: &1.':255(915894465)T-28#, icJournalCode)).
<M-92 run SetMessage
(input vcMessage (icMessage),
input '':U (icArguments),
input '':U (icFieldName),
input '':U (icFieldValue),
input 'E':U (icType),
input 3 (iiSeverity),
input '':U (icRowid),
input 'QadFin-741136':U (icFcMsgNumber),
input '':U (icFcExplanation),
input '':U (icFcIdentification),
input '':U (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BQCrossCyPosting>
end. /* if not available tqJournalByJournalLayerType */
else do:
if can-do({&SECUREJOURNALTYPES}, tqJournalByJournalLayerType.tcJournalTypeCode)
then do:
assign vhFcComponent = ?.
<M-23 run CheckJournalRole
(input viUsrId (iiUserID),
input ? (icUserCode),
input iiJournalID (iiJournalID),
input ? (icJournalCode),
input iiCompanyID (iiCompanyID),
input ? (icCompanyCode),
input viSessionID (iiSessionID),
output vcMessage (ocErrorMessage),
output vlJournalAccessAllowed (olJournalAccessAllowed),
output viFcReturnSuper (oiReturnStatus)) in TJournalRole>
if viFcReturnSuper <> 0
then assign viLocalReturnStatus = viFcReturnSuper.
run gipr_DeleteProcedure in vhFcComponent.
delete procedure vhFcComponent.
if viLocalReturnStatus <> 0
then do:
<M-91 run SetMessage
(input vcMessage (icMessage),
input '':U (icArguments),
input 'JournalCode':U (icFieldName),
input icJournalCode (icFieldValue),
input 'E':U (icType),
input 1 (iiSeverity),
input '':U (icRowid),
input 'QadFin-86195':U (icFcMsgNumber),
input '' (icFcExplanation),
input '' (icFcIdentification),
input '' (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BQCrossCyPosting>
end. /* if viLocalReturnStatus <> 0 */
if vlJournalAccessAllowed <> true
then do:
<Q-41 run CompanyPrim (all) (Read) (NoCache)
(input iiCompanyID, (LookupCompanyId)
input ?, (CompanyCode)
output dataset tqCompanyPrim) in BCompany >
find first tqCompanyPrim
where tqCompanyPrim.tiCompany_ID = iiCompanyID no-error.
assign vcMessage = #T-20'You are not authorized to use daybook &1 in entity &2':100(827961670)T-20#
vcMessage = substitute(vcMessage, icJournalCode, tqCompanyPrim.tcCompanyCode ).
<M-45 run SetMessage
(input vcMessage (icMessage),
input '':U (icArguments),
input 'JournalCode':U (icFieldName),
input icJournalCode (icFieldValue),
input 'E':U (icType),
input 1 (iiSeverity),
input '':U (icRowid),
input 'QadFin-713590':U (icFcMsgNumber),
input '' (icFcExplanation),
input '' (icFcIdentification),
input '' (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BQCrossCyPosting>
assign viLocalReturnStatus = -1.
end. /* if vlJournalAccessAllowed <> true */
end. /* if can-do({&SECUREJOURNALTYPES}, tqJournalByJournalLayerType.tcJournalTypeCode) */
end. /* else do */
/* ================== */
/* Return */
/* ================== */
assign oiReturnStatus = viLocalReturnStatus.