project BLF > class Database Component > method ValidateFieldSecurity
validation procedure
Description
This method validates the field security on the business side. It verifies that business fields that may not be modified are not modified.
Parameters
oiReturnStatus | output | integer | Return status of the method. |
Internal usage
BLF
program code (program1/database.p)
/* Get the FS rules for this component */
<Q-4 run FieldSecurityForCompActivity (all) (Read) (NoCache) (input vcActivityCode, (ActivityCode)
input vcFcComponentName, (BusCompName)
input viUsrId, (UsrID)
output dataset tqFieldSecurityForCompActivity) in BFieldSecurity >
/* iterate over all FS rules */
for each tqFieldSecurityForCompActivity where
tqFieldSecurityForCompActivity.tlFieldSecurityIsUpdateable = no
break by tqFieldSecurityForCompActivity.tcFieldSecurityBusFieldName
on error undo, throw:
if first-of(tqFieldSecurityForCompActivity.tcFieldSecurityBusFieldName)
then do:
<M-2 run ValueChanged (input tqFieldSecurityForCompActivity.tcFieldSecurityBusFieldName (icFieldName),
output vlFieldValueHasChanged (olChanged)) in database>
if vlFieldValueHasChanged
then do:
assign oiReturnStatus = -1. /* Return an error*/
<M-3 run SetMessage (input #T-1'You have no permission to modify this field.':100(6562)T-1# (icMessage),
input '' (icArguments),
input tqFieldSecurityForCompActivity.tcFieldSecurityBusFieldName (icFieldName),
input '' (icFieldValue),
input 'E':U (icType),
input 3 (iiSeverity),
input '' (icRowid),
input 'BLF-331':U (icFcMsgNumber),
input '' (icFcExplanation),
input '' (icFcIdentification),
input '' (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in database>
end.
end.
end.
empty temp-table tqFieldSecurityForCompActivity.