1 pièce(s) jointe(s)
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.