86 lines
2.4 KiB
C++
86 lines
2.4 KiB
C++
<% /*
|
|
$Revision$
|
|
$Id$
|
|
|
|
File: kpl_ksrt_validate.nic
|
|
Description:
|
|
|
|
Parameters:
|
|
Context: Diverse save(!) script controleren.
|
|
Note:
|
|
*/ %>
|
|
|
|
<% // Validatie Kostenplaats - Kostensoort
|
|
|
|
// Result: true als ok, false als niet ok
|
|
// JGL: ks_key wordt bijvoorbeeld meegegeven vanuit mld_edit_opdr_save
|
|
// als de stdmeldig een specifiekere kostensoort heeft dan de discipline
|
|
function kpl_ksrt_validate(kp_key, ks_key, disc_key)
|
|
{
|
|
ks_key = ks_key || -1;
|
|
kp_key = kp_key || -1;
|
|
disc_key = disc_key || -1;
|
|
// omdat ks niet werd meegegeven, haal ik die hier evt zelf op. Mag vervallen als dat wel gebeurt.
|
|
if (ks_key == -1 && disc_key != -1)
|
|
{ // bepaal zelf een evt. kostensoort
|
|
var sql= "SELECT COALESCE(prs_kostensoort_key, -1) FROM ins_tab_discipline WHERE ins_discipline_key="+disc_key;
|
|
var oRs = Oracle.Execute(sql);
|
|
if (!oRs.eof)
|
|
{
|
|
ks_key = oRs(0).value;
|
|
}
|
|
oRs.Close();
|
|
}
|
|
|
|
var CombinationOk = false;
|
|
// start de afvalrace
|
|
|
|
if (ks_key == -1 || kp_key == -1)
|
|
CombinationOk = true;
|
|
|
|
if (!CombinationOk)
|
|
{
|
|
var kostenpltsgrp_key = -1;
|
|
var sql= "SELECT prs_kostenplaatsgrp_key FROM prs_kostenplaats WHERE prs_kostenplaats_key = " + kp_key;
|
|
var oRs = Oracle.Execute(sql);
|
|
if (!oRs.eof)
|
|
{
|
|
// het is goed als er geen groep gedefinieerd is
|
|
kostenpltsgrp_key = oRs("prs_kostenplaatsgrp_key").value;
|
|
CombinationOk = (kostenpltsgrp_key == null);
|
|
}
|
|
oRs.Close();
|
|
}
|
|
|
|
if (!CombinationOk)
|
|
{
|
|
// geldt er uberhaupt een restrictie op deze kostensoort?
|
|
sql = "SELECT 1"
|
|
+ " FROM prs_kostencombinatie kc"
|
|
+ " WHERE kc.prs_kostensoort_key = " + ks_key;
|
|
oRs = Oracle.Execute(sql);
|
|
if (oRs.eof)
|
|
{ // geen vermelding, dus ok
|
|
CombinationOk = true;
|
|
}
|
|
oRs.Close();
|
|
}
|
|
|
|
if (!CombinationOk)
|
|
{
|
|
sql = "SELECT prs_kostencombinatie_key"
|
|
+ " FROM prs_kostencombinatie kc"
|
|
+ " WHERE kc.prs_kostenplaatsgrp_key = " + kostenpltsgrp_key
|
|
+ " AND kc.prs_kostensoort_key = " + ks_key;
|
|
|
|
oRs = Oracle.Execute(sql);
|
|
if (!oRs.eof)
|
|
{
|
|
CombinationOk = true;
|
|
}
|
|
oRs.Close();
|
|
}
|
|
|
|
return CombinationOk;
|
|
}
|
|
%> |