Précédent   Forum des professionnels en informatique > Systèmes > Autres systèmes > AS/400
AS/400 Le Forum d'entraide sur IBM AS/400 - iSeries. RPG.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/11/2010, 21h34   #1
Candidat au titre de Membre du Club
 
Inscription : août 2010
Messages : 48
Détails du profil
Informations personnelles :
Âge : 43

Informations forums :
Inscription : août 2010
Messages : 48
Points : 10
Points : 10
Par défaut Résultat d'un %Editc inattendu

Bonjour

je n'arrive pas à expliquer le résultat d'un %EDITC
Je suis en debug
W25D1 = 000000000000000000038622.0

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
                               Source d'un module                               
                                                                                
 Programme:   V£CNVMNT       Biblio:   IDSX1002Q      Module:   V£CNVMNT        
     80       *Arrondi à une décimale                                         
     81   002 C                   Eval(h)   w25d1 = Prm_MntSorNum               
     82   002 C                   Eval(h)   Prm_MntSorNum = w25d1               
     83       *Formatage en alpha                                             
     84  B003 C                   If        PGMNBP > 4                          
     85   003 C                   Eval      Prm_MntSorAlp = %EditC(w25d1:'J')          
     86  E003 C                   EndIf                                              87  W002 C                   When      DEVDEC = 2                          
     88       *Arrondi à deux décimales                                       
     89   002 C                   Eval(h)   w25d2 = Prm_MntSorNum               
     90   002 C                   Eval(h)   Prm_MntSorNum = w25d2               
     91       *Formatage en alpha                                             
     92  B003 C                   If        PGMNBP > 4                          
     93   003 C                   Eval      Prm_MntSorAlp = %EditC(w25d2:'J')   
     94  E003 C                   EndIf                                         
                                                                   A suivre...  
 Débogage                                                                       
                                                                                
 F3=Arrêter programme           F6=Ajouter/Effacer pt arrêt   F10=Pas à pas     
 F11=Variable   F12=Reprendre   F17=Guet de variable   F24=Autres touches       
 W25D1 = 000000000000000000038622.0
Pourquoi à la fin de mon %Editc, Prm_MntSorAlp vaut...

??

SVP...
stupido est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2010, 08h14   #2
Membre régulier
 
Inscription : octobre 2006
Messages : 111
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 111
Points : 92
Points : 92
Bonjour,

Difficile de se prononcer sans la définition exacte de toutes les zones...
Mais je pencherais volontiers pour une zone alpha tronquée car pas assez longue, l'edit code rajoutant des caractères de formatage qui allonge la chaîne par rapport au format numérique correspondant.
m4k-Hurrican est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2010, 19h38   #3
Candidat au titre de Membre du Club
 
Inscription : août 2010
Messages : 48
Détails du profil
Informations personnelles :
Âge : 43

Informations forums :
Inscription : août 2010
Messages : 48
Points : 10
Points : 10
Bonjour et Merci

Oui, c'est bien ça.

J'ai rajouté un %Trim :

Code :
C                   Eval      Prm_MntSorAlp = %Trim(%EditC(w25d1:'J'))
.... et ça marche!
stupido est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h40.


 
 
 
 
Partenaires

Hébergement Web