Précédent   Forum des professionnels en informatique > Bases de données > Oracle > PL/SQL
PL/SQL Forum d'entraide sur le PL/SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/01/2012, 14h30   #1
Membre habitué
 
Inscription : novembre 2008
Messages : 238
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 238
Points : 120
Points : 120
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 :
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 :
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 :
1
2
CREATE OR REPLACE
TYPE ART_RPT_INFO AS TABLE OF ROW_ART_RPT_INFO NULL;
Code :
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
Type de fichier : doc erreur.doc (31,5 Ko, 6 affichages)
juju05 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h12.


 
 
 
 
Partenaires

Hébergement Web