Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Outils > Reports
Reports Forum d'entraide sur Oracle Reports
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 09/11/2007, 14h57   #1
Futur Membre du Club
 
Inscription : juillet 2007
Messages : 64
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 64
Points : 15
Points : 15
Par défaut REP-159(Erreur de syntaxe sur la ligne de commande)

Bonjour à tous!
J'utilise la version 10G de reports.
A l'appel de mon etat au travers de mon formulaire, il m'affiche cette erreur:
REP-159:Errreur de syntaxe sur la ligne de commande.
Après recherche , je me suis rendu compte que c'est parce qu'il y'a un espace(exemple:RENE DUBOIS) au niveau de mon parametre qu'il génère cette erreur.
S'il vous plait, quelqu'un aurait il la solution??
Merci pour tout.
jeunot0108 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/11/2007, 15h13   #2
Rédacteur
 
Homme Salim
Développeur et DBA Oracle
Inscription : octobre 2006
Messages : 872
Détails du profil
Informations personnelles :
Nom : Homme Salim
Localisation : Canada

Informations professionnelles :
Activité : Développeur et DBA Oracle

Informations forums :
Inscription : octobre 2006
Messages : 872
Points : 1 100
Points : 1 100
Salut,

Voici la solution proposée par metalink
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
 
Problem Description
-------------------
 
You are integrating forms AND reports. You are calling reports FROM forms
USING run_report_object built-IN. You want TO pass a parameter list FROM
forms TO reports.
 
You have issued the command AS follows TO pass the parameter list:
 
set_report_object_property(repid, REPORT_OTHER, pl_id);
 
When you run the form, you get the following error:
 
ON UNIX
-------
REP-0152: Positional argument specified after keyword.
 
ON Windows
----------
REP-0159: Syntax error ON command line.
 
 
Solution Description
--------------------
 
The parameter list IS NOT passed USING the set_report_object_property.
You pass the parameter list IN the run_report_object command AS follows:
 
v_runrep := run_report_object(repid, pl_id);
 
Below IS an example of USING SET_REPORT_OBJECT_PROPERTY AND passing a user 
defined parameter TO the report.
 
DECLARE
hRep		REPORT_OBJECT;
vcRep		VARCHAR2(100);
pl_id	        ParamList;
pl_name	        VARCHAR2(10) := 'pdata';
BEGIN
   pl_id := GET_PARAMETER_LIST(pl_name);
   hRep  := FIND_REPORT_OBJECT('report1');
   SET_REPORT_OBJECT_PROPERTY(hRep,report_destype,file);
   SET_REPORT_OBJECT_PROPERTY(hRep,report_desformat,'html');
   SET_REPORT_OBJECT_PROPERTY(hRep,report_desname,'rep1.html');
   SET_REPORT_OBJECT_PROPERTY(hRep,report_other,'p_deptno=20');
   ADD_PARAMETER(pl_id, 'P_EMPNO', TEXT_PARAMETER, c_empno);
   vcRep := RUN_REPORT_OBJECT(hRep, pl_id);
END;
salim11 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/11/2007, 15h20   #3
Rédacteur
 
Homme Salim
Développeur et DBA Oracle
Inscription : octobre 2006
Messages : 872
Détails du profil
Informations personnelles :
Nom : Homme Salim
Localisation : Canada

Informations professionnelles :
Activité : Développeur et DBA Oracle

Informations forums :
Inscription : octobre 2006
Messages : 872
Points : 1 100
Points : 1 100
Salut,
Au lieu de passer les descriptions en paramètres, je te propose de passer les codes en paramètres.

la methode que j'utilise pour soumettre mes rapports est la suivante( sans la liste de paramètres)
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
DECLARE
repid REPORT_OBJECT;
rsj VARCHAR2(100);
rep_status VARCHAR2(100);
BEGIN
repid:=FIND_REPORT_OBJECT('REPORT_EMP');
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_COMM_MODE,SYNCHRONOUS);
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_DESTYPE,CACHE);
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_SERVER,'rep_uoas');
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_OTHER,'P_JOB='||:EMP.JOB||' P_DEPTNO='||:EMP.DEPTNO||' paramform=no');
 
rsj:=RUN_REPORT_OBJECT(repid);
rep_status:=REPORT_OBJECT_STATUS(rsj);
IF rep_status='FINISHED' THEN
web.show_document('/reports/rwservlet/getjobid'||substr(rsj,instr(rsj,'_',-1)+1)||'?'||'server=rep_uoas','_blank');
ELSE
message('Report Failure'||rep_status);
END IF;
END;
salim11 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/11/2007, 15h26   #4
Futur Membre du Club
 
Inscription : juillet 2007
Messages : 64
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 64
Points : 15
Points : 15
Merci beaucoup pour votre aide mais le problème est que j'utilise web.show_document pour l'appel de mes reports.Je ne sais vraiment pas comment adapter votre exemple.
SI vous avez une solution par rapport a cet etat de fait,cela m'arrangerait beaucoup.
Merci
jeunot0108 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/11/2007, 15h35   #5
Futur Membre du Club
 
Inscription : juillet 2007
Messages : 64
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 64
Points : 15
Points : 15
Le probleme est que nous n'avons pas de code mais nous avons uniquement un descriptif(qui est en fait la valeur du masque de saisie).
SVP si vous avez d'autres solutions.
Merci beaucoup
jeunot0108 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/11/2007, 18h19   #6
McM
Expert Confirmé Sénior
 
Inscription : juillet 2003
Messages : 3 453
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 3 453
Points : 4 215
Points : 4 215
remplace les espaces par %20
__________________
More Code : More Bugs. Less Code : Less Bugs
McM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/11/2007, 20h09   #7
Futur Membre du Club
 
Inscription : juillet 2007
Messages : 64
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 64
Points : 15
Points : 15
Bonsoir Monsieur!
J'aimerai savoir a quel niveau je dois changer l'espace par le %20.
J'aimerai savoir si c'est au niveau de l'url ou au niveau de ma fonction qui appele le report.
Aussi j'aimerai souligner le fait que c'est un masque de saisie qui sert de critère d'appel.
Ceci etant comment intégrer le %20?
Merci à tous pour tout .
jeunot0108 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/11/2007, 12h53   #8
McM
Expert Confirmé Sénior
 
Inscription : juillet 2003
Messages : 3 453
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 3 453
Points : 4 215
Points : 4 215
Citation:
Envoyé par jeunot0108 Voir le message
Après recherche , je me suis rendu compte que c'est parce qu'il y'a un espace(exemple:RENE DUBOIS) au niveau de mon parametre qu'il génère cette erreur.
Il n'y a pas d'espaces dans les URL, donc il faut remplacer les espaces avant le web.show_document
Code :
REPLACE(v_url, ' ', '%20')
__________________
More Code : More Bugs. Less Code : Less Bugs
McM 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 00h46.


 
 
 
 
Partenaires

Hébergement Web