IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AS/400 Discussion :

Fonction SQL et Prog de service ILE


Sujet :

AS/400

  1. #1
    Membre à l'essai
    Homme Profil pro
    Analyse système
    Inscrit en
    Avril 2014
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Avril 2014
    Messages : 22
    Points : 16
    Points
    16
    Par défaut Fonction SQL et Prog de service ILE
    Bonjour, j'ai un soucis (sinon je ne serais pas là... )

    1/ J'ai écrit un "ptit" RPG sous forme de procédure (test validité de date en entrée (8 0) et renvoi de celle-ci en *ISO. Nom du machin DAT8_CHAR10.
    2/ CRTRPGMOD de la procedure en question.
    3/ CRTSRVPGM SRVPGM(DT_SQL) MODULE(DT8_CHAR10) EXPORT(*ALL).

    Ensuite,

    Je créé par SQL une fonction :

    CREATE FUNCTION MaBib/DT8_CHAR10 (DEC(8 , 0) )
    RETURNS CHAR(10)
    EXTERNAL NAME 'MaBib/DT_SQL(DT8_CHAR10)
    PARAMETER STYLE GENERAL
    RETURNS NULL ON NULL INPUT

    toujours sur une ligne SQL, je joue avec cette fonction, elle marche parfaitement. (Je suis alors dans "l'environnement" du STRSQL).

    On complique :

    J'ai un programme SQLRPGLE dans lequel en SQL je fait des INSERT, UPDATE, bref tout le bataclan "SQLesque".
    Si j'utilise cette fonction, rien ne marche....
    Le programme est compilé en classique *PGM (pas de *MOD SVRPGM et autres).
    Faut-il que bien qu'étant une fonction SQL, le DT8_CHAR10 soit relié à mon prog prinçipal via création du prog prinçipal en module puis CRTPGM d'un appellant ?

  2. #2
    Membre régulier
    Homme Profil pro
    Expertise IBM i. Formation, Audit, Conseil, Sécurité
    Inscrit en
    Février 2009
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Expertise IBM i. Formation, Audit, Conseil, Sécurité

    Informations forums :
    Inscription : Février 2009
    Messages : 40
    Points : 94
    Points
    94
    Par défaut
    Bonjour,

    Quand tu dits que rien ne marche, ça veut dire que ça plante où que ça ne renvoie rien ?

    As tu testé le SQLCODE à la suite de l'appel de la requête qui intègre ta fonction ? S'il y a un soucis, il sera différent de zéro et sa valeur nous renseignera sur le type d'erreur.

    Point à vérifier, est ce qu'il n'y a pas des problèmes de droits lorsque tu l'utilises à partir d'un programme ? Est ce le même profil qui est utilisé pour les tests ?

    Enfin, tu peux nous copier le code concernant l'appel de ta requête.

    Dominique

Discussions similaires

  1. Réponses: 1
    Dernier message: 04/07/2010, 14h53
  2. Fonctions SQL - Tableau et type anyarray
    Par etiennegaloup dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 07/11/2005, 12h25
  3. Syntaxe de la fonction SQL month() ??
    Par merlubreizh dans le forum Langage SQL
    Réponses: 3
    Dernier message: 01/09/2005, 11h16
  4. [Fonction SQL Serveur] convertir des secondes en heure
    Par falcon dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 17/11/2004, 17h22
  5. fonction sql "LIMIT" en interbase?
    Par GMI dans le forum InterBase
    Réponses: 6
    Dernier message: 20/09/2004, 14h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo