Cela n'est probablement pas aussi compliqué que cela devrait l'être, mais Business Objects semble être très, très strict dans la façon dont les types sont utilisés par rapport à SQL Developer. Voici le morceau de la déclaration en question:Problème PL/SQL: pas un mois valide Erreur lors de la sélection via rapport d'objet métier
ship_date between '01' || '-' || w_current_ora_month || '-' || to_char(to_date(w_last_day, 'DD-MON-RR HH:MI:SS AM'), 'yy') and to_char(to_date(w_last_day, 'DD-MON-RR HH:MI:SS AM'))
w_current_ora_month VARCHAR2 (3) est rempli par:
SELECT to_char(sysdate, 'MON')
INTO w_current_ora_month
FROM dual;
w.last_day DATE est remplie via:
SELECT trunc(LAST_DAY('01' || '-' || w_current_ora_month || '-' || to_char(w_year)))
into w_last_day
from dual
Pourquoi suis-je obtenir une erreur Mois non valide lors de l'extraction à partir de Business Objects? J'ai déjà trouvé que les objets Business sont très stricts sur les types, donc je me demande si je fais quelque chose de mal ici. Tout cela fonctionne très bien dans SQL Developer, mais j'ai dû modifier cette instruction encore et encore pour essayer de l'utiliser quand Business Objects l'utilise.
La première moitié concatène les chaînes pour produire '01 -JUL-09 'tandis que la seconde moitié produit '31 -JUL-09' Le type de données est DATE. – jlrolin