Bonjour

J'ai défini dans APEX4 une fonction dans un PACKAGE que je souhaite appeler depuis IREPORT / JASPERREPORT afin de creer un graphique

Défini dans APEX par
SQL WORKSHOP puis PACKAGE PROCEDURE
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
create or replace package DP_LO_GRAPH IS
FUNCTION F_GET_GRAPH_BY_VESSEL RETURN VARCHAR2;
 
END DP_LO_GRAPH;
Dans apex J'ai mis un grant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
Privilege	Grantee	Grantable	Grantor	Object Name
EXECUTE	UU_VISU	NO	UU_PROD	DP_LO_GRAPH

SQLDEVLOPER Fonctionne et permet l'appel de la procédure stockée
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
 
 
DECLARE
 
  v_Return VARCHAR2(32200);
 
BEGIN
 
 
  v_Return := DP_LO_GRAPH.F_GET_GRAPH_BY_VESSEL();
  -- Legacy output:
DBMS_OUTPUT.PUT_LINE('v_Return = ' || v_Return);
 
   :v_Return := v_Return;
 
--rollback;
 
END;
L'appel dans IREPORT l'appel est avec le meme utilisateur Oracle
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
{call DP_LO_GRAPH.F_GET_GRAPH_BY_VESSEL()}
Le message dans IREPORT est
Message:
net.sf.jasperreports.engine.JRException: java.sql.SQLException: ORA-06550: Ligne 1, colonne 7 :
PLS-00221: 'F_GET_GRAPH_BY_VESSEL' n'est pas une procédure ou est indéfini
ORA-06550: Ligne 1, colonne 7 :
PL/SQL: Statement ignored
[/CODE]'



J'ai aussi esssaye depuis IREPORT
select DP_LO_GRAPH.F_GET_GRAPH_BY_VESSEL() from dual

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
ORA-06502: PL/SQL : erreur numérique ou erreur sur une valeur: tampon de chaîne de caractères trop petit
ORA-06512: à "SCE_PROD.DP_LO_GRAPH", ligne 31
La fonction me renvoi un SELECT dynamique avec des colinnes qui change (l'equivalent du PIVOT) en Oracle10


Cet appel fonctionne également dans APEX lorsque j’affiche un graphique en FLASH.
Ou est mon erreur ?


Merci