1 Reply Latest reply: Nov 13, 2014 6:32 PM by David B. RSS

    Modification des données

    Ange Fabrice Konan

      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.


        • Re: Modification des données
          David B.

          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