Forums, dernières contributions
migration univers +rapport sur XI3.1 (URGENT) EMS
bonjour j'ai migré mes rapports de xir2 qui se trouve dans le serveur A avec l'assistant d'importation de xi3 dans l'environnement de xi3.1 qui se trouve sur un autre serveur B.
Apres la migration, j'ai remarqué que la plupart des rapports ont des données fausses. J'ai remarqué que les requêtes sql sont un peu différente, qu'il ajoute parfois une ligne en trop! c'est pourtant le même moteur. quelqu'un a t'il déjà eu à faire cette expérience? pourriez vous m'expliquez en detail merci? MERCI Phil
Bonjour,
Pourrais tu nous donner un exemple : une requete SQL avant et apres migration vers XiR3 ? Merci EMS
bonjour phil
voilà l'une des requêtes sur xi3.1 j'ai SELECT DISTINCT T_DA_LIG_CREDIT.NOP_LIGCREDIT, T_DA_LIG_CREDIT.ECH_LIGCREDIT, V_DA_LIG_CREDIT_UTI.MUT_LIGCREDIT, V_DA_LIG_CREDIT_AUT.MAU_LIGCREDIT, T_DA_LIG_CREDIT2.ECH_LIGCREDIT, T_UNIFICATION_ENT.VAL_CIBLE, T_UNIFICATION_CON.VAL_CIBLE FROM V_DA_LIG_CREDIT_AUT INNER JOIN T_DA_LIG_CREDIT ON (T_DA_LIG_CREDIT.DAT_DONNEES=V_DA_LIG_CREDIT_AUT.DAT_DONNEES and T_DA_LIG_CREDIT.NOP_LIGCREDIT=V_DA_LIG_CREDIT_AUT.NOP_LIGCREDIT) INNER JOIN V_DA_LIG_CREDIT_UTI ON (T_DA_LIG_CREDIT.DAT_DONNEES=V_DA_LIG_CREDIT_UTI.DAT_DONNEES and T_DA_LIG_CREDIT.NOP_LIGCREDIT=V_DA_LIG_CREDIT_UTI.NOP_LIGCREDIT) INNER JOIN T_DA_LIG_CREDIT T_DA_LIG_CREDIT2 ON (T_DA_LIG_CREDIT.ECH_LIGCREDIT>=T_DA_LIG_CREDIT2.ECH_LIGCREDIT) INNER JOIN T_UNIFICATION T_UNIFICATION_ENT ON (T_UNIFICATION_ENT.CAT_UNIFICATION='ENT' AND T_DA_LIG_CREDIT.DIV_LIGCREDIT=T_UNIFICATION_ENT.VAL_KTP) INNER JOIN T_UNIFICATION T_UNIFICATION_CON ON (T_DA_LIG_CREDIT.CON_LIGCREDIT=T_UNIFICATION_CON.VAL_KTP AND T_UNIFICATION_CON.CAT_UNIFICATION='COE' OR T_UNIFICATION_CON.CAT_UNIFICATION='COI') WHERE ( T_UNIFICATION_ENT.VAL_CIBLE IN @variable('Entité(s) : ?') AND T_DA_LIG_CREDIT2.ECH_LIGCREDIT IN (SELECT T_DA_LIG_CREDIT.ECH_LIGCREDIT FROM V_DA_LIG_CREDIT_AUT INNER JOIN T_DA_LIG_CREDIT ON (T_DA_LIG_CREDIT.DAT_DONNEES=V_DA_LIG_CREDIT_AUT.DAT_DONNEES and T_DA_LIG_CREDIT.NOP_LIGCREDIT=V_DA_LIG_CREDIT_AUT.NOP_LIGCREDIT) INNER JOIN V_DA_LIG_CREDIT_UTI ON (T_DA_LIG_CREDIT.DAT_DONNEES=V_DA_LIG_CREDIT_UTI.DAT_DONNEES and T_DA_LIG_CREDIT.NOP_LIGCREDIT=V_DA_LIG_CREDIT_UTI.NOP_LIGCREDIT) WHERE ( V_DA_LIG_CREDIT_AUT.MAU_LIGCREDIT > V_DA_LIG_CREDIT_UTI.MUT_LIGCREDIT AND T_DA_LIG_CREDIT.DAT_DONNEES = @variable('Date des données : ?') ) ) AND T_DA_LIG_CREDIT.DAT_DONNEES = @variable('Date des données : ?') ) et sur xi2 j'ai REQXIR2 SELECT DISTINCT T_DA_LIG_CREDIT.NOP_LIGCREDIT, T_DA_LIG_CREDIT.ECH_LIGCREDIT, V_DA_LIG_CREDIT_UTI.MUT_LIGCREDIT, V_DA_LIG_CREDIT_AUT.MAU_LIGCREDIT, T_DA_LIG_CREDIT2.ECH_LIGCREDIT, T_UNIFICATION_ENT.VAL_CIBLE, T_UNIFICATION_CON.VAL_CIBLE FROM V_DA_LIG_CREDIT_AUT INNER JOIN T_DA_LIG_CREDIT ON (T_DA_LIG_CREDIT.DAT_DONNEES=V_DA_LIG_CREDIT_AUT.DAT_DONNEES and T_DA_LIG_CREDIT.NOP_LIGCREDIT=V_DA_LIG_CREDIT_AUT.NOP_LIGCREDIT) INNER JOIN V_DA_LIG_CREDIT_UTI ON (T_DA_LIG_CREDIT.DAT_DONNEES=V_DA_LIG_CREDIT_UTI.DAT_DONNEES and T_DA_LIG_CREDIT.NOP_LIGCREDIT=V_DA_LIG_CREDIT_UTI.NOP_LIGCREDIT) INNER JOIN T_DA_LIG_CREDIT T_DA_LIG_CREDIT2 ON (T_DA_LIG_CREDIT.ECH_LIGCREDIT>=T_DA_LIG_CREDIT2.ECH_LIGCREDIT) INNER JOIN T_UNIFICATION T_UNIFICATION_ENT ON (T_DA_LIG_CREDIT.DIV_LIGCREDIT=T_UNIFICATION_ENT.VAL_KTP) INNER JOIN T_UNIFICATION T_UNIFICATION_CON ON (T_DA_LIG_CREDIT.CON_LIGCREDIT=T_UNIFICATION_CON.VAL_KTP) WHERE ( T_UNIFICATION_ENT.CAT_UNIFICATION='ENT' ) AND ( T_UNIFICATION_CON.CAT_UNIFICATION='COE' OR T_UNIFICATION_CON.CAT_UNIFICATION='COI' ) AND ( T_UNIFICATION_ENT.VAL_CIBLE IN @variable('Entité(s) : ?') AND T_DA_LIG_CREDIT2.ECH_LIGCREDIT IN (SELECT T_DA_LIG_CREDIT.ECH_LIGCREDIT FROM V_DA_LIG_CREDIT_AUT INNER JOIN T_DA_LIG_CREDIT ON (T_DA_LIG_CREDIT.DAT_DONNEES=V_DA_LIG_CREDIT_AUT.DAT_DONNEES and T_DA_LIG_CREDIT.NOP_LIGCREDIT=V_DA_LIG_CREDIT_AUT.NOP_LIGCREDIT) INNER JOIN V_DA_LIG_CREDIT_UTI ON (T_DA_LIG_CREDIT.DAT_DONNEES=V_DA_LIG_CREDIT_UTI.DAT_DONNEES and T_DA_LIG_CREDIT.NOP_LIGCREDIT=V_DA_LIG_CREDIT_UTI.NOP_LIGCREDIT) WHERE ( V_DA_LIG_CREDIT_AUT.MAU_LIGCREDIT > V_DA_LIG_CREDIT_UTI.MUT_LIGCREDIT AND T_DA_LIG_CREDIT.DAT_DONNEES = @variable('Date des données : ?') ) ) AND T_DA_LIG_CREDIT.DAT_DONNEES = @variable('Date des données : ?') ) EMS
quand je prends le rapport xir2 et que je le mets sur le serveur de xi3, le rapport xir2 a les mêmes problemes qu'on retrouve dans celui du serveur de xi3.
quand je refais le rapport sans refaire les requêtes, j'ai éxactement les mêmes soucis. quelqu'un peut m'aider? Phil
Rien d'anormale en fait.
tu obtiens deja ce comportement à partir de BO XiR2 SP4. En fait tu génères du code SQL ANSI 92 de meilleur qualité : à savoir toutes tes informations de jointures entre les tables se trouvent systematiquement dans la clause FROM de ta requete et notammenet les auto-jointures du style : T_UNIFICATION_ENT.CAT_UNIFICATION='ENT' Phil
Le resultat n'est pas différent, tu peux faire le test des 2 reqûetes directement dans ton editeur SQL
EMS
salut
oui Phil, les resultats sont différents et j'avais même tapé les 2 codes dans ma base de données! mais j'ai trouvé une solution j'ai enlevé les alias de ces requêtes. et j'ai mis des vues qui ont remplacés ses alias et là j'ai obtenu les bons resultats des deux côtés. mais je n'arrive toujours pas à comprendre pourquoi en xi3 avec les alias j'obtenais de faux résultats! |