SVRZ#83719 NACHTWERK-functionaliteit/Ontmantelen (oa. SWIFT-export)

svn path=/Customer/trunk/; revision=69018
This commit is contained in:
Maarten van der Heide
2025-05-14 11:36:01 +00:00
parent 57143776da
commit de923429b2

View File

@@ -1703,181 +1703,6 @@ EXCEPTION
END svrz_update_ins_scan;
/
/*
CREATE OR REPLACE VIEW svrz_v_export_nachtwerk
(
RESULT,
result_order
)
AS
SELECT 'CALL GENEREER1BESOPDRPDF.BAT '
|| TO_CHAR (bo.bes_bestelopdr_key)
|| ' PUR-C1'
|| REPLACE (
SUBSTR ('0000000' || bo.bes_bestelopdr_id,
INSTR ('0000000' || bo.bes_bestelopdr_id, '/') - 6),
'/',
'-'),
bes_bestelopdr_key
FROM bes_bestelopdr bo, fac_tracking t
WHERE bo.bes_bestelopdr_status = 4 -- In bestelling
AND bo.bes_bestelopdr_key = t.fac_tracking_refkey
AND t.fac_srtnotificatie_key = 142 -- BES2SN
AND TRUNC (t.fac_tracking_datum) = TRUNC (SYSDATE - 1)
UNION ALL
SELECT 'CALL GENEREER1MLDOPDRPDF.BAT '
|| TO_CHAR (o.mld_opdr_key)
|| ' PUR-N1'
|| SUBSTR ('0000000' || TO_CHAR (o.mld_melding_key), -6)
|| '-'
|| TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr),
mld_opdr_key
FROM mld_opdr o, fac_tracking t
WHERE o.mld_statusopdr_key = 5 -- Uitgegeven
AND o.mld_opdr_key = t.fac_tracking_refkey
AND t.fac_srtnotificatie_key = 91 -- ORDSNT
AND TRUNC (t.fac_tracking_datum) = TRUNC (SYSDATE - 1);
-- Dummy export NACHTWERK!
CREATE OR REPLACE PROCEDURE svrz_select_nachtwerk (p_applname IN VARCHAR2,
p_applrun IN VARCHAR2)
AS
c_lev_cond_srtk NUMBER (10) := 81;
v_errormsg VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
-- Cursor loopt over alle bestelopdracht-items met status 'In bestelling';
-- deze worden verondersteld te zijn geleverd na 'leverdagen'+'notidagen'!
CURSOR cboi
IS
SELECT DISTINCT bo.bes_bestelopdr_key
FROM bes_bestelopdr bo,
bes_bestelopdr_item boi,
bes_bestelling_item bi,
bes_bestelling b,
bes_srtdeel sd,
bes_srtgroep sg,
bes_disc_params dp
WHERE bo.bes_bestelopdr_status = 4 -- In bestelling
AND bo.bes_bestelopdr_key = boi.bes_bestelopdr_key
AND boi.bes_bestelopdr_item_key = bi.bes_bestelopdr_item_key
AND bi.bes_bestelling_key = b.bes_bestelling_key
AND bi.bes_srtdeel_key = sd.bes_srtdeel_key
AND sd.bes_srtgroep_key = sg.bes_srtgroep_key
--AND sg.ins_discipline_key = -1
AND sg.ins_discipline_key = dp.bes_ins_discipline_key
AND dp.bes_disc_params_noti_dagen IS NOT NULL
AND (b.bes_bestelling_datum IS NULL OR fac.datumtijdplusuitvoertijd (b.bes_bestelling_leverdatum, dp.bes_disc_params_noti_dagen, 'DAGEN') < SYSDATE);
-- Cursor loopt over alle bestelling-items met status 'Besteld' waarvan
-- de bijbehorende bestelopdracht-items zijn geleverd; deze worden dan ook
-- gesloten!
CURSOR cbi
IS
SELECT DISTINCT b.bes_bestelling_key
FROM bes_bestelling b,
bes_bestelling_item bi,
bes_bestelopdr_item boi
WHERE b.bes_bestelling_status = 5 -- Besteld
AND b.bes_bestelling_key = bi.bes_bestelling_key
--AND bi.bes_bestelling_item_aantal != COALESCE (bi.bes_bestelling_item_aantalontv, 0)
AND bi.bes_bestelopdr_item_key = boi.bes_bestelopdr_item_key
AND boi.bes_bestelopdr_item_aantal = boi.bes_bestelopdr_item_aantalontv;
-- SVRZ#55788: Cursor loopt over de bestel-catalogi en maakt Label-kenmerk
-- aan met (een kopie van) de Leveringscondities zoals bij de
-- betreffende relatie ingevuld (en indien nog niet aangemaakt).
CURSOR ccat
IS
SELECT dp.bes_ins_discipline_key, kl.prs_kenmerklink_waarde lev_condities
FROM bes_disc_params dp,
prs_kenmerklink kl
WHERE dp.bes_disc_params_punch_bedr_key = kl.prs_link_key
AND kl.prs_kenmerk_key = 1000 -- Leveringscondities
AND NOT EXISTS
(SELECT 1
FROM bes_kenmerk
WHERE bes_srtkenmerk_key = c_lev_cond_srtk
AND bes_srtinstallatie_key = dp.bes_ins_discipline_key)
UNION ALL
SELECT DISTINCT dp.bes_ins_discipline_key, kl.prs_kenmerklink_waarde lev_condities
FROM bes_disc_params dp,
bes_srtgroep sg1,
bes_srtdeel sd1,
prs_kenmerklink kl
WHERE dp.bes_disc_params_punch_bedr_key IS NULL
AND dp.bes_ins_discipline_key = sg1.ins_discipline_key
AND sg1.bes_srtgroep_key = sd1.bes_srtgroep_key
AND sd1.prs_bedrijf_key = kl.prs_link_key
AND kl.prs_kenmerk_key = 1000 -- Leveringscondities
AND NOT EXISTS
(SELECT 1
FROM bes_srtgroep sg2, bes_srtdeel sd2
WHERE sg2.bes_srtgroep_key = sd2.bes_srtgroep_key
AND sg2.ins_discipline_key = sg1.ins_discipline_key
AND sd2.prs_bedrijf_key != sd1.prs_bedrijf_key)
AND NOT EXISTS
(SELECT 1
FROM bes_kenmerk
WHERE bes_srtkenmerk_key = c_lev_cond_srtk
AND bes_srtinstallatie_key = dp.bes_ins_discipline_key);
BEGIN
v_errormsg := 'Fout leveren bestelopdracht';
FOR rec IN cboi
LOOP
-- Zeg dat alles geleverd is wat besteld is.
UPDATE bes_bestelopdr_item
SET bes_bestelopdr_item_aantalontv = bes_bestelopdr_item_aantal
WHERE bes_bestelopdr_key = rec.bes_bestelopdr_key;
bes.updatebestelopdrstatus (rec.bes_bestelopdr_key, NULL);
END LOOP;
v_errormsg := 'Fout sluiten bestelaanvraag';
FOR rec IN cbi
LOOP
-- Sluit alle aanvraagregels af die nu geheel geleverd zijn.
UPDATE bes_bestelling_item
SET bes_bestelling_item_aantalontv = bes_bestelling_item_aantal
WHERE bes_bestelling_key = rec.bes_bestelling_key;
bes.updatebestellingstatus (rec.bes_bestelling_key, NULL);
END LOOP;
COMMIT;
v_errormsg := 'Fout toevoegen leveringscondities';
FOR rec IN ccat
LOOP
INSERT INTO bes_kenmerk (bes_srtkenmerk_key,
bes_srtinstallatie_key,
bes_kenmerk_type,
bes_kenmerk_niveau,
bes_kenmerk_volgnummer,
bes_kenmerk_default)
VALUES (c_lev_cond_srtk,
rec.bes_ins_discipline_key,
'B',
'D',
1,
rec.lev_condities);
END LOOP;
COMMIT;
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
fac.writelog (p_applname, 'E', 'Proces afgebroken!', v_errormsg);
END svrz_select_nachtwerk;
/
*/
/* Formatted on 12-9-2014 17:42:24 (QP5 v5.136.908.31019) */
CREATE OR REPLACE VIEW svrz_v_imp_bes_artikel_sync
(