Vue dans oracle : pas affichage dans Compiere

franceerp
2006-07-27
2013-05-02
  • franceerp
    franceerp
    2006-07-27

    Bonjour,
    Je me lance dans la creation de vue dans via sql oracle.
    Je crée ma vue via oracle puis je crée une vue dans compiere : aucun probleme
    Puis je selectionne ma vue Compiere dans une fenêtre. Je crée un menu pour visualiser le contenu de cette fenêtre : les informations ne s'affichent pas.

    Apres de nombreuses recherches, je décide de selectionner tous les champs de la table (au lieu d'en sélectionner que quelques uns) puis je les integre tous dans ma vue sql. Je procede de la meme facon dans compiere : les informations s'affichent correctement.

    Ce probleme n'est pas important si aucun regroupement n'est pratiqué. Cependant, je souhaite afficher la requete suivante :

    "create view test as select
    C_PROJECT_Id, sum(totallines)Total
    from  c_invoice group by c_project_id"

    Apres avoir créer ma vue dans compiere et une fenetre, aucune information n'est retournée

    Y a t'il des informations minimales a selectionner pour que compiere affiche le contenu de ce type de vue (group by, sum ..)

    Merci pour vos idées et conseils

    Thierry
    Merci

     
    • steven
      steven
      2006-07-27

      Il me semble que certains champs sont nécessaire pour la visualisation des données.

      Essaye en incluant AD_Client_ID, AD_Org_ID, isActive, Created, CreatedBy, Updated, UpdatedBy dans ta vue Compiere (et donc Oracle).

      Je ne pense pas qu'il soit nécessaire de les inclure dans ta window.

       
    • franceerp
      franceerp
      2006-07-27

      Merci steven

      Effectivement cela fonctionne en ajoutant les champs que tu m'as listé. Par défaut, les champs created ... ne s'affichent pas dans la window

      Cependant, si il n'y pas d'autres possibilités, il est impossible de faire des group by par exemple sur l'ad_client_id car le group by va prendre les valeures du champs created.

      Faut il inclure du sql dans les colonnes Compiere pour effectuer un group by adapté ou bien faut il coder en Java (si c'est possible)?

      Merci

       
      • steven
        steven
        2006-07-27

        tu ne peux pas faire un max(created), max(...) si tu n'as pas besoin de ces valeurs ?

         
      • Bonjour,
        j'ai créé une vue oracle,et lors d'appel de cette vue sur compiere pour faire une edition d'impression
        j'ai bien les colonnes mes sans données,alors que la vue me retourne bien des données sur oracle
        voici la vue :
        CREATE OR REPLACE VIEW RV_GRAND_LIVRE (AD_CLIENT_ID, AD_ORG_ID, ISACTIVE, CREATED, CREATEDBY,
        UPDATED, UPDATEDBY,GL_CATEGORY_ID,DATEACCT,FACT_ACCT_ID, AMTACCTDR, AMTACCTCR, SOLDE)
        AS
        SELECT f.ad_client_ID as AD_CLIENT_ID,f.ad_org_ID as AD_ORG_ID,f.IsActive AS IsActive, f.Created AS Created, f.CreatedBy AS CreatedBy, f.Updated AS Updated, f.UpdatedBy AS UpdatedBy,j.GL_CATEGORY_ID as GL_CATEGORY_ID,f.DATEACCT as DATEACCT,
        f.FACT_ACCT_ID as FACT_ACCT_ID,f.AMTACCTDR as AMTACCTDR,f.AMTACCTCR as AMTACCTCR,(f.AMTACCTDR - f.AMTACCTCR) as SOLDE
        FROM fact_acct f
        inner join gl_category j on ( j.ad_client_ID = f.ad_client_ID)

        merci de me proposer une solution

         
    • franceerp
      franceerp
      2006-07-28

      Merci Steven,

      Le group by fonctionne bien en faisant des "max".