Files
Facilitor/UTILS/rap_tabelizer/rap_tabelizer.js
Jos Groot Lipman 79e3e70859 FSN#25297 Taken beter/zelf laten loggen
svn path=/Website/trunk/; revision=18190
2013-06-19 11:14:03 +00:00

52 lines
1.6 KiB
JavaScript

// rap_tabelizer
//
// Sommige rapportages (usrraps) zijn zeer intensief. Een oplossingsrichting zou een
// automatiek kunnen zijn die de rapportage-views platslaan naar tabellen, en dat het
// oproepen ervan dan automatisch op die tabel queriet ipv de ingewikkelde view
//
// Er is veel van te vinden, en er zijn idd zaken om rekening mee te houden,
// en waar aan de verbetering ervan gewerkt kan worden
// - de gegevens lopen achter (een dag)
// - er is veel meer storage nodig; deze tabellen (t_cust_v_*) hoeven niet in backup
// - je zou efficientie willen door bv een onderliggende basisview te tabelliseren
// ipv de uiteindelijke view
//
// Maar dit hoeft ons er niet van te weerhouden een mechanisme op te tuigen waarmee
// iig de kans dat een rapport wel resultaat oplevert wordt vergroot.
// Eis is IMO dat dit mechanisme helemaal transparant is: geef met een vinkje aan
// welke rapportage er getabelliseerd moet worden en that's it!
//
// $Revision$
// $Id$
//
// Een parameter: UDL voor database connectie
var str = WScript.Arguments(0);
var fso = new ActiveXObject("Scripting.FileSystemObject");
function __Log(s)
{
var flog = fso.OpenTextFile("raptabelizer.log", 8 /* ForAppending */, true /* create */);
flog.WriteLine(s);
flog.Close();
}
__Log("Starting at " + new Date());
var udlstr = 'File Name='+str;
var Oracle = new ActiveXObject("ADODB.Connection");
Oracle.Open(udlstr);
try
{
sql = "BEGIN fac.initsession(NULL); fac.tabelize_usrraps; END;";
Oracle.Execute(sql)
}
catch(e)
{
__Log("ERROR: " + e.description)
throw e;
}
__Log("Done at " + new Date());