DEFINE INPUT PARAMETER cp_file AS CHARACTER NO-UNDO.
DEFINE INPUT PARAMETER cp_savdir AS CHARACTER NO-UNDO.
DEFINE VARIABLE c_msg AS CHARACTER NO-UNDO.
DEFINE VARIABLE c_opties AS CHARACTER NO-UNDO.
DEFINE VARIABLE c_outfile AS CHARACTER NO-UNDO.
DEFINE VARIABLE l_ishtml AS LOGICAL NO-UNDO.
DEFINE VARIABLE i_tel AS INTEGER NO-UNDO.
DEFINE STREAM s_log.
OUTPUT STREAM s_log TO c:\temp\testcomp\complog.log APPEND.
IF SUBSTRING(ENTRY(NUM-ENTRIES(cp_file,'.'),cp_file,'.'),1,3) = 'htm'
THEN DO:
ASSIGN l_ishtml = true.
RUN webutil\e4gl-gen.r( INPUT cp_file,
INPUT-OUTPUT c_opties,
INPUT-OUTPUT c_outfile
).
END.
COMPILE VALUE(IF l_ishtml THEN c_outfile ELSE cp_file) SAVE INTO VALUE(cp_savdir) NO-ERROR.
IF COMPILER:ERROR
THEN DO:
ASSIGN c_msg = (IF l_ishtml THEN c_outfile ELSE cp_file) + ': Compile error: ' + COMPILER:FILE-NAME + CHR(10) +
'on line ' + STRING(COMPILER:ERROR-ROW) + CHR(10).
DO i_tel = 1 TO ERROR-STATUS:NUM-MESSAGES:
ASSIGN c_msg = c_msg + ERROR-STATUS:GET-MESSAGE(i_tel) + CHR(10).
END.
END.
ELSE ASSIGN c_msg = ENTRY(NUM-ENTRIES(cp_file,'\'),cp_file,'\') + ' is succesfully compiled and saved in ' + cp_savdir + '|' + STRING(COMPILER:WARNING,'J/N').
PUT STREAM s_log UNFORMATTED c_msg + CHR(10).
IF l_ishtml THEN OS-DELETE VALUE(c_outfile).