Volubis, le forum IBM i Index du Forum Volubis, le forum IBM i
avec les clubs Informatiques IPL et Bretagne.
 
 FAQFAQ   RechercherRechercher   Liste des MembresListe des Membres   Groupes d'utilisateursGroupes d'utilisateurs   S'enregistrerS'enregistrer 
 ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 

(sujet inconnu)

 
Poster un nouveau sujet   Répondre au sujet    Volubis, le forum IBM i Index du Forum -> langages
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
N1kos



Inscrit le: 08 Fév 2013
Messages: 34

MessagePosté le: Lun 10 Déc 2018, 16:25:20    Sujet du message: (sujet inconnu) Répondre en citant

Bonjour,

Le script SQL ci-dessous permet d'appeler un programme de type SRVPGM en SQL:

Code:
drop FUNCTION CIF_NUM1;                   
CREATE FUNCTION CIF_NUM1 (               
                               char( 2)       
                             , char( 2)       
                             , char(10)       
                              , char(10)         
                              , char(30)         
                              , char( 1)         
                              , char(10)         
                              , char(10)         
                              , numeric(14, 0)   
                              , numeric(14, 0)   
                              )                 
                     RETURNS    numeric(14, 0)   
 EXTERNAL NAME 'CIF_NUM1(CIF_NUM1)'         
 LANGUAGE RPGLE PARAMETER STYLE                 
 general RETURNS NULL ON NULL INPUT             
 MODIFIES SQL DATA                               
 not fenced;                             


Mais dans mon programme RPG les 4 derniers paramètres sont déclarés comme non obligatoire:

Code:
yy_lsys                       10    const options(*nopass)
yy_lbib                       10    const options(*nopass)
yy_nmin                       14s 0 const options(*nopass)
yy_nmax                       14s 0 const options(*nopass)   


Je souhaiterais dans la déclarations de la fonction SQL indiquer également que les 4 derniers paramètres sont facultatifs.

Merci d'avance
_________________
N1kos
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
thomas.barberot



Inscrit le: 12 Avr 2012
Messages: 33

MessagePosté le: Lun 10 Déc 2018, 16:38:22    Sujet du message: (sujet inconnu) Répondre en citant

Je crois qu'il faut faire 5 fonctions : une avec tous les paramètres, une avec 1 paramètre de moins, une avec 2 paramètres de moins...
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
cmasse
Site Admin


Inscrit le: 14 Fév 2007
Messages: 676
Localisation: Nantes

MessagePosté le: Lun 10 Déc 2018, 17:08:50    Sujet du message: FONCTIONS Répondre en citant

@Thomas, c'est effectivement une solution (4 déclarations qui pointent vers le même code); On peut désormais connaitre le nbr de paramètres reçus :
https://ibm.co/2QmPQws


@N1kos : on peut aussi déclarer chaque paramètre comme ayant une valeur par défaut :

https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_73/sqlp/rbafyudfdft.htm
_________________
Christian Massé (Volubis.fr)
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
N1kos



Inscrit le: 08 Fév 2013
Messages: 34

MessagePosté le: Lun 10 Déc 2018, 17:22:29    Sujet du message: (sujet inconnu) Répondre en citant

Merci à tous,

J'ai opté pour la seconde solution qui fonctionne parfaitement bien.

Cordialement,
_________________
N1kos
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Volubis, le forum IBM i Index du Forum -> langages Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com

Anti Bot Question MOD - phpBB MOD against Spam Bots