BLST#66395 -- Implementatie belastingdienst

svn path=/Customer/trunk/; revision=52101
This commit is contained in:
Norbert Wassink
2021-06-25 15:27:50 +00:00
parent daefb5d448
commit 3ce2effbdd

View File

@@ -835,12 +835,11 @@ AS
rar.res_rsv_artikel_levering,
art.res_discipline_key,
art.res_artikel_groep ,
kst.prs_kostensoort_oms
FROM res_rsv_artikel rar, res_artikel art,ins_tab_discipline cat, prs_kostensoort kst
COALESCE(cat.ins_discipline_externnr,'NB') catalogusID
FROM res_rsv_artikel rar, res_artikel art,ins_tab_discipline cat
WHERE rar.res_rsv_ruimte_key = in_res_key
AND art.res_artikel_key=rar.res_artikel_key
AND cat.ins_discipline_key = art.res_discipline_key
AND kst.prs_kostensoort_key =cat.prs_kostensoort_key;
AND cat.ins_discipline_key = art.res_discipline_key;
v_bestand VARCHAR2(50);
v_base VARCHAR2(10);
@@ -898,12 +897,17 @@ BEGIN
blst.add_xml_element (v_bestand, 'Omschrijving', SUBSTR(rec.oms,0,40));
blst.add_xml_element (v_bestand, 'Wensen', rec.wensen);
SELECT lev.PRS_LEVERANCIER_NR INTO v_LevNr
FROM res_rsv_artikel rar,res_artikel art, res_disc_params dsp, prs_bedrijf lev
WHERE rar.res_rsv_ruimte_key = rec.res_key
AND art.res_artikel_key = rar.res_artikel_key
AND dsp.RES_INS_DISCIPLINE_KEY = art.RES_DISCIPLINE_KEY
AND lev.prs_bedrijf_key = dsp.prs_bedrijf_key FETCH FIRST 1 ROW ONLY;
BEGIN
SELECT lev.PRS_LEVERANCIER_NR INTO v_LevNr
FROM res_rsv_artikel rar,res_artikel art, res_disc_params dsp, prs_bedrijf lev
WHERE rar.res_rsv_ruimte_key = rec.res_key
AND art.res_artikel_key = rar.res_artikel_key
AND dsp.RES_INS_DISCIPLINE_KEY = art.RES_DISCIPLINE_KEY
AND lev.prs_bedrijf_key = dsp.prs_bedrijf_key FETCH FIRST 1 ROW ONLY;
EXCEPTION WHEN NO_DATA_FOUND
THEN
v_levNr :='NB';
END;
blst.add_xml_element (v_bestand, 'LeverancierNr', v_LevNr);
blst.add_xml_element (v_bestand, 'LeverancierType', 'LEV');
@@ -936,7 +940,7 @@ BEGIN
blst.add_xml_element (v_bestand, 'TechnischeKey', 'Technisch materiaal');
blst.add_xml_element (v_bestand, 'Leverancier', v_LevNr);
blst.add_xml_element (v_bestand, 'Artikelsoort', '01');
blst.add_xml_element (v_bestand, 'CatalogusID', rec_art.prs_kostensoort_oms);
blst.add_xml_element (v_bestand, 'CatalogusID', rec_art.catalogusID);
blst.add_xml_element (v_bestand, 'Groep', rec_art.res_artikel_groep);
blst.add_xml_element (v_bestand, 'StartDatum', rec_art.res_rsv_artikel_levering);
blst.add_xml_element (v_bestand, 'EindDatum', rec.datum_tot);
@@ -1016,6 +1020,7 @@ AS
V_today DATE;
v_dummy VARCHAR2(10);
v_count NUMBER;
v_actionCode VARCHAR2(6);
BEGIN
v_SAPID:='';
v_counter :=1;
@@ -1106,17 +1111,24 @@ BEGIN
blst.add_xml_element (v_bestand, 'Regelnummer', v_artCounter);
v_action := 'INS';
blst.add2exportTable(rec.res_key,v_SAPID, v_artCounter,rec_art.artikel_key,rec_art.artikel_nr,rec_art.art_aantal,'INKOOP', v_action);
v_actionCode := '01';
ELSE
blst.add_xml_element (v_bestand, 'Regelnummer', rec_art.exp_regel_nr);
v_action := 'UPD';
blst.add2exportTable(rec.res_key,v_SAPID, rec_art.exp_regel_nr, rec_art.exp_artikel_key,rec_art.artikel_nr,rec_art.art_aantal,'INKOOP', v_action);
IF rec_art.art_aantal=0
THEN
v_actionCode:='03';
ELSE
v_actionCode:='02';
END IF;
END IF;
blst.add_xml_element (v_bestand, 'Aantal',rec_art.art_aantal);
blst.add_xml_element (v_bestand, 'Actie', '02');
blst.add_xml_element (v_bestand, 'Actie', v_actionCode);
blst.add_xml_element (v_bestand, 'ArtikelNr', rec_art.artikel_nr);
blst.add_xml_element (v_bestand, 'Conditiesoort' ,'ZPRM');
@@ -1474,13 +1486,13 @@ AS
v_reskey NUMBER;
v_sapnr_str VARCHAR2(50);
v_res_key NUMBER;
v_regelnr_str VARCHAR2(10);
v_regelnr_str VARCHAR2(50);
v_regelnr NUMBER;
v_actioncode_str VARCHAR2(10);
v_artikelnr_str VARCHAR2(20);
v_aantal_str VARCHAR2(10);
v_actioncode_str VARCHAR2(50);
v_artikelnr_str VARCHAR2(50);
v_aantal_str VARCHAR2(50);
v_aantal NUMBER;
v_prijs_str VARCHAR2(20);
v_prijs_str VARCHAR2(50);
v_prijs NUMBER;
v_leverdatum_str VARCHAR2(50);
v_leverdatum DATE;
@@ -1494,14 +1506,15 @@ AS
BEGIN
header_is_valid :=0;
DELETE FROM blst_imp_sap;
v_aanduiding:='Start inlees process';
COMMIT;
FOR rec in c1
LOOP
BEGIN
v_aanduiding:='Lees regel';
v_newline := rec.fac_imp_file_line;
v_aanduiding := '';
v_aanduiding := 'Lees velden in';
fac.imp_getfield (v_newline, c_delim, v_sapnr_str);
fac.imp_getfield (v_newline, c_delim, v_regelnr_str);
fac.imp_getfield (v_newline, c_delim, v_actioncode_str);
@@ -1510,6 +1523,7 @@ BEGIN
fac.imp_getfield (v_newline, c_delim, v_prijs_str);
fac.imp_getfield (v_newline, c_delim, v_leverdatum_str);
v_aanduiding := 'Valideer Headers';
IF (header_is_valid = 0)
THEN
IF UPPER (TRIM (v_sapnr_str)) = 'SAPNR'
@@ -1523,7 +1537,9 @@ BEGIN
header_is_valid := 1;
END IF;
ELSE
v_aanduiding := v_sapnr_str;
v_aanduiding := 'Converteer res_key voor '||v_sapnr_str;
v_res_key := fac.safe_to_number(SUBSTR(v_sapnr_str,4, LENGTH(v_sapnr_str)));
IF v_res_key > 0
THEN
@@ -1533,23 +1549,28 @@ BEGIN
v_ongeldig :=1;
v_errormsg:='Fout bij converteren SAPNr ['||v_aanduiding||']';
END IF;
v_aanduiding := 'Converteer regelnr voor '||v_sapnr_str;
v_regelnr := fac.safe_to_number(v_regelnr_str);
IF v_regelnr <0
THEN
v_ongeldig :=1;
v_errormsg:='Fout bij converteren regelnr ['||v_aanduiding||']';
END IF;
v_aanduiding := 'Converteer aantal voor '||v_sapnr_str;
v_aantal := fac.safe_to_number(v_aantal_str);
IF v_aantal <0
THEN
v_ongeldig :=1;
v_errormsg:='Fout bij converteren aantal ['||v_aanduiding||']';
END IF;
v_aanduiding := 'Converteer prijs voor '||v_sapnr_str;
v_prijs := fac.safe_to_number(v_prijs_str);
v_aanduiding := 'Converteer leverdatum voor '||v_sapnr_str;
v_leverdatum := fac.safe_to_date(v_leverdatum_str, 'DD-MM-YYYY hh:mm:ss');
IF v_ongeldig=0
THEN
BEGIN
v_aanduiding := 'Insert '||v_sapnr_str;
v_ongeldig :=0; -- WEGGOOIEN
INSERT INTO blst_IMP_SAP(res_key,
regel_nr,
@@ -1581,7 +1602,7 @@ BEGIN
p_import_key,
'E',
v_aanduiding || v_errormsg,
'Fout bij toevoegen regel aan importtabel ykpn_imp_opdr_status_strukton.');
'Fout bij toevoegen regel aan importtabel SAP_IMPORT.');
END;
ELSE
IF (v_ongeldig = 2)
@@ -1641,10 +1662,12 @@ AS
imp.prijs prijs,
imp.leverdatum leverdatum,
COALESCE((SELECT res_rsv_artikel_key FROM blst_exp_sap WHERE res_key=imp.res_key AND artikel_nr=imp.artikel_nr), 0) art_key,
COALESCE((select aantal exp_aantal from blst_exp_sap where res_key=imp.res_key and artikel_Nr(+)=imp.artikel_nr),0) exp_aantal
COALESCE((select aantal exp_aantal from blst_exp_sap where res_key=imp.res_key and artikel_Nr(+)=imp.artikel_nr),0) exp_aantal,
res.res_status_fo_key,
res.res_status_bo_key
FROM blst_imp_sap imp, res_rsv_ruimte res
WHERE res.res_rsv_ruimte_key = imp.res_key
AND res.res_status_bo_key NOT IN (5,6)
AND (res.res_status_fo_key=2 AND (COALESCE(res.res_status_bo_key,0) = 0 OR res.res_status_bo_key=2))
ORDER BY imp.res_key, imp.regel_nr;
v_errormsg VARCHAR (200);