PCHD#39386: AiAi fin_search_list.asp - ORA-00936: Ontbrekende uitdrukking.
svn path=/Website/branches/v2016.3/; revision=32727
This commit is contained in:
@@ -342,7 +342,7 @@ function fin_list (params)
|
||||
// 4) Als type (mld-cnt-bes) niet bekend/gekozen is, dan moet ik volledig rechten hebben
|
||||
// sql4 = " (f.mld_opdr_key IS NOT NULL OR f.cnt_contract_key IS NOT NULL OR f.bes_bestelopdr_key IS NOT NULL)";
|
||||
|
||||
sql += "AND (" + sql1a + " OR " + sql1b + " OR " + sql2 + " OR " + sql3 + ")";
|
||||
sql += " AND (" + sql1a + " OR " + sql1b + " OR " + sql2 + " OR " + sql3 + ")";
|
||||
}
|
||||
|
||||
// Als bld_key een geldige waarde heeft, hebben loc_key en dis_key ook een geldige waarde
|
||||
@@ -367,55 +367,62 @@ function fin_list (params)
|
||||
}
|
||||
oRsd.Close();
|
||||
}
|
||||
// Als alleen dis_key bekend is dan zoeken voor alle loc_key bij deze dis_key.
|
||||
// 1) Het afleveradres van de locatie van de bestelling (bld_key is niet bekend/gedefinieerd)
|
||||
sql1 = " (f.bes_bestelopdr_key IS NOT NULL "
|
||||
+ " AND bo.mld_adres_key_lev IN ("
|
||||
+ "SELECT m.mld_adres_key"
|
||||
+ " FROM mld_v_afleveradres m"
|
||||
+ " WHERE m.alg_locatie_key IN (" + loc_key_arr.join(",") + ")))";
|
||||
|
||||
// 2) De plaats van de bijbehorende melding van de opdracht
|
||||
sql2 = " (f.mld_opdr_key IS NOT NULL "
|
||||
+ " AND EXISTS (SELECT m.mld_melding_key"
|
||||
+ " FROM alg_v_allonroerendgoed onrg"
|
||||
+ " WHERE m.mld_alg_onroerendgoed_keys = onrg.alg_onroerendgoed_keys(+)"
|
||||
+ " AND onrg.alg_locatie_key IN (" + loc_key_arr.join(",") + ")"
|
||||
+ (bld_key
|
||||
? " AND ( (onrg.alg_gebouw_key = " + bld_key + ")"
|
||||
+ " OR (onrg.alg_terreinsector_key = " + bld_key + ")"
|
||||
+ " )"
|
||||
: "")
|
||||
+ " ))";
|
||||
|
||||
// Locatie/gebouw scope van het contract
|
||||
sql3 = " (c.cnt_contract_key IN"
|
||||
+ " (SELECT cnt_contract_key"
|
||||
+ " FROM cnt_v_aanwezigcontract_plaats"
|
||||
+ " WHERE (cnt_alg_plaats_code = 'L' AND cnt_alg_plaats_key IN (" + loc_key_arr.join(",") + "))";
|
||||
if (bld_key)
|
||||
if (loc_key_arr.length > 0)
|
||||
{
|
||||
sql3 += " OR (cnt_alg_plaats_code = 'G' AND cnt_alg_plaats_key = " + bld_key + ")"
|
||||
+ " OR (cnt_alg_plaats_code = 'T' AND cnt_alg_plaats_key = " + bld_key + ")";
|
||||
// Als alleen dis_key bekend is dan zoeken voor alle loc_key bij deze dis_key.
|
||||
// 1) Het afleveradres van de locatie van de bestelling (bld_key is niet bekend/gedefinieerd)
|
||||
sql1 = " (f.bes_bestelopdr_key IS NOT NULL "
|
||||
+ " AND bo.mld_adres_key_lev IN ("
|
||||
+ "SELECT m.mld_adres_key"
|
||||
+ " FROM mld_v_afleveradres m"
|
||||
+ " WHERE m.alg_locatie_key IN (" + loc_key_arr.join(",") + ")))";
|
||||
|
||||
// 2) De plaats van de bijbehorende melding van de opdracht
|
||||
sql2 = " (f.mld_opdr_key IS NOT NULL "
|
||||
+ " AND EXISTS (SELECT m.mld_melding_key"
|
||||
+ " FROM alg_v_allonroerendgoed onrg"
|
||||
+ " WHERE m.mld_alg_onroerendgoed_keys = onrg.alg_onroerendgoed_keys(+)"
|
||||
+ " AND onrg.alg_locatie_key IN (" + loc_key_arr.join(",") + ")"
|
||||
+ (bld_key
|
||||
? " AND ( (onrg.alg_gebouw_key = " + bld_key + ")"
|
||||
+ " OR (onrg.alg_terreinsector_key = " + bld_key + ")"
|
||||
+ " )"
|
||||
: "")
|
||||
+ " ))";
|
||||
|
||||
// Locatie/gebouw scope van het contract
|
||||
sql3 = " (c.cnt_contract_key IN"
|
||||
+ " (SELECT cnt_contract_key"
|
||||
+ " FROM cnt_v_aanwezigcontract_plaats"
|
||||
+ " WHERE (cnt_alg_plaats_code = 'L' AND cnt_alg_plaats_key IN (" + loc_key_arr.join(",") + "))";
|
||||
if (bld_key)
|
||||
{
|
||||
sql3 += " OR (cnt_alg_plaats_code = 'G' AND cnt_alg_plaats_key = " + bld_key + ")"
|
||||
+ " OR (cnt_alg_plaats_code = 'T' AND cnt_alg_plaats_key = " + bld_key + ")";
|
||||
}
|
||||
else
|
||||
{
|
||||
sql3 += " OR (cnt_alg_plaats_code = 'G' AND cnt_alg_plaats_key IN "
|
||||
+ " (SELECT alg_gebouw_key FROM alg_v_aanweziggebouw WHERE alg_locatie_key IN (" + loc_key_arr.join(",") + "))"
|
||||
+ " OR cnt_alg_plaats_code = 'T' AND cnt_alg_plaats_key IN "
|
||||
+ " (SELECT alg_terreinsector_key FROM alg_v_aanwezigterreinsector WHERE alg_locatie_key IN (" + loc_key_arr.join(",") + ")))";
|
||||
}
|
||||
sql3 += " UNION"
|
||||
+ " SELECT cnt_contract_key"
|
||||
+ " FROM cnt_v_aanwezigcontract_object co"
|
||||
+ " , ins_v_aanwezigdeel ad"
|
||||
+ " WHERE cnt_ins_deel_key = ad.ins_deel_key AND ad.ins_alg_locatie_key IN (" + loc_key_arr.join(",") + ")"
|
||||
+ " UNION"
|
||||
+ " SELECT cnt_contract_key"
|
||||
+ " FROM cnt_v_contract_locatie_geg cl"
|
||||
+ " WHERE alg_locatie_key IN (" + loc_key_arr.join(",") + ")))";
|
||||
|
||||
sql += "AND (" + sql1 + " OR " + sql2 + " OR " + sql3 + ")";
|
||||
}
|
||||
else
|
||||
{
|
||||
sql3 += " OR (cnt_alg_plaats_code = 'G' AND cnt_alg_plaats_key IN "
|
||||
+ " (SELECT alg_gebouw_key FROM alg_v_aanweziggebouw WHERE alg_locatie_key IN (" + loc_key_arr.join(",") + "))"
|
||||
+ " OR cnt_alg_plaats_code = 'T' AND cnt_alg_plaats_key IN "
|
||||
+ " (SELECT alg_terreinsector_key FROM alg_v_aanwezigterreinsector WHERE alg_locatie_key IN (" + loc_key_arr.join(",") + ")))";
|
||||
}
|
||||
sql3 += " UNION"
|
||||
+ " SELECT cnt_contract_key"
|
||||
+ " FROM cnt_v_aanwezigcontract_object co"
|
||||
+ " , ins_v_aanwezigdeel ad"
|
||||
+ " WHERE cnt_ins_deel_key = ad.ins_deel_key AND ad.ins_alg_locatie_key IN (" + loc_key_arr.join(",") + ")"
|
||||
+ " UNION"
|
||||
+ " SELECT cnt_contract_key"
|
||||
+ " FROM cnt_v_contract_locatie_geg cl"
|
||||
+ " WHERE alg_locatie_key IN (" + loc_key_arr.join(",") + ")))";
|
||||
|
||||
sql += "AND (" + sql1 + " OR " + sql2 + " OR " + sql3 + ")";
|
||||
// Er is geen enkele locatie die bij het gekozen district hoort. Dan kunnen er ook geen resultaten zijn.
|
||||
sql += " AND 1=0";
|
||||
}
|
||||
|
||||
if (verantw_key)
|
||||
@@ -469,7 +476,7 @@ function fin_list (params)
|
||||
+ " AND (g.prs_perslid_key_verantw = " + verantw_key
|
||||
+ " OR g.prs_perslid_key_verantw2 = " + verantw_key + ")))"
|
||||
|
||||
sql += "AND (" + sql1 + " OR " + sql2 + " OR " + sql3 + ")";
|
||||
sql += " AND (" + sql1 + " OR " + sql2 + " OR " + sql3 + ")";
|
||||
}
|
||||
|
||||
if (finnum) // mag fin_key of fin_factuur_nr zijn
|
||||
|
||||
Reference in New Issue
Block a user