From 378bc1620a5afca7225e43304aba09e5da8a7195 Mon Sep 17 00:00:00 2001 From: Norbert Wassink Date: Tue, 24 Sep 2024 13:52:50 +0000 Subject: [PATCH] YKPN#85218 -- aanpassing "Retail Opdrachten 53 rolling" notificatie svn path=/Customer/trunk/; revision=66300 --- YKPN/ykpn.sql | 76 ++++++++++++++++++++++++++++----------------------- 1 file changed, 42 insertions(+), 34 deletions(-) diff --git a/YKPN/ykpn.sql b/YKPN/ykpn.sql index e5212d834..00a5f26fc 100644 --- a/YKPN/ykpn.sql +++ b/YKPN/ykpn.sql @@ -122,8 +122,7 @@ AS PROCEDURE tsk_mld_thuiswerkwinkel(p_applname IN VARCHAR2, p_applrun IN VARCHAR2); - - PROCEDURE ykpn_pre_putorders; + END; / @@ -132,36 +131,7 @@ CREATE OR REPLACE PACKAGE BODY YKPN AS - PROCEDURE ykpn_pre_putorders - AS - -- Bepalen welke opdrachten een notitie hebben - CURSOR sel_servicenow - IS - SELECT DISTINCT o.mld_opdr_key - FROM mld_opdr o , - mld_melding m, - mld_opdr_note ono, - prs_bedrijf b - WHERE o.mld_opdr_externnr LIKE 'INC#%' - AND o.mld_uitvoerende_keys = b.prs_bedrijf_key - AND ( b.prs_bedrijf_naam_upper = 'SERVICE NOW' - OR b.prs_leverancier_nr='SERVICENOW_API') - AND o.mld_melding_key = m.mld_melding_key - AND o.mld_statusopdr_key IN (5, 8) - AND o.mld_opdr_teverzenden=1 - AND ono.mld_opdr_key = o.mld_opdr_key - AND ono.prs_perslid_key=m.prs_perslid_key - AND ono.mld_opdr_note_aanmaak > o.mld_opdr_externsyncdate; - BEGIN - -- ServiceNow opdrachten - FOR rec IN sel_servicenow - LOOP - UPDATE mld_opdr o - SET o.mld_opdr_teverzenden=2, o.mld_opdr_verzonden=NULL - WHERE o.mld_opdr_key=rec.mld_opdr_key; - END LOOP; - - END; + @@ -2571,11 +2541,11 @@ AS v_errorhint :='Aanmaken notificatie retail export'; SELECT TO_CHAR(SYSDATE,'d') INTO v_today FROM DUAL; - IF v_today = '1' --op iedere zondag vd maand + IF v_today = '2' --op iedere maandag vd week THEN SELECT TO_CHAR(fac_export_app_datum,'DD-MM-YYYY') INTO v_lastRun FROM fac_export_app WHERE fac_export_app_code='RETAIL_RAPPORT'; SELECT fac_srtnotificatie_key INTO v_notiKey FROM fac_srtnotificatie WHERE fac_srtnotificatie_code='CUST22'; - IF v_LastRun = TO_CHAR(SYSDATE,'DD-MM-YYYY') -- export heeft gedraaid + IF v_LastRun = TO_CHAR(SYSDATE-1,'DD-MM-YYYY') -- export heeft zondag gedraaid THEN v_bijlage := '/../../YKPN/CUST/YKPN/export/retail/Retail_53W_'||to_char(SYSDATE, 'yyyymmdd')||'.csv'; @@ -2792,6 +2762,10 @@ AS END; / + + + + -- BASISVIEW voor procedure CONTRACTSCOPE (ticket 60365) CREATE OR REPLACE VIEW YKPN_V_RAP_CNT_EXPORT ( @@ -2850,6 +2824,40 @@ SELECT AND c.cnt_contract_key = sc.cnt_contract_key ORDER BY c.cnt_contract_nummer_intern,sc.code; + +CREATE OR REPLACE PROCEDURE ykpn_pre_putorders +AS + -- Bepalen welke opdrachten een notitie hebben + CURSOR sel_servicenow + IS + SELECT DISTINCT o.mld_opdr_key + FROM mld_opdr o , + mld_melding m, + mld_opdr_note ono, + prs_bedrijf b + WHERE o.mld_opdr_externnr LIKE 'INC#%' + AND o.mld_uitvoerende_keys = b.prs_bedrijf_key + AND b.prs_bedrijf_naam_upper = 'SERVICE NOW API' + AND o.mld_melding_key = m.mld_melding_key + AND o.mld_statusopdr_key IN (5, 8) + AND o.mld_opdr_teverzenden=0 + AND ono.mld_opdr_key = o.mld_opdr_key + AND ono.prs_perslid_key=m.prs_perslid_key + AND ono.mld_opdr_note_aanmaak > o.mld_opdr_externsyncdate; +BEGIN + FOR rec IN sel_servicenow + LOOP + UPDATE mld_opdr o + SET o.mld_opdr_teverzenden=2, o.mld_opdr_verzonden=NULL + WHERE o.mld_opdr_key=rec.mld_opdr_key; + END LOOP; + +END; +/ + + + + CREATE OR REPLACE PROCEDURE ykpn_import_contractscope (p_import_key IN NUMBER) AS c_fielddelimitor VARCHAR2 (1) := ';';