MARX#54166 API api_opdrsoap.asp ondersteunt geen type R (referentie kenmerk)
svn path=/Website/trunk/; revision=38932
This commit is contained in:
@@ -525,6 +525,53 @@ 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++)
|
||||
@@ -573,42 +620,9 @@ function upsertKenmerk(kenmerken, stdmld_key, mld_key)
|
||||
{
|
||||
// read reference fields
|
||||
if (kenmerk_waarde != "") {
|
||||
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) {
|
||||
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
|
||||
+ " AND UPPER(fac_usrdata_omschr)=" + safe.quoted_sql_upper(kenmerk_waarde)
|
||||
+ " 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
|
||||
+ " WHERE UPPER(" + oRs_kd("fac_kenmerkdomein_kolomtxt").Value + ") = " + safe.quoted_sql_upper(kenmerk_waarde)
|
||||
+ (kenmerkdomein_verval != null ? " AND ( " + kenmerkdomein_verval + " IS NULL OR " + kenmerkdomein_verval + " > SYSDATE)" : "");
|
||||
}
|
||||
var oRs_ud = Oracle.Execute(ksql);
|
||||
if (!oRs_ud.eof) {
|
||||
kenmerk_waarde = String(oRs_ud("fac_usrdata_key").Value);
|
||||
oRs_ud.Close;
|
||||
} else {
|
||||
oRs_ud.Close;
|
||||
break;
|
||||
}
|
||||
oRs_kd.Close;
|
||||
} else {
|
||||
oRs_kd.Close;
|
||||
break;
|
||||
var kenmerk_ref = kenmerken[j].getAttribute("ref");
|
||||
if (kenmerk_ref) {
|
||||
kenmerk_waarde = getKenmerkKeyByRef(kenmerkdomein_key, kenmerk_ref, kenmerk_waarde);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -124,6 +124,53 @@ 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 ="?";
|
||||
@@ -808,42 +855,9 @@ for (i=0; i < opdrachten.length; i++)
|
||||
{
|
||||
// read reference fields
|
||||
if (kenmerk_waarde != "") {
|
||||
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) {
|
||||
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
|
||||
+ " AND UPPER(fac_usrdata_omschr)=" + safe.quoted_sql_upper(kenmerk_waarde)
|
||||
+ " 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
|
||||
+ " WHERE UPPER(" + oRs_kd("fac_kenmerkdomein_kolomtxt").value + ") = " + safe.quoted_sql_upper(kenmerk_waarde)
|
||||
+ (kenmerkdomein_verval != null ? " AND ( " + kenmerkdomein_verval + " IS NULL OR " + kenmerkdomein_verval + " > SYSDATE)" : "");
|
||||
}
|
||||
var oRs_ud = Oracle.Execute(ksql);
|
||||
if (!oRs_ud.eof) {
|
||||
kenmerk_waarde = String(oRs_ud("fac_usrdata_key").value);
|
||||
oRs_ud.Close;
|
||||
} else {
|
||||
oRs_ud.Close;
|
||||
break;
|
||||
}
|
||||
oRs_kd.Close;
|
||||
} else {
|
||||
oRs_kd.Close;
|
||||
break;
|
||||
var kenmerk_ref = opdrkenmerken[j].getAttribute("ref");
|
||||
if (kenmerk_ref) {
|
||||
kenmerk_waarde = getKenmerkKeyByRef(kenmerkdomein_key, kenmerk_ref, kenmerk_waarde);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user