|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Jean-Marc DUVALConsultant informatique Inscription : mars 2011 Messages : 7 ![]() |
J'ai créé une fonction utilisateur PRIXBASE() qui me retourne un tarif en fonction de paramètres.
Je suis passé par un source que j'ai traité avec un RUNSQLSTM pour mon CREATE FUNCTION (même résultat avec iseries navigator). La création c'est bien passée et je vois ma fonction dans le QSYS2/SYSFUNCS. Pourtant, lorsque je veux l'utiliser dans un SQL, j'ai un message SQL0204 : PRIXBASE de type *N dans *LIBL non trouvé, alors que la fonction est qualifiée et que de toute façon la bibliothèque est en ligne. Si quelqu'un à une idée sur la raison de cette anomalie, il est le bienvenu ;-) |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : novembre 2004 Messages : 1 298 ![]() |
J'ai bien une petite idée mais colle ici ta fonction, stp.
Il s'agit sans doute de l'erreur courante dans la passage des paramètres. Je pense que tu passes le paramètre en dur sur l'écran STRSQL ou dans Run SQL Script du Navigator et que tu as défini ce paramètre en CHAR dans ta fonction. Me trompè-je ? |
|
|
00
|
|
|
#3 | ||
|
Invité de passage
![]() Jean-Marc DUVALConsultant informatique Inscription : mars 2011 Messages : 7 ![]() |
Voici la définition :
Code :
Code :
SELECT APRCPR, APRLPR, PRIXBASE('APP', 'PBFbb', 'EUR', 'bbb', 'bbbbbbbbb', APRCPR, 20101201) |
||
|
|
00
|
|
|
#4 | ||
|
Membre Expert
![]() Patrick Inscription : mai 2008 Messages : 821 ![]() |
Philippe préssentait bien.
Quand tu appelles ta fonction avec des constantes, elles sont considérées comme des VARCHAR. Défini plutôt des paramètres en VARCHAR au lieu de CHAR Code :
|
||
|
|
00
|
|
|
#5 | |
|
Invité de passage
![]() Jean-Marc DUVALConsultant informatique Inscription : mars 2011 Messages : 7 ![]() |
La fonction "fonctionne" parfaitement avec ces modifications...
Il est regrettable que le message soit si peu explicite : Citation:
Merci à vous car c'est typiquement le genre de problème sur lequel on peut rester des heures sans arriver nul part. Vive le partage d'expérience sur les forums.
|
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com