Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Modification des données

Bonjour à tous,

Est-il possible de modifier les données directement dans les tables sources (Base de données ou fichiers plats) à travers QlikView?

Comme exemple je prends le cas d'un état de mise  à jour (Batch) que je viens d'effectuer sous l'ERP Oracle JD Edwards.

Je vous explique le principe:

Lors de la comptabilisation des ventes de certains articles,certaines tables de sont pas mises à jour.

La table F0911 est la table du grand-livre général et la table F03B11 est la table du grand livre client.

Voici un bref aperçu des champs de la table:

F0911(GLKCO, GLDCT, GLDOC, GLDGJ, GLCO, GLLT, GLPN, GLFY, GLEXR, ...)

F03B11(RPDOC, RPDCT, RPKCO, RPDGJ, RPFY, RPPN, RPCO, RPRMK, ...)

F0911

GLKCOGLDCT
GLDOCGLDGJGLCOGLLTGLPNGLFYGLEXR..........
00001RI1530/06/200500001AA65Ballons
00001RI2030/06/200500001AA65Intra State
00001RI2330/006/200500001AA65Store sales
00001RI3031/07/200500070AA65Bank of Madrid


F03B11

RPDOCRPDCTRPKCORPDGJRPCORPPNRPFYRPRMK..........
15RI0000130/06/20050000165xxxxxxxx
20RI0000130/06/20050000165Intra State
23RI0000130/06/20050000165
30RI0015031/07/20050007065



Il se trouve que lors de la comptabilisation des opérations, le champ RPRMK de F03B11 est vide ou contient des valeurs incorrectes sur certaines lignes.

Alors j'ai dû développer un batch de mise à jour pour régler ce problème.

Il était question de sélectionner dans un premier temps toutes les lignes de la table F0911 en se basant sur des critères puis d'effectuer la mise à jour de la table en question.

Je vous traduis ci-dessous l'events rules(langage de programmation sur JD Edwards) en SQL(Oracle) pour que vous comprenez mieux:


UPDATE F03B11 SET RPRMK= (SELECT GLEXR FROM F0911,F03B11

                                                           WHERE     (RPDOC=GLDOC) AND

                                                                         (RPDCT=GLDCT) AND

                                                                         (RPKCO=GLKCO) AND

                                                                         (RPDGJ=GLDGJ) AND

                                                                         (RPFY=GLFY) AND

                                                                         (RPPN=GLPN) AND

                                                                         (GLLT= "AA" ) AND

                                                                         (RPRMK <> GLEXR)

                                                     )

     WHERE (RPCO=&Company) AND

                   (RPFY=&Fiscal_Year) AND

                   (RPPN=&Exercice) AND

                    (RPRMK=" ")

Alors, lorsque j'exécute ce batch, la mise à jour du champ RPRMK de la table F03B11 est réalisée.


Étant donnée que je travaille personnellement sur QlikView et essaie toujours de résoudre des problèmes que je croise, je pensais comme ça s'il était possible de réaliser une mise à jour des tables directement depuis Qlikview.

Dans le cas ou j'avais un objet table dans mon application Qlikview qui m'affichait des champs de la table  F03B11 y compris le champ RPRMK ,j'aurais pu voir directement les lignes dont le champ en question est vide ou incorrectes.

Alors dans ce cas serait t-il possible d'effectuer une mise à jour de cette table directement dans l'application sans passer forcément par le SGBD-R (Système de Gestion de Base de Données Relationnelles) ou les fichiers plats (Excel,texte,...)?

Si oui, je souhaiterais que vous me donner un aperçu de ce qui pourrait être fait dans ce cas.


NB : Vous verrez en pièces jointes le listing (events rules) puis un état pdf de Oracle JD Edwards


Merci d'avance.


Labels (1)
1 Reply
larouge69
Contributor III
Contributor III

Bonjour. Je ne pense que Qlikview soit elabore pour cette destination : modifier le systeme source. Ca serait super dangereux pour le maintient des donnes. Mais si tu trouves un moyen je serai curieux d avoir cette procedure. Au mieux je pense que tu peux nettoyer tes donnes dans Qv, les exporter, et integrer l export par batch. Eventuellement automatiser lintegration du batch.Bon courage