project BLF > class BSetting > method DataLoadSystem

Description

Load all system settings that are scoped to system into the class temp-tables.


Parameters


oiReturnStatusoutputintegerReturn status of the method.


Internal usage


unused


program code (program1/bsetting.p)

/* ================================================================= */
/* Load config                                                       */
/* ================================================================= */
<Q-1 run SelectConfig (all) (Read) (NoCache)  (output dataset tqSelectConfig) in BSettingConfiguration >

/* ================================================================= */
/* Load setting                                                      */
/* ================================================================= */
<M-2 run DataLoad (input  '' (icRowids), 
                   input  '' (icPkeys), 
                   input  '' (icObjectIds), 
                   input  '' (icFreeform), 
                   input  no (ilKeepPrevious), 
                   output viFcReturnSuper (oiReturnStatus)) in BSetting>
if viFcReturnSuper <> 0
then oiReturnStatus = viFcReturnSuper.
if viFcReturnSuper < 0
then return.

/* ================================================================= */
/* Remove irrelevant setting                                         */
/* ================================================================= */
for each tqSelectConfig where
         tqSelectConfig.tcSettingConfigLevel <> {&SETTINGCONFIG-LEVEL-SYSTEM},
    each tfcSetting where
         tfcSetting.SettingConfig_ID = tqSelectConfig.tiSettingConfig_ID:
    delete tfcSetting.
end.

/* ================================================================= */
/* Add missing setting                                               */
/* ================================================================= */
for each tqSelectConfig where
         tqSelectConfig.tcSettingConfigLevel = {&SETTINGCONFIG-LEVEL-SYSTEM}:

    find first tfcSetting where
               tfcSetting.SettingConfig_ID = tqSelectConfig.tiSettingConfig_ID no-error.
    if not available tfcSetting
    then do:
        <M-3 run AddDetailLine (input  'fcSetting':U (icTable), 
                        input  '' (icParentRowid), 
                        output viFcReturnSuper (oiReturnStatus)) in BSetting>
        if viFcReturnSuper <> 0
        then oiReturnStatus = viFcReturnSuper.
        if viFcReturnSuper < 0
        then return.

        assign tfcSetting.SettingConfig_ID = tqSelectConfig.tiSettingConfig_ID
               tfcSetting.SettingIsActive  = tqSelectConfig.tlSettingConfigIsDefault
               tfcSetting.SettingScope     = "".
    end.

    <M-4 run GetConfigLabel (input  tqSelectConfig.tcSettingConfigName (icConfigCode), 
                         output tfcSetting.tcSettingConfigLabel (ocConfigLabel), 
                         output viFcReturnSuper (oiReturnStatus)) in BSetting>
end.

/* disabled events*/
for each tqSelectConfig where         
         tqSelectConfig.tcSettingConfigName = {&SETTINGCONFIG-OBJSEC},
    each tfcSetting where
         tfcSetting.SettingConfig_ID = tqSelectConfig.tiSettingConfig_ID:
    delete tfcSetting.
end.