Bonjour,
Je suis débutant dans le décisionnel, je suis à la recherche d'un Document sur le traitement des boucles dans BO XI R2.
Je compte sur vous.
Merci
Bonjour,
Je suis débutant dans le décisionnel, je suis à la recherche d'un Document sur le traitement des boucles dans BO XI R2.
Je compte sur vous.
Merci
Bonsoir,
Peux tu nous donner un exemple concret de ce que tu veux faireavec les boucles?
Si tu veux programmer tu peux utiliser du VBA sur le client lourd et du java en client léger.
Heu, tu parles des boucles sous Designer ? Avec les problèmes d'alias et de contexte ?
Oui tout à fait. en fait je veux savoir quand est ce qu'on utilise les alias et les contextes. c'est vair Designer propose les alias et parfois les contextes pour résoudre le problème des boucles, mais il ne faut pas faire confiance à Designer sinon parfois il induit en erreur si on ne fait pas attention. Moi je veux savoir qu'est ce qui fait la différence entre la première solution et la deuxième. Y a t il une documentation pour bien comprendre.
Merci
Bonjour,
Le problème des boucles ,pour moi c'est quand pour une destination on a des chemins différents ,donc BO forcement ne sera pas quel chemin prendre.
Solution :
Contexte :prendre chaque chemin et lui associé un nom, genre (vente,location avec toutes les tables qui vont avec par exemple) , donc en gros c'est une sorte de solution fonctionnelle,Si toutes les conditions sont réuni pour un contexte il prend le chemin spécifié, maintenant si pour une demande il retrouve deux chemins différents il propose à l'utilisateur le contexte (noms des chemins à prendre )
Alias :
c'est plus une solution techniques,la même table avec des noms différents(alias)
l'exemple typique est celui de pays_client( table pays pour le client) et pays_produit(table pays pour le produit),initialement il y avait une seule table pays,la différence est que au niveau jointure sera cette fois entre table client et pays_client, donc au niveau requête pas de problème puisque BO interroge en quelque sorte la table pays_client !
Il y a aussi la solution des raccourcis-jointures ,par exemple tu as 3 tables A,B,C reliées entre elles sous forme de triangle ,ça crée une boucle bien sur, donc tu mets la jointure entre B et C en raccourcis-jointures, ce qui veut dire que cette jointure sera utilisé que dans le cas où il y aura une demande faite sur la table B et C seulement sinon ça va être les autres jointures en passant par A (idéal si tu as une table centrale) , de cette sorte plus de problème de boucle !
je t'invite à te documenter sur la fonction Aggregate_aware() et la gestion des incompatibilité ,voila j'espère que c'était assez simple.
Les racourcis jointures c'est pas vraiment une solution à apporter aux boucles, c'est plutôt le racourcis qui par lui-même crée une boucle auto-résolue (par ailleurs dans 99% des cas ces jointures ne servent à rien, car elles ne sont pas utilisée dès lors que la requête tape sur plus de 2 tables, alors autant supprimer carrément la jointure)
La vrais question est donc de choisir entre la solution alias ou la solution contextes
Les alias peuvent résoudre les petits problèmes d'une table (typiquement une table de libélé) qui a plusieurs utilités (exemple de la table pays qui sert à donner le nom du pays du client, celui du produit... )
Les contextes servent à résoudre les boucles "fonctionelles" (appelée aussi boucle "sémantique" dans la doc officielle) ce que j'appellerait les "vrai" problèmes de boucles.
Boucle fonctionnelle, ça veut dire qu'on a une ambiguïté de chemins pour une même destination. Tous les chemins ont du sens, mais un sens différents. On crée alors un contexte pour chacun de ces sens.
C'est donc deux solution bien différentes pour deux problèmes bien différents
Bonsoir,
J'ai lu les deux réponses précédentes qui ont le mérite d'être claires
et de se compléter
En effet l'utilisation d'alias est bien pratique (et indispensable comme dans l'exemple donné par atb) mais ne résoud en rien les boucles comme l'affirme schkrumble D'ailleurs un univers composé d'une seul table contenant deux champs pays (exemple d'atb) nécessiterait l'emploi d'alias pour ramener de façon indépendante leurs noms sans qu'il n'y ait la moindre boucle à résoudre
Sur le besoin auquel répondent les contextes tu peux lire l'article de basstoonet dans la FAQ :
Pourquoi créer des contextes dans un univers ?
Définir des contextes ne suffit pas
Rien ne me déprime plus (sauf peut être un objet Année en numérique à deux décimales ) que de voir une requête demander à l'utilisateur de choisir parmi les contextes celui qu'il veut utiliser, alors qu'il ne sait même pas à quoi ça correspond (n'ayant jamais vu l'univers et ne lisant pas le SQL couramment )...
Dans plus de 90 % des cas ceci pourrait être éviter par la gestion des incompatibilités d'objets. A ce sujet tu peux lire toujours dans la FAQ :
Comment utiliser l'incompatibilité d'objets ?
La question aborde le sujet par l'approche des tables agrégées (qui induit l'utilisation de cette technique) mais même sans niveaux d'agrégation on peut limiter considérablement l'apparition des messages de contextes aux seuls cas où les objets sont tous issus de deux tables aux extrémités des boucles (sans raccourci-jointure entre elles ).
PS : atb et schkrumble vous pourriez nous ajouter quelques projets de queston réponse dans Contribuez à la FAQ Business Objects
On a pas eu le temps d'y mettre grand chose en Designer pour l'instant ...
Précisez la VERSION !
Un message vous a aidé ? Votez en cliquant sur Pensez au bouton
Tutoriels BO et FAQ BO
"A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!"
Bonsoir et merci pour l'astuce !
Je cherchais pourquoi mon tableau me ramenait toujours le même total... Il fallait juste ajouter une incompatibilité d'objet dans la navigation agrégée, dans Designer.
Bonne soirée.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager