<%@language = "javascript" %>
<% /*
     $Revision$
     $Id$

     File:               calculate_flex_expr.asp
     Description:        Berekend de expressie variabelen en slaat deze op in de tabel fac_kenmwaarden.
     Parameters:         submit van mld/mld_edit_melding.asp en pda/melding.asp
*/ %>

<%
var JSON_Result = true;
%>

<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/kenmerk_common.inc" -->

<%
/***** Get webform parameters *****/
// Geen autorisatie check nodig
// AUTORISATIEPARAMETERS
//var urole = getFParam("urole");
//var fronto = urole == "fo";
//var backo  = urole == "bo";
//var frontend = (!fronto && !backo);

protectRequest.validateToken();
var module = getFParam("module");
var refkey = getFParamInt("refkey", -1);
var niveau = getFParam("niveau", null);
var nameprefix = getFParam("nameprefix");
var extraserie = getFParamInt("extraserie", 0) == 1;
/***** End get webform parameters *****/

var params = {extraserie: extraserie, nameprefix: nameprefix, module: module };
var flexdata = flexkenmerken2jsondata(params);

__Log("module = " + module);
if (module == "MLD")
{
  if (niveau == "O")
    module = "OPD";
  niveau = null;
}

// Tabel fac_kenmwaarden vullen, expressies berekenen en tabel fac_kenmwaarden weer leeg maken.
// Vorige waarden verwijderen.
removekenmerkwaarden(module, refkey);
savekenmerkwaarden(module, refkey, niveau, flexdata);
evaluateflexexpressions(module, refkey, false);
//removekenmerkwaarden(module, refkey);

var result = [];
var sql = "SELECT fac_kenmwaarden_kenmerk_key"
        + "     , fac_kenmwaarden_waarde"
        + "     , fac_kenmwaarden_exprwaarde"
        + "     , fac_kenmwaarden_kenmerktype"
        + "  FROM fac_kenmwaarden"
        + " WHERE fac_kenmwaarden_module = " + safe.quoted_sql(module)
        + "   AND fac_kenmwaarden_refkey = " + refkey
        + "   AND prs_perslid_key = " + user_key
        + "   AND fac_kenmwaarden_isexpr = 1";
var oRs = Oracle.Execute(sql);
while (!oRs.Eof)
{
  result.push({ kfieldid: flexdata[oRs("fac_kenmwaarden_kenmerk_key").Value].kfieldid,
                kenmerkkey: oRs("fac_kenmwaarden_kenmerk_key").Value,
                waarde: oRs("fac_kenmwaarden_waarde").Value ||"",
                exprwaarde: oRs("fac_kenmwaarden_exprwaarde").Value ||"",
                kenmerktype: oRs("fac_kenmwaarden_kenmerktype").Value
              });
  oRs.MoveNext();
}
oRs.Close();

Response.Write(JSON.stringify(result));
%>
<% ASPPAGE_END(); %>
