CONN#12340
svn path=/Customer/trunk/; revision=13388
This commit is contained in:
872
CONN/conn.sql
872
CONN/conn.sql
@@ -1,7 +1,7 @@
|
||||
-- Script containing customer specific configuration sql statements for CONN: Connexxion
|
||||
-- (c) 2005-2006 Dijkoraad IT bv
|
||||
-- $Revision: 110 $
|
||||
-- $Modtime: 17-09-07 11:55 $
|
||||
-- $Revision: 111 $
|
||||
-- $Modtime: 5-10-07 14:58 $
|
||||
--
|
||||
-- Support: +31 53 4800700
|
||||
|
||||
@@ -175,6 +175,9 @@ AS
|
||||
--zie onderaan de file
|
||||
|
||||
--CONN#662
|
||||
-- Exporteren van huurcontracten via de knop in het huurmutatiescherm. De geselecteerde mutatie wordt in de tabel
|
||||
-- CONN_EXP_CONTRACTMUTATIE geschreven. Hierna volgt de dagelijkse export die de regels daadwerkelijk in het exportbestand
|
||||
-- plaatst.
|
||||
CREATE OR REPLACE PROCEDURE CONN_EXPORT_HUURMUTATIE (
|
||||
p_MutatieKey IN NUMBER,
|
||||
p_LogLevel IN NUMBER)
|
||||
@@ -1068,15 +1071,6 @@ where p.prs_perslid_key = kl.PRS_LINK_KEY
|
||||
and kl.PRS_KENMERK_KEY = 1001
|
||||
and a.prs_kostenplaats_key is null;
|
||||
|
||||
CREATE OR REPLACE VIEW CONN_V_ONTVANGEN_HUURCONTR
|
||||
(FCLT_F_Xelioncontractnummer, Xelionsubcontractnummer,
|
||||
FCLT_F_mutatienummer, navisioncontractvolgnummer, FCLT_F_huurder, budgetcode, FCLT_F_complex, vhe_contractnummer, contractsoort,
|
||||
ingangsdatum, einddatum, totaalbedrag, invoerdatum, tarieftype, aantal, prijs, cnt_contract_key)
|
||||
as
|
||||
select Xelioncontractnummer, Xelionsubcontractnummer,
|
||||
mutatienummer, navisioncontractvolgnummer, huurder, budgetcode, complex, vhe_contractnummer, contractsoort,
|
||||
ingangsdatum, einddatum, totaalbedrag, invoerdatum, tarieftype, aantal, prijs, cnt_contract_key from conn_ontv_mutatie;
|
||||
|
||||
|
||||
CREATE OR REPLACE VIEW conn_v_huurcontract_details (fclt_f_locatie,
|
||||
fclt_f_naam,
|
||||
@@ -2463,290 +2457,327 @@ END;
|
||||
|
||||
|
||||
|
||||
CREATE OR REPLACE procedure CONN_IMPORT_NAV_HUURCONTRACTEN (
|
||||
p_ApplName in VARCHAR2,
|
||||
p_ApplRun in VARCHAR2,
|
||||
p_FileDir in VARCHAR2,
|
||||
p_FileName IN VARCHAR2) AS
|
||||
--v_FileHandle UTL_FILE.FILE_TYPE;
|
||||
--v_NewLine VARCHAR2(1000); -- Input line
|
||||
--v_Field VARCHAR2(100);
|
||||
--v_FieldDelimitor VARCHAR2(1);
|
||||
--v_ErrorMsg VARCHAR(200);
|
||||
--v_Date DATE;
|
||||
--v_Number NUMBER(9,2);
|
||||
--v_Contract NUMBER(10);
|
||||
--ORACLE_err_num NUMBER;
|
||||
--ORACLE_err_mes VARCHAR2(100);
|
||||
--v_XelionContractnummer VARCHAR2(100);
|
||||
--v_XelionSubcontractnummer VARCHAR2(100);
|
||||
--v_Mutatienummer VARCHAR2(100);
|
||||
--v_NavisionContractvolgnummer VARCHAR2(100);
|
||||
--v_Huurder VARCHAR2(100);
|
||||
--v_Companyname VARCHAR2(100);
|
||||
--v_Budgetcode VARCHAR2(100);
|
||||
--v_Complex VARCHAR2(100);
|
||||
--v_VHE_Contractnummer VARCHAR2(100);
|
||||
--v_Contractsoort VARCHAR2(100);
|
||||
--v_Ingangsdatum VARCHAR2(100);
|
||||
--v_Einddatum VARCHAR2(100);
|
||||
--v_TotaalBedrag VARCHAR2(100);
|
||||
--v_Invoerdatum VARCHAR2(100);
|
||||
CREATE OR REPLACE PROCEDURE CONN_IMPORT_CONTRACTMUTATIE (
|
||||
p_applname IN VARCHAR2,
|
||||
p_applrun IN VARCHAR2,
|
||||
p_filedir IN VARCHAR2,
|
||||
p_filename IN VARCHAR2
|
||||
)
|
||||
AS
|
||||
v_newline FAC_IMP_FILE.fac_imp_file_line%TYPE; -- Input line
|
||||
v_field VARCHAR2 (100);
|
||||
v_fielddelimitor VARCHAR2 (1);
|
||||
v_errormsg VARCHAR (200);
|
||||
v_hint VARCHAR (200);
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
|
||||
-- De velden op de eerste regel
|
||||
v_bedrijfsnummer VARCHAR2(30);
|
||||
v_mutatienummer VARCHAR2(20);
|
||||
v_complexnummer VARCHAR2(20);
|
||||
v_eenheidsnummer VARCHAR2(83);
|
||||
v_huurdernummer VARCHAR2(20);
|
||||
v_budgetcode VARCHAR2(20);
|
||||
v_ingangsdatum VARCHAR2(20);
|
||||
v_indexeringsdatum VARCHAR2(20);
|
||||
v_brutohuur VARCHAR2(20);
|
||||
v_invoerdatum VARCHAR2(20);
|
||||
v_gebeurtenis VARCHAR2(20);
|
||||
v_tarieftype VARCHAR2(10);
|
||||
v_ruimtesoort VARCHAR2(10);
|
||||
v_aantal VARCHAR2(20);
|
||||
v_tarief VARCHAR2(20);
|
||||
v_totaal VARCHAR2(20);
|
||||
v_aantalregels VARCHAR2(20);
|
||||
|
||||
CURSOR c_cm
|
||||
IS
|
||||
SELECT *
|
||||
FROM FAC_IMP_FILE
|
||||
WHERE fac_imp_file_applicatie = p_applname
|
||||
ORDER BY FAC_IMP_FILE_INDEX;
|
||||
|
||||
v_rec c_cm%ROWTYPE;
|
||||
|
||||
BEGIN
|
||||
-- v_FieldDelimitor := ';';
|
||||
-- v_FileHandle := UTL_FILE.FOPEN (p_FileDir, p_FileName, 'r');
|
||||
-- DELETE FROM IMP_LOG WHERE IMP_LOG_APPLICATIE = p_ApplName;
|
||||
-- DELETE FROM CONN_IMP_NAV_HUURCONTRACTEN;
|
||||
-- LOOP
|
||||
-- BEGIN
|
||||
-- UTL_FILE.GET_LINE(v_FileHandle, v_NewLine);
|
||||
-- EXCEPTION
|
||||
-- WHEN NO_DATA_FOUND THEN
|
||||
-- UTL_FILE.FCLOSE(v_FileHandle);
|
||||
-- -- EOF reached
|
||||
-- EXIT;
|
||||
-- WHEN OTHERS THEN
|
||||
-- ORACLE_err_num := SQLCODE;
|
||||
-- ORACLE_err_mes := SUBSTR(SQLERRM, 1, 100);
|
||||
-- v_ErrorMsg := '(ORACLE error number = <' || ORACLE_err_num || '> ORACLE error message = <' || ORACLE_err_mes || '>)';
|
||||
-- INSERT INTO IMP_LOG (IMP_LOG_APPLICATIE,IMP_LOG_RUN, IMP_LOG_DATUM, IMP_LOG_STATUS, IMP_LOG_OMSCHRIJVING, IMP_LOG_HINT)
|
||||
-- values
|
||||
-- (p_ApplName, p_ApplRun, sysdate, 'E', v_ErrorMsg, 'Onbekend');
|
||||
-- END;
|
||||
-- BEGIN
|
||||
-- v_ErrorMsg := 'Inlezen velden met scheidingstekens';
|
||||
-- getField(v_newLine, v_FieldDelimitor,v_XelionContractnummer);
|
||||
-- getField(v_newLine, v_FieldDelimitor,v_XelionSubcontractnummer);
|
||||
-- getField(v_newLine, v_FieldDelimitor,v_Mutatienummer);
|
||||
-- getField(v_newLine, v_FieldDelimitor,v_NavisionContractvolgnummer);
|
||||
-- getField(v_newLine, v_FieldDelimitor,v_Huurder);
|
||||
-- getField(v_newLine, v_FieldDelimitor,v_Companyname);
|
||||
-- getField(v_newLine, v_FieldDelimitor,v_Budgetcode);
|
||||
-- getField(v_newLine, v_FieldDelimitor,v_Complex);
|
||||
-- getField(v_newLine, v_FieldDelimitor,v_VHE_Contractnummer);
|
||||
-- getField(v_newLine, v_FieldDelimitor,v_Contractsoort);
|
||||
-- getField(v_newLine, v_FieldDelimitor,v_Ingangsdatum);
|
||||
-- getField(v_newLine, v_FieldDelimitor,v_Einddatum);
|
||||
-- getField(v_newLine, v_FieldDelimitor,v_TotaalBedrag);
|
||||
-- getField(v_newLine, v_FieldDelimitor,v_Invoerdatum);
|
||||
-- v_ErrorMsg := 'Controle op datumvelden (xelion: '||v_XelionContractnummer||')';
|
||||
-- v_date := to_date (v_Ingangsdatum, 'yyyymmdd');
|
||||
-- v_date := to_date (v_Einddatum, 'yyyymmdd');
|
||||
-- v_ErrorMsg := 'Controle op getallen (xelion: '||v_XelionContractnummer||')';
|
||||
-- v_number := to_number (v_TotaalBedrag, '999999999.99');
|
||||
-- v_contract := conn_get_contract_key(v_Complex, v_Huurder, v_Budgetcode);
|
||||
-- v_ErrorMsg := 'Invoegen contract (xelion: '||v_XelionContractnummer||')';
|
||||
-- IF v_contract IS NOT NULL THEN
|
||||
-- INSERT INTO conn_imp_nav_huurcontracten
|
||||
-- ( XelionContractnummer
|
||||
-- ,XelionSubcontractnummer
|
||||
-- ,Mutatienummer
|
||||
-- ,NavisionContractvolgnummer
|
||||
-- ,Huurder
|
||||
-- ,Companyname
|
||||
-- ,Budgetcode
|
||||
-- ,Complex
|
||||
-- ,VHE_Contractnummer
|
||||
-- ,Contractsoort
|
||||
-- ,Ingangsdatum
|
||||
-- ,Einddatum
|
||||
-- ,TotaalBedrag
|
||||
-- ,Invoerdatum
|
||||
-- ) VALUES
|
||||
-- ( substr(v_XelionContractnummer,1,25)
|
||||
-- ,substr(v_XelionSubcontractnummer,1,4)
|
||||
-- ,substr(v_Mutatienummer,1,20)
|
||||
-- ,substr(v_NavisionContractvolgnummer,1,100)
|
||||
-- ,substr(v_Huurder,1,20)
|
||||
-- ,substr(v_Companyname,1,50)
|
||||
-- ,substr(v_Budgetcode,1,20)
|
||||
-- ,substr(v_Complex,1,4)
|
||||
-- ,substr(v_VHE_Contractnummer,1,50)
|
||||
-- ,substr(v_Contractsoort,1,50)
|
||||
-- ,substr(v_Ingangsdatum,1,10)
|
||||
-- ,substr(v_Einddatum,1,10)
|
||||
-- ,substr(v_TotaalBedrag,1,12)
|
||||
-- ,substr(v_Invoerdatum,1,10)
|
||||
-- );
|
||||
-- ELSE
|
||||
-- INSERT INTO IMP_LOG (IMP_LOG_APPLICATIE,IMP_LOG_RUN, IMP_LOG_DATUM, IMP_LOG_STATUS, IMP_LOG_OMSCHRIJVING, IMP_LOG_HINT)
|
||||
-- values
|
||||
-- (p_ApplName, p_ApplRun, sysdate, 'E', 'Kan contract niet vinden', 'Check huurdernr:'|| v_Huurder ||' en budgetcode: '|| v_Budgetcode);
|
||||
-- END IF;
|
||||
-- EXCEPTION
|
||||
-- WHEN OTHERS THEN
|
||||
-- INSERT INTO IMP_LOG (IMP_LOG_APPLICATIE,IMP_LOG_RUN, IMP_LOG_DATUM, IMP_LOG_STATUS, IMP_LOG_OMSCHRIJVING, IMP_LOG_HINT)
|
||||
-- values
|
||||
-- (p_ApplName, p_ApplRun, sysdate, 'E', v_ErrorMsg, 'Onbekend');
|
||||
-- END;
|
||||
COMMIT;
|
||||
-- END LOOP;
|
||||
-- EXCEPTION
|
||||
-- WHEN UTL_FILE.INVALID_OPERATION THEN
|
||||
-- UTL_FILE.FCLOSE(v_FileHandle);
|
||||
-- ORACLE_err_num := SQLCODE;
|
||||
-- ORACLE_err_mes := SUBSTR(SQLERRM, 1, 100);
|
||||
-- v_ErrorMsg := 'UTL_FILE.INVALID_OPERATION (ORACLE error number = <' || ORACLE_err_num || '> ORACLE error message = <' || ORACLE_err_mes || '>)';
|
||||
-- INSERT INTO IMP_LOG (IMP_LOG_APPLICATIE,IMP_LOG_RUN, IMP_LOG_DATUM, IMP_LOG_STATUS, IMP_LOG_OMSCHRIJVING, IMP_LOG_HINT)
|
||||
-- values
|
||||
-- (p_ApplName, p_ApplRun, sysdate, 'E', v_ErrorMsg, 'Controleer bestandsnaam van importbestand');
|
||||
-- WHEN UTL_FILE.INVALID_FILEHANDLE THEN
|
||||
-- UTL_FILE.FCLOSE(v_FileHandle);
|
||||
-- ORACLE_err_num := SQLCODE;
|
||||
-- ORACLE_err_mes := SUBSTR(SQLERRM, 1, 100);
|
||||
-- v_ErrorMsg := 'UTL_FILE.INVALID_FILEHANDLE (ORACLE error number = <' || ORACLE_err_num || '> ORACLE error message = <' || ORACLE_err_mes || '>)';
|
||||
-- INSERT INTO IMP_LOG (IMP_LOG_APPLICATIE,IMP_LOG_RUN, IMP_LOG_DATUM, IMP_LOG_STATUS, IMP_LOG_OMSCHRIJVING, IMP_LOG_HINT)
|
||||
-- values
|
||||
-- (p_ApplName, p_ApplRun, sysdate, 'E', v_ErrorMsg, 'Onbekend');
|
||||
-- WHEN UTL_FILE.INVALID_PATH THEN
|
||||
-- UTL_FILE.FCLOSE(v_FileHandle);
|
||||
-- ORACLE_err_num := SQLCODE;
|
||||
-- ORACLE_err_mes := SUBSTR(SQLERRM, 1, 100);
|
||||
-- v_ErrorMsg := 'UTL_FILE.INVALID_PATH (ORACLE error number = <' || ORACLE_err_num || '> ORACLE error message = <' || ORACLE_err_mes || '>)';
|
||||
-- INSERT INTO IMP_LOG (IMP_LOG_APPLICATIE,IMP_LOG_RUN, IMP_LOG_DATUM, IMP_LOG_STATUS, IMP_LOG_OMSCHRIJVING, IMP_LOG_HINT)
|
||||
-- values
|
||||
-- (p_ApplName, p_ApplRun, sysdate, 'E', v_ErrorMsg, 'Controleer directory van importbestand (init.ora bevat utl_file_dir setting om te beschrijven welke directories te gebruiken zijn');
|
||||
-- WHEN UTL_FILE.READ_ERROR THEN
|
||||
-- UTL_FILE.FCLOSE(v_FileHandle);
|
||||
-- ORACLE_err_num := SQLCODE;
|
||||
-- ORACLE_err_mes := SUBSTR(SQLERRM, 1, 100);
|
||||
-- v_ErrorMsg := 'UTL_FILE.READ_ERROR (ORACLE error number = <' || ORACLE_err_num || '> ORACLE error message = <' || ORACLE_err_mes || '>)';
|
||||
-- INSERT INTO IMP_LOG (IMP_LOG_APPLICATIE,IMP_LOG_RUN, IMP_LOG_DATUM, IMP_LOG_STATUS, IMP_LOG_OMSCHRIJVING, IMP_LOG_HINT)
|
||||
-- values
|
||||
-- (p_ApplName, p_ApplRun, sysdate, 'E', v_ErrorMsg, 'Onbekend');
|
||||
-- WHEN OTHERS THEN
|
||||
-- UTL_FILE.FCLOSE(v_FileHandle);
|
||||
-- ORACLE_err_num := SQLCODE;
|
||||
-- ORACLE_err_mes := SUBSTR(SQLERRM, 1, 100);
|
||||
-- v_ErrorMsg := 'OTHERS (ORACLE error number = <' || ORACLE_err_num || '> ORACLE error message = <' || ORACLE_err_mes || '>)';
|
||||
-- INSERT INTO IMP_LOG (IMP_LOG_APPLICATIE,IMP_LOG_RUN, IMP_LOG_DATUM, IMP_LOG_STATUS, IMP_LOG_OMSCHRIJVING, IMP_LOG_HINT)
|
||||
-- values
|
||||
-- (p_ApplName, p_ApplRun, sysdate, 'E', v_ErrorMsg, 'Onbekend');
|
||||
END;
|
||||
/
|
||||
--
|
||||
--
|
||||
--
|
||||
CREATE OR REPLACE procedure CONN_IMPORT_NAV_HUURTARIEVEN (
|
||||
p_ApplName in VARCHAR2,
|
||||
p_ApplRun in VARCHAR2,
|
||||
p_FileDir in VARCHAR2,
|
||||
p_FileName IN VARCHAR2) AS
|
||||
--v_FileHandle UTL_FILE.FILE_TYPE;
|
||||
--v_NewLine VARCHAR2(1000); -- Input line
|
||||
--v_Field VARCHAR2(100);
|
||||
--v_FieldDelimitor VARCHAR2(1);
|
||||
--v_ErrorMsg VARCHAR(200);
|
||||
--ORACLE_err_num NUMBER;
|
||||
--ORACLE_err_mes VARCHAR2(200);
|
||||
--v_Companyname VARCHAR2(100);
|
||||
--v_XelionContractnummer VARCHAR2(100);
|
||||
--v_XelionSubcontractnummer VARCHAR2(100);
|
||||
--v_Mutatienummer VARCHAR2(100);
|
||||
--v_Tarieftype VARCHAR2(100);
|
||||
--v_Aantal VARCHAR2(100);
|
||||
--v_Prijs VARCHAR2(100);
|
||||
BEGIN
|
||||
-- v_FieldDelimitor := ';';
|
||||
-- v_FileHandle := UTL_FILE.FOPEN (p_FileDir, p_FileName, 'r');
|
||||
-- DELETE FROM IMP_LOG WHERE IMP_LOG_APPLICATIE = p_ApplName;
|
||||
-- DELETE FROM CONN_IMP_NAV_HUURTARIEVEN;
|
||||
-- LOOP
|
||||
-- BEGIN
|
||||
-- UTL_FILE.GET_LINE(v_FileHandle, v_NewLine);
|
||||
-- EXCEPTION
|
||||
-- WHEN NO_DATA_FOUND THEN
|
||||
-- UTL_FILE.FCLOSE(v_FileHandle);
|
||||
-- -- EOF reached
|
||||
-- EXIT;
|
||||
-- WHEN OTHERS THEN
|
||||
-- ORACLE_err_num := SQLCODE;
|
||||
-- ORACLE_err_mes := SUBSTR(SQLERRM, 1, 100);
|
||||
-- v_ErrorMsg := '(ORACLE error number = <' || ORACLE_err_num || '> ORACLE error message = <' || ORACLE_err_mes || '>)';
|
||||
-- INSERT INTO IMP_LOG (IMP_LOG_APPLICATIE,IMP_LOG_RUN, IMP_LOG_DATUM, IMP_LOG_STATUS, IMP_LOG_OMSCHRIJVING, IMP_LOG_HINT)
|
||||
-- values
|
||||
-- (p_ApplName, p_ApplRun, sysdate, 'E', v_ErrorMsg, 'Onbekend');
|
||||
-- END;
|
||||
-- getField(v_newLine, v_FieldDelimitor,v_Companyname);
|
||||
-- getField(v_newLine, v_FieldDelimitor,v_XelionContractnummer);
|
||||
-- getField(v_newLine, v_FieldDelimitor,v_XelionSubcontractnummer);
|
||||
-- getField(v_newLine, v_FieldDelimitor,v_Mutatienummer);
|
||||
-- getField(v_newLine, v_FieldDelimitor,v_Tarieftype);
|
||||
-- getField(v_newLine, v_FieldDelimitor,v_Aantal);
|
||||
-- getField(v_newLine, v_FieldDelimitor,v_Prijs);
|
||||
-- INSERT INTO conn_imp_nav_huurtarieven
|
||||
-- ( Companyname
|
||||
-- ,XelionContractnummer
|
||||
-- ,XelionSubcontractnummer
|
||||
-- ,Mutatienummer
|
||||
-- ,Tarieftype
|
||||
-- ,Aantal
|
||||
-- ,Prijs
|
||||
-- ) VALUES
|
||||
-- ( substr(v_Companyname,1,50)
|
||||
-- ,substr(v_XelionContractnummer,1,25)
|
||||
-- ,substr(v_XelionSubcontractnummer,1,4)
|
||||
-- ,substr(v_Mutatienummer,1,20)
|
||||
-- ,substr(v_Tarieftype,1,20)
|
||||
-- ,substr(v_Aantal,1,20)
|
||||
-- ,substr(v_Prijs,1,20)
|
||||
-- );
|
||||
COMMIT;
|
||||
-- END LOOP;
|
||||
-- EXCEPTION
|
||||
-- WHEN UTL_FILE.INVALID_OPERATION THEN
|
||||
-- UTL_FILE.FCLOSE(v_FileHandle);
|
||||
-- ORACLE_err_num := SQLCODE;
|
||||
-- ORACLE_err_mes := SUBSTR(SQLERRM, 1, 100);
|
||||
-- v_ErrorMsg := 'UTL_FILE.INVALID_OPERATION (ORACLE error number = <' || ORACLE_err_num || '> ORACLE error message = <' || ORACLE_err_mes || '>)';
|
||||
-- INSERT INTO IMP_LOG (IMP_LOG_APPLICATIE,IMP_LOG_RUN, IMP_LOG_DATUM, IMP_LOG_STATUS, IMP_LOG_OMSCHRIJVING, IMP_LOG_HINT)
|
||||
-- values
|
||||
-- (p_ApplName, p_ApplRun, sysdate, 'E', v_ErrorMsg, 'Controleer bestandsnaam van importbestand');
|
||||
-- WHEN UTL_FILE.INVALID_FILEHANDLE THEN
|
||||
-- UTL_FILE.FCLOSE(v_FileHandle);
|
||||
-- ORACLE_err_num := SQLCODE;
|
||||
-- ORACLE_err_mes := SUBSTR(SQLERRM, 1, 100);
|
||||
-- v_ErrorMsg := 'UTL_FILE.INVALID_FILEHANDLE (ORACLE error number = <' || ORACLE_err_num || '> ORACLE error message = <' || ORACLE_err_mes || '>)';
|
||||
-- INSERT INTO IMP_LOG (IMP_LOG_APPLICATIE,IMP_LOG_RUN, IMP_LOG_DATUM, IMP_LOG_STATUS, IMP_LOG_OMSCHRIJVING, IMP_LOG_HINT)
|
||||
-- values
|
||||
-- (p_ApplName, p_ApplRun, sysdate, 'E', v_ErrorMsg, 'Onbekend');
|
||||
-- WHEN UTL_FILE.INVALID_PATH THEN
|
||||
-- UTL_FILE.FCLOSE(v_FileHandle);
|
||||
-- ORACLE_err_num := SQLCODE;
|
||||
-- ORACLE_err_mes := SUBSTR(SQLERRM, 1, 100);
|
||||
-- v_ErrorMsg := 'UTL_FILE.INVALID_PATH (ORACLE error number = <' || ORACLE_err_num || '> ORACLE error message = <' || ORACLE_err_mes || '>)';
|
||||
-- INSERT INTO IMP_LOG (IMP_LOG_APPLICATIE,IMP_LOG_RUN, IMP_LOG_DATUM, IMP_LOG_STATUS, IMP_LOG_OMSCHRIJVING, IMP_LOG_HINT)
|
||||
-- values
|
||||
-- (p_ApplName, p_ApplRun, sysdate, 'E', v_ErrorMsg, 'Controleer directory van importbestand (init.ora bevat utl_file_dir setting om te beschrijven welke directories te gebruiken zijn');
|
||||
-- WHEN UTL_FILE.READ_ERROR THEN
|
||||
-- UTL_FILE.FCLOSE(v_FileHandle);
|
||||
-- ORACLE_err_num := SQLCODE;
|
||||
-- ORACLE_err_mes := SUBSTR(SQLERRM, 1, 100);
|
||||
-- v_ErrorMsg := 'UTL_FILE.READ_ERROR (ORACLE error number = <' || ORACLE_err_num || '> ORACLE error message = <' || ORACLE_err_mes || '>)';
|
||||
-- INSERT INTO IMP_LOG (IMP_LOG_APPLICATIE,IMP_LOG_RUN, IMP_LOG_DATUM, IMP_LOG_STATUS, IMP_LOG_OMSCHRIJVING, IMP_LOG_HINT)
|
||||
-- values
|
||||
-- (p_ApplName, p_ApplRun, sysdate, 'E', v_ErrorMsg, 'Onbekend');
|
||||
-- WHEN OTHERS THEN
|
||||
-- UTL_FILE.FCLOSE(v_FileHandle);
|
||||
-- ORACLE_err_num := SQLCODE;
|
||||
-- ORACLE_err_mes := SUBSTR(SQLERRM, 1, 100);
|
||||
-- v_ErrorMsg := 'OTHERS (ORACLE error number = <' || ORACLE_err_num || '> ORACLE error message = <' || ORACLE_err_mes || '>)';
|
||||
-- INSERT INTO IMP_LOG (IMP_LOG_APPLICATIE,IMP_LOG_RUN, IMP_LOG_DATUM, IMP_LOG_STATUS, IMP_LOG_OMSCHRIJVING, IMP_LOG_HINT)
|
||||
-- values
|
||||
-- (p_ApplName, p_ApplRun, sysdate, 'E', v_ErrorMsg, 'Onbekend');
|
||||
END;
|
||||
/
|
||||
--
|
||||
-- Init
|
||||
v_fielddelimitor := ';';
|
||||
|
||||
DELETE CONN_IMP_CONTRACTMUTATIE;
|
||||
|
||||
DELETE IMP_LOG
|
||||
WHERE imp_log_applicatie = p_applname
|
||||
AND imp_log_datum < sysdate -7;
|
||||
|
||||
OPEN c_cm;
|
||||
IF c_cm%ISOPEN THEN
|
||||
LOOP
|
||||
BEGIN
|
||||
FETCH c_cm INTO v_rec;
|
||||
EXIT WHEN c_cm%NOTFOUND;
|
||||
|
||||
v_hint := substr('import regel:' || v_rec.fac_imp_file_index || ' inhoud: ' || v_rec.fac_imp_file_line,0,200);
|
||||
v_newline := v_rec.fac_imp_file_line;
|
||||
|
||||
Fac.imp_getfield (v_newline, v_fielddelimitor, v_bedrijfsnummer);
|
||||
Fac.imp_getfield (v_newline, v_fielddelimitor, v_mutatienummer);
|
||||
Fac.imp_getfield (v_newline, v_fielddelimitor, v_complexnummer);
|
||||
Fac.imp_getfield (v_newline, v_fielddelimitor, v_eenheidsnummer);
|
||||
Fac.imp_getfield (v_newline, v_fielddelimitor, v_huurdernummer);
|
||||
Fac.imp_getfield (v_newline, v_fielddelimitor, v_budgetcode);
|
||||
Fac.imp_getfield (v_newline, v_fielddelimitor, v_ingangsdatum);
|
||||
Fac.imp_getfield (v_newline, v_fielddelimitor, v_indexeringsdatum);
|
||||
Fac.imp_getfield (v_newline, v_fielddelimitor, v_brutohuur);
|
||||
Fac.imp_getfield (v_newline, v_fielddelimitor, v_invoerdatum);
|
||||
Fac.imp_getfield (v_newline, v_fielddelimitor, v_gebeurtenis);
|
||||
Fac.imp_getfield (v_newline, v_fielddelimitor, v_tarieftype);
|
||||
Fac.imp_getfield (v_newline, v_fielddelimitor, v_ruimtesoort);
|
||||
Fac.imp_getfield (v_newline, v_fielddelimitor, v_aantal);
|
||||
Fac.imp_getfield (v_newline, v_fielddelimitor, v_tarief);
|
||||
Fac.imp_getfield (v_newline, v_fielddelimitor, v_totaal);
|
||||
Fac.imp_getfield (v_newline, v_fielddelimitor, v_aantalregels);
|
||||
|
||||
|
||||
CREATE OR REPLACE procedure CONN_UPDATE_NAV_HUURCONTRACTEN (
|
||||
p_ApplName in VARCHAR2,
|
||||
p_ApplRun in VARCHAR2) AS
|
||||
BEGIN
|
||||
commit;
|
||||
INSERT INTO CONN_IMP_CONTRACTMUTATIE
|
||||
( bedrijfsnummer
|
||||
, mutatienummer
|
||||
, complexnummer
|
||||
, eenheidsnummer
|
||||
, huurdernummer
|
||||
, budgetcode
|
||||
, ingangsdatum
|
||||
, indexeringsdatum
|
||||
, brutohuur
|
||||
, invoerdatum
|
||||
, gebeurtenis
|
||||
, tarieftype
|
||||
, ruimtesoort
|
||||
, aantal
|
||||
, tarief
|
||||
, totaal
|
||||
, aantalregels
|
||||
)
|
||||
VALUES ( substr(v_bedrijfsnummer,1,30)
|
||||
, substr(v_mutatienummer,1,20)
|
||||
, substr(v_complexnummer,1,20)
|
||||
, substr(v_eenheidsnummer,1,83)
|
||||
, substr(v_huurdernummer,1,20)
|
||||
, substr(v_budgetcode,1,20)
|
||||
, to_date(substr(v_ingangsdatum,1,8),'YYYYMMDD')
|
||||
, to_date(substr(v_indexeringsdatum,1,8),'YYYYMMDD')
|
||||
, to_number(substr(v_brutohuur,1,11))
|
||||
, to_date(substr(v_invoerdatum,1,8),'YYYYMMDD')
|
||||
, substr(v_gebeurtenis,1,20)
|
||||
, substr(v_tarieftype,1,10)
|
||||
, substr(v_ruimtesoort,1,10)
|
||||
, to_number(substr(v_aantal,1,9))
|
||||
, to_number(substr(v_tarief,1,13))
|
||||
, to_number(substr(v_totaal,1,11))
|
||||
, to_number(substr(v_aantalregels,1,6))
|
||||
);
|
||||
|
||||
COMMIT;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||||
v_errormsg :=
|
||||
'OTHERS (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||||
Fac.imp_writelog (p_applname, p_applrun, 'E', v_errormsg, v_hint);
|
||||
END;
|
||||
END LOOP;
|
||||
END IF;
|
||||
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||||
v_errormsg :=
|
||||
'OTHERS (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||||
Fac.imp_writelog (p_applname, p_applrun, 'E', v_errormsg, v_hint);
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
CREATE OR REPLACE PROCEDURE CONN_UPDATE_CONTRACTMUTATIE (
|
||||
p_applname IN VARCHAR2,
|
||||
p_applrun IN VARCHAR2
|
||||
)
|
||||
AS
|
||||
v_newline FAC_IMP_FILE.fac_imp_file_line%TYPE; -- Input line
|
||||
v_field VARCHAR2 (100);
|
||||
v_fielddelimitor VARCHAR2 (1);
|
||||
v_errormsg VARCHAR (200);
|
||||
v_hintmsg VARCHAR (200);
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
|
||||
-- De velden op de eerste regel
|
||||
v_alg_srtruimte_key NUMBER;
|
||||
v_alg_srtruimte_prijs NUMBER;
|
||||
v_exp_totaal NUMBER;
|
||||
v_tot_prijs NUMBER;
|
||||
v_afwijking NUMBER;
|
||||
|
||||
CURSOR c_index
|
||||
IS
|
||||
SELECT *
|
||||
FROM CONN_IMP_CONTRACTMUTATIE
|
||||
WHERE gebeurtenis = 'Index'
|
||||
ORDER BY eenheidsnummer, tarieftype;
|
||||
|
||||
v_rec_index c_index%ROWTYPE;
|
||||
|
||||
CURSOR c_mutatie
|
||||
IS
|
||||
SELECT DISTINCT mutatienummer, brutohuur
|
||||
FROM conn_imp_contractmutatie
|
||||
WHERE gebeurtenis = 'Mutatie';
|
||||
|
||||
v_rec_mutatie c_mutatie%ROWTYPE;
|
||||
|
||||
CURSOR c_mut_index (pMutnummer IN VARCHAR2)
|
||||
IS
|
||||
SELECT *
|
||||
FROM CONN_IMP_CONTRACTMUTATIE
|
||||
WHERE mutatienummer = pMutnummer;
|
||||
|
||||
BEGIN
|
||||
-- Init
|
||||
|
||||
|
||||
OPEN c_index;
|
||||
IF c_index%ISOPEN THEN
|
||||
LOOP
|
||||
BEGIN
|
||||
FETCH c_index INTO v_rec_index;
|
||||
EXIT WHEN c_index%NOTFOUND;
|
||||
|
||||
BEGIN
|
||||
|
||||
v_hintmsg := ' Complex: ' || v_rec_index.complexnummer || 'Tarieftype: ' || v_rec_index.tarieftype || ' Tarief:' || v_rec_index.tarief;
|
||||
SELECT alg_srtruimte_key, alg_srtruimte_prijs
|
||||
INTO v_alg_srtruimte_key, v_alg_srtruimte_prijs
|
||||
FROM alg_srtruimte
|
||||
WHERE alg_srtruimte_upper = v_rec_index.complexnummer || '-' || upper(v_rec_index.tarieftype);
|
||||
|
||||
IF v_rec_index.tarief <> v_alg_srtruimte_prijs THEN
|
||||
|
||||
UPDATE alg_srtruimte
|
||||
SET alg_srtruimte_prijs = v_rec_index.tarief
|
||||
WHERE alg_srtruimte_key = v_alg_srtruimte_key;
|
||||
|
||||
v_errormsg := 'Ind: Tarief aangepast. Tarief:' || v_rec_index.complexnummer || '-' || upper(v_rec_index.tarieftype) || ' Prijs:' || v_rec_index.tarief || ' Oude prijs:' || v_alg_srtruimte_prijs;
|
||||
Fac.imp_writelog (p_applname, p_applrun, 'I', v_errormsg, '');
|
||||
END IF;
|
||||
|
||||
EXCEPTION WHEN NO_DATA_FOUND THEN
|
||||
v_errormsg := 'Ind: Kan tarieftype niet vinden. Tarief:' || v_rec_index.complexnummer || '-' || upper(v_rec_index.tarieftype);
|
||||
Fac.imp_writelog (p_applname, p_applrun, 'E', v_errormsg, '');
|
||||
WHEN OTHERS THEN
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||||
v_errormsg :=
|
||||
'Ind: OTHERS (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||||
Fac.imp_writelog (p_applname, p_applrun, 'E', v_errormsg, v_hintmsg);
|
||||
END;
|
||||
END;
|
||||
END LOOP;
|
||||
COMMIT;
|
||||
END IF;
|
||||
|
||||
OPEN c_mutatie;
|
||||
IF c_index%ISOPEN THEN
|
||||
LOOP
|
||||
BEGIN
|
||||
FETCH c_mutatie INTO v_rec_mutatie;
|
||||
EXIT WHEN c_mutatie%NOTFOUND;
|
||||
BEGIN
|
||||
SELECT max(totaal)
|
||||
INTO v_exp_totaal
|
||||
FROM conn_exp_contractmutatie cec
|
||||
WHERE cec.mutatienummer = v_rec_mutatie.mutatienummer;
|
||||
|
||||
IF v_exp_totaal IS NULL THEN
|
||||
v_errormsg := 'Mut: Kan contractmutatie niet vinden. Mutatie:' || v_rec_mutatie.mutatienummer || ' Huur:' || v_rec_mutatie.brutohuur;
|
||||
Fac.imp_writelog (p_applname, p_applrun, 'E', v_errormsg, '');
|
||||
ELSE
|
||||
--Fac.imp_writelog (p_applname, p_applrun, 'E', 'Else v_exp_totaal: ' || v_exp_totaal, '');
|
||||
IF v_exp_totaal = 0 THEN
|
||||
v_afwijking := 0;
|
||||
ELSE
|
||||
v_afwijking := TRUNC((ABS(v_rec_mutatie.brutohuur - v_exp_totaal)/v_exp_totaal)*100);
|
||||
END IF;
|
||||
IF v_afwijking < 10 THEN
|
||||
-- update tarieftype vanuit ontvangen mutatie
|
||||
FOR v_rec_mut_index IN c_mut_index(v_rec_mutatie.mutatienummer) LOOP
|
||||
BEGIN
|
||||
|
||||
v_hintmsg := ' Complex: ' || v_rec_index.complexnummer || 'Tarieftype: ' || v_rec_index.tarieftype || ' Tarief:' || v_rec_index.tarief;
|
||||
SELECT alg_srtruimte_key, alg_srtruimte_prijs
|
||||
INTO v_alg_srtruimte_key, v_alg_srtruimte_prijs
|
||||
FROM alg_srtruimte
|
||||
WHERE alg_srtruimte_upper = v_rec_index.complexnummer || '-' || upper(v_rec_index.tarieftype);
|
||||
|
||||
IF v_rec_index.tarief <> v_alg_srtruimte_prijs THEN
|
||||
UPDATE alg_srtruimte
|
||||
SET alg_srtruimte_prijs = v_rec_index.tarief
|
||||
WHERE alg_srtruimte_key = v_alg_srtruimte_key;
|
||||
|
||||
v_errormsg := 'Mut: Tarief aangepast. Tarief:' || v_rec_index.complexnummer || '-' || upper(v_rec_index.tarieftype) || ' Prijs:' || v_rec_index.tarief || ' Oude prijs:' || v_alg_srtruimte_prijs;
|
||||
Fac.imp_writelog (p_applname, p_applrun, 'I', v_errormsg, '');
|
||||
END IF;
|
||||
|
||||
EXCEPTION WHEN NO_DATA_FOUND THEN
|
||||
v_errormsg := 'Mut: Kan tarieftype niet vinden. Tarief:' || v_rec_index.complexnummer || '-' || upper(v_rec_index.tarieftype);
|
||||
Fac.imp_writelog (p_applname, p_applrun, 'E', v_errormsg, '');
|
||||
WHEN OTHERS THEN
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||||
v_errormsg :=
|
||||
'OTHERS (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||||
Fac.imp_writelog (p_applname, p_applrun, 'E', v_errormsg, v_hintmsg);
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
-- verwijder records uit de export
|
||||
DELETE CONN_EXP_CONTRACTMUTATIE WHERE mutatienummer = v_rec_mutatie.mutatienummer;
|
||||
-- voor mutatie uit
|
||||
CONN_VERWERK_HUURMUTATIE (p_applname, p_applrun, substr(v_rec_mutatie.MUTATIENUMMER,0,instr(v_rec_mutatie.MUTATIENUMMER, '/')-1));
|
||||
|
||||
v_ErrorMsg := 'Mut: Mutatie verwerkt Mutatie: ' || v_rec_mutatie.mutatienummer || ' afwijking:'|| v_afwijking || '% Facilitor bedrag:'|| v_exp_totaal||' Ontvangen bedrag:' ||v_rec_mutatie.brutohuur ;
|
||||
Fac.imp_writelog (p_applname, p_applrun, 'I', v_errormsg, '');
|
||||
COMMIT;
|
||||
ELSE
|
||||
-- afwijking is te groot
|
||||
v_ErrorMsg := 'Mut: Ontvangen contract mismatch! Mutatie: ' || v_rec_mutatie.mutatienummer || ' afwijking:'|| v_afwijking || '% Facilitor bedrag:'|| v_exp_totaal||' Ontvangen bedrag:' ||v_rec_mutatie.brutohuur ;
|
||||
Fac.imp_writelog (p_applname, p_applrun, 'E', v_errormsg, '');
|
||||
END IF;
|
||||
END IF;
|
||||
END;
|
||||
END;
|
||||
END LOOP;
|
||||
COMMIT;
|
||||
END IF;
|
||||
|
||||
|
||||
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||||
v_errormsg :=
|
||||
'OTHERS (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||||
Fac.imp_writelog (p_applname, p_applrun, 'E', v_errormsg, v_hintmsg);
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
-- Procedure CONN_VERWERK_HUURMUTATIE wordt gebruikt door de procedure CONN_UPDATE_CONTRACTMUTATIE
|
||||
CREATE OR REPLACE procedure CONN_VERWERK_HUURMUTATIE (
|
||||
p_ApplName in VARCHAR2,
|
||||
p_ApplRun in VARCHAR2,
|
||||
@@ -2869,18 +2900,7 @@ BEGIN
|
||||
END IF;
|
||||
CLOSE c2;
|
||||
dbms_output.put_line('na close c2'||TO_CHAR(sysdate,'YYMMDD-HHMISS'));
|
||||
UPDATE CNT_CONTRACT c SET
|
||||
CNT_CONTRACT_NUMMER = (SELECT DISTINCT MAX(COM.XELIONCONTRACTNUMMER) FROM CONN_ONTV_MUTATIE com WHERE c.CNT_CONTRACT_KEY = com.CNT_CONTRACT_KEY)
|
||||
,CNT_CONTRACT_DOCUMENT = (SELECT DISTINCT 'Xelion subcontractnr: ' || COM.XELIONSUBCONTRACTNUMMER ||
|
||||
'Navision contractnr: ' || COM.NAVISIONCONTRACTVOLGNUMMER ||
|
||||
'VHE contractnummer: ' || COM.VHE_CONTRACTNUMMER ||
|
||||
'Navision totaalbedrag: ' || COM.TOTAALBEDRAG FROM CONN_ONTV_MUTATIE com WHERE c.CNT_CONTRACT_KEY = com.CNT_CONTRACT_KEY)
|
||||
,CNT_CONTRACT_LOOPTIJD_VAN = (SELECT DISTINCT TO_DATE(COM.INGANGSDATUM,'YYYYMMDD') FROM CONN_ONTV_MUTATIE com WHERE c.CNT_CONTRACT_KEY = com.CNT_CONTRACT_KEY)
|
||||
,CNT_CONTRACT_LOOPTIJD_TOT = (SELECT DISTINCT TO_DATE(COM.EINDDATUM,'YYYYMMDD') FROM CONN_ONTV_MUTATIE com WHERE c.CNT_CONTRACT_KEY = com.CNT_CONTRACT_KEY)
|
||||
WHERE c.CNT_CONTRACT_KEY IN (SELECT CNT_CONTRACT_KEY FROM CONN_ONTV_MUTATIE WHERE MUTATIENUMMER = p_mut_key);
|
||||
--!!!!!!!!!!!!!!!!!verwijder records uit conn_ontv_mutatie
|
||||
DELETE FROM CONN_ONTV_MUTATIE WHERE MUTATIENUMMER = p_mut_key;
|
||||
dbms_output.put_line('na delete c2'||TO_CHAR(sysdate,'YYMMDD-HHMISS'));
|
||||
|
||||
COMMIT;
|
||||
EXCEPTION WHEN OTHERS THEN
|
||||
dbms_output.put_line('exception'||TO_CHAR(sysdate,'YYMMDD-HHMISS'));
|
||||
@@ -2897,239 +2917,7 @@ END;
|
||||
/
|
||||
|
||||
|
||||
CREATE OR REPLACE procedure CONN_UPDATE_NAV_HUURTARIEVEN (
|
||||
p_ApplName in VARCHAR2,
|
||||
p_ApplRun in VARCHAR2) AS
|
||||
v_ErrorMsg VARCHAR(200);
|
||||
v_LogStatus VARCHAR(1);
|
||||
ORACLE_err_num NUMBER;
|
||||
ORACLE_err_mes VARCHAR2(200);
|
||||
CURSOR c1 IS
|
||||
SELECT *
|
||||
FROM conn_ontv_mutatie
|
||||
ORDER BY MUTATIENUMMER, CNT_CONTRACT_KEY;
|
||||
v_rec c1%rowtype;
|
||||
v_teller integer;
|
||||
v_cur_mutatie VARCHAR2(10);
|
||||
v_mutatie_succes NUMBER(1);
|
||||
cCount number(10);
|
||||
v_srt_key NUMBER(10);
|
||||
v_opp NUMBER(10,2);
|
||||
v_prijs NUMBER(10,2);
|
||||
v_ontv_prijs NUMBER(10,2);
|
||||
v_tot_prijs NUMBER(10,2);
|
||||
v_mut_prijs NUMBER(10,2);
|
||||
v_afwijking NUMBER(10,2);
|
||||
BEGIN
|
||||
-- delete old messages from the log
|
||||
DELETE FROM IMP_LOG WHERE IMP_LOG_APPLICATIE = p_ApplName;
|
||||
|
||||
UPDATE CONN_IMP_NAV_HUURCONTRACTEN SET CNT_CONTRACT_KEY = CONN_GET_CONTRACT_KEY(Complex, Huurder, Budgetcode);
|
||||
-- remove items from CONN_ONTV_MUTATIE table. New received contract
|
||||
-- information will overwrite the current data. This pocess is used
|
||||
-- to correct contracts that where not accepted by Facilitor.
|
||||
DELETE FROM CONN_ONTV_MUTATIE
|
||||
WHERE (XelionContractnummer, Mutatienummer)
|
||||
IN
|
||||
(SELECT XelionContractnummer, Mutatienummer FROM CONN_IMP_NAV_HUURCONTRACTEN);
|
||||
-- add new received records to the CONN_ONTV_MUTATIE table
|
||||
INSERT INTO CONN_ONTV_MUTATIE
|
||||
( XelionContractnummer
|
||||
,XelionSubcontractnummer
|
||||
,Mutatienummer
|
||||
,NavisionContractvolgnummer
|
||||
,Huurder
|
||||
,Companyname
|
||||
,Budgetcode
|
||||
,Complex
|
||||
,VHE_Contractnummer
|
||||
,Contractsoort
|
||||
,Ingangsdatum
|
||||
,Einddatum
|
||||
,TotaalBedrag
|
||||
,Invoerdatum
|
||||
,Tarieftype
|
||||
,Aantal
|
||||
,Prijs
|
||||
,cnt_contract_key
|
||||
)
|
||||
select cim.XelionContractnummer
|
||||
,cim.XelionSubcontractnummer
|
||||
,cim.Mutatienummer
|
||||
,NavisionContractvolgnummer
|
||||
,Huurder
|
||||
,cim.Companyname
|
||||
,Budgetcode
|
||||
,Complex
|
||||
,VHE_Contractnummer
|
||||
,Contractsoort
|
||||
,Ingangsdatum
|
||||
,Einddatum
|
||||
,TotaalBedrag
|
||||
,Invoerdatum
|
||||
,Tarieftype
|
||||
,Aantal
|
||||
,Prijs
|
||||
,cnt_contract_key
|
||||
from conn_imp_nav_huurtarieven cit, conn_imp_nav_huurcontracten cim
|
||||
where cit.XELIONCONTRACTNUMMER = cim.XELIONCONTRACTNUMMER
|
||||
and cim.cnt_contract_key is not null and cim.mutatienummer is not null;
|
||||
-- Log all entries that cannot be found in the contracts.
|
||||
INSERT INTO IMP_LOG (IMP_LOG_APPLICATIE,IMP_LOG_RUN, IMP_LOG_DATUM, IMP_LOG_STATUS, IMP_LOG_OMSCHRIJVING, IMP_LOG_HINT)
|
||||
select p_ApplName,
|
||||
p_ApplRun,
|
||||
sysdate,
|
||||
'E',
|
||||
'Contract niet gevonden, Xelion:' || cim.XelionContractnummer || '/' || cim.XelionSubcontractnummer ||
|
||||
' Mutatie:' || cim.Mutatienummer || ' Huurder/Budget:' || Huurder || '/' || Budgetcode,
|
||||
'Controleer complex, huurder, budgetcode'
|
||||
from conn_imp_nav_huurcontracten cim
|
||||
where cim.cnt_contract_key is null;
|
||||
INSERT INTO IMP_LOG (IMP_LOG_APPLICATIE,IMP_LOG_RUN, IMP_LOG_DATUM, IMP_LOG_STATUS, IMP_LOG_OMSCHRIJVING, IMP_LOG_HINT)
|
||||
select p_ApplName,
|
||||
p_ApplRun,
|
||||
sysdate,
|
||||
'E',
|
||||
'Mutatienummer niet gevonden, Xelion:' || cim.XelionContractnummer || '/' || cim.XelionSubcontractnummer ||
|
||||
' Mutatie:' || cim.Mutatienummer || ' Huurder/Budget:' || Huurder || '/' || Budgetcode,
|
||||
'Controleer complex, huurder, budgetcode'
|
||||
from conn_imp_nav_huurcontracten cim
|
||||
where cim.mutatienummer is null;
|
||||
delete from conn_imp_nav_huurcontracten;
|
||||
delete from conn_imp_nav_huurtarieven;
|
||||
-- start compare
|
||||
v_cur_mutatie := '0';
|
||||
OPEN c1;
|
||||
IF c1%ISOPEN THEN
|
||||
LOOP
|
||||
BEGIN
|
||||
FETCH c1 INTO v_rec;
|
||||
EXIT WHEN c1%NOTFOUND;
|
||||
-- Check whether
|
||||
IF v_cur_mutatie <> v_rec.MUTATIENUMMER THEN
|
||||
-- Check if we are in startup mode
|
||||
IF v_cur_mutatie <> 0 THEN
|
||||
-- Not the first time, so end of a mutation run.
|
||||
-- Calculate the total amount of the contract received
|
||||
SELECT SUM(TOTAALBEDRAG)
|
||||
INTO v_ontv_prijs
|
||||
FROM
|
||||
(SELECT DISTINCT MUTATIENUMMER, XELIONCONTRACTNUMMER, TOTAALBEDRAG
|
||||
FROM CONN_ONTV_MUTATIE
|
||||
WHERE MUTATIENUMMER = v_cur_mutatie);
|
||||
-- Calculate de deviation
|
||||
v_afwijking := TRUNC((ABS(v_ontv_prijs - v_tot_prijs)/v_tot_prijs)*100);
|
||||
-- A match between received data and Facilitor is established when all tarieftypes received
|
||||
-- match the facilitor tarieftypes and square meters AND the total price of the contract is
|
||||
-- within the 10 percent from the Facilitor contract.
|
||||
IF v_mutatie_succes = 1 AND v_afwijking < 10 THEN
|
||||
-- Succesfull match update the status of the mutation to 'OntvangenOK''
|
||||
UPDATE CNT_CONTRACT_ONRGOED SET CNT_MUTATIE_STATUS_KEY = 3 WHERE CNT_MLD_MELDING_KEY = v_cur_mutatie;
|
||||
v_ErrorMsg := 'Ontvangen contract match afwijking: '|| v_afwijking|| '% Facilitor bedrag:'|| v_tot_prijs||' Ontvangen bedrag:' ||v_ontv_prijs;
|
||||
v_LogStatus := 'I';
|
||||
CONN_VERWERK_HUURMUTATIE (p_ApplName,p_ApplRun,v_cur_mutatie);
|
||||
COMMIT;
|
||||
ELSE
|
||||
-- Unsuccesfull match - set the status of the mutation to 'OntvangenNOK'
|
||||
UPDATE CNT_CONTRACT_ONRGOED SET CNT_MUTATIE_STATUS_KEY = 4 WHERE CNT_MLD_MELDING_KEY = v_cur_mutatie;
|
||||
v_ErrorMsg := 'Ontvangen contract mismatch! afwijking:'|| v_afwijking || '% Facilitor bedrag:'|| v_tot_prijs||' Ontvangen bedrag:' ||v_ontv_prijs ||' tarieftype fout(0-fout|1-succes): '|| v_mutatie_succes;
|
||||
v_LogStatus := 'E';
|
||||
COMMIT;
|
||||
END IF;
|
||||
INSERT INTO IMP_LOG (IMP_LOG_APPLICATIE,IMP_LOG_RUN, IMP_LOG_DATUM, IMP_LOG_STATUS, IMP_LOG_OMSCHRIJVING, IMP_LOG_HINT)
|
||||
VALUES
|
||||
(p_ApplName, p_ApplRun, sysdate, v_LogStatus, v_ErrorMsg,'Onbekend');
|
||||
END IF;
|
||||
-- reset loop variables
|
||||
v_mutatie_succes := 1;
|
||||
v_tot_prijs := 0;
|
||||
v_cur_mutatie := v_rec.MUTATIENUMMER;
|
||||
END IF;
|
||||
-- retrieve soort onroerendgoedkey from the Facilitor
|
||||
SELECT SRT_KEY INTO v_srt_key
|
||||
FROM (
|
||||
SELECT ALG_SRTRUIMTE_KEY AS SRT_KEY
|
||||
FROM ALG_SRTRUIMTE
|
||||
WHERE ALG_SRTRUIMTE_OMSCHRIJVING = v_rec.COMPLEX||'-'||v_rec.TARIEFTYPE
|
||||
UNION
|
||||
SELECT ALG_SRTTERREINSECTOR_KEY AS SRT_KEY
|
||||
FROM ALG_SRTTERREINSECTOR W
|
||||
WHERE ALG_SRTTERREINSEC_OMSCHRIJVING = v_rec.COMPLEX||'-'||v_rec.TARIEFTYPE);
|
||||
-- retrieve the square meters and price from the new contract in Facilitor
|
||||
SELECT opp, NVL(sr.ALG_SRTRUIMTE_PRIJS, st.ALG_SRTTERREINSECTOR_PRIJS)
|
||||
INTO v_opp, v_prijs
|
||||
FROM ( SELECT srt_key,
|
||||
SUM(opp) - NVL(SUM(opp_cor),0) AS opp,
|
||||
MAX(prijs) AS prijs
|
||||
FROM ( SELECT cogo.ALG_SRTONRGOED_KEY AS srt_key,
|
||||
cogo.CNT_CONTRACT_ONRGOED_OPP AS opp,
|
||||
SUM(cogm.CNT_CONTRACT_ONRGOED_OPP) AS opp_cor,
|
||||
0 AS prijs
|
||||
FROM CNT_CONTRACT_ONRGOED cogo,
|
||||
CNT_CONTRACT_ONRGOED cogm
|
||||
WHERE cogo.CNT_CONTRACT_ONRGOED_KEY = cogm.CNT_CONTRACT_ONRGOED_KEY_ORG(+)
|
||||
AND cogo.CNT_MLD_MELDING_KEY IS NULL
|
||||
AND cogo.CNT_CONTRACT_KEY = v_rec.CNT_CONTRACT_KEY
|
||||
GROUP BY cogo.CNT_CONTRACT_ONRGOED_KEY, cogo.ALG_SRTONRGOED_KEY, cogo.CNT_CONTRACT_ONRGOED_OPP
|
||||
UNION ALL
|
||||
SELECT cogm.ALG_SRTONRGOED_KEY AS srt_key,
|
||||
cogm.CNT_CONTRACT_ONRGOED_OPP AS opp,
|
||||
0 ,
|
||||
NVL(CNT_SRTRUIMTE_PRIJS,0) AS prijs
|
||||
FROM CNT_CONTRACT_ONRGOED cogm
|
||||
WHERE cogm.CNT_CONTRACT_KEY = v_rec.CNT_CONTRACT_KEY
|
||||
AND cogm.CNT_MLD_MELDING_KEY = v_rec.MUTATIENUMMER
|
||||
)
|
||||
GROUP BY srt_key
|
||||
),
|
||||
ALG_SRTRUIMTE sr,
|
||||
ALG_SRTTERREINSECTOR st
|
||||
WHERE srt_key = sr.ALG_SRTRUIMTE_KEY(+)
|
||||
AND srt_key = st.ALG_SRTTERREINSECTOR_KEY(+)
|
||||
AND srt_key = v_srt_key;
|
||||
IF v_rec.aantal <> v_opp THEN
|
||||
INSERT INTO IMP_LOG (IMP_LOG_APPLICATIE,IMP_LOG_RUN, IMP_LOG_DATUM, IMP_LOG_STATUS, IMP_LOG_OMSCHRIJVING, IMP_LOG_HINT)
|
||||
VALUES
|
||||
(p_ApplName, p_ApplRun, sysdate, 'L', 'Oppervlakte klopt niet, contract:'||v_rec.XelionContractnummer||' tarieftype:'||v_rec.tarieftype||' aantal:'||v_rec.aantal||' verwacht aantal:'||v_opp,'Onbekend');
|
||||
v_mutatie_succes := 0;
|
||||
END IF;
|
||||
v_tot_prijs := v_tot_prijs + v_opp * v_prijs;
|
||||
END;
|
||||
END LOOP;
|
||||
IF v_cur_mutatie <> 0 THEN
|
||||
-- Not the first time, so end of a mutation run.
|
||||
-- Calculate the total amount of the contract received
|
||||
SELECT SUM(TOTAALBEDRAG)
|
||||
INTO v_ontv_prijs
|
||||
FROM ( SELECT DISTINCT MUTATIENUMMER, XELIONCONTRACTNUMMER, TOTAALBEDRAG
|
||||
FROM CONN_ONTV_MUTATIE
|
||||
WHERE MUTATIENUMMER = v_cur_mutatie);
|
||||
-- Calculate de deviation
|
||||
v_afwijking := TRUNC((ABS(v_ontv_prijs - v_tot_prijs)/v_tot_prijs)*100);
|
||||
-- A match between received data and Facilitor is established when all tarieftypes received
|
||||
-- match the facilitor tarieftypes and square meters AND the total price of the contract is
|
||||
-- within the 10 percent from the Facilitor contract.
|
||||
IF v_mutatie_succes = 1 AND v_afwijking < 10 THEN
|
||||
-- Succesfull match update the status of the mutation to 'OntvangenOK''
|
||||
UPDATE CNT_CONTRACT_ONRGOED SET CNT_MUTATIE_STATUS_KEY = 3 WHERE CNT_MLD_MELDING_KEY = v_cur_mutatie;
|
||||
v_ErrorMsg := 'Ontvangen contract match afwijking: '|| v_afwijking|| '% Facilitor bedrag:'|| v_tot_prijs||' Ontvangen bedrag:' ||v_ontv_prijs;
|
||||
v_LogStatus := 'I';
|
||||
CONN_VERWERK_HUURMUTATIE (p_ApplName,p_ApplRun,v_cur_mutatie);
|
||||
ELSE
|
||||
-- Unsuccesfull match - set the status of the mutation to 'OntvangenNOK'
|
||||
UPDATE CNT_CONTRACT_ONRGOED SET CNT_MUTATIE_STATUS_KEY = 4 WHERE CNT_MLD_MELDING_KEY = v_cur_mutatie;
|
||||
v_ErrorMsg := 'Ontvangen contract mismatch! afwijking:'|| v_afwijking || '% Facilitor bedrag:'|| v_tot_prijs||' Ontvangen bedrag:' ||v_ontv_prijs ||' tarieftype fout(0-fout|1-succes): '|| v_mutatie_succes;
|
||||
v_LogStatus := 'E';
|
||||
END IF;
|
||||
INSERT INTO IMP_LOG (IMP_LOG_APPLICATIE,IMP_LOG_RUN, IMP_LOG_DATUM, IMP_LOG_STATUS, IMP_LOG_OMSCHRIJVING, IMP_LOG_HINT)
|
||||
VALUES
|
||||
(p_ApplName, p_ApplRun, sysdate, v_LogStatus, v_ErrorMsg,'Onbekend');
|
||||
END IF;
|
||||
END IF;
|
||||
CLOSE c1;
|
||||
COMMIT;
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE VIEW CONN_V_BAD_PERMAN_IMPORT
|
||||
(NAAM, NUMMER, AFD_CODE, AFDELING, REGIO,
|
||||
@@ -4760,7 +4548,6 @@ CREATE OR REPLACE PROCEDURE conn_import_factuur (
|
||||
p_filename IN VARCHAR2
|
||||
)
|
||||
AS
|
||||
v_filehandle UTL_FILE.file_type;
|
||||
v_newline fac_imp_file.fac_imp_file_line%TYPE; -- Input line
|
||||
v_field VARCHAR2 (100);
|
||||
v_fielddelimitor VARCHAR2 (1);
|
||||
@@ -4817,7 +4604,7 @@ BEGIN
|
||||
FETCH cfactuur INTO v_rec;
|
||||
EXIT WHEN cfactuur%NOTFOUND;
|
||||
|
||||
v_newline := rec1.fac_imp_file_line;
|
||||
v_newline := v_rec.fac_imp_file_line;
|
||||
|
||||
IF (header_is_valid = 0)
|
||||
THEN
|
||||
@@ -4905,7 +4692,6 @@ BEGIN
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
UTL_FILE.fclose (v_filehandle);
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||||
v_errormsg :=
|
||||
@@ -6183,4 +5969,18 @@ EXCEPTION
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE VIEW conn_v_imp_log (fclt_f_applicatie,
|
||||
run,
|
||||
datum,
|
||||
fclt_f_status,
|
||||
omschrijving,
|
||||
hint
|
||||
)
|
||||
AS
|
||||
SELECT imp_log_applicatie, imp_log_run, to_char(imp_log_datum, 'yyyymmdd hh24missxff, imp_log_status,
|
||||
imp_log_omschrijving, imp_log_hint
|
||||
FROM imp_log;
|
||||
|
||||
COMMIT;
|
||||
|
||||
SPOOL OFF
|
||||
|
||||
Reference in New Issue
Block a user