Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Business Objects > Débuter
Débuter Forum d'entraide pour débuter avec Business Object
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/12/2007, 15h35   #1
Nouveau Membre du Club
 
Inscription : février 2007
Messages : 234
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 234
Points : 37
Points : 37
Par défaut [BO XI] Obtenir les données du mois N-1

Salut tous le monde,
voici un nouveau probleme,

je viens de décourvir Business Object et en créant des requêtes voci le code généré automatiquement dérière :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
SELECT
  TO_CHAR(CRM_RECLAMATION.CASE_ID),
  CRM_RECLAMATION.CREATED_DATETIME
FROM
  ( 
  SELECT *
 
FROM CRM_CASE
 
WHERE CASE_TYPE_CD = 'REC'
  )  CRM_RECLAMATION
WHERE
  CRM_RECLAMATION.CREATED_DATETIME  IN  ( '07-12-2007 00:00:00'  )

la question que je me pose es ce du code SQL comme celui d'access fonctionne t il de la meme manière, car je dois personaliser ces requete mais je ne sais pas si syntaximent c'est la meme chose que access.

Pour cette exemple j'aimerais paramétré le mois et prendre le mois systeme mais comment faire car la requete dans mon exemple ma l'aire bien compliquer .

pour info elle liste les reclamation dont la date de cration est le 7/12/2007

voila merci pour votre aide
imsse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2007, 17h14   #2
Membre du Club
 
Avatar de lerico
 
Inscription : avril 2004
Messages : 108
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 108
Points : 48
Points : 48
Bonjour,

Les requêtes SQL de BO sont générees automatiquement lors du choix de tes objets et de tes conditions.

Le SQL ne différe pas trop de celui utilisé dans Access mais tout dépend de ce que tu veux en faire :
Modifier le SQL dans BO ? ou reprendre ce code pour récupérer les réclamations dans une table Access ?

Pour ajouter la date système dans ton SQL, met to_char(sysdate,'DD/MM/RRRR') dans le in.

LeRico
lerico est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/12/2007, 12h03   #3
Nouveau Membre du Club
 
Inscription : février 2007
Messages : 234
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 234
Points : 37
Points : 37
Bonjour,

merci de m'avoir repondu et c'est examtement je souhaite pouvoir modifier et les requetes généré dans BO.

je pense ne pas savoir utiliser corectement les objet BO pour pouvoir faire des requete assez complete, par exemple avec BO je ne sais aps comment faire les GROUP BY donc je voulais le modifier en SQL.

La question que je me pose c'est pouquoi pour une requete simple qui resemblerais a ceci :

Code :
1
2
3
4
5
 
SELECT champ1
FROM TABLE 1
WHERE condition 1
AND condition 2
on a dans BO ceci

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
SELECT
  TO_CHAR(CRM_RECLAMATION.CASE_ID),
  CRM_RECLAMATION.CREATED_DATETIME
FROM
  ( 
  SELECT *
 
FROM CRM_CASE
 
WHERE CASE_TYPE_CD = 'REC'
  )  CRM_RECLAMATION
WHERE
  CRM_RECLAMATION.CREATED_DATETIME  IN  ( '07-12-2007 00:00:00'  )
pouquoi y a til plusieur "select" , plusieur "Where" ...

y a til des tutoriel sur les requete SQL en BO ?

PS : voici ce que j'ai mis pour ma requete

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
SELECT
  TO_CHAR(CRM_RECLAMATION.CASE_ID),
  CRM_RECLAMATION.CREATED_DATETIME
FROM
  ( 
  SELECT *
 
FROM CRM_CASE
 
WHERE CASE_TYPE_CD = 'REC'
  )  CRM_RECLAMATION
