Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
ab92
Creator II
Creator II

Extraction base SAGE X3

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 :

Error extraction de base SageX3.PNG

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

1 Solution

Accepted Solutions
sfatoux72
Partner - Specialist
Partner - Specialist

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

View solution in original post

15 Replies
cristinapo
Contributor III
Contributor III

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

sfatoux72
Partner - Specialist
Partner - Specialist

‌Pourquoi mets-tu QLICKVIEW. devant le nom de ta table ???

essaye sans :

SQL SELECT *
FROM `$(vNOM_TABLE)`;

ab92
Creator II
Creator II
Author

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

ab92
Creator II
Creator II
Author

Voici le message d'erreur que j'ai si j'efface QLIKVIEW il ne charge meme plus ...

ab92
Creator II
Creator II
Author

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);

sfatoux72
Partner - Specialist
Partner - Specialist

‌ok, alors pourquoi le nom de la base de données ne fait -il pas partie de la connexion ?

sfatoux72
Partner - Specialist
Partner - Specialist

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é).

ab92
Creator II
Creator II
Author

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

ab92
Creator II
Creator II
Author

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 ?