Bonjour
j'utilise oracle 9i ,J'ai une table periode qui a le structure suivante
periode(PERIOD_COD, PERIOD_LIB,PERIOD_NUM, ANN_COD, DEB_PERIOD, END_PERIOD)
Que j'alimente avec une procedure pl/sql le script est ci-dessous
La periode doit suivre la logique 5-4-4 (semaines) et la premiere periode doit commencer le 1 december.
mon script me permet d'avoir cette logique mais ne me permet pas de commencer tjs la periode de l'année d'après le 1 decembre. du coup je veux faire un pl/sql qui fait ça.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
SELECT
case when mod(rownum-1,12)+1 <10 then
trunc((rownum-1)/12)+ to_number(to_char(date '2007-12-01','YYYY'))||0||cast(mod(rownum-1,12)+1 as varchar(2))
else
 trunc((rownum-1)/12)+ to_number(to_char(date '2007-12-01','YYYY'))||cast(mod(rownum-1,12)+1 as varchar(2))
 end period_COD,
 'P'||cast(mod(rownum-1,12)+1 as varchar(2)) as period_lib,
 mod(rownum-1,12)+1 as PERIOD_NUM,
trunc((rownum-1)/12)+ to_number(to_char(date '2007-12-01','YYYY')) as fiscal_year,
date '2007-12-01' + trunc((rownum+1)*13/3)*7 -56  deb_period,
date '2007-12-01' + trunc((rownum+2)*13/3)*7 -57  end_period,
CURRENT_DATE as date_cre,CURRENT_DATE as date_MAJ
FROM dual
connect BY level<43
merci pour vos réponse