VGLD#85984: Automatische afsluitdatum instellen in contracten mogelijk?
svn path=/Database/trunk/; revision=67607
This commit is contained in:
@@ -12,6 +12,7 @@ CREATE OR REPLACE PACKAGE cnt AS
|
||||
FUNCTION cnt_getRappeldatum (pcnt_contract_key IN NUMBER) RETURN DATE;
|
||||
FUNCTION cnt_contract_status (van IN DATE, rappel IN DATE, opzeg IN DATE, tot IN DATE) RETURN NUMBER;
|
||||
PROCEDURE autoverleng_contract;
|
||||
PROCEDURE autoinactiveer_contract;
|
||||
|
||||
PROCEDURE splitscontract (p_key IN NUMBER, p_datum IN DATE, p_user IN NUMBER, p_amount NUMBER);
|
||||
PROCEDURE generatefactuurschema (pcontractkey IN NUMBER,ptermijnbedrag IN NUMBER DEFAULT NULL);
|
||||
@@ -277,6 +278,41 @@ CREATE OR REPLACE PACKAGE BODY cnt AS
|
||||
END LOOP;
|
||||
END;
|
||||
|
||||
PROCEDURE autoinactiveer_contract
|
||||
IS
|
||||
l_prs_perslid_key prs_perslid.prs_perslid_key%TYPE;
|
||||
tracking VARCHAR2(4000);
|
||||
|
||||
CURSOR c_inactiveer IS
|
||||
SELECT c.cnt_contract_key
|
||||
FROM cnt_contract c
|
||||
WHERE c.cnt_contract_inactiveren = 1
|
||||
AND TRUNC(c.cnt_contract_looptijd_tot) < TRUNC(SYSDATE);
|
||||
BEGIN
|
||||
BEGIN
|
||||
SELECT prs_perslid_key
|
||||
INTO l_prs_perslid_key
|
||||
FROM prs_perslid
|
||||
WHERE prs_perslid_oslogin = '_SYSTEEM' AND prs_perslid_verwijder IS NULL;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
fac.putsystemnotification ('Invalid configuration: missing _SYSTEEM user', 1);
|
||||
END;
|
||||
|
||||
FOR cnt_inactiveer IN c_inactiveer
|
||||
LOOP
|
||||
cnt.setcontractstatus(cnt_inactiveer.cnt_contract_key, 1, l_prs_perslid_key); -- Zorgt ook voor tracking en daarmee notificatie.
|
||||
|
||||
UPDATE cnt_contract
|
||||
SET cnt_contract_inactiveren = 0
|
||||
WHERE cnt_contract_key = cnt_inactiveer.cnt_contract_key;
|
||||
|
||||
tracking := lcl.l('lcl_cnt_is_cntupd') || CHR(10) || lcl.l('lcl_cnt_auto_close') || ': ' || lcl.l('lcl_Yes') || lcl.l('lcl_trackto') || lcl.l('lcl_No');
|
||||
fac.trackaction('CNTUPD', cnt_inactiveer.cnt_contract_key, NULL, NULL, tracking);
|
||||
END LOOP;
|
||||
END;
|
||||
|
||||
PROCEDURE splitscontract (p_key IN NUMBER, p_datum IN DATE, p_user IN NUMBER, p_amount NUMBER)
|
||||
IS
|
||||
begin1 DATE;
|
||||
|
||||
@@ -116,6 +116,10 @@ CREATE_TABLE(cnt_contract,0)
|
||||
, cnt_contract_looptijd_tot
|
||||
DATE
|
||||
CONSTRAINT cnt_c_cnt_contract_tot CHECK(cnt_contract_looptijd_tot IS NOT NULL)
|
||||
, cnt_contract_inactiveren /* Automatisch sluiten na einddatum (0=nee, 1=ja) */
|
||||
NUMBER(1)
|
||||
DEFAULT 0
|
||||
CONSTRAINT cnt_r_cnt_contract_inactiveren CHECK(cnt_contract_inactiveren IN (0,1))
|
||||
, cnt_contract_kosten
|
||||
NUMBER(11,2)
|
||||
, cnt_contract_termijnkosten
|
||||
|
||||
@@ -3324,6 +3324,7 @@ FAC_LCL('lcl_cnt_prolongation_auto', 'Automatisch', 'Automatic')
|
||||
FAC_LCL('lcl_cnt_prolongation_period', 'Verlengtermijn', 'Prolongation period')
|
||||
FAC_LCL('lcl_cnt_prolongation_tracking', 'Automatische verlenging met {0} tot {1}', 'Automatic prolongation with {0} to {1}.')
|
||||
FAC_LCL('lcl_cnt_date_end', 'Einddatum', 'End Date')
|
||||
FAC_LCL('lcl_cnt_auto_close', 'Automatisch sluiten na einddatum', 'Automatically close after end date')
|
||||
FAC_LCL('lcl_cnt_effecter', 'Contractpartij', 'Contracting party')
|
||||
FAC_LCL('lcl_cnt_company', 'Bedrijf', 'Company')
|
||||
FAC_LCL('lcl_cnt_name', 'Naam', 'Name')
|
||||
|
||||
@@ -207,7 +207,7 @@ ALTER TABLE fac_imp_cnt
|
||||
);
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////// DHLD#86034
|
||||
ALTER TABLE prs_perslid
|
||||
ALTER TABLE prs_perslid
|
||||
MODIFY ( prs_perslid_oslogin VARCHAR2(256)
|
||||
, prs_perslid_oslogin2 VARCHAR2(256)
|
||||
);
|
||||
@@ -225,6 +225,13 @@ DEF_FAC_MESSAGE ('PRS_C_PRS_KENMERK_MAX_C' , 'Nieuwe max.waarde van dit kenmerks
|
||||
DEF_FAC_MESSAGE ('PRS_C_PRS_KENMERK_MAX_P' , 'Nieuwe max.waarde van dit kenmerksoort voldoet niet aan alle personen.' ,'New max.value of this property-type does not satisfy all persons.');
|
||||
DEF_FAC_MESSAGE ('PRS_C_PRS_KENMERK_LENGTE', 'De lengte moet tussen 1 en 50 liggen.','Length must be between 1 and 50.');
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////// VGLD#85984
|
||||
ALTER TABLE cnt_contract
|
||||
ADD cnt_contract_inactiveren /* Automatisch sluiten na einddatum (0=nee, 1=ja) */
|
||||
NUMBER(1)
|
||||
DEFAULT 0
|
||||
CONSTRAINT cnt_r_cnt_contract_inactiveren CHECK(cnt_contract_inactiveren IN (0,1));
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#00000
|
||||
REGISTERONCE('$Id$')
|
||||
|
||||
|
||||
Reference in New Issue
Block a user