diff --git a/APPL/BES/bes_voorraad_list.inc b/APPL/BES/bes_voorraad_list.inc index 1e77b60bf1..722bcb296f 100644 --- a/APPL/BES/bes_voorraad_list.inc +++ b/APPL/BES/bes_voorraad_list.inc @@ -112,8 +112,8 @@ function bes_voorraad_list (pautfunction, params) + " , dp.bes_ins_discipline_key" + " , dp.bes_ins_discipline_key_inkoop inkoop_disc" + " , (SELECT "+ lcl.xsql('bd2.ins_discipline_omschrijving','bd2.ins_discipline_key') - + " FROM bes_discipline bd2" - + " WHERE bd2.ins_discipline_key = dp.bes_ins_discipline_key_inkoop) disc_oms" + + " FROM bes_discipline bd2" + + " WHERE bd2.ins_discipline_key = dp.bes_ins_discipline_key_inkoop) disc_oms" + " , (SELECT isd2.bes_srtdeel_voorraadmax" + sql_srtdeel2 + ") voorraadmax" // Voorraadmax van gekoppelde discipline + " , (SELECT isd2.bes_srtdeel_voorraadmin" + sql_srtdeel2 + ") voorraadmin" // Voorraadmin van gekoppelde discipline + " , SUM (bo.bes_bestelopdr_item_aantal) aantal_intern" @@ -145,25 +145,25 @@ function bes_voorraad_list (pautfunction, params) : "") + (params.besgroep_key ? " AND g.bes_srtgroep_key IN (SELECT sd2.bes_srtgroep_key" - + " FROM bes_v_aanwezigsrtdeel sd2" - + " , bes_v_aanwezigsrtgroep sg2" - + " WHERE sd2.bes_srtgroep_key = sg2.bes_srtgroep_key" - + " AND (sd2.bes_srtdeel_vervaldatum IS NULL OR sd2.bes_srtdeel_vervaldatum > SYSDATE)" - + " AND sd2.bes_srtdeel_nr IN (SELECT sd3.bes_srtdeel_nr" - + " FROM bes_v_aanwezigsrtdeel sd3" - + " WHERE (sd3.bes_srtdeel_vervaldatum IS NULL OR sd3.bes_srtdeel_vervaldatum > SYSDATE)" - + " AND sd3.bes_srtgroep_key = " + params.besgroep_key + "))" + + " FROM bes_v_aanwezigsrtdeel sd2" + + " , bes_v_aanwezigsrtgroep sg2" + + " WHERE sd2.bes_srtgroep_key = sg2.bes_srtgroep_key" + + " AND (sd2.bes_srtdeel_vervaldatum IS NULL OR sd2.bes_srtdeel_vervaldatum > SYSDATE)" + + " AND sd2.bes_srtdeel_nr IN (SELECT sd3.bes_srtdeel_nr" + + " FROM bes_v_aanwezigsrtdeel sd3" + + " WHERE (sd3.bes_srtdeel_vervaldatum IS NULL OR sd3.bes_srtdeel_vervaldatum > SYSDATE)" + + " AND sd3.bes_srtgroep_key = " + params.besgroep_key + "))" : "") + (params.item_key ? " AND sd.bes_srtdeel_key IN (SELECT sd2.bes_srtdeel_key" - + " FROM bes_v_aanwezigsrtdeel sd2" - + " , bes_v_aanwezigsrtgroep sg2" - + " WHERE sd2.bes_srtgroep_key = sg2.bes_srtgroep_key" - + " AND (sd2.bes_srtdeel_vervaldatum IS NULL OR sd2.bes_srtdeel_vervaldatum > SYSDATE)" - + " AND sd2.bes_srtdeel_nr LIKE (SELECT sd3.bes_srtdeel_nr" - + " FROM bes_v_aanwezigsrtdeel sd3" - + " WHERE (sd3.bes_srtdeel_vervaldatum IS NULL OR sd3.bes_srtdeel_vervaldatum > SYSDATE)" - + " AND sd3.bes_srtdeel_key = " + params.item_key + "))" + + " FROM bes_v_aanwezigsrtdeel sd2" + + " , bes_v_aanwezigsrtgroep sg2" + + " WHERE sd2.bes_srtgroep_key = sg2.bes_srtgroep_key" + + " AND (sd2.bes_srtdeel_vervaldatum IS NULL OR sd2.bes_srtdeel_vervaldatum > SYSDATE)" + + " AND sd2.bes_srtdeel_nr LIKE (SELECT sd3.bes_srtdeel_nr" + + " FROM bes_v_aanwezigsrtdeel sd3" + + " WHERE (sd3.bes_srtdeel_vervaldatum IS NULL OR sd3.bes_srtdeel_vervaldatum > SYSDATE)" + + " AND sd3.bes_srtdeel_key = " + params.item_key + "))" : "") + " GROUP BY sd.bes_srtdeel_nr" + " , sd.bes_srtdeel_key" @@ -195,15 +195,15 @@ function bes_voorraad_list (pautfunction, params) + " , sd.bes_srtdeel_veelvoud bestelveelvoud" + " , sd.bes_srtdeel_eenheid" + " , (SELECT isd2.bes_srtdeel_eenheid" - + " FROM bes_srtdeel isd2" - + " , bes_srtgroep isg2" - + " , bes_disc_params dp2" - + " WHERE isd2.bes_srtgroep_key = isg2.bes_srtgroep_key" - + " AND dp2.bes_ins_discipline_key = isg2.ins_discipline_key" - + " AND isd2.bes_srtdeel_nr LIKE sd.bes_srtdeel_nr" - + " AND isd2.bes_srtdeel_verwijder IS NULL" - + " AND (isd2.bes_srtdeel_vervaldatum IS NULL OR isd2.bes_srtdeel_vervaldatum > TRUNC(SYSDATE))" - + " AND dp.bes_ins_discipline_key = dp2.bes_ins_discipline_key_inkoop) bes_srtdeel_eenheid_intern" // Eenheid van gekoppelde discipline + + " FROM bes_srtdeel isd2" + + " , bes_srtgroep isg2" + + " , bes_disc_params dp2" + + " WHERE isd2.bes_srtgroep_key = isg2.bes_srtgroep_key" + + " AND dp2.bes_ins_discipline_key = isg2.ins_discipline_key" + + " AND isd2.bes_srtdeel_nr LIKE sd.bes_srtdeel_nr" + + " AND isd2.bes_srtdeel_verwijder IS NULL" + + " AND (isd2.bes_srtdeel_vervaldatum IS NULL OR isd2.bes_srtdeel_vervaldatum > TRUNC(SYSDATE))" + + " AND dp.bes_ins_discipline_key = dp2.bes_ins_discipline_key_inkoop) bes_srtdeel_eenheid_intern" // Eenheid van gekoppelde discipline + " FROM bes_discipline bd" + " , bes_v_aanwezigsrtgroep g" + " , bes_v_aanwezigsrtdeel sd" @@ -225,6 +225,21 @@ function bes_voorraad_list (pautfunction, params) + " (SELECT dp1.bes_ins_discipline_key_inkoop" + " FROM bes_disc_params dp1" + " WHERE dp1.bes_ins_discipline_key_inkoop IS NOT NULL)" + // Het artikel moet gekoppeld zijn aan een externe leverancier die gekoppeld is aan de interne leverancier (bes_ins_discipline_key_inkoop). + + " AND EXISTS (SELECT bd1.ins_discipline_key" + + " , g1.bes_srtgroep_key" + + " , sd1.bes_srtdeel_key" + + " , sd1.bes_srtdeel_nr" + + " , dp1.bes_ins_discipline_key_inkoop" + + " FROM bes_discipline bd1" + + " , bes_v_aanwezigsrtgroep g1" + + " , bes_v_aanwezigsrtdeel sd1" + + " , bes_disc_params dp1" + + " WHERE sd1.bes_srtgroep_key = g1.bes_srtgroep_key" + + " AND g1.ins_discipline_key = bd1.ins_discipline_key" + + " AND bd1.ins_discipline_key = dp1.bes_ins_discipline_key" + + " AND sd1.bes_srtdeel_nr = sd.bes_srtdeel_nr" // Dezelfde omschrijving. + + " AND dp1.bes_ins_discipline_key_inkoop = bd.ins_discipline_key)" // Gekoppeld aan inkoopcatalogus. + (params.catalogus_key ? " AND bd.ins_discipline_key = " + params.catalogus_key + " AND (sd.bes_srtdeel_vervaldatum IS NULL OR sd.bes_srtdeel_vervaldatum > SYSDATE)" @@ -264,15 +279,15 @@ function bes_voorraad_list (pautfunction, params) + " , sd.bes_srtdeel_veelvoud bestelveelvoud" + " , sd.bes_srtdeel_eenheid" + " , (SELECT isd2.bes_srtdeel_eenheid" - + " FROM bes_srtdeel isd2" - + " , bes_srtgroep isg2" - + " , bes_disc_params dp2" - + " WHERE isd2.bes_srtgroep_key = isg2.bes_srtgroep_key" - + " AND dp2.bes_ins_discipline_key = isg2.ins_discipline_key" - + " AND isd2.bes_srtdeel_nr LIKE sd.bes_srtdeel_nr" - + " AND isd2.bes_srtdeel_verwijder IS NULL" - + " AND (isd2.bes_srtdeel_vervaldatum IS NULL OR isd2.bes_srtdeel_vervaldatum > TRUNC(SYSDATE))" - + " AND dp.bes_ins_discipline_key = dp2.bes_ins_discipline_key_inkoop) bes_srtdeel_eenheid_intern" // Eenheid van gekoppelde discipline + + " FROM bes_srtdeel isd2" + + " , bes_srtgroep isg2" + + " , bes_disc_params dp2" + + " WHERE isd2.bes_srtgroep_key = isg2.bes_srtgroep_key" + + " AND dp2.bes_ins_discipline_key = isg2.ins_discipline_key" + + " AND isd2.bes_srtdeel_nr LIKE sd.bes_srtdeel_nr" + + " AND isd2.bes_srtdeel_verwijder IS NULL" + + " AND (isd2.bes_srtdeel_vervaldatum IS NULL OR isd2.bes_srtdeel_vervaldatum > TRUNC(SYSDATE))" + + " AND dp.bes_ins_discipline_key = dp2.bes_ins_discipline_key_inkoop) bes_srtdeel_eenheid_intern" // Eenheid van gekoppelde discipline + " FROM bes_discipline bd" + " , bes_v_aanwezigsrtgroep g" + " , bes_v_aanwezigsrtdeel sd" @@ -295,9 +310,24 @@ function bes_voorraad_list (pautfunction, params) + " AND dp.bes_ins_discipline_key_inkoop IS NULL" // Het moet een gekoppelde discipline zijn + " AND dp.bes_ins_discipline_key IN" - + " (SELECT dp1.bes_ins_discipline_key_inkoop" - + " FROM bes_disc_params dp1" - + " WHERE dp1.bes_ins_discipline_key_inkoop IS NOT NULL)" + + " (SELECT dp1.bes_ins_discipline_key_inkoop" + + " FROM bes_disc_params dp1" + + " WHERE dp1.bes_ins_discipline_key_inkoop IS NOT NULL)" + // Het artikel moet gekoppeld zijn aan een externe leverancier die gekoppeld is aan de interne leverancier (bes_ins_discipline_key_inkoop). + + " AND EXISTS (SELECT bd1.ins_discipline_key" + + " , g1.bes_srtgroep_key" + + " , sd1.bes_srtdeel_key" + + " , sd1.bes_srtdeel_nr" + + " , dp1.bes_ins_discipline_key_inkoop" + + " FROM bes_discipline bd1" + + " , bes_v_aanwezigsrtgroep g1" + + " , bes_v_aanwezigsrtdeel sd1" + + " , bes_disc_params dp1" + + " WHERE sd1.bes_srtgroep_key = g1.bes_srtgroep_key" + + " AND g1.ins_discipline_key = bd1.ins_discipline_key" + + " AND bd1.ins_discipline_key = dp1.bes_ins_discipline_key" + + " AND sd1.bes_srtdeel_nr = sd.bes_srtdeel_nr" // Dezelfde omschrijving. + + " AND dp1.bes_ins_discipline_key_inkoop = bd.ins_discipline_key)" // Gekoppeld aan inkoopcatalogus. + (params.catalogus_key ? " AND bd.ins_discipline_key = " + params.catalogus_key + " AND (sd.bes_srtdeel_vervaldatum IS NULL OR sd.bes_srtdeel_vervaldatum > SYSDATE)" @@ -443,7 +473,7 @@ function bes_voorraad_list (pautfunction, params) + " , voorraad_intern" + " , (SELECT COUNT(*)" + " FROM bes_kenmerk bk" - + " , bes_srtkenmerk sk" + + " , bes_srtkenmerk sk" + " , bes_srtdeel sd" + " , bes_srtgroep sg" + " WHERE sd.bes_srtgroep_key = sg.bes_srtgroep_key" @@ -451,9 +481,9 @@ function bes_voorraad_list (pautfunction, params) + " OR bk.bes_srtinstallatie_key = sg.bes_srtgroep_key AND bk.bes_kenmerk_niveau LIKE 'G'" + " OR bk.bes_srtinstallatie_key = sd.bes_srtdeel_key AND bk.bes_kenmerk_niveau LIKE 'S')" + " AND bk.bes_kenmerk_type = 'I'" - + " AND bk.bes_srtkenmerk_key = sk.bes_srtkenmerk_key" + + " AND bk.bes_srtkenmerk_key = sk.bes_srtkenmerk_key" + " AND bk.bes_kenmerk_verwijder = NULL" - + " AND sk.bes_srtkenmerk_verwijder = NULL" + + " AND sk.bes_srtkenmerk_verwijder = NULL" + " AND sd.bes_srtdeel_key = l.bes_srtdeel_key) aantalkenmerken" + " , l.eenheid_extern" + " , l.eenheid_intern"