project BLF > class BSetting > method CreateSystemSettingsUpdate
Parameters
oiReturnStatus | output | integer | Return status of the method. |
Internal usage
BLF
program code (program1/bsetting.p)
for each tSettingsIn where tSettingsIn.tcSettingScope = {&SETTINGCONFIG-LEVEL-SYSTEM}:
if not can-find (first tfcSetting where
tfcSetting.SettingConfig_ID = tSettingsIn.tiSettingConfig_ID)
then do:
<M-3 run AddDetailLine
(input 'fcSetting':U (icTable),
input '' (icParentRowid),
output viFcReturnSuper (oiReturnStatus)) in BSetting>
if viFcReturnSuper <> 0
then do :
assign oiReturnStatus = viFcReturnSuper.
return.
end.
assign tfcSetting.SettingIsActive = tSettingsIn.tlSettingIsActive
tfcSetting.SettingConfig_ID = tSettingsIn.tiSettingConfig_ID.
end.
end.
if can-find (first tSettingsIn where
tSettingsIn.tcSettingScope = {&SETTINGCONFIG-LEVEL-USER})
then do:
<Q-4 run UserPrim (all) (Read) (NoCache)
(input 0, (UsrId)
input '', (UsrLogin)
output dataset tqUserPrim) in BUser >
for each tSettingsIn where
tSettingsIn.tcSettingScope = {&SETTINGCONFIG-LEVEL-USER},
each tqUserPrim:
if not can-find (first tfcSetting where
tfcSetting.SettingConfig_ID = tSettingsIn.tiSettingConfig_ID and
tfcSetting.SettingScope = string(tqUserPrim.tiUsr_ID))
then do:
<M-2 run AddDetailLine (input 'fcSetting':U (icTable),
input '' (icParentRowid),
output viFcReturnSuper (oiReturnStatus)) in BSetting>
if viFcReturnSuper <> 0
then do :
assign oiReturnStatus = viFcReturnSuper.
return.
end.
assign tfcSetting.SettingIsActive = tSettingsIn.tlSettingIsActive
tfcSetting.SettingScope = string(tqUserPrim.tiUsr_ID)
tfcSetting.SettingConfig_ID = tSettingsIn.tiSettingConfig_ID.
end.
end.
empty temp-table tqUserPrim.
end.