WHERE
  CRM_RECLAMATION.CREATED_DATETIME  IN (to_char(sysdate, 'MM' )
C'est pour avoir le mois systeme mais sa ne marche pas
comment faire pour lui dire mois précedent ?



merci
imsse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/12/2007, 18h29   #4
Membre Expert
 
Inscription : juin 2003
Messages : 1 203
Détails du profil
Informations personnelles :
Localisation : Sénégal

Informations forums :
Inscription : juin 2003
Messages : 1 203
Points : 1 413
Points : 1 413
Citation:
C'est pour avoir le mois systeme mais sa ne marche pas
comment faire pour lui dire mois précedent ?
Dans BO il doit bien y avoir une manière de le faire. Utilise l'aide intégré et au pire des cas, une recherche sur le net devrait de conduire à un résultat.

En tout état de cause, le SQL est utilisé à peu près de la même manière bien qu'il existe des différences suivant les outils. Les plusieurs select que tu as ne sont rien d'autre que des sous requêtes qui sont tout aussi valable dans access.

Pour plus d'informations, regarde dans le forum langage sql.
__________________
Amicalement
DMboup est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2007, 14h34   #5
Nouveau Membre du Club
 
Inscription : février 2007
Messages : 234
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 234
Points : 37
Points : 37
je ne trouve aucune information ou tutoriel sur les requetes BO , sur leur construction , leur syntaxe en sql ..

la FAQ sql n'integre pas Business object

jai besoin de votre aide !!!
imsse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2007, 15h09   #6
Membre émérite
 
Avatar de bastoonet
 
Inscription : septembre 2006
Messages : 815
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France

Informations forums :
Inscription : septembre 2006
Messages : 815
Points : 843
Points : 843
Par défaut [BO XI] Obtenir les données du mois n-1

Le SQL généré dans BO est généré en fonction des objets et conditions de ta requete BO.


C'est a dire que chaque objet BO est défini de la façon suivante dans le module designer)
- clause select : matable.id (peut etre plus complexe ex : case, decode, sum..etc)
- clause where : matablea.type = 2 (clause where souvent vide)


Ensuite il y a un modèle definit pour chaque univers BO qui précise comment sont liées les tables : les jointures.

c'est jointures entraineront l'ajout de clauses where dans le SQL généré pour l'utilisation d'un objet de la table !!


Il faut également faire attention au SGBD utilisé, par exemple si tu utilises ORACLE, tu pourra mettre une fonction DECODE() dans la definition du SELECT d'un objet, mais pas si tu utilises une base DB2.


Ta requete générée ressemble à une requete utilisant une sous-requete.
- soit ta requete BO utilise une sous requete
- soit un objet que tu utilises à une définition complexe (clause select ou where générant la sous requete)
- soit tu interroges une vue (qui a donc sa propre définition SQL puisant des données dans une autre table)
__________________
~~ bastoonet ~~

"Team BAB - Spécialistes BO"
bastoonet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2007, 15h26   #7
Nouveau Membre du Club
 
Inscription : février 2007
Messages : 234
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 234
Points : 37
Points : 37
Très bien merci de m'avoir changer de forum je ne savais que celui ci existai !!

pour répondre a la question de la version que jutilise je pense que c'est BO release XI, je ne sais pas si cela indique la version ou pas.

Ensuite le SGBDR qui tourne dérière je n'en ai aucune idé comment puis je le savoir ??

je vous ai fait une copie de linterface ecran que jutilise.


merci bastoonet pour ton explication j'y vois un peu plus clair.
mais comment faire pour personnaliser ces requete ? le mode disigner ne permet pas de faire des requete aussi precise que par exemple la liste des reclamations du mois précedent le mois en cours.

je voulais faire un truc du style

Code :
1
2
3
SELECT champ1
FROM TABLE 1
WHERE date = month syst -1
désoler pour la syntaxe, je ne sais pas le traduire en sql BO
Fichiers attachés
Type de fichier : doc Doc.doc (92,5 Ko, 3 affichages)
imsse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2007, 15h32   #8
Membre émérite
 
Avatar de bastoonet
 
Inscription : septembre 2006
Messages : 815
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France

Informations forums :
Inscription : septembre 2006
Messages : 815
Points : 843
Points : 843
Par défaut [BO XI] Obtenir les données du mois n-1

Le module DESIGNER est le module qui créer les univers que tu utilises dans BO !!

Tu peux donc tout faire avec designer !!

Il doit y avoir un administrateur de BO qui est responsable de l'application et plus précisément des univers que tu utilises.
Il faut donc que tu prennes contact avec lui , il aura plus de réponse que nous. il connait le SGBD, etc, contacte le service informatique...


quand je disais de préciser la version, inutile de joindre un document, il te suffit de modifier le titre de ton premier message en mettant [WebI XI] ou [BO XI]

il faut que tu lise les régles du forum !!!
__________________
~~ bastoonet ~~

"Team BAB - Spécialistes BO"
bastoonet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2007, 15h44   #9
Rédacteur
 
Avatar de Bruno2r
 
Bruno ROMAN-RUIZ
Inscription : décembre 2006
Messages : 2 181
Détails du profil
Informations personnelles :
Nom : Bruno ROMAN-RUIZ
Âge : 57

Informations professionnelles :
Secteur : Santé

Informations forums :
Inscription : décembre 2006
Messages : 2 181
Points : 2 717
Points : 2 717
Citation:
Envoyé par imsse Voir le message
je ne trouve aucune information ou tutoriel sur les requetes BO , sur leur construction , leur syntaxe en sql ..

la FAQ sql n'integre pas Business object

jai besoin de votre aide !!!
Bonjour à tous,
J'ai pas mal de réponses à apporter :
1) Le forum BO va bientôt se doter d'une FAQ que le Team BO BAB (Lisez bastoonet Ayana Bruno2r) vous prépare activement.
Bien entendu nous ne concevons pas de passer les fêtes de Noël sans vous la livrer. Encore un peu de patience...

2) Au sujet du SQL produit par ta requête :
Citation:
SELECT
TO_CHAR(CRM_RECLAMATION.CASE_ID),
CRM_RECLAMATION.CREATED_DATETIME
FROM
(
SELECT *
FROM CRM_CASE
WHERE CASE_TYPE_CD = 'REC'
) CRM_RECLAMATION
WHERE
CRM_RECLAMATION.CREATED_DATETIME IN (to_char(sysdate, 'MM' )
Je peux faire les remarques suivantes :
a) on peut s'étonner de ce sql imbriqué qui peut sembler inutile (vu la simplicité de la requête).
En fait cela s'explique vraisemblablement par le choix que semble avoir fait le Designer d'utiliser une Table dérivée... Tu serais donc en version 6 ou xi ??
Une table dérivée offre les mêmes possibilités qu'une vue Oracle (créer une vue partiel d'une table ou une vue complexe de plusieurs tables mises en jointures).
Ici il s'agit plutôt d'une vue partielle dans la mesure où elle est limitée aux lignes dont le "case_typ_cd est 'REC' mais pourtant d'une complète par l'utilisation du select * qui ramène ... tous les champs de la table.
Cette façon de faire est très discutable (un alias sur la table avec une auto-jointure aurait suffit) mais c'est un autre sujet de discussion.
Toujours est il que
b) Mieux vaut ne pas s'en inspirer :
Essayer de changer la date en date système est peut être une bonne idée mais il ne serait pas sérieux de te conseiller ne mettre UNE date (même system) avec l'opérateur IN quand le = suffit.

Ce qui me fait dire, pour finir que ce sql n'est pas un exemple à suivre et qu'il vaut mieux t'inspirer du tutoriel SQL Oracle qui lui est parfait.
PS : Pendant que je rédigeais, trop longuement et je m'en excuse, mon bastoonet a eu le temps de te répondre et là au moins ... c'est sérieux. bastoo
__________________
Précisez la VERSION ! Règles du forum Business Objects et FAQ BO
"A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!"
Bruno2r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2007, 15h46   #10
Nouveau Membre du Club
 
Inscription : février 2007
Messages : 234
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 234
Points : 37
Points : 37
si j'en suis arrivé a venir poser des question sur ce forum c'est que forcement je n'ai pas reussi a trouver les réponses ailleurs.

si ce n'était que demander au service informatique pour obtenir les reponse sa serais génial mais il n'y a pas de service informatique !!

Quoi quil en soit merci ...
imsse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2007, 15h51   #11
Rédacteur
 
Avatar de Bruno2r
 
Bruno ROMAN-RUIZ
Inscription : décembre 2006
Messages : 2 181
Détails du profil
Informations personnelles :
Nom : Bruno ROMAN-RUIZ
Âge : 57

Informations professionnelles :
Secteur : Santé

Informations forums :
Inscription : décembre 2006
Messages : 2 181
Points : 2 717
Points : 2 717
Surtout ne pas se décourager !
Crois bien que nous sommes quelques uns ici à pouvoir et à vouloir t'aider.
Fais nous part de tes difficultés on répondra ! Promis !

Au sujet de ta requête initiale :
Dans un premier temps laisse tomber le SQL si tu n'y es pas habitué.
Tu dois pouvoir arriver au même résultat avec les objets de ton univers.
Peux tu nous dire le nom des objets que tu as mis dans la requête ?
Je pense qu'il y en a un qui détermine ta date.
On peut t'indiquer comment le remplacer s'il le faut par la date du jour .
__________________
Précisez la VERSION ! Règles du forum Business Objects et FAQ BO
"A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!"
Bruno2r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2007, 15h55   #12
Nouveau Membre du Club
 
Inscription : février 2007
Messages : 234
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 234
Points : 37
Points : 37
merci bruno2R de ta reponse !

D'apres ce que je comprend il est possible de faire du sql oracle dans le requetteur designer BO c'est une bonne nouvelle, je vais terster et si cela marche sa me permettra de faire mes requete sans forcement trouver les astuce avec le designer Bo.

Merci , je teste et je vous tiens au courant !
imsse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2007, 16h00   #13
Membre émérite
 
Avatar de bastoonet
 
Inscription : septembre 2006
Messages : 815
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France

Informations forums :
Inscription : septembre 2006
Messages : 815
Points : 843
Points : 843
Par défaut [BO XI] Obtenir les données du mois n-1

Je pense que pour ton problème de requete, étant donné que tu ne peux accéder à la définition de l'univers, on doit pouvoir contourner le problème de la manière suivante !!


liste des réclamations du mois précédent le mois en cours !!!

Au lieu de faire un requete qui te renvois automatiquement le résultat du mois précédent.

Pourquoi ne pas créer une invite qui spécifie les dates entre lesquelles tu veux travailler, ainsi tu tapes tes dates qui délimitent le mois précédent, et ainsi tu auras le résultat voulu !!!!

(un conseil, commence par maitriser les requetes BO, la mise en forme, filtres, etc avant de retoucher le SQL !!!)
__________________
~~ bastoonet ~~

"Team BAB - Spécialistes BO"
bastoonet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2007, 16h01   #14
Nouveau Membre du Club
 
Inscription : février 2007
Messages : 234
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 234
Points : 37
Points : 37
Justement je suis habituer au SQL beaucoup plus qu'au designer, et comme je n'arrive pas a faire mes requete en designer je voulais comprendre le SQL de BO !!

merci pour votre je suis sur que vous faite de votre possible.

voici ce que jaimerais faire.

j'ai un objet id_reclamation et un objet date_creation.

j'aimeraais tous simplement trouver :
- soit l'astuce sur le designer qui dit : mois m-1
- soit la trnascription SQL qui me permet de selectionner les reclamation du mois précedentn a celui du mois en cours c'est a dire m-1.


en selectionant dans mon designer mon objet id reclamation et date creation et en mettant une condition simple
Citation:
" where date creation = "07/12/2007"
voici la requete généré
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
SELECT
  TO_CHAR(CRM_RECLAMATION.CASE_ID),
  CRM_RECLAMATION.CREATED_DATETIME
FROM
  ( 
  SELECT *
 
FROM CRM_CASE
 
WHERE CASE_TYPE_CD = 'REC'
  )  CRM_RECLAMATION
WHERE
  CRM_RECLAMATION.CREATED_DATETIME  IN  ( '07-12-2007 00:00:00'  )
imsse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2007, 16h05   #15
Nouveau Membre du Club
 
Inscription : février 2007
Messages : 234
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 234
Points : 37
Points : 37
Citation:
bastoonet
par rapport a ta remarque c'est judicieux vu mon niveau !!
mais le probleme c'est que cette requete sera lancer a n'importe quel mois de l'année donc je suis obliger de me baser par raport a la date system et de faire -1
je ne peut pas prédéfinir le mois voulu !
imsse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2007, 16h06   #16
Membre émérite
 
Avatar de bastoonet
 
Inscription : septembre 2006
Messages : 815
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France

Informations forums :
Inscription : septembre 2006
Messages : 815
Points : 843
Points : 843
Par défaut [BO XI] Obtenir les données du mois n-1

Etant donné que dans ton cas le rafraichissement se fait par un "humain pensant" qui connait la date du jour, et donc les 1er et dernier jour du mois précédent...voici le SQL que tu peux taper dans BO....

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
SELECT
  TO_CHAR(CRM_RECLAMATION.CASE_ID),
  CRM_RECLAMATION.CREATED_DATETIME
FROM
  ( 
  SELECT *
 
FROM CRM_CASE
 
WHERE CASE_TYPE_CD = 'REC'
  )  CRM_RECLAMATION
WHERE
  CRM_RECLAMATION.CREATED_DATETIME  > @variable('Date de début du mois précédent ?')
AND
  CRM_RECLAMATION.CREATED_DATETIME < @variable('Date de fin du mois précédent ?')

en effet si tu ne connais même pas les invites BO, tu es vraiment un extreme débutant qui necessite une formation....

bon courage pour ce qu'on te demande !!
__________________
~~ bastoonet ~~

"Team BAB - Spécialistes BO"
bastoonet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2007, 16h11   #17
Inactif
 
Avatar de Aitone
 
Inscription : novembre 2006
Messages : 3 569
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 3 569
Points : 3 291
Points : 3 291
Bonjour,

Je ne peux lire tout ce topic.
Merci de poster en enfilade la version de BO !

Aitone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2007, 16h26   #18
Nouveau Membre du Club
 
Inscription : février 2007
Messages : 234
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 234
Points : 37
Points : 37
Question :

Comment puis je trouver le modèle relationelle des "tables", es ce possible ?
imsse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2007, 16h41   #19
Membre émérite
 
Avatar de bastoonet
 
Inscription : septembre 2006
Messages : 815
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France

Informations forums :
Inscription : septembre 2006
Messages : 815
Points : 843
Points : 843
Par défaut [BO XI] Obtenir les données du mois n-1

si ton problème est résolu, faut le préciser, coche la case "résolu"


pour obtenir le modèle relationnel des tables :
- tu as un modèle dans l'univers BO quand tu l'ouvre avec DESIGNER, mais c'est une couche sémantique par dessus le modèle de la BBD
- sinon tu as la méthode du réverse engeneering (possible avec POWER AMC par exemple...je te laisse chercher) en interrogeant directement la BDD, mais si il n'y a pas de jointures dans la BDD, tu ne verra pas les relations entre les tables. Souvent c'est quasiment le meme modélèe que l'application source...donc si tu peux obtenir le modèle de le BDD de ton application, tu peux trouver celle de la base BO...

...pour tout nouvelle question, merci de faire un nouveau sujet(en précisant le sujet et la version [BO XI])...merci !!
__________________
~~ bastoonet ~~

"Team BAB - Spécialistes BO"
bastoonet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2007, 16h43   #20
Nouveau Membre du Club
 
Inscription : février 2007
Messages : 234
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 234
Points : 37
Points : 37
Merci !
et au passage je suis désolée de ne pas avoir était tres rigoureuse dans lutilisation du forum !
imsse est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h34.


 
 
 
 
Partenaires

Hébergement Web