PNBR#60122: Cateringbestellingen, importeren SAP bestelnummers tbv catering aanvragen

svn path=/Customer/trunk/; revision=46080
This commit is contained in:
Suzan Wiegerinck
2020-03-04 07:27:28 +00:00
parent 15293dbb51
commit 5a0648ce99

View File

@@ -5744,7 +5744,7 @@ AS
NEXT_RECORD c_cursor%ROWTYPE;
v_newline VARCHAR2 (1000); -- Input line
v_newline VARCHAR2 (1000);
v_field VARCHAR2 (100);
v_fielddelimitor VARCHAR2 (1);
v_errormsg VARCHAR (200);
@@ -5756,11 +5756,14 @@ AS
-- de velden uit het importbestand
v_leverancier VARCHAR2 (100);
v_periode_jaar VARCHAR2 (100);
v_naam VARCHAR2 (100);
v_jaar VARCHAR2 (100);
v_maand VARCHAR2 (100);
v_bestelnummer VARCHAR2 (100);
v_bestelregel VARCHAR2 (100);
v_begrotingspost VARCHAR2 (100);
v_budgethouder VARCHAR2 (100);
v_budgethouder_naam VARCHAR2 (100);
v_budgethouder_key NUMBER (10);
v_bestelnummer_omschr VARCHAR2 (100);
BEGIN
@@ -5777,20 +5780,27 @@ BEGIN
v_newline := NEXT_RECORD.FAC_IMP_FILE_LINE;
fac.imp_getfield (v_newline, v_fielddelimitor, v_leverancier);
fac.imp_getfield (v_newline, v_fielddelimitor, v_periode_jaar);
fac.imp_getfield (v_newline, v_fielddelimitor, v_naam);
fac.imp_getfield (v_newline, v_fielddelimitor, v_jaar);
fac.imp_getfield (v_newline, v_fielddelimitor, v_maand);
fac.imp_getfield (v_newline, v_fielddelimitor, v_bestelnummer);
fac.imp_getfield (v_newline, v_fielddelimitor, v_bestelregel);
fac.imp_getfield (v_newline, v_fielddelimitor, v_begrotingspost);
fac.imp_getfield (v_newline, v_fielddelimitor, v_budgethouder);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_budgethouder_naam);
IF ( header_is_valid = 0
AND UPPER (v_leverancier) = 'LEVERANCIER'
AND UPPER (v_periode_jaar) =
'PERIODE/JAAR AANLEGGEN BESTELLING'
AND UPPER (v_leverancier) = 'LEVERANC.'
AND UPPER (v_naam) = 'NAAM 1'
AND UPPER (v_jaar) = 'JAAR'
AND UPPER (v_maand) = 'MAAND'
AND UPPER (v_bestelnummer) = 'BESTELNUMMER'
AND UPPER (v_bestelregel) = 'BESTELREGEL'
AND UPPER (v_bestelregel) = 'BESTELNUMMER REGEL'
AND UPPER (v_begrotingspost) = 'BEGROTINGSPOST'
AND UPPER (v_budgethouder) = 'BUDGETHOUDER')
AND UPPER (v_budgethouder) = 'BUDG.HOUD'
AND UPPER (v_budgethouder_naam) = 'NAAM BUDGETHOUDER')
THEN
header_is_valid := 1;
ELSE
@@ -5802,11 +5812,7 @@ BEGIN
SELECT prs_perslid_key
INTO v_budgethouder_key
FROM prs_perslid p
WHERE UPPER (
SUBSTR (v_budgethouder,
1,
INSTR (v_budgethouder, '/') - 2)) =
p.prs_perslid_oslogin;
WHERE v_budgethouder = p.prs_perslid_oslogin;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
@@ -5894,15 +5900,52 @@ EXCEPTION
'E',
v_errormsg,
'');
END;
END pnbr_import_bestelnr;
/
CREATE OR REPLACE PROCEDURE pnbr_update_bestelnr (p_import_key IN NUMBER)
IS
AS
v_errormsg VARCHAR (200);
v_errorhint VARCHAR (200);
v_aanduiding VARCHAR (200);
oracle_err_mes VARCHAR (200);
oracle_err_num NUMBER;
CURSOR kpn_del IS
SELECT *
FROM prs_kostenplaats kp
WHERE kp.prs_kostenplaats_module = 'PRJ'
AND UPPER (kp.prs_kostenplaats_omschrijving) LIKE '%SAP%'
AND kp.prs_kostenplaats_upper NOT IN
(SELECT UPPER (imp_kp.prs_kostenplaats_nr)
FROM fac_imp_kpn imp_kp);
BEGIN
fac_update_kpn (p_import_key);
COMMIT;
END;
FOR rec IN kpn_del
LOOP
BEGIN
v_aanduiding := rec.prs_kostenplaats_nr;
v_errorhint := 'Bepalen vervallen kostenplaats';
UPDATE prs_kostenplaats kp
SET kp.prs_kostenplaats_verwijder = SYSDATE
WHERE kp.prs_kostenplaats_key = rec.prs_kostenplaats_key;
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
v_errormsg :=
'error ' || oracle_err_num || '/' || oracle_err_mes;
fac.imp_writelog (p_import_key,
'E',
v_errormsg,
v_errorhint || ' | ' || v_aanduiding);
END;
END LOOP;
END pnbr_update_bestelnr;
/
--- Genereren factuurregels voor catering