RWSN#26808 WF vs. automatisch afmelden
svn path=/Customer/trunk/; revision=18194
This commit is contained in:
569
RWSN/rwsn.sql
569
RWSN/rwsn.sql
@@ -8970,7 +8970,7 @@ AS
|
||||
WHERE 1 = 0
|
||||
/
|
||||
|
||||
/* Formatted on 13-3-2013 18:04:24 (QP5 v5.115.810.9015) */
|
||||
/* Formatted on 19-6-2013 16:52:25 (QP5 v5.115.810.9015) */
|
||||
CREATE OR REPLACE PROCEDURE rwsn_export_did_opdr (p_applname IN VARCHAR2,
|
||||
p_applrun IN VARCHAR2,
|
||||
p_filedir IN VARCHAR2,
|
||||
@@ -9091,7 +9091,7 @@ AS
|
||||
1)
|
||||
- 1)
|
||||
opdracht,
|
||||
o.mld_opdr_opmerking_fiat
|
||||
TRIM (o.mld_opdr_opmerking_fiat) mld_opdr_opmerking_fiat
|
||||
FROM mld_melding m,
|
||||
mld_stdmelding std,
|
||||
ins_tab_discipline td,
|
||||
@@ -9742,7 +9742,7 @@ BEGIN
|
||||
AND b.prs_bedrijf_xsl IS NOT NULL
|
||||
AND b.prs_bedrijf_mldorder_adres IS NOT NULL;
|
||||
|
||||
IF v_count = 1
|
||||
IF (v_count = 1)
|
||||
THEN
|
||||
insert_mld_opdr (p_applname, p_applrun, rec.mld_melding_key);
|
||||
v_count_upd := v_count_upd + 1;
|
||||
@@ -9784,8 +9784,7 @@ BEGIN
|
||||
AND b.prs_bedrijf_xsl IS NOT NULL
|
||||
AND b.prs_bedrijf_mldorder_adres IS NOT NULL;
|
||||
|
||||
|
||||
IF v_count = 1
|
||||
IF (v_count = 1)
|
||||
THEN
|
||||
SELECT ud1.fac_usrdata_omschr
|
||||
INTO v_hoofdlocatie
|
||||
@@ -9808,12 +9807,6 @@ BEGIN
|
||||
AND b.prs_bedrijf_xsl IS NOT NULL
|
||||
AND b.prs_bedrijf_mldorder_adres IS NOT NULL;
|
||||
|
||||
v_mld_opmerking :=
|
||||
TO_CHAR (SYSDATE, 'dd-mm-yyyy hh24:mi:ss')
|
||||
|| ' Opdracht "'
|
||||
|| rec.opdracht
|
||||
|| '" goedgekeurd door DBV.';
|
||||
|
||||
v_errormsg := 'Fout bij uitgeven gefiatteerde opdracht.';
|
||||
|
||||
UPDATE mld_opdr
|
||||
@@ -9829,34 +9822,46 @@ BEGIN
|
||||
v_mld_opmerking :=
|
||||
TO_CHAR (SYSDATE, 'dd-mm-yyyy hh24:mi:ss')
|
||||
|| ' Opdracht "'
|
||||
|| rec.opdracht
|
||||
|| SUBSTR (rec.opdracht, 1, 60)
|
||||
|| '" goedgekeurd door DBV.';
|
||||
|
||||
v_mld_opmerking :=
|
||||
TO_CHAR (SYSDATE, 'dd-mm-yyyy hh24:mi:ss')
|
||||
|| ' Opdracht "'
|
||||
|| SUBSTR (rec.opdracht, 1, 60)
|
||||
|| '" aangeboden aan de ICT-servicedesk ['
|
||||
|| v_hoofdlocatie
|
||||
|| '].'
|
||||
|| CHR (13)
|
||||
|| CHR (10)
|
||||
|| v_mld_opmerking;
|
||||
v_count := LENGTH (v_mld_opmerking) + 5; -- Beetje speling qua lengte!
|
||||
|
||||
IF (v_count < 4000)
|
||||
THEN
|
||||
v_mld_opmerking :=
|
||||
v_mld_opmerking
|
||||
|| CHR (13)
|
||||
|| CHR (10)
|
||||
|| SUBSTR (rec.mld_melding_opmerking, 1, (4000 - v_count));
|
||||
END IF;
|
||||
|
||||
UPDATE mld_melding
|
||||
SET mld_melding_opmerking = v_mld_opmerking
|
||||
WHERE mld_melding_key = rec.mld_melding_key;
|
||||
|
||||
BEGIN
|
||||
MLD.updatemeldingstatus (rec.mld_melding_key, 0, 4);
|
||||
END;
|
||||
|
||||
COMMIT;
|
||||
|
||||
v_count_upd := v_count_upd + 1;
|
||||
ELSE
|
||||
v_errormsg := 'Fout bij bijwerken goedkeuring.';
|
||||
|
||||
v_mld_opmerking :=
|
||||
TO_CHAR (SYSDATE, 'dd-mm-yyyy hh24:mi:ss')
|
||||
|| ' Opdracht "'
|
||||
|| SUBSTR (rec.opdracht, 1, 60)
|
||||
|| '" goedgekeurd door DBV.';
|
||||
END IF;
|
||||
|
||||
v_count := LENGTH (v_mld_opmerking) + 5; -- Beetje speling qua lengte!
|
||||
|
||||
UPDATE mld_melding
|
||||
SET mld_melding_opmerking =
|
||||
v_mld_opmerking || CHR (13) || CHR (10)
|
||||
|| SUBSTR (rec.mld_melding_opmerking,
|
||||
1,
|
||||
(4000 - v_count))
|
||||
WHERE mld_melding_key = rec.mld_melding_key;
|
||||
|
||||
BEGIN
|
||||
MLD.updatemeldingstatus (rec.mld_melding_key, 0, 4);
|
||||
END;
|
||||
|
||||
COMMIT;
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
@@ -9894,25 +9899,21 @@ BEGIN
|
||||
|
||||
v_errormsg := 'Fout bij bijwerken afwijzing door DBV.';
|
||||
|
||||
-- Sowieso lengte < 4000!
|
||||
v_mld_opmerking :=
|
||||
TO_CHAR (SYSDATE, 'dd-mm-yyyy hh24:mi:ss')
|
||||
|| ' Opdracht "'
|
||||
|| rec.opdracht
|
||||
|| SUBSTR (rec.opdracht, 1, 60)
|
||||
|| '" afgewezen door DBV, met als reden: '
|
||||
|| rec.mld_opdr_opmerking_fiat;
|
||||
|| SUBSTR (rec.mld_opdr_opmerking_fiat, 1, 1024);
|
||||
v_count := LENGTH (v_mld_opmerking) + 5; -- Beetje speling qua lengte!
|
||||
|
||||
IF (v_count < 4000)
|
||||
THEN
|
||||
v_mld_opmerking :=
|
||||
v_mld_opmerking
|
||||
|| CHR (13)
|
||||
|| CHR (10)
|
||||
|| SUBSTR (rec.mld_melding_opmerking, 1, (4000 - v_count));
|
||||
END IF;
|
||||
|
||||
UPDATE mld_melding
|
||||
SET mld_melding_opmerking = v_mld_opmerking
|
||||
SET mld_melding_opmerking =
|
||||
v_mld_opmerking || CHR (13) || CHR (10)
|
||||
|| SUBSTR (rec.mld_melding_opmerking,
|
||||
1,
|
||||
(4000 - v_count))
|
||||
WHERE mld_melding_key = rec.mld_melding_key;
|
||||
|
||||
COMMIT;
|
||||
@@ -9932,49 +9933,41 @@ BEGIN
|
||||
|| '] ';
|
||||
v_errormsg := 'Fout bij bijwerken laatste actie/melding.';
|
||||
|
||||
-- Sowieso lengte < 4000!
|
||||
v_mld_opmerking :=
|
||||
TO_CHAR (SYSDATE, 'dd-mm-yyyy hh24:mi:ss')
|
||||
|| ' / "'
|
||||
|| rec.opdracht
|
||||
|| SUBSTR (rec.opdracht, 1, 60)
|
||||
|| '" '
|
||||
|| CHR (13)
|
||||
|| CHR (10)
|
||||
|| rec.laatste_actie;
|
||||
|| SUBSTR (rec.laatste_actie, 1, 255);
|
||||
v_count := LENGTH (v_mld_opmerking) + 5; -- Beetje speling qua lengte!
|
||||
|
||||
IF (v_count < 4000)
|
||||
THEN
|
||||
v_mld_opmerking :=
|
||||
v_mld_opmerking
|
||||
|| CHR (13)
|
||||
|| CHR (10)
|
||||
|| SUBSTR (rec.mld_melding_opmerking, 1, (4000 - v_count));
|
||||
END IF;
|
||||
|
||||
UPDATE mld_melding
|
||||
SET mld_melding_opmerking = v_mld_opmerking
|
||||
SET mld_melding_opmerking =
|
||||
v_mld_opmerking || CHR (13) || CHR (10)
|
||||
|| SUBSTR (rec.mld_melding_opmerking,
|
||||
1,
|
||||
(4000 - v_count))
|
||||
WHERE mld_melding_key = rec.mld_melding_key;
|
||||
|
||||
v_errormsg := 'Fout bij bijwerken laatste actie/opdracht.';
|
||||
|
||||
-- Sowieso lengte < 4000!
|
||||
v_mld_opmerking :=
|
||||
TO_CHAR (SYSDATE, 'dd-mm-yyyy hh24:mi:ss')
|
||||
|| CHR (13)
|
||||
|| CHR (10)
|
||||
|| rec.laatste_actie;
|
||||
|| SUBSTR (rec.laatste_actie, 1, 255);
|
||||
v_count := LENGTH (v_mld_opmerking) + 5; -- Beetje speling qua lengte!
|
||||
|
||||
IF (v_count < 4000)
|
||||
THEN
|
||||
v_mld_opmerking :=
|
||||
v_mld_opmerking
|
||||
|| CHR (13)
|
||||
|| CHR (10)
|
||||
|| SUBSTR (rec.mld_opdr_opmerking, 1, (4000 - v_count));
|
||||
END IF;
|
||||
|
||||
UPDATE mld_opdr
|
||||
SET mld_opdr_opmerking = v_mld_opmerking
|
||||
SET mld_opdr_opmerking =
|
||||
v_mld_opmerking
|
||||
|| CHR (13)
|
||||
|| CHR (10)
|
||||
|| SUBSTR (rec.mld_opdr_opmerking, 1, (4000 - v_count))
|
||||
WHERE mld_opdr_key = rec.mld_opdr_key;
|
||||
|
||||
DELETE FROM mld_kenmerkopdr
|
||||
@@ -9994,6 +9987,9 @@ BEGIN
|
||||
BEGIN
|
||||
MLD.setmeldingstatus (rec.mld_melding_key, 5, 4); -- Facilitor
|
||||
|
||||
-- Handle workflow actions for completion.
|
||||
MLD.mld_nextworkflowstep (rec.mld_melding_key, 1); -- 1=Completed
|
||||
|
||||
COMMIT;
|
||||
END;
|
||||
END LOOP;
|
||||
@@ -12450,445 +12446,6 @@ BEGIN
|
||||
END;
|
||||
/
|
||||
|
||||
/* Formatted on 12-5-2011 9:52:00 (QP5 v5.115.810.9015) */
|
||||
CREATE OR REPLACE PROCEDURE rwsn_import_usrdata (p_import_key IN NUMBER)
|
||||
IS
|
||||
c_delim VARCHAR2 (1) := ';';
|
||||
v_newline VARCHAR2 (1000); -- Input line
|
||||
v_errormsg VARCHAR2 (1000);
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
header_is_valid NUMBER;
|
||||
v_count_tot NUMBER (10);
|
||||
v_count_import NUMBER (10);
|
||||
v_ongeldig NUMBER (1);
|
||||
v_aanduiding VARCHAR (200);
|
||||
-- De importvelden:
|
||||
v_fac_usrtab_naam VARCHAR2 (256); -- C16
|
||||
v_fac_usrdata_code VARCHAR2 (256); -- C40
|
||||
v_fac_usrdata_omschr VARCHAR2 (256); -- C60
|
||||
v_fac_usrdata_volgnr VARCHAR2 (256); -- N3
|
||||
v_fac_usrdata_prijs VARCHAR2 (256); -- N8,2
|
||||
v_fac_usrdata_vervaldatum VARCHAR2 (256); -- DATE
|
||||
-- Overig:
|
||||
v_fac_usrdata_volgnr_n NUMBER (3); -- N3
|
||||
v_fac_usrdata_prijs_n NUMBER (8, 2); -- N8,2
|
||||
v_fac_usrdata_vervaldatum_d DATE; -- DATE
|
||||
|
||||
CURSOR c1
|
||||
IS
|
||||
SELECT *
|
||||
FROM fac_imp_file
|
||||
WHERE fac_import_key = p_import_key
|
||||
ORDER BY fac_imp_file_index;
|
||||
BEGIN
|
||||
DELETE FROM rwsn_imp_usrdata;
|
||||
|
||||
v_count_tot := 0;
|
||||
v_count_import := 0;
|
||||
header_is_valid := 0;
|
||||
COMMIT;
|
||||
|
||||
FOR rec1 IN c1
|
||||
LOOP
|
||||
BEGIN
|
||||
v_newline := rec1.fac_imp_file_line;
|
||||
v_errormsg := 'Fout bij opvragen importregel';
|
||||
v_aanduiding := '';
|
||||
v_ongeldig := 0;
|
||||
-- Lees alle veldwaarden
|
||||
fac.imp_getfield (v_newline, c_delim, v_fac_usrtab_naam);
|
||||
fac.imp_getfield (v_newline, c_delim, v_fac_usrdata_code);
|
||||
fac.imp_getfield (v_newline, c_delim, v_fac_usrdata_omschr);
|
||||
fac.imp_getfield (v_newline, c_delim, v_fac_usrdata_volgnr);
|
||||
fac.imp_getfield (v_newline, c_delim, v_fac_usrdata_prijs);
|
||||
fac.imp_getfield (v_newline, c_delim, v_fac_usrdata_vervaldatum);
|
||||
v_aanduiding :=
|
||||
'[' || v_fac_usrtab_naam || '|' || v_fac_usrdata_code || '] ';
|
||||
|
||||
-- Ik controleer of ik een geldige header heb, dat is: in de juiste kolommen
|
||||
-- de juiste kolomkop. Ik controleer daarbij ALLE kolommen!
|
||||
-- Ik negeer alles totdat ik een geldige header ben gepasseerd.
|
||||
IF (header_is_valid = 0)
|
||||
THEN
|
||||
IF UPPER (v_fac_usrtab_naam) = 'TABELNAAM'
|
||||
AND UPPER (v_fac_usrdata_code) = 'WAARDE_CODE'
|
||||
AND UPPER (v_fac_usrdata_omschr) = 'WAARDE_OMS'
|
||||
AND UPPER (v_fac_usrdata_volgnr) = 'VOLGNR'
|
||||
AND UPPER (v_fac_usrdata_prijs) = 'PRIJS'
|
||||
AND UPPER (v_fac_usrdata_vervaldatum) = 'VERVALDATUM'
|
||||
THEN
|
||||
header_is_valid := 1;
|
||||
END IF;
|
||||
ELSE
|
||||
v_count_tot := v_count_tot + 1;
|
||||
-- Controleer alle veldwaarden
|
||||
v_errormsg := 'Tabelnaam ongeldig; ongedefinieerd of te lang';
|
||||
v_fac_usrtab_naam := TRIM (v_fac_usrtab_naam);
|
||||
|
||||
IF v_fac_usrtab_naam IS NULL OR LENGTH (v_fac_usrtab_naam) > 16
|
||||
THEN
|
||||
v_ongeldig := 1;
|
||||
fac.imp_writelog (p_import_key,
|
||||
'W',
|
||||
v_aanduiding || v_errormsg,
|
||||
'Regel wordt overgeslagen!');
|
||||
END IF;
|
||||
|
||||
--
|
||||
v_errormsg := 'Waarde-code ongeldig; ongedefinieerd of te lang';
|
||||
v_fac_usrdata_code := TRIM (v_fac_usrdata_code);
|
||||
|
||||
IF v_fac_usrdata_code IS NULL OR LENGTH (v_fac_usrdata_code) > 40
|
||||
THEN
|
||||
v_ongeldig := 1;
|
||||
fac.imp_writelog (p_import_key,
|
||||
'W',
|
||||
v_aanduiding || v_errormsg,
|
||||
'Regel wordt overgeslagen!');
|
||||
END IF;
|
||||
|
||||
--
|
||||
v_errormsg := 'Waarde-omschrijving te lang';
|
||||
v_fac_usrdata_omschr := TRIM (v_fac_usrdata_omschr);
|
||||
|
||||
IF LENGTH (v_fac_usrdata_omschr) > 60
|
||||
THEN
|
||||
v_fac_usrdata_omschr :=
|
||||
SUBSTR (TRIM (v_fac_usrdata_omschr), 1, 60);
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'W',
|
||||
v_aanduiding || v_errormsg,
|
||||
'Waarde-omschrijving wordt afgebroken tot ['
|
||||
|| v_fac_usrdata_omschr
|
||||
|| ']'
|
||||
);
|
||||
END IF;
|
||||
|
||||
--
|
||||
v_errormsg := 'Volgnummer ongeldig; maximale grootte 999';
|
||||
v_fac_usrdata_volgnr := TRIM (v_fac_usrdata_volgnr);
|
||||
v_fac_usrdata_volgnr_n := NULL;
|
||||
|
||||
IF (v_fac_usrdata_volgnr IS NOT NULL)
|
||||
THEN
|
||||
IF (fac.safe_to_number (v_fac_usrdata_volgnr) IS NULL)
|
||||
THEN
|
||||
v_ongeldig := 1;
|
||||
fac.imp_writelog (p_import_key,
|
||||
'W',
|
||||
v_aanduiding || v_errormsg,
|
||||
'Regel wordt overgeslagen!');
|
||||
ELSE
|
||||
v_fac_usrdata_volgnr_n :=
|
||||
fac.safe_to_number (v_fac_usrdata_volgnr);
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
--
|
||||
v_errormsg := 'Prijs ongeldig; maximale grootte 999999.99';
|
||||
v_fac_usrdata_prijs := TRIM (v_fac_usrdata_prijs);
|
||||
v_fac_usrdata_prijs_n := NULL;
|
||||
|
||||
IF (v_fac_usrdata_prijs IS NOT NULL)
|
||||
THEN
|
||||
IF (fac.safe_to_number (v_fac_usrdata_prijs) IS NULL)
|
||||
THEN
|
||||
v_ongeldig := 1;
|
||||
fac.imp_writelog (p_import_key,
|
||||
'W',
|
||||
v_aanduiding || v_errormsg,
|
||||
'Regel wordt overgeslagen!');
|
||||
ELSE
|
||||
v_fac_usrdata_prijs_n :=
|
||||
fac.safe_to_number (v_fac_usrdata_prijs);
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
--
|
||||
v_errormsg := 'Vervaldatum ongeldig';
|
||||
v_fac_usrdata_vervaldatum := TRIM (v_fac_usrdata_vervaldatum);
|
||||
v_fac_usrdata_vervaldatum_d := NULL;
|
||||
|
||||
IF (v_fac_usrdata_vervaldatum IS NOT NULL)
|
||||
THEN
|
||||
IF (fac.safe_to_date (v_fac_usrdata_vervaldatum, 'dd-mm-yyyy') IS NULL)
|
||||
THEN
|
||||
v_ongeldig := 1;
|
||||
fac.imp_writelog (p_import_key,
|
||||
'W',
|
||||
v_aanduiding || v_errormsg,
|
||||
'Regel wordt overgeslagen!');
|
||||
ELSE
|
||||
v_fac_usrdata_vervaldatum_d :=
|
||||
fac.safe_to_date (v_fac_usrdata_vervaldatum,
|
||||
'dd-mm-yyyy');
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
-- Insert geformatteerde import record
|
||||
IF v_ongeldig = 0
|
||||
THEN
|
||||
BEGIN
|
||||
v_errormsg := 'Fout bij wegschrijven importregel';
|
||||
|
||||
INSERT INTO rwsn_imp_usrdata (fac_usrtab_naam,
|
||||
fac_usrdata_code,
|
||||
fac_usrdata_omschr,
|
||||
fac_usrdata_volgnr,
|
||||
fac_usrdata_prijs,
|
||||
fac_usrdata_vervaldatum)
|
||||
VALUES (v_fac_usrtab_naam,
|
||||
v_fac_usrdata_code,
|
||||
v_fac_usrdata_omschr,
|
||||
v_fac_usrdata_volgnr_n,
|
||||
v_fac_usrdata_prijs_n,
|
||||
v_fac_usrdata_vervaldatum_d);
|
||||
|
||||
v_count_import := v_count_import + 1;
|
||||
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.imp_writelog (p_import_key,
|
||||
'E',
|
||||
v_aanduiding || v_errormsg,
|
||||
'');
|
||||
END;
|
||||
|
||||
COMMIT;
|
||||
END IF;
|
||||
END IF;
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
IF (header_is_valid = 0)
|
||||
THEN
|
||||
fac.imp_writelog (p_import_key,
|
||||
'E',
|
||||
'Ongeldig importbestand',
|
||||
'Geen header of header niet volgens specificatie!');
|
||||
ELSE
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'S',
|
||||
'Eigen tabellen/aantal ingelezen importregels: '
|
||||
|| TO_CHAR (v_count_tot),
|
||||
''
|
||||
);
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'S',
|
||||
'Eigen tabellen/aantal ongeldige niet ingelezen importregels: '
|
||||
|| TO_CHAR (v_count_tot - v_count_import),
|
||||
''
|
||||
);
|
||||
END IF;
|
||||
|
||||
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.imp_writelog (p_import_key,
|
||||
'E',
|
||||
v_aanduiding || v_errormsg,
|
||||
'Inleesproces eigen tabellen afgebroken!');
|
||||
END rwsn_import_usrdata;
|
||||
/
|
||||
|
||||
/* Formatted on 7-3-2011 11:52:52 (QP5 v5.115.810.9015) */
|
||||
CREATE OR REPLACE PROCEDURE rwsn_update_usrdata (p_import_key IN NUMBER)
|
||||
AS
|
||||
-- Cursor loopt over de voorkomende (unieke) tabelnamen.
|
||||
CURSOR c1
|
||||
IS
|
||||
SELECT DISTINCT fac_usrtab_naam FROM rwsn_imp_usrdata;
|
||||
|
||||
v_errormsg VARCHAR2 (1000) := '';
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
|
||||
-- SUBPROC
|
||||
PROCEDURE add_tabel (p_import_key IN NUMBER,
|
||||
p_tabname IN VARCHAR2)
|
||||
AS
|
||||
CURSOR c1
|
||||
IS
|
||||
SELECT fac_usrtab_naam,
|
||||
fac_usrdata_code,
|
||||
fac_usrdata_omschr,
|
||||
fac_usrdata_volgnr,
|
||||
fac_usrdata_prijs,
|
||||
fac_usrdata_vervaldatum
|
||||
FROM rwsn_imp_usrdata
|
||||
WHERE fac_usrtab_naam = p_tabname;
|
||||
|
||||
v_errormsg VARCHAR2 (1000);
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
v_count NUMBER (10);
|
||||
v_count_tot NUMBER (10);
|
||||
v_count_upd NUMBER (10);
|
||||
v_tab_key NUMBER;
|
||||
BEGIN
|
||||
v_count_tot := 0;
|
||||
v_count_upd := 0;
|
||||
|
||||
v_errormsg := 'Fout bij bepalen eigen tabel [' || p_tabname || '] ';
|
||||
|
||||
SELECT COUNT ( * )
|
||||
INTO v_count
|
||||
FROM fac_usrtab
|
||||
WHERE fac_usrtab_naam = p_tabname;
|
||||
|
||||
IF (v_count = 0)
|
||||
THEN
|
||||
v_errormsg := 'Fout bij toevoegen eigen tabel [' || p_tabname || '] ';
|
||||
|
||||
INSERT INTO fac_usrtab (fac_usrtab_naam, fac_usrtab_omschrijving)
|
||||
VALUES (p_tabname, p_tabname)
|
||||
RETURNING fac_usrtab_key INTO v_tab_key;
|
||||
|
||||
COMMIT;
|
||||
ELSE
|
||||
SELECT fac_usrtab_key
|
||||
INTO v_tab_key
|
||||
FROM fac_usrtab
|
||||
WHERE fac_usrtab_naam = p_tabname;
|
||||
END IF;
|
||||
|
||||
FOR rec IN c1
|
||||
LOOP
|
||||
BEGIN
|
||||
v_count_tot := v_count_tot + 1;
|
||||
v_errormsg :=
|
||||
'Fout bij bepalen bestaan waarde-code ['
|
||||
|| rec.fac_usrdata_code
|
||||
|| '] ';
|
||||
|
||||
SELECT COUNT ( * )
|
||||
INTO v_count
|
||||
FROM fac_usrdata
|
||||
WHERE fac_usrtab_key = v_tab_key
|
||||
AND fac_usrdata_code = rec.fac_usrdata_code;
|
||||
|
||||
IF (v_count = 0)
|
||||
THEN
|
||||
v_errormsg :=
|
||||
'Fout bij toevoegen waarde-code ['
|
||||
|| rec.fac_usrdata_code
|
||||
|| '] ';
|
||||
|
||||
INSERT INTO fac_usrdata (fac_usrtab_key,
|
||||
fac_usrdata_code,
|
||||
fac_usrdata_omschr,
|
||||
fac_usrdata_volgnr,
|
||||
fac_usrdata_vervaldatum,
|
||||
fac_usrdata_prijs)
|
||||
VALUES (v_tab_key,
|
||||
rec.fac_usrdata_code,
|
||||
rec.fac_usrdata_omschr,
|
||||
rec.fac_usrdata_volgnr,
|
||||
rec.fac_usrdata_vervaldatum,
|
||||
rec.fac_usrdata_prijs);
|
||||
ELSE
|
||||
v_errormsg :=
|
||||
'Fout bij bijwerken waarde-code ['
|
||||
|| rec.fac_usrdata_code
|
||||
|| '] ';
|
||||
|
||||
UPDATE fac_usrdata
|
||||
SET fac_usrdata_omschr = rec.fac_usrdata_omschr,
|
||||
fac_usrdata_volgnr = rec.fac_usrdata_volgnr,
|
||||
fac_usrdata_vervaldatum = rec.fac_usrdata_vervaldatum,
|
||||
fac_usrdata_prijs = rec.fac_usrdata_prijs
|
||||
WHERE fac_usrtab_key = v_tab_key
|
||||
AND fac_usrdata_code = rec.fac_usrdata_code;
|
||||
END IF;
|
||||
|
||||
COMMIT;
|
||||
|
||||
v_count_upd := v_count_upd + 1;
|
||||
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.imp_writelog (p_import_key,
|
||||
'E',
|
||||
v_errormsg,
|
||||
'');
|
||||
COMMIT;
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'S',
|
||||
p_tabname || ': #ingelezen = ' || TO_CHAR (v_count_tot),
|
||||
''
|
||||
);
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'S',
|
||||
p_tabname || ': #toegevoegd/bijgewerkt = ' || TO_CHAR (v_count_upd),
|
||||
''
|
||||
);
|
||||
COMMIT;
|
||||
END;
|
||||
-- MAIN
|
||||
BEGIN
|
||||
-- Loop door de voorkomende (unieke) tabelnamen en voeg deze toe en/of werk
|
||||
-- deze bij.
|
||||
FOR rec IN c1
|
||||
LOOP
|
||||
BEGIN
|
||||
add_tabel (p_import_key, rec.fac_usrtab_naam);
|
||||
END;
|
||||
END LOOP;
|
||||
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.imp_writelog (p_import_key,
|
||||
'E',
|
||||
v_errormsg,
|
||||
'Importproces eigen tabellen afgebroken!');
|
||||
END rwsn_update_usrdata;
|
||||
/
|
||||
|
||||
/* Formatted on 28-6-2010 11:12:28 (QP5 v5.115.810.9015) */
|
||||
CREATE OR REPLACE PROCEDURE rwsn_import_budgethouders (
|
||||
|
||||
Reference in New Issue
Block a user