FSN#29184 Nieuwe gen_export problemen
svn path=/Website/branches/v5.4.1/; revision=21193
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
</job>
|
||||
|
||||
Reference in New Issue
Block a user