Détecter une valeur NULL

08-02-2007 à 08:58:45
Bonjour,

Je souhaiterais détecter la présence d'un caractère NULL dans une variable alpha d'un programme RPG400. Une idée ?

Merci
  • Liens sponsorisés



05-02-2007 à 15:18:59
"RPG400" fait-il référence au RPG III ou au RPG IV ?

Comment peux-tu avoir un caratère nul dans une variable ?

Cette variable provient-elle d'un fichier ?



--Message édité par philippe le 05-02-07 à 15:29:25--
05-02-2007 à 15:21:47
Oui cette valeur provient d'une zone d'un fichier reçu d'un frontal.
RPGIV - V5.2
05-02-2007 à 15:43:38
Ajoute la spécif H suivante :

H ALWNULL(*USRCTL)


Et teste la zone comme suit :

/free

if %nullind (MaZone); // MaZone est nulle
...
endif;

Consulte également la doc "WebSphere® Development Studio ILE RPG Reference",
le paragraphe "Database Null Value Support" pp 206/224 à cette adresse:
http://publib.boulder.ibm.com/iseries/v5r2/ic2924/books/c0925084.pdf
C'est plein d'enseignement.


05-02-2007 à 15:46:03
Merci Philippe !
05-02-2007 à 17:32:14
SVP, ne pas poster en double sur le nouveau forum "conduite de projet" tant que ce forum-ci n'a pas été repris sur le nouveau.

Merci.
05-02-2007 à 17:35:18
Quecequeça ! je n'ai rien posté sur ce forum ??
05-02-2007 à 17:40:16
Pour en revenir à la valeur null, le problème est qu'il s'agit d'une zone de 250 alpha et une partie seulement contient des caractères null. Dans ce cas %nullind ne le détecte pas ! Je crois que je vais utiliser Check avec du numérique et de l'alpha. Si je suis pas numérique et si je ne suis pas alpha alors je considérerais que je suis null.
05-02-2007 à 17:52:01
Bizarre !

Peux-tu faire un dump hexa de la zone en question et la poster ici ?

____________________________________________________

A propos du double post, ce doit être le webmestre du nouveau forum qui est en train de récupérer les messages de ce forum-ci.
06-02-2007 à 09:59:50
Bonjour,

j'ai essayé d'envoyer un message privé mais je ne suis pas sur que cela ait marché !

Voici une partie du dump de la zone alphanum de 250 :
FFFFF000000000000000000000000000
13099000000000000000000000000000

Les 5 1ers caractères sont l'identifiant du flux de données, à partir de la position 6 il s'agit du caractère que j'ai identifié comme null mais je n'en suis plus sur. En effet, le fichier n'étant pas une table de BdD DB2/400 mais un fichier à description externe, j'ai créé un fichier répertoire dans lequel est déclaré une zone alphanum de 1 acceptant NULL que j'utilise dans le programme pour tester le caractère avec %NULLIND mais rien.

Une idée sur le type possible de la donnée ?
06-02-2007 à 12:16:08
J'ai déjà répondu à cette question posée par le pseudo Flashback dans le forum Xdocs.

Evite stp de cross-poster. Merci.
08-02-2007 à 08:58:45
Bonjour,

J'ai utilisé le %scan, ça marche.

If %SCAN(X'00':MaVariable) > 0

Merci !


Ajoute la spécif H suivante :

H ALWNULL(*USRCTL)


Et teste la zone comme suit :

/free

if %nullind (MaZone); // MaZone est nulle
...
endif;

Consulte également la doc "WebSphere® Development Studio ILE RPG Reference",
le paragraphe "Database Null Value Support" pp 206/224 à cette adresse:
http://publib.boulder.ibm.com/iseries/v5r2/ic2924/books/c0925084.pdf
C'est plein d'enseignement.


30-05-2014 à 17:27:12
Je te félicite pour tout le travail que tu fais et pour toute la connaissance que tu as !
Merci aussi pour tes encouragements.
voyance gratuite par mail
avenir amoureux gratuit en ligne
  • Liens sponsorisés