project BLF > class TApplication > method GetDefaultsFolder

Description

Returns full path on the file system of the directory where XML files with default system data are stored.


Parameters


ocFolderoutputcharacter


Internal usage


BLF
method BControlProperty.apiExportFactoryDefaults
method BReportVariant.apiExportFactoryDefaults
method BReportVariant.apiSynchronise
method BRole.ApiSynchronizeDefaultRoles
method BStoredSearch.apiExportFactoryDefaults
method BStoredSearch.ApiSynchronise
method BSystem.ApiDumpDefaultSecurity
method BSystem.ApiGetDefaultsFolder
method BSystem.ApiLoadDefaultSecurity
method BSystem.ApiSynchronise2


program code (program1/tapplication.p)

vhFcComponent = ?.
<M-20 run MainBlock  () in XML>
<M-93 run ReadXMLNodeValue
   (input  search('server.xml') (icXMLFile), 
    input  'defaultdata' (icStartTag), 
    input  'DefaultDataDirectory' (icNodeTag), 
    output ocFolder (ocNodeValue), 
    output viFcReturnSuper (oiReturnStatus)) in XML>
if index(ocFolder,"$ENVROOT") > 0
then do:
    <M-75 run ReadXMLNodeValue
       (input  search('server.xml') (icXMLFile), 
        input  'serverConfiguration' (icStartTag), 
        input  'ENVROOT' (icNodeTag), 
        output vcenvroot (ocNodeValue), 
        output viFcReturnSuper (oiReturnStatus)) in XML>
    ocFolder = replace(ocFolder,"$ENVROOT",vcenvroot).
end.
run gipr_DeleteProcedure in vhFcComponent.
delete procedure vhFcComponent.

/*
   Validate folder name in server.xml.
   When invalid do not return an error but simply ignore it.
*/
file-info:file-name = ocFolder.
if file-info:file-type = ?
then do:
    ocFolder = search ("program/tapplication.r").
    if ocFolder = ?
    then ocFolder = search ("program/tapplication.p").
    if ocFolder = ?
    then ocFolder = session:temp-dir.
    else if index (ocFolder,".pl<<") = 0
         then ocFolder = substring (ocFolder , 1, length (ocFolder,"CHARACTER":U) - 22,"CHARACTER":U).
         else if opsys = "UNIX"
              then ocFolder = substring (ocFolder, 1, r-index (ocFolder, "/", index(ocFolder, ".pl<<")),"CHARACTER").
              else ocFolder = substring (ocFolder, 1, r-index (ocFolder,"~\", index(ocFolder, ".pl<<")),"CHARACTER").
end.
else ocFolder = file-info:full-pathname + (if opsys = "UNIX" then "/" else "~\").