project BLF > class BSetting > method CreateSystemSettingsUpdate


Parameters


oiReturnStatusoutputintegerReturn status of the method.


Internal usage


BLF
method BSetting.CreateSystemSettings


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.