project BLF > class BObjectSecurity > method DataLoadObjectSecurity
Description
Returns all security rules of a single application object.
Parameters
| icBusinessComponentName | input | character | |
| icObjectReference | input | character | |
| tSelectedActivities | output | temp-table | |
| tSelectedUsers | output | temp-table | |
| oiReturnStatus | output | integer | Return status of the method. |
Internal usage
BLF
program code (program1/bobjectsecurity.p)
if oiReturnStatus = 0
then oiReturnStatus = -98.
empty temp-table tSelectedActivities.
empty temp-table tSelectedUsers.
if icObjectReference = ""
or icObjectReference = ?
then return.
<Q-1 run ObjectActivities (all) (Read) (NoCache)
(input icObjectReference, (ObjectRef)
input icBusinessComponentName, (BusCompCode)
output dataset tqObjectActivities) in BObjectSecurity >
for each tqObjectActivities:
if not can-find (first tSelectedActivities where
tSelectedActivities.tiBusActivity_ID = tqObjectActivities.tiBusActivity_ID)
then do:
create tSelectedActivities.
assign tSelectedActivities.tcActivityCode = tqObjectActivities.tcBusActivityCode
tSelectedActivities.tiBusActivity_ID = tqObjectActivities.tiBusActivity_ID.
end.
if not can-find (first tSelectedUsers where
tSelectedUsers.tiBusActivity_ID = tqObjectActivities.tiBusActivity_ID and
tSelectedUsers.tiUsrId = tqObjectActivities.tiUsr_ID)
then do:
create tSelectedUsers.
assign tSelectedUsers.tcUserName = tqObjectActivities.tcUsrName
tSelectedUsers.tiBusActivity_ID = tqObjectActivities.tiBusActivity_ID
tSelectedUsers.tiUsrId = tqObjectActivities.tiUsr_ID.
end.
assign vcPK = vcPK + chr(4) + string(tqObjectActivities.tiObjectSecurity_ID).
end.
empty temp-table tqObjectActivities.
if vcPK = ""
then do:
<M-3 run ClearData (output viFcReturnSuper (oiReturnStatus)) in BObjectSecurity>
end.
else do:
<M-2 run DataLoad (input '' (icRowids),
input substring(vcPK,2,-1,'CHARACTER':U) (icPkeys),
input '' (icObjectIds),
input '' (icFreeform),
input no (ilKeepPrevious),
output viFcReturnSuper (oiReturnStatus)) in BObjectSecurity>
end.
if viFcReturnSuper <> 0
then oiReturnStatus = viFcReturnSuper.
if viFcReturnSuper < 0
then do:
assign vcBCLoaded = ""
vcObjectLoaded = "".
return.
end.
assign vcBCLoaded = icBusinessComponentName
vcObjectLoaded = icObjectReference.
if oiReturnStatus = -98
then oiReturnStatus = 0.