diff --git a/APPL/EXP/exp_shared.js b/APPL/EXP/exp_shared.js index 67bfbe3710..564f05ed45 100644 --- a/APPL/EXP/exp_shared.js +++ b/APPL/EXP/exp_shared.js @@ -14,8 +14,8 @@ EN: Geen Server.CreateObject maar new ActiveXObject ========= LET OP LET OP ========= - gen_export_flags: 00001 (1) zip het resultaat - 00010 (2) + gen_export_app_flags: 00001 (1) zip het resultaat + 00010 (2) manual */ // fileStream moet onze data bevatten @@ -72,6 +72,8 @@ function getSettings(app_key) oRs.Close(); if (settings.flags & 1) settings.compress = true; + if (settings.flags & 2) + settings.manual = true; return settings; } @@ -229,6 +231,7 @@ function formatDate(datum, format) , "s" : datum.getMilliseconds() //millisecond , "w+" : Math.ceil((((datum - onejan) / 86400000) + onejan.getDay()+1)/7) // weeknumber }; + format = format.replace('hhmm', 'HHMM'); if (/(y+)/.test(format)) format = format.replace(RegExp.$1, (datum.getFullYear()+"").substr(4 - RegExp.$1.length)); for(var k in o) diff --git a/UTILS/gen_export/gen_export.wsf b/UTILS/gen_export/gen_export.wsf index 993c375051..42ede8255b 100644 --- a/UTILS/gen_export/gen_export.wsf +++ b/UTILS/gen_export/gen_export.wsf @@ -41,7 +41,9 @@ oRs.Close(); + alterDB(); convertIni(); + app_key = getAppKey(export_app_id); if (app_key == -1) WScript.Quit(); @@ -52,43 +54,50 @@ ini.applrun = new Date; ini.custid = customerId.toUpperCase(); - __Log("Start gen_import.wsf"); + __Log("Start gen_export.wsf"); - // - var streamParams = {streamwrite: 2}; - var exportFile = getFileName(ini.prefix, ini.postfix, ini.applrun, ini.timestamp); - var expPath = checkDestination(ini.folder, exportFile, streamParams); - if (expPath.success) + if (taskScheduled(ini)) { - preExport(ini); - var streamData = exportToStream(ini, exportFile); - if (streamData) - { + // + var streamParams = {streamwrite: 2}; + var exportFile = getFileName(ini.prefix, ini.postfix, ini.applrun, ini.timestamp); + var expPath = checkDestination(ini.folder, exportFile, streamParams); + if (expPath.success) + { + preExport(ini); + var streamData = exportToStream(ini, exportFile); + if (streamData) + { if (ini.compress) expPath.destination += '.zip'; __Log("Writing: " + expPath.destination + " (" + streamData.Size + " bytes)"); streamData.SaveToFile(expPath.destination, streamParams.streamwrite); streamData.Close(); - } - postExport(ini); - } - else - { + } + postExport(ini); + } + else + { __Log(expPath.message); - } - - // Nu de logfile schrijven - // - var logFile = getFileName(ini.prefix, ini.logpostfix, ini.applrun, ini.timestamp); - var logPath = checkDestination(ini.folder, logFile, streamParams); - if (logPath.success) - { + } + // + // Nu de logfile schrijven + // + var logFile = getFileName(ini.prefix, ini.logpostfix, ini.applrun, ini.timestamp); + var logPath = checkDestination(ini.folder, logFile, streamParams); + if (logPath.success) + { logErrors(logPath.destination, ini, {streamwrite: 2}); - } - else - { + } + else + { __Log(logPath.message); + } + // + // Datum in imp_schedule zetten + // + scheduledDone(ini); } __Log("End gen_export.wsf"); @@ -106,6 +115,13 @@ return s; } + function alterDB() + { + // Tijdelijke oplossing om de kolom fac_export_app_prefix 60 tekens lang te maken. + var sql = "ALTER TABLE fac_export_app MODIFY fac_export_app_prefix VARCHAR2(60)"; + Oracle.Execute(sql); + } + function convertIni() { // Als er nog geen instellingen in de database zijn, kopieer dan de instellingen naar de database. @@ -141,6 +157,7 @@ var ExportStyleSheet = ""; var LogPostfix = ""; var BackupTimestamp = ""; + var Manual = 0; for (var l in lines) { @@ -174,7 +191,10 @@ LogPostfix = vl; break; case "backupfiletimestamp": - BackupTimestamp = vl; + BackupTimestamp = vl.replace("hhmm", "HHMM"); + break; + case "manual": + Manual = ((parseInt(vl) > 0) ? 2 : 0); break; } } @@ -194,6 +214,8 @@ if (!oRs.Eof) { __Log("Reuse key " + oRs("fac_export_app_key").Value); + var flags_old = oRs("fac_export_app_flags").Value; + var Zip = ((flags_old & 1) === 1 ? 1 : 0); sql = "UPDATE fac_export_app" + " SET fac_export_app_charset = " + safe.quoted_sql(ExportCharset) + " , fac_export_app_folder = " + safe.quoted_sql(ExportFolder) @@ -202,6 +224,7 @@ + " , fac_export_app_xsl = " + safe.quoted_sql(ExportStyleSheet) + " , fac_export_app_log_postfix = " + safe.quoted_sql(LogPostfix) + " , fac_export_app_timestamp = " + safe.quoted_sql(BackupTimestamp) + + " , fac_export_app_flags = " + (Manual | Zip) + " WHERE fac_export_app_key = " + oRs("fac_export_app_key").Value //__Log(sql); Oracle.Execute(sql); @@ -220,6 +243,7 @@ + ", fac_functie_key" + ", fac_export_app_log_postfix" + ", fac_export_app_timestamp" + + ", fac_export_app_flags" + ") " + "SELECT " + safe.quoted_sql(sectienaam) + " , 'From gen_export.ini '||" + safe.quoted_sql(sectienaam) @@ -231,6 +255,7 @@ + " , fac_functie_key" + " , " + safe.quoted_sql(LogPostfix) + " , " + safe.quoted_sql(BackupTimestamp) + + " , " + Manual + " FROM fac_functie" + " WHERE fac_functie_code = 'WEB_PRSSYS'"; // veilig //__Log(sql); @@ -347,5 +372,39 @@ return result; } + function taskScheduled(params) + { + // Look if there is a task in the table IMP_SCHEDULE if Manual = 1 + var result = true; + + if (params.manual) + { + var sql = "SELECT imp_schedule_key FROM imp_schedule" + + " WHERE imp_schedule_done IS NULL" + + " AND imp_schedule_name = " + save.quoted_sql(params.code) + __Log2File("SQL: " + sql); + var oRs = Oracle.Execute(sql); + if (oRs.eof) + result = false; + oRs.Close(); + } + + return result; + } + + function scheduledDone(params) + { + if (params.manual) + { + var sql = "UPDATE imp_schedule" + + " SET imp_schedule_done = SYSDATE" + + " WHERE imp_schedule_done IS NULL" + + " AND imp_schedule_name = " + save.quoted_sql(params.code); + __Log2File("SQL: " + sql); + var oRs = Oracle.Execute(sql); + oRs.Close(); + } + } +