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

Cobol Discussion :

Équivalent de IsNull


Sujet :

Cobol

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2008
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 21
    Points : 19
    Points
    19
    Par défaut Équivalent de IsNull
    Bonjour ;

    Je développe en COBOL sous environnement AS400, et j'ai un petit souci par rapport à un paramètre.
    Pour faire court et simple, j'ai un programme X qui est censé recevoir 3 paramètres (A, B et C). Ce programme est appelé par un autre programme Y qui lui passe les 3 paramètres requis, dans ce cas de figure tout marche bien comme il faut. Sauf que, il existe un tiers programme Z qui fait appel au programme X mais cette fois ci en lui passant 2 paramètres seulement, ce qui -naturellement- génère une erreur de type "Pointeur non définie pour position mémoire référencé" au niveau d'une condition (IF).
    Réellement, il existe un tas de programmes qui font appel au programme X, et je ne maîtrise pas l'arborescence de ces PGM.
    La solution qui me parait la plus optimale, est d'incorporer un test juste avant l'utilisation de la variable objet de problème, en vérifiant son contenu (Si la variable est initialisé ou pas, autrement dit si elle ne contient aucune valeur).

    Question : Est ce qu'il y une instruction ou une astuce qui me permettra de contourner ce problème, sachant que la variable peut être de n'importe quelle type de donnée.

    Merci infiniment pour l'intérêt que vous avez porté un ma requête.

  2. #2
    Expert confirmé
    Homme Profil pro
    ANCIEN Consultant/Formateur/Développeur AS/400, iSeries, System i et Cobol
    Inscrit en
    Juin 2007
    Messages
    2 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : ANCIEN Consultant/Formateur/Développeur AS/400, iSeries, System i et Cobol
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 096
    Points : 4 155
    Points
    4 155
    Par défaut
    Bonjour.

    Je n'ai pas l'habitude de jongler avec les paramètres manquants et les NULL, mais tu si tu es en ILE et que tu veux tester si un paramètre n'est pas transmis, utilise l'ADDRESS OF :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    0025.00            IF ADDRESS OF C3 NOT = NULL                        
    0026.00               DISPLAY "C3=" C3.

  3. #3
    Membre à l'essai
    Inscrit en
    Décembre 2008
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 21
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par Hédhili Jaïdane Voir le message
    Bonjour.

    Je n'ai pas l'habitude de jongler avec les paramètres manquants et les NULL, mais tu si tu es en ILE et que tu veux tester si un paramètre n'est pas transmis, utilise l'ADDRESS OF :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    0025.00            IF ADDRESS OF C3 NOT = NULL                        
    0026.00               DISPLAY "C3=" C3.
    Quoi dire !!!! Merci infiniment.
    Le problème est résolu, vous êtes un AS

  4. #4
    Membre averti
    Femme Profil pro
    Architecte technique
    Inscrit en
    Janvier 2008
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2008
    Messages : 179
    Points : 350
    Points
    350
    Par défaut
    bonjour,

    attention, pour avoir tenté de l'utiliser ce systeme ne fonctionne pas dans tous les cas.

    un exemple :

    premier appel avec using p1 p2

    si tu testes address of P3 = null , c est OK

    2eme appel avec using P1 P2 P3

    3eme appel avec using P1 P2

    si tu testes address of P3 = NULL ce sera faux

    cdlt

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Équivalent Paradox de IsNull
    Par slimjoe dans le forum Bases de données
    Réponses: 5
    Dernier message: 04/05/2006, 17h50
  2. Réponses: 4
    Dernier message: 21/09/2003, 15h50
  3. Réponses: 3
    Dernier message: 21/08/2003, 14h47
  4. [postgreSQL] équivalent de la function 'instr'
    Par Dra_Gun dans le forum Requêtes
    Réponses: 2
    Dernier message: 17/01/2003, 16h09
  5. Équivalent du #IFDEF
    Par agh dans le forum Langage
    Réponses: 4
    Dernier message: 14/10/2002, 18h44

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