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 28/09/2011, 13h32   #1
Membre régulier
 
Inscription : mars 2009
Messages : 321
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 321
Points : 93
Points : 93
Par défaut Modification du format date

Bonjour,

J'ai besoin de modifier le format de la date à partir d'un query es-ce possible je vous joins l'exemple de mon fichier

Fichier avec format date YYYY/MM/DD
Code :
1
2
Col1   Col2    Col3       Col4       Col5
AAA   123     TOTO     5487      2011/09/28
Fichier attendu avec format de date DD/MM/YYYY
Code :
1
2
Col1   Col2    Col3       Col4       Col5
AAA   123     TOTO     5487      28/09/2011
Merci pour votre aide
AAWOOPY56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2011, 14h32   #2
Membre éclairé
 
Homme
Inscription : septembre 2008
Messages : 253
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : septembre 2008
Messages : 253
Points : 312
Points : 312
Tout dépend de la définition de la zone. Si elle est de type caractère, il faut passer par une zone résultat reprenant la zone caractère. Ex:
Code :
1
2
3
4
Zone        Expression                  
ndate       substr(zdate,9,2) !! '/' !! 
            substr(zdate,6,2) !! '/' !! 
            substr(zdate,1,4)
Si elle est définie Date (Type L) alors elle s'affiche selon le format de date de ton travail. Sauf que ça ne marche que pour une zone calculée.
Du coup, il suffit de définir une zone calculée
Code :
1
2
Zone        Expression                  
ndate       zdate
Sans oublier de sélectionner la zone ndate dans le query à la place de celle du fichier (zdate dans mon exemple) .
FORMULARY est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2011, 15h29   #3
Membre régulier
 
Inscription : mars 2009
Messages : 321
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 321
Points : 93
Points : 93
Bonjour et merci pour l'aide j'ai essayé de passer le substr mais j'ai une erreur je ne vois pas ce que c'est par contre le nom de ma colonne je la saisie nulle par ?

Code :
1
2
3
4
Zone        Expression                         En-tête de colonne    Long  D{c 
NDATE       substr(zdate,9,2) !! '/' !!                               10       
            substr(zdate,6,2) !! '/' !!                                        
            substr(zdate,1,4)
Le message d'erreur
Expression incorrecte. Le curseur se trouve sur l'{l{ment erron{.

Je te donne la description de ma colonne

Code :
1
2
Zone            Texte                                                 Long D{c 
GLDATE          Date YYYYMMDD                                           8    0
AAWOOPY56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2011, 16h24   #4
Membre éclairé
 
Homme
Inscription : septembre 2008
Messages : 253
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : septembre 2008
Messages : 253
Points : 312
Points : 312
Forcement, c'est le cas que j'ai oublié qui est le tien !
Ta zone GLDATE est numérique.
Définis 2 zones comme suit :
Code :
1
2
3
4
5
6
Zone        Expression
CARDATE     DIGITS(GLDATE)

AFFDATE     SUBSTR(CARDATE, 7, 2) !! '/' !!
            SUBSTR(CARDATE, 5, 2) !! '/' !!
            SUBSTR(CARDATE, 1, 4)
Utilise GLDATE pour les tris (il faut alors sélectionner la zone pour affichage, et définir une largeur de 0 dans "Formatage des colonnes"
et utilise AFFDATE pour l'affichage au bon format
FORMULARY est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2011, 09h25   #5
Membre régulier
 
Inscription : mars 2009
Messages : 321
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 321
Points : 93
Points : 93
Bonjour et merci pour ton aide

Par contre j'ai encore un soucis un truc bizarre dès que je met !!'/!! la commande me renvoir l'erreur suivante je ne vois pas ou ca provient j'ai essayer plusieurs définitions mais sans succés

ma ligne que j'ai inséré est la suivante

Code :
1
2
3
4
5
6
Zone        Expression                         En-tête de colonne    Long  D{c
CARDATE     DIGITS(GLDATE)                                                    
                                                                              
                                                                              
                                                                              
AFFDATE     SUBSTR(CARDATE, 7, 2) !! '/' !!
Le message d'erreur

Code :
1
2
3
4
5
6
7
8
9
10
11
12
Message . . . . :   Expression incorrecte. Le curseur se trouve sur l'{l{ment  
  erron{.                                                                      
Cause . . . . . :   L'expression n'est pas conforme aux r}gles de formulation. 
  Vous avez commis une erreur ou omis un op{rateur ou un op{rande.  Le curseur 
  d{signe soit l'{l{ment erron{, soit l'emplacement que devrait occuper        
  l'{l{ment manquant.  Voici quelques exemples :                               
                  gauche manquante :                                           
    -- A B (il manque l'op{rateur entre les noms de zone :                     
                  le curseur est positionn{ sur l'op{rande B).                 
    -- 10 (2+4) (il manque l'op{rateur entre 10 et la parenth}se de gauche :   
                  le curseur est positionn{ sur cette parenth}se).             
    -- A & B (l'op{rateur num{rique entre les noms de zone est erron{ :
AAWOOPY56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2011, 10h07   #6
Membre éclairé
 
Homme
Inscription : septembre 2008
Messages : 253
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : septembre 2008
Messages : 253
Points : 312
Points : 312
c'est parce que tu n'as saisi que le début de la formule.
Il faut les 3 lignes de la zone AFFDATE.
FORMULARY est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2011, 10h14   #7
Membre régulier
 
Inscription : mars 2009
Messages : 321
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 321
Points : 93
Points : 93
Ben non même avec les 3 lignes j'ai le même message d'erreur

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
                        D{finition des zones r{sultat                          
                                                                               
Utilisez des noms de zone (ou des constantes) et des op{rateurs pour d{finir   
les zones, puis faites ENTREE. Op{rateurs :  +, -, *, /, SUBSTR, ||, DATE...   
                                                                               
Zone        Expression                         En-tête de colonne    Long  D{c 
CARDATE     DIGITS(GLDATE)                                                     
                                                                               
                                                                               
                                                                               
AFFDATE     SUBSTR(CARDATE, 7, 2) !! '/' !!                                    
            SUBSTR(CARDATE, 5, 2) !! '/' !!                                    
            SUBSTR(CARDATE, 1, 4)                                              
                                                                          Fin  
                                                                               
Zone            Texte                                                 Long D{c 

F3=Exit          F5=Rapport        F9=Ins{rer         F11=Noms uniquement   
F12=Annuler      F13=Dessin        F20=R{organiser    F24=Autres touches    
Expression incorrecte. Le curseur se trouve sur l'{l{ment erron{.
AAWOOPY56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2011, 10h22   #8
Membre régulier
 
Inscription : mars 2009
Messages : 321
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 321
Points : 93
Points : 93
Ca y est j'ai trouvé Formulary je n'utilisais pas le bon caractère pour le || j'utilisais la touche !

Donc ça fonction désolé pour le dérangement

Bonne journée
AAWOOPY56 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 23h12.


 
 
 
 
Partenaires

Hébergement Web