-- Once script tbv care. -- -- (c) 2011 SG|facilitor bv -- $Revision$ -- $Id$ -- -- Support: +31 53 4800700 SET ECHO ON SPOOL xcare16_17.lst SET DEFINE OFF CREATE TABLE care_periode (jaar NUMBER(4) NOT NULL, periode NUMBER(2) NOT NULL, week NUMBER(2) NOT NULL, maandag DATE NOT NULL ); CREATE INDEX care_i_periode ON care_periode(jaar, periode, week, maandag); INSERT INTO care_periode (jaar, periode, week, maandag) SELECT TO_CHAR (SYSDATE - 7*(LEVEL-1), 'IYYY') jaar, FLOOR((TO_CHAR (SYSDATE - 7*(LEVEL-1),'IW') - 1) /4) + 1 periode, TO_CHAR (SYSDATE - 7*(LEVEL-1), 'IW') week, TRUNC (SYSDATE - 7*(LEVEL-1), 'IW') startdatum FROM DUAL CONNECT BY LEVEL <= 1*52+1; CREATE TABLE CARE_T_BESCHIKK_X_PERIODETABEL ( JAAR NUMBER(4), PERIODE NUMBER(2), WEEK_VAN NUMBER(2), WEEK_TM NUMBER(2), BSN VARCHAR2(20), PRODUCT VARCHAR2(20), UREN_BESCHIKKING NUMBER (10) ); -- Initialisatie van deze tabel INSERT INTO CARE_T_BESCHIKK_X_PERIODETABEL(JAAR, PERIODE,WEEK_VAN,WEEK_TM,BSN,PRODUCT,UREN_BESCHIKKING) SELECT pw.jaar, pw.periode, MIN(week), MAX(week), b.client_bsn, b.product, SUM(b.uren_beschikking) FROM care_periode pw, care_v_beschikking_all b WHERE pw.maandag >= B.BESCHIKKING_MAANDAG_VAN AND pw.maandag < B.BESCHIKKING_MAANDAG_TOT GROUP BY pw.jaar, pw.periode, b.client_bsn, b.product; UPDATE fac_usrrap SET fac_usrrap_functie=2, FAC_USRRAP_VIEW_NAME = 'care.care_v_rap2_factuur_uren_A' WHERE FAC_USRRAP_VIEW_NAME = 'care_v_rap2_factuur_uren_A'; UPDATE fac_usrrap SET fac_usrrap_functie=2, FAC_USRRAP_VIEW_NAME = 'care.care_v_rap2_factuur_uren_E' WHERE FAC_USRRAP_VIEW_NAME = 'care_v_rap2_factuur_uren_E'; COMMIT; SPOOL OFF START RECAR17.sql;