From e380efefda331d8ebe15b118a73159808f130199 Mon Sep 17 00:00:00 2001 From: Arthur Egberink Date: Mon, 15 Sep 2025 15:35:41 +0000 Subject: [PATCH] YAXX#89542 Klant inkoopnummer overnemen naar offerteopdracht. svn path=/Customer/trunk/; revision=70327 --- VBXX/vbxx.sql | 53 +++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 51 insertions(+), 2 deletions(-) diff --git a/VBXX/vbxx.sql b/VBXX/vbxx.sql index 0c04c8c07..8411aa980 100644 --- a/VBXX/vbxx.sql +++ b/VBXX/vbxx.sql @@ -109,7 +109,38 @@ AS AND o.mld_opdr_key = p_refkey; WHEN p_module = 'MLD' THEN - kkey := NULL; -- Nog niet geimplementeerd. + + -- T type vakgroep + -- D vakgroep + -- S stdmelding + -- A alle + + SELECT MAX(mld_kenmerk_key) + INTO kkey + FROM mld_kenmerk k, mld_melding m, mld_stdmelding std, mld_discipline d + WHERE m.mld_melding_key = p_refkey + AND m.mld_stdmelding_key = std.mld_stdmelding_key + AND std.mld_ins_discipline_key = d.ins_discipline_key + AND k.mld_kenmerk_code LIKE p_kenmerk_code + AND ( k.mld_kenmerk_niveau = 'A' + OR (k.mld_kenmerk_niveau = 'T' AND k.mld_stdmelding_key = d.ins_srtdiscipline_key) + OR (k.mld_kenmerk_niveau = 'D' AND k.mld_stdmelding_key = d.ins_discipline_key) + OR (k.mld_kenmerk_niveau = 'S' AND k.mld_stdmelding_key = std.mld_stdmelding_key) + ); + + SELECT MAX(mld_kenmerk_key) + INTO kkey + FROM mld_kenmerk k, mld_srtkenmerk sk, mld_melding m, mld_stdmelding std, mld_discipline d + WHERE m.mld_melding_key = p_refkey + AND m.mld_stdmelding_key = std.mld_stdmelding_key + AND std.mld_ins_discipline_key = d.ins_discipline_key + AND k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key + AND sk.mld_srtkenmerk_code LIKE p_kenmerk_code + AND ( k.mld_kenmerk_niveau = 'A' + OR (k.mld_kenmerk_niveau = 'T' AND k.mld_stdmelding_key = d.ins_srtdiscipline_key) + OR (k.mld_kenmerk_niveau = 'D' AND k.mld_stdmelding_key = d.ins_discipline_key) + OR (k.mld_kenmerk_niveau = 'S' AND k.mld_stdmelding_key = std.mld_stdmelding_key) + ); ELSE kkey := NULL; END CASE; @@ -1552,6 +1583,8 @@ AS v_verkoopprijs NUMBER; v_klantoffertelimiet NUMBER; v_regio_key ALG_REGIO.ALG_REGIO_KEY%TYPE; + v_inkoopnummer_opdracht VARCHAR2(100); + v_inkoopnummer_melding VARCHAR2(100); v_errormsg VARCHAR (200); v_errorhint VARCHAR (200); @@ -1637,6 +1670,22 @@ AS END IF; END IF; + IF v_typeopdr_code LIKE 'OFFERTEOPDRACHT%' AND v_statusopdr_key IN (5,8) -- Toegekend, Geaccepteerd + THEN + v_kenmerk_key := VBXX.get_kenmerk_key('MLD', v_melding_key, 'KLANTINKOOPNR'); + dbms_output.put_line ('v_kenmerk_key KLANTINKOOPNR:' || v_kenmerk_key); + v_inkoopnummer_melding := FLX.getflex('MLD', v_kenmerk_key, v_melding_key, 1); + dbms_output.put_line ('v_inkoopnummer_melding:' || v_inkoopnummer_melding); + + v_kenmerk_key := VBXX.get_kenmerk_key('OPD', p_opdr_key, 'KLANTINKOOPNR'); + dbms_output.put_line ('v_kenmerk_key KLANTINKOOPNR:' || v_kenmerk_key); + v_inkoopnummer_opdracht := FLX.getflex('OPD', v_kenmerk_key, p_opdr_key, 1); + + IF v_inkoopnummer_opdracht IS NULL + THEN + FLX.setflex('OPD', v_kenmerk_key, p_opdr_key, v_inkoopnummer_melding); + END IF; + END IF; EXCEPTION WHEN OTHERS THEN @@ -4536,7 +4585,7 @@ WITH SELECT DISTINCT NULL sender, COALESCE (kbm.prs_perslid_key, br.prs_perslid_key) receiver, - 'Offerte(s) m.b.t. melding ' || m.mld_melding_key || ' zijn afgemeld en dienen beoordeeld te worden' text, + 'Herinnering: Beoordeling kostenopgave van melding ' || m.mld_melding_key || ' (##DISC##/##STDMLD##)' text, 'CUST94' code, m.mld_melding_key key, NULL xkey