| # dadllfile_path Usage Description This library contains functions to handle files and paths like expanding for the #-character, constructing paths, and so on. Limitation: the functions in this library currently cannot handle drive names, like \\server\data\file. DLL Prototypes
     function extern long check.and.create.dir(
                    const string path() )
     pre   : not isspace(path) post  : the path <path> will be created if not
    already existing return: whether the path <path> exists (or could be created)
    desc  : if necessary this function also creates subdirectories
            ${<env_var>} can be used but no subdirectories in the
            ${<env_var>} are tested).
     function extern string expand.path(
                    const string path(),
                    [ long comp ] )
     pre   : path (not necessarily stripped) post  : path (stripped) with all
    #-characters replaced by the company
            number comp (or the current company if not provided).
     function extern string get.full.file(
                    const string path(),
                    const string file() )
     pre   : parameters don't have to be stripped return: the full file name desc  :
    this function tries to concatenate path and file into a full
            file name defined as: path/file
            This will only be done if:
            - both path and file are not empty
            - file itself is not an absolute path (beginning with / or $)
            Otherwise just file will be returned.
     function extern string get.log.filename(
                    domain daxch.txch xch.type,
                    const domain daxch.cxch xch.scheme,
                    const domain daxch.cbat batch,
                    long run.num,
                    domain daxch.pint try.num,
                    const string seq.path(),
                    [ long comp ] )
     pre   : parameters do not have to be stripped return: the full file name where
    the logfile is to be located:
            -regular import:

    <seq.path>/<xch.scheme>.<run.num>.i/log.<batch>.<run.num>.<try.num>
            -non-regular import: <seq.path>/log.<batch>.<run.num>.<try.num>
            -regular export:

    <seq.path>/<xch.scheme>.<run.num>.e/exp.<batch>.<run.num>.<try.num>
            -non-regular export: <seq.path>/exp.<batch>.<run.num>.<try.num>
     function extern string get.object.path(
                    const domain daxch.cxch xch.scheme,
                    [ long comp ] )
     pre   : true return: the path where objects (and error files) should be stored.
            empty if xch.scheme does not exist
     function extern get.path.filename(
                    const string full.path(),
                    ref string path.name(),
                    ref string file.name() )
     pre   : true post  : <full.path> is split into the path part (in <path.name>)
            and the file name part (in <file.name>)
     function extern string get.seq.filename(
                    domain daxch.txch xch.type,
                    const domain daxch.cxch xch.scheme,
                    long run.num,
                    const string seq.path(),
                    const string sub.dir(),
                    const string seq.file(),
                    [ long comp ] )
     pre   : parameters do not have to be stripped return: the full file name where
    an exchange file is (to be) located
            (with # expanded with the company number):
            -regular export and isspace(sub.dir):
             <seq.path>/<xch.scheme>.<run.num>.e/<seq.file>
            -regular export and not isspace(sub.dir):
             <seq.path>/<sub.dir>.<run.num>/<seq.file>
            -regular import and isspace(sub.dir):
             <seq.path>/<xch.scheme>.<run.num>.i/<seq.file>
            -regular import and not isspace(sub.dir):
             <seq.path>/<sub.dir>.<run.num>/<seq.file>
            -non-regular   :
            -<seq.path>/<seq.file>
            but if seq.file is a pathname in itself (starts with a $ or /)
            then <seq.file>
     function extern long path.exists(
                    const domain daxch.path path )
     pre   : true return: whether the directory <path.name> exists
Related topics Libraries |