Bonjour tout le monde,
Je viens vous demander de l'aide. J'ai beaucoup de mal à avancer sur mon travail...
Voilà, je débute complètement en B.O. et on me demande de réaliser un tableau censé être simple.
Il s'agit d'un tableau comptable actualisé au 2e jour ouvré du trimestre en cours. Il peut éventuellement être lancé un autre jour.
Ce tableau doit faire apparaître plusieurs montants à des dates différentes :
- Colonne 1 : ID client
- Colonne 2 : ID compte
- Colonne 3 : Montant A imputé au dernier jour ouvré du trimestre T-1
- Colonne 4 : Montant B imputé au 1er jour ouvré du trimestre T
- Colonne 5 : Montant C imputé au 1er jour ouvré du trimestre T
- Colonne 6 : Montant D imputé au 1er jour ouvré du trimestre T
Ces montants ne font pas tous parti des mêmes Univers.
J'ai donc autant de requêtes que de type Montant.
J'ai 3 Univers :
- Univers X : Gestion client
- Univers Y : Montant A, Montant B
- Univers Z : Montant C, Montant D
Dans chacun de ces Univers, j'ai créé les objets dates :
- 1er jour ouvré du trimestre T
- Dernier jour ouvré du trimestre T-1
à partir d'une "date calendrier"
Dans chacune de mes requêtes, j'indique que la "Date Calendrier" est égal à la "date du Montant". (ex : "Date de calendrier" = "date du montant A")
Mon problème principal est celui ci : je ne parviens pas à faire cohabiter ces 4 montants dans le tableau.
J'ai l'impression d'avoir tout essayé mais mes carences techniques me bloquent énormément.
Par exemple, j'ai essayé dans le tableau :
"[Montant A]Where([Date Montant A]=[Dernier jour ouvré du trimestre T-1]), et HOP! le montant disparaît comme par magie...
Pouvez vous m'aider ? ça fait tellement longtemps que je galère dessus. B.O. me donne l'impression d'être un gros débile...
merci d'avance.
Ps : Voici le SQL de l'objet DERN_JOUR_OUVRE_TRIMPRECEDENT
SELECT C1.DATE_JOUR,MAX(C3.DATE_JOUR) AS DERN_JOUR_OUVRE_TRIMPRECEDENT
FROM
UNIVERSADM.UNIVERS_CALENDRIER C1,
UNIVERSADM.UNIVERS_CALENDRIER C2,
UNIVERSADM.UNIVERS_CALENDRIER C3
WHERE C1.DATE_JOUR = C2.DATE_JOUR
AND C3.DATE_JOUR <= (TRUNC(C2.DATE_JOUR,'Q')-1)
AND C3.DATE_JOUR >= (TRUNC(C2.DATE_JOUR,'Q')-5)
AND C3.TYPE_JOURNEE = 'O'
GROUP BY C1.DATE_JOUR
) CALENDRIER_SUPPLEMENTAIRE
Bien sûr, je n'ai pas écrit moi même le SQL. Trop compliqué pour moi pour le moment @___@
Partager