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;J'ai compilé les différents élements avec des warning mais rien de bloquant.
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) );
Merci d'avance.
Julien.
Partager