MARX#54166 API api_opdrsoap.asp ondersteunt geen type R (referentie kenmerk): reviewopmerkingen verwerkt

svn path=/Website/trunk/; revision=38966
This commit is contained in:
Alex Tiehuis
2018-08-28 13:20:45 +00:00
parent 0bda759098
commit 8ba125373f
3 changed files with 58 additions and 123 deletions

View File

@@ -20,7 +20,6 @@
<!-- #include file="../Shared/kenmerk_common.inc" -->
<!-- #include file="../Shared/xml_converter.inc" -->
<!-- #include file="../Shared/save2db.inc" -->
<!-- #include file="../Shared/flexfiles.inc" -->
<!-- #include file="../Shared/upload.inc" -->
<!-- #include file="../api/api.inc" -->
<!-- #include file="../mld/mld.inc" -->
@@ -525,75 +524,19 @@ function getKpn(meld_kpn)
return -1;
}
// read the kenmerk_key in case of <kenmerk> with ref=code or value
function getKenmerkKeyByRef(kenmerkdomein_key, kenmerk_ref, kenmerk_waarde) {
var kenmerk_key = kenmerk_waarde,
fac_omschr_code, udf_omschr_code;
ksql = "SELECT fac_kenmerkdomein_objectnaam, fac_kenmerkdomein_kolomnaam, fac_kenmerkdomein_kolomtxt, fac_kenmerkdomein_verval, fac_usrtab_key" +
" FROM fac_kenmerkdomein" +
" WHERE fac_kenmerkdomein_key = " + kenmerkdomein_key +
" AND fac_kenmerkdomein_verwijder IS NULL";
var oRs_kd = Oracle.Execute(ksql);
if (!oRs_kd.eof) {
switch (kenmerk_ref) {
case "value":
fac_omschr_code = " AND UPPER(fac_usrdata_omschr)=" + safe.quoted_sql_upper(kenmerk_waarde);
udf_omschr_code = " WHERE UPPER(" + oRs_kd("fac_kenmerkdomein_kolomtxt").value + ") = " + safe.quoted_sql_upper(kenmerk_waarde);
break;
case "code":
fac_omschr_code = " AND UPPER(fac_usrdata_code)=" + safe.quoted_sql_upper(kenmerk_waarde);
udf_omschr_code = " WHERE UPPER(" + oRs_kd("fac_kenmerkdomein_objectnaam").value + "_CODE) = " + safe.quoted_sql_upper(kenmerk_waarde);
break;
default:
oRs_kd.Close;
return kenmerk_key;
}
var kenmerkdomein_verval = oRs_kd("fac_kenmerkdomein_verval").Value;
if (oRs_kd("fac_kenmerkdomein_objectnaam").Value == "FAC_USRDATA" && oRs_kd("fac_usrtab_key").Value) {
ksql = "SELECT fac_usrdata_key" +
" FROM fac_usrdata" +
" WHERE fac_usrtab_key=" + oRs_kd("fac_usrtab_key").Value +
fac_omschr_code +
" AND (fac_usrdata_vervaldatum IS NULL OR fac_usrdata_vervaldatum > SYSDATE)" +
" AND fac_usrdata_verwijder IS NULL";
} else {
ksql = "SELECT " + oRs_kd("fac_kenmerkdomein_kolomnaam").Value + " fac_usrdata_key" +
" FROM " + oRs_kd("fac_kenmerkdomein_objectnaam").Value +
udf_omschr_code +
(kenmerkdomein_verval != null ? " AND ( " + kenmerkdomein_verval + " IS NULL OR " + kenmerkdomein_verval + " > SYSDATE)" : "");
}
}
var oRs_ud = Oracle.Execute(ksql);
if (!oRs_ud.eof) {
kenmerk_key = String(oRs_ud("fac_usrdata_key").Value);
}
oRs_ud.Close;
oRs_kd.Close;
return kenmerk_key;
}
function upsertKenmerk(kenmerken, stdmld_key, mld_key)
{
for (j=0; j < kenmerken.length; j++)
{
var kenmerk_attr_key = kenmerken[j].getAttribute("key");
var kenmerk_attr_key = parseInt(kenmerken[j].getAttribute("key"), 10);
var kenmerk_attr_code = kenmerken[j].getAttribute("code");
var kenmerk_naam = kenmerken[j].getAttribute("naam");
// default srtkenmerk on name
var srtkenmerk_key_code_omschr = " AND sk.mld_srtkenmerk_upper = " + safe.quoted_sql_upper(kenmerk_naam);
switch (true) {
// first choice is srtkenmerk on key
case (kenmerk_attr_key != null): {
srtkenmerk_key_code_omschr = " AND sk.mld_srtkenmerk_key = " + safe.quoted_sql_upper(kenmerk_attr_key);
break;
}
// second choice is srtkenmerk on code
case (kenmerk_attr_code != null): {
if (kenmerk_attr_key > 0)
srtkenmerk_key_code_omschr = " AND sk.mld_srtkenmerk_key = " + kenmerk_attr_key;
else if (kenmerk_attr_code)
srtkenmerk_key_code_omschr = " AND UPPER(sk.mld_srtkenmerk_code) = " + safe.quoted_sql_upper(kenmerk_attr_code);
break;
}
}
if (kenmerken[j].childNodes.length > 0)
var kenmerk_waarde = kenmerken[j].childNodes[0].nodeValue;
else

View File

@@ -21,7 +21,7 @@
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/xml_converter.inc" -->
<!-- #include file="../Shared/save2db.inc" -->
<!-- #include file="../Shared/flexfiles.inc" -->
<!-- #include file="../Shared/kenmerk_common.inc" -->
<!-- #include file="../Shared/upload.inc" -->
<!-- #include file="../api/api.inc" -->
<!-- #include file="../mld/mld.inc" -->
@@ -124,53 +124,6 @@ for (param in headerinfo)
}
FCLTElement.appendChild(elmHeader);
// read the kenmerk_key in case of <kenmerk> with ref=code or value
function getKenmerkKeyByRef(kenmerkdomein_key, kenmerk_ref, kenmerk_waarde) {
var kenmerk_key = kenmerk_waarde,
fac_omschr_code, udf_omschr_code;
ksql = "SELECT fac_kenmerkdomein_objectnaam, fac_kenmerkdomein_kolomnaam, fac_kenmerkdomein_kolomtxt, fac_kenmerkdomein_verval, fac_usrtab_key" +
" FROM fac_kenmerkdomein" +
" WHERE fac_kenmerkdomein_key = " + kenmerkdomein_key +
" AND fac_kenmerkdomein_verwijder IS NULL";
var oRs_kd = Oracle.Execute(ksql);
if (!oRs_kd.eof) {
switch (kenmerk_ref) {
case "value":
fac_omschr_code = " AND UPPER(fac_usrdata_omschr)=" + safe.quoted_sql_upper(kenmerk_waarde);
udf_omschr_code = " WHERE UPPER(" + oRs_kd("fac_kenmerkdomein_kolomtxt").value + ") = " + safe.quoted_sql_upper(kenmerk_waarde);
break;
case "code":
fac_omschr_code = " AND UPPER(fac_usrdata_code)=" + safe.quoted_sql_upper(kenmerk_waarde);
udf_omschr_code = " WHERE UPPER(" + oRs_kd("fac_kenmerkdomein_objectnaam").value + "_CODE) = " + safe.quoted_sql_upper(kenmerk_waarde);
break;
default:
oRs_kd.Close;
return kenmerk_key;
}
var kenmerkdomein_verval = oRs_kd("fac_kenmerkdomein_verval").Value;
if (oRs_kd("fac_kenmerkdomein_objectnaam").Value == "FAC_USRDATA" && oRs_kd("fac_usrtab_key").Value) {
ksql = "SELECT fac_usrdata_key" +
" FROM fac_usrdata" +
" WHERE fac_usrtab_key=" + oRs_kd("fac_usrtab_key").Value +
fac_omschr_code +
" AND (fac_usrdata_vervaldatum IS NULL OR fac_usrdata_vervaldatum > SYSDATE)" +
" AND fac_usrdata_verwijder IS NULL";
} else {
ksql = "SELECT " + oRs_kd("fac_kenmerkdomein_kolomnaam").Value + " fac_usrdata_key" +
" FROM " + oRs_kd("fac_kenmerkdomein_objectnaam").Value +
udf_omschr_code +
(kenmerkdomein_verval != null ? " AND ( " + kenmerkdomein_verval + " IS NULL OR " + kenmerkdomein_verval + " > SYSDATE)" : "");
}
}
var oRs_ud = Oracle.Execute(ksql);
if (!oRs_ud.eof) {
kenmerk_key = String(oRs_ud("fac_usrdata_key").Value);
}
oRs_ud.Close;
oRs_kd.Close;
return kenmerk_key;
}
// Hier zou het echte werk moeten gebeuren nav. xmlReq
// en FCLTElement moeten we uitbreiden met antwoorden.
var detected ="?";
@@ -820,23 +773,15 @@ for (i=0; i < opdrachten.length; i++)
//Response.Write("lengte:"+ opdrkenmerken.length);
for (j=0; j < opdrkenmerken.length; j++)
{
var kenmerk_attr_key = opdrkenmerken[j].getAttribute("key");
var kenmerk_attr_key = parseInt(opdrkenmerken[j].getAttribute("key"), 10);
var kenmerk_attr_code = opdrkenmerken[j].getAttribute("code");
var kenmerk_naam = opdrkenmerken[j].getAttribute("naam");
// default srtkenmerk on name
var srtkenmerk_key_code_omschr = " AND sk.mld_srtkenmerk_upper = " + safe.quoted_sql_upper(kenmerk_naam);
switch (true) {
// first choice is srtkenmerk on key
case (kenmerk_attr_key != null): {
srtkenmerk_key_code_omschr = " AND sk.mld_srtkenmerk_key = " + safe.quoted_sql_upper(kenmerk_attr_key);
break;
}
// second choice is srtkenmerk on code
case (kenmerk_attr_code != null): {
if (kenmerk_attr_key > 0)
srtkenmerk_key_code_omschr = " AND sk.mld_srtkenmerk_key = " + kenmerk_attr_key;
else if (kenmerk_attr_code)
srtkenmerk_key_code_omschr = " AND UPPER(sk.mld_srtkenmerk_code) = " + safe.quoted_sql_upper(kenmerk_attr_code);
break;
}
}
if (opdrkenmerken[j].childNodes.length > 0)
var kenmerk_waarde = opdrkenmerken[j].childNodes[0].nodeValue;
else

View File

@@ -29,6 +29,53 @@ var requiredGroupUsed = new Array(); // Array zorgt voor eenmalige initiele aanr
var addPreview = false;
var previewId = 0;
// read the kenmerk_key in case of <kenmerk> with ref=code or value
function getKenmerkKeyByRef(kenmerkdomein_key, kenmerk_ref, kenmerk_waarde) {
var kenmerk_key = parseInt(kenmerk_waarde, 10),
fac_omschr_code, udf_omschr_code;
ksql = "SELECT fac_kenmerkdomein_objectnaam, fac_kenmerkdomein_kolomnaam, fac_kenmerkdomein_kolomtxt, fac_kenmerkdomein_verval, fac_usrtab_key" +
" FROM fac_kenmerkdomein" +
" WHERE fac_kenmerkdomein_key = " + kenmerkdomein_key +
" AND fac_kenmerkdomein_verwijder IS NULL";
var oRs_kd = Oracle.Execute(ksql);
if (!oRs_kd.eof) {
switch (kenmerk_ref) {
case "value":
fac_omschr_code = " AND UPPER(fac_usrdata_omschr)=" + safe.quoted_sql_upper(kenmerk_waarde);
udf_omschr_code = " WHERE UPPER(" + oRs_kd("fac_kenmerkdomein_kolomtxt").value + ") = " + safe.quoted_sql_upper(kenmerk_waarde);
break;
case "code":
fac_omschr_code = " AND UPPER(fac_usrdata_code)=" + safe.quoted_sql_upper(kenmerk_waarde);
udf_omschr_code = " WHERE UPPER(" + oRs_kd("fac_kenmerkdomein_objectnaam").value + "_CODE) = " + safe.quoted_sql_upper(kenmerk_waarde);
break;
default:
oRs_kd.Close;
return kenmerk_key;
}
var kenmerkdomein_verval = oRs_kd("fac_kenmerkdomein_verval").Value;
if (oRs_kd("fac_kenmerkdomein_objectnaam").Value == "FAC_USRDATA" && oRs_kd("fac_usrtab_key").Value) {
ksql = "SELECT fac_usrdata_key" +
" FROM fac_usrdata" +
" WHERE fac_usrtab_key=" + oRs_kd("fac_usrtab_key").Value +
fac_omschr_code +
" AND (fac_usrdata_vervaldatum IS NULL OR fac_usrdata_vervaldatum > SYSDATE)" +
" AND fac_usrdata_verwijder IS NULL";
} else {
ksql = "SELECT " + oRs_kd("fac_kenmerkdomein_kolomnaam").Value + " fac_usrdata_key" +
" FROM " + oRs_kd("fac_kenmerkdomein_objectnaam").Value +
udf_omschr_code +
(kenmerkdomein_verval != null ? " AND ( " + kenmerkdomein_verval + " IS NULL OR " + kenmerkdomein_verval + " > SYSDATE)" : "");
}
}
var oRs_ud = Oracle.Execute(ksql);
if (!oRs_ud.eof) {
kenmerk_key = String(oRs_ud("fac_usrdata_key").Value);
}
oRs_ud.Close;
oRs_kd.Close;
return kenmerk_key;
}
function kenmerk_write(s)
{
Response.Write(s);