IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PL/SQL Oracle Discussion :

Problème suite à modification de "type"


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2008
    Messages : 618
    Par défaut Problème suite à modification de "type"
    Bonjour,

    Je travaille sur un fonctionnel de GPAO. Je cherche à rajouter dans un report de nomenclature le besoin fugurant sur la gamme opératoire.

    J'ai constaté que la procédure stockée remontant les information ne contenait pas la clé de la gamme opératoire.

    J'ai donc apporté des modifications sur Sqldevelopper en vain.

    Lorsque je demande à vérifier la base de données sur Crystal report, j'ai le message d'erreur se trouvant dans la pièce-jointe.

    Je mets ci-dessous les différents éléments figurant visibles sur SQLDEVELOPPER et, en gras, les modifications que j'ai apporté.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    CREATE OR REPLACE
    PACKAGE          "PKG_RPT_TREE_BOM" AS
     
      TYPE REFCUR IS REF CURSOR;
     
      PROCEDURE GetRPTTreeBom(mID_TREE_BOM IN NUMBER, mCur OUT REFCUR);
      FUNCTION GetListRPTBom(mID_TREE_BOM IN NUMBER) RETURN ART_RPT_INFO;
     
    END;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    CREATE OR REPLACE
    PACKAGE BODY          "PKG_RPT_TREE_BOM" AS
    
      PROCEDURE GetRPTTreeBom(mID_TREE_BOM IN NUMBER, mCur OUT REFCUR)
      IS  
    
      BEGIN
          OPEN mCur FOR SELECT * FROM Table(CAST(GetListRPTBom(mID_TREE_BOM) AS ART_RPT_INFO));
      END;
    
      FUNCTION GetListRPTBom(mID_TREE_BOM IN NUMBER) RETURN ART_RPT_INFO
      IS
        mRowArt     TOPERP.T_ARTICLE%ROWTYPE;
        mTypeFab    NUMBER;
        mBomTree    TOPPDM.BOM_TREE;
    
        mRowRPT     ROW_ART_RPT_INFO;
        ListRPT     ART_RPT_INFO := ART_RPT_INFO();
        ListRefMat  DBMS_SQL.VARCHAR2_TABLE;
        ListRefOut  DBMS_SQL.VARCHAR2_TABLE;
      BEGIN
    
          mBomTree := TOPPDM.PKG_TREE.GetListTreeBOM('ID_TREE_BOM = ' || mID_TREE_BOM );
    
          for i in mBomTree.FIRST .. mBomTree.LAST loop
            -- Ajout
            -- mRowRPT := ROW_ART_RPT_INFO(NULL,NULL,NULL,NULL,NULL,NULL);
            mRowRPT := ROW_ART_RPT_INFO(NULL,NULL,NULL,NULL,NULL,NULL,NULL);
    
            -- code propre au report
            mRowRPT.mLEVEL := LPAD(mBomTree(i).LEVEL_BOM,mBomTree(i).LEVEL_BOM+(mBomTree(i).LEVEL_BOM-1),' .');
            mRowRPT.ID_ARTICLE := mBomTree(i).ID_ERP_ITEM;
            mRowRPT.REFERENCE := mBomTree(i).ERP_REFERENCE;
            mRowRPT.DESIGNATION := mBomTree(i).ERP_DESIGNATION;
            mRowRPT.QTY := mBomTree(i).QUANTITY;        
            
            BEGIN
              select qte_disponible into mRowRPT.QTE_STOCK_DISPO from toperp.t_stock where id_article = mRowRPT.ID_ARTICLE;
            EXCEPTION WHEN OTHERS THEN
              mRowRPT.QTE_STOCK_DISPO := 0;
            END;
            
            -- Ajout
            mRowRPT.ID_ROUTING := mBomTree(i).ID_ROUTING;        -- fin du code
    
            ListRPT.extend;
            ListRPT(ListRPT.Last) := mRowRPT;
    
          end loop;
    
        return ListRPT;
      END;
    END;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    CREATE OR REPLACE
    TYPE ART_RPT_INFO AS TABLE OF ROW_ART_RPT_INFO null;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    CREATE OR REPLACE
    TYPE "ROW_ART_RPT_INFO"                                                                                   AS OBJECT
    (
      mLEVEL 		        VARCHAR2(20),
      ID_ARTICLE			NUMBER(20),
      REFERENCE                     VARCHAR2(100),
      DESIGNATION			VARCHAR2(100),
      QTY                           NUMBER(10),
      QTE_STOCK_DISPO		NUMBER(10),
      ID_ROUTING                    NUMBER(20)
    );
    J'ai compilé les différents élements avec des warning mais rien de bloquant.

    Merci d'avance.
    Julien.
    Fichiers attachés Fichiers attachés

+ Répondre à la discussion
Cette discussion est résolue.

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo