Création de virtual link sur plusieurs niveaux

Bonjour
J’ai quatre entités : product, product initiatives, delivery team et structural unit.
Un product est lié à n Structural unit par associations indirectes :

  • un product est lié à n product initiative
  • une product initiative est gérée par une delivery team
  • une delivery team est liée à une Structural Unit

Notre besoin est d’avoir accès directement à la liste des structural unit associée à partir d’un product. En gros d’avoir un raccourci entre les deux objets.

Actuellement nous créons un VirtualLink en créant un objet field IT4ITProductStructuralUnitVirtLink dans notre objet Product et en paramétrant un lien avec une requête sql dans “Filtre specification” (dans la capture d’écran, la requête est fausse. La vraie requête ferait un select avec des join sur les 4 tables).

Cette méthode fonctionne mais elle ne me semble pas “optimale” et contraire à l’approche de la plateforme de ne pas faire de SQL.

Auriez-vous une autre approche à me conseiller svp ?

Merci d’avance
Amandine

[Platform]
Status=OK
Version=4.0.P24
BuiltOn=2020-02-19 18:56 (revision 154407ecda5b5207d9d265e80b8256320fcc0ffd)
Encoding=UTF-8
EndpointIP=172.17.0.8
EndpointURL=http://f4860704c3f7:8080
TimeZone=Europe/Paris
SystemDate=2020-02-25 17:22:49

Bonjour Amandine,

Pour les liens virtuels, c’est l’approche optimale et conseillée. Il faut juste veiller à faire du SQL-99 compatible si si vous souhaitez rester compatibles avec les différents SGBD supportés par Simplicité.

La philosophie de la plateforme n’est pas de" ne pas faire de SQL" mais de ne pas en faire lorsqu’il existe un mécanisme niveau logique qui répond aussi bien (voire mieux) au besoin = ne pas faire de select/update/insertt/delete en SQL vs la manipulation d’objets métier.

La variabilité des cas possibles concernant les liens virtuels fait qu’exprimer le “chemin” par un fragment SQL est, de loin, la manière la plus naturelle et la efficace. C’est un peu comme le search spec, lui aussi exprimé sous forme de fragment de SQL pour de bonnes raisons.

Ce SQL reste du SQL “encadré” car intégré à un mécanisme standard de la plateforme.

1 Like