Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour à tous,
je souhaite créer mon ETL sage X3, mais après rechargement de ma base, je suis confronté à un problème.
J'ai le message suivant :
Donc, je pense que je dois indiquer dans mon script qu'il ne faudra pas extraire la table APEX8ACTIVITY_LOG ?
Si ce n'est pas le cas avez vous des idées car ce problème persiste et me fait perdre énormément de temps..
Dans l'attente de vous lire,
Axel
Je ne comprend pas vraiment le but de faire des QVD de toutes ces tables
Tu peux simplement utiliser un IF ... THEN ... ELSE ... END IF ( If..then..elseif..else..end if ‒ QlikView ) pour filtrer les tables que tu ne veux pas récupérer.
Comme ceci pour filtrer toutes les tables qui commence par 'A':
For i=1 to $(vNB_TABLES)
Let vNOM_TABLE=FieldValue('TABLE_NAME',$(i));
IF Left(Upper(vNOM_TABLE), 1) = 'A' THEN
TRACE Table non traitée ---> $(vNOM_TABLE);
ELSE
TRACE Table traitée ---> $(vNOM_TABLE);
[$(vNOM_TABLE)]:
SQL SELECT *
FROM QLICKVIEW.`$(vNOM_TABLE)`;
STORE * FROM $(vNOM_TABLE) into $(vQVD_X3ERP)$(vNOM_TABLE).QVD (QVD);
LET vNB_LIGNESQVD=QvdNoOfRecords('$(vQVD_X3ERP)$(vNOM_TABLE).QVD');
TRACE Nombre de lignes --> $(vNB_LIGNESQVD);
LISTE_TABLE_BASE:
LOAD
'$(vNOM_TABLE)' as NOM_TABLE,
$(vNB_LIGNESQVD) as NB_LIG
autogenerate(1);
DROP TABLE $(vNOM_TABLE);
END IF
next
Essayez d'écrire FROM QLICKVIEW.APEX_ACTIVITY_LOG (sans les apostrophes) ou effacez les apostrophes et les ecrivez encore une fois.
Ou derniere methode: 'QLICKVIEW.APEX_ACTIVITY_LOG'
Ajouter aussi ; à la fin
Pourquoi mets-tu QLICKVIEW. devant le nom de ta table ???
essaye sans :
SQL SELECT *
FROM `$(vNOM_TABLE)`;
Bonjour Sebastien pour indiquer le nom de la base a aller rechercher mauvaise idée pour toi ?
Pourtant j'ai fait cela sur un autre ETL et cela fonctionne a merveille ...
PS : QLICKVIEW est le nom de la base que l'hébergeur a attribuer a SAGEX3ERP
Voici le message d'erreur que j'ai si j'efface QLIKVIEW il ne charge meme plus ...
en parlant sur un autre forum, nous avons discuté sur les sujets des crochets :
Nomanclature pas accepté avec message d'erreur :
SQL SELECT *
FROM QLICKVIEW.`$(vNOM_TABLE)`;
SQL SELECT *
FROM QLICKVIEW."$(vNOM_TABLE)";
Par contre sans crochet et sans le QLICKVIEW il accepte mais toujours message d'erreur :
SQL SELECT *
FROM $(vNOM_TABLE);
SQL SELECT *
FROM QLICKVIEW.$(vNOM_TABLE);
ok, alors pourquoi le nom de la base de données ne fait -il pas partie de la connexion ?
Peux-tu exécuter uniquement SQLTABLES (met "Exit script;" juste après)
crée une zone de table avec tous les champs, extrait le sous excel et transmet le moi en pièce jointe (aller dans éditeur avancé).
Bonjour Sébastien !
Merci pour tes remarques :
Ok, alors pourquoi le nom de la base de données ne fait -il pas partie de la connexion ?
J'ai utilisé le nom de la base, je ne saisie pas trop ta question ...
Comme indiquer dans votre dernier message, ci-dessous vous pouvez trouver deux listes :
- Première : table_schema (plusieurs base sont présente sur ce logciel...) Nous nous intéresserons uniquement à la base ERP5SPROD
- Deuxième : TABLE _NAME reliées à la base ERP5SPROD uniquement les champs en blanc
Je viens d'apprendre que les tables commençant par la lettre a sont des tables systèmes voilà pourquoi j'ai un message d'erreur ...
Maintenant avez vous une idée pour mettre une condition :
Indiquant le nom chargement sur les tables commençant par la lettre A ?