ARBO#70119 -- Opmerking uit Punch-out in kenmerken plaatsen.

svn path=/Customer/trunk/; revision=54212
This commit is contained in:
Arthur Egberink
2021-12-20 07:20:34 +00:00
parent 32886223eb
commit 04ef2ee845

View File

@@ -16,6 +16,74 @@ SET DEFINE OFF
------ payload begin ------
CREATE OR REPLACE PACKAGE ARBO
AS
PROCEDURE set_kenmerk_from_remarks (p_bestelling_key IN NUMBER);
END;
/
CREATE OR REPLACE PACKAGE BODY ARBO
AS
PROCEDURE set_kenmerk_from_remarks (p_bestelling_key IN NUMBER)
AS
CURSOR c1
IS
SELECT sd.bes_srtdeel_opmerking, ins_discipline_key
FROM bes_bestelling_item bi,
bes_srtdeel sd,
bes_srtgroep sg
WHERE bi.bes_srtdeel_key = sd.bes_srtdeel_key
AND sd.bes_srtgroep_key = sg.bes_srtgroep_key
AND bi.bes_bestelling_key = p_bestelling_key;
CURSOR c(c_discipline_key NUMBER)
IS
SELECT sk.bes_srtkenmerk_omschrijving,
k.bes_kenmerk_key,
sk.bes_srtkenmerk_lengte
FROM bes_kenmerk k, bes_srtkenmerk sk
WHERE k.bes_srtinstallatie_key = c_discipline_key
AND k.bes_srtkenmerk_key = sk.bes_srtkenmerk_key
AND k.bes_kenmerk_verwijder IS NULL;
v_srtdeel_opmerking VARCHAR2(4000);
v_kenmerk_waarde VARCHAR2(4000);
v_kenmerk_lengte VARCHAR2(100);
v_kenmerk_key VARCHAR2(100);
v_tag VARCHAR2(100);
v_discipline_key NUMBER;
BEGIN
FOR rec1 IN c1
LOOP
v_srtdeel_opmerking := rec1.bes_srtdeel_opmerking;
v_discipline_key := rec1.ins_discipline_key;
FOR rec in c(v_discipline_key)
LOOP
-- maak een string met f teken, kenmerk_key : kenmerklengte : kenmerkomschrijving : kenmerkwaarde
v_srtdeel_opmerking := REPLACE(v_srtdeel_opmerking, rec.bes_srtkenmerk_omschrijving, chr(131) || rec.bes_kenmerk_key || ':' || rec.bes_srtkenmerk_lengte || ':' || rec.bes_srtkenmerk_omschrijving);
WHILE v_srtdeel_opmerking IS NOT NULL
LOOP
fac.imp_getfield (v_srtdeel_opmerking, chr(131), v_kenmerk_waarde);
fac.imp_getfield (v_kenmerk_waarde, ':', v_kenmerk_key);
fac.imp_getfield (v_kenmerk_waarde, ':', v_kenmerk_lengte);
fac.imp_getfield (v_kenmerk_waarde, ':', v_tag);
IF FAC.safe_to_number(v_kenmerk_key) IS NOT NULL AND FAC.safe_to_number(v_kenmerk_lengte) IS NOT NULL
THEN
FLX.setflex ('BES', TO_NUMBER(v_kenmerk_key), p_bestelling_key, SUBSTR(v_kenmerk_waarde, 1, TO_NUMBER(v_kenmerk_lengte)));
END IF;
END LOOP;
END LOOP;
END LOOP;
END;
END;
/
CREATE OR REPLACE VIEW arbo_v_rap_import_log
AS
SELECT imp_log_status fclt_f_status,