project BLF > class Session > method GetFile

Description

Read any file on the business server and return it as a BLOB


Parameters


icFileNameinputcharacter
omFileoutputmemptr
oiReturnStatusoutputintegerReturn status of the method.


Internal usage


BLF
method Session.GetCTLogFile


program code (program1/session.p)

if vlLoginFailed
then do:
    <M-2 run SetMessage
          (input  #T-3'You are not logged in.':100(28)T-3# (icMessage), 
           input  '' (icArguments), 
           input  '' (icFieldName), 
           input  '' (icFieldValue), 
           input  'D':U (icType), 
           input  2 (iiSeverity), 
           input  '' (icRowid), 
           input  'BLF-404':U (icFcMsgNumber), 
           input  '' (icFcExplanation), 
           input  '' (icFcIdentification), 
           input  '' (icFcContext), 
           output viFcReturnSuper (oiReturnStatus)) in Session>
    assign oiReturnStatus = -5.
    return.
end.

file-info:file-name = icFileName.
if file-info:file-type = ?
or file-info:file-type begins "D"
then do:
    <M-80 run SetMessage
       (input  #T-27'File not found: $1.':100(17)T-27# (icMessage), 
        input  icFileName (icArguments), 
        input  '' (icFieldName), 
        input  '' (icFieldValue), 
        input  'D' (icType), 
        input  3 (iiSeverity), 
        input  '' (icRowid), 
        input  'blf-191111':U (icFcMsgNumber), 
        input  '' (icFcExplanation), 
        input  '' (icFcIdentification), 
        input  '' (icFcContext), 
        output viFcReturnSuper (oiReturnStatus)) in Session>
    oiReturnStatus = -3.
    return.
end.

copy-lob from file file-info:full-pathname to omFile no-error.

if error-status:error
then do:
    assign oiReturnStatus = -1.

    do viA = 1 to error-status:num-messages:
        <M-1 run SetMessage
           (input  error-status:get-message(viA) (icMessage), 
            input  '' (icArguments), 
            input  '' (icFieldName), 
            input  '' (icFieldValue), 
            input  'E' (icType), 
            input  3 (iiSeverity), 
            input  '' (icRowid), 
            input  'BLF-403':U (icFcMsgNumber), 
            input  '' (icFcExplanation), 
            input  '' (icFcIdentification), 
            input  '' (icFcContext), 
            output viFcReturnSuper (oiReturnStatus)) in Session>
    end.

    return.
end.