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 :

Compo Requete SQL pour analyse Poste JRN


Sujet :

AS/400

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 97
    Points : 79
    Points
    79
    Par défaut Compo Requete SQL pour analyse Poste JRN
    Bonjour messieurs

    J'essaye de composer des requêtes d'analyse de poste de journal pour utilisation via Iseries Access sans ouverture de session telnet ; Cependant dés le départ je me heurte a un pti soucis qui vous parlera j'en suis sur.

    Je m'explique :

    ex de process :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    
    /* Affichage de postes de journal */
    CL: DSPJRN JRN(monschema/TSTJRN) OUTPUT(*OUTFILE) OUTFILFMT(*TYPE4) OUTFILE(qtemp/dspjrn);
    /* Requete de base */
    SELECT * FROM qtemp.dspjrn;
    /* Avec Noms des colonnes */
    SELECT
    JOENTL   as Length_of_entry ,
    JOSEQN   as Sequence_number ,                       
    JOCODE   as Journal_Code ,                         
    JOENTT   as Entry_Type ,                           
    JOTSTP   as Timestamp_of_Entry ,                    
    JOJOB    as Name_of_Job ,                          
    JOUSER   as Name_of_User ,                             
    JONBR    as Number_of_Job ,                         
    JOPGM    as Name_of_Program ,                     
    JOOBJ    as Name_of_Object ,                                
    JOLIB    as Objects_Library ,                                 
    JOMBR    as Name_of_Member ,                                   
    JOCTRR   as Count_or_rrn ,                            
    JOFLAG   as Flag ,                                                 
    JOCCID   as Commit_cycle_id ,                         
    JOUSPF   as User_Profile ,                                          
    JOSYNM   as System_Name ,                                    
    JOJID    as Journal_Id ,                              
    JORCST   as Referential_Constraint ,               
    JOTGR    as Trigger ,                             
    JOINCDAT as Incomplete_Data_1_or_0 ,        
    JORES    as Reserved ,                    
    JONVI   as Null_Value_Indicators_Variab ,
    JOESD    as Entry_Specific_Data_Variable 
    FROM qtemp.dspjrn;
    Cependant en faisant cela je ne visualise pas les données correctement sur les deux dernières colonnes qui ont un CCSID a 65535.

    J'ai essayé ceci pour mettre le même CCSID que les autres colonnes au niveau du travail en cours : (Peut être Idiot mais bon)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    CL:CHGJOB DATSEP(*SYSVAL) TIMSEP(*BLANK) CCSID(297) ;
    Mais je n'ai toujours pas mes données en clair.

    Qqn connait t'il le bon CCSID a choisir et la méthode a utiliser dans mon cas ?

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 55
    Points : 75
    Points
    75
    Par défaut
    Bonjour,

    je pense que le problème viens plutôt du fait que les données étant en 65535, aucun transcodage ne se fera qlq soit le ccsid du job

    essaies avec

    select ... , cast (joesd as char ccsid 297) from ...

    l'avant-dernière colonne ne contient que des indicateurs de nullité, des 0 et des 1

    nicolas

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 97
    Points : 79
    Points
    79
    Par défaut
    Merci pour ta réponse, c'était un ordre de ce type que je voulais.

    Mais cela ne doit pas être le bon ccsid parce d'une valeur de ce type :

    j'obtiens :

    au lieu d'avoir comme via query en 5250 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    216773210001-01-01-00.00.00.0000002008-04-14-18.29.47.7850000001-01-01-00.00.00.000000  ***
    je vais chercher en fonction des différent CCSID qui existe.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 55
    Points : 75
    Points
    75
    Par défaut
    çà va pas marcher, çà doit être autre chose

    d'abord je me suis trompé, j'avais pas pensé que joesd est de longueur variable
    çà donnerai plutôt cast(joesd as varchar (100) ccsid 297)

    les chiffres sont invariables qlq soit le ccsid (tant qu'on reste en EBCDIC)
    ils sont codé entre x'F0' pour zéro et x'F9' pour neuf

    donc pour 21677321 les données devraient être F2F1F6F7F7F3F2F1

    tu es sûr de regarder le même enregistrement ?

  5. #5
    Membre expérimenté

    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 298
    Points : 1 578
    Points
    1 578
    Par défaut
    Les data dans cette colonne définie en char ou varchar doivent être en binaire et c'est pour cela qu'on voit de la "choucroute" dans cette colonne. J'ai déjà rencontré un cas similaire avec le fichier en sortie du STRDBMON.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 55
    Points : 75
    Points
    75
    Par défaut
    Pas sûr, si Query les affiche correctement
    Elle sont sensée être l'exacte copie de l'enreg au moment de la modif

  7. #7
    Membre expérimenté

    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 298
    Points : 1 578
    Points
    1 578
    Par défaut
    fweiner,

    Peux-tu coller ici le résultat hexa de
    Select HEX(JOESD) ...
    correspondant à la colonne choucroutée ?

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 97
    Points : 79
    Points
    79
    Par défaut
    Pour vous répondre a tous :

    la version

    cast(joesd as varchar (100) ccsid 297) fonctionne niquouel.

    c'est moi qui vous est dirigé dans une mauvaise direction lors de mon copier coller.

    Pour preuve :

    hex(JOESD) donne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    F2F1F6F7F7F3F2F1F0F0F0F160F0F160F0F160F0F04BF0F04B
    F0F04BF0F0F0F0F0F0F2F0F0F860F0F460F1F460F1F84BF2F9
    4BF4F74BF7F8F5F0F0F0F0F0F0F160F0F160F0F160F0F04BF0
    F04BF0F04BF0F0F0F0F0F0000001282F0F4040404040404040
    Merci a tous.

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 97
    Points : 79
    Points
    79
    Par défaut
    Mes excuses pour cette absence de qq heures et merci a tous.

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

Discussions similaires

  1. variable dans requete SQL pour delphi
    Par socooooool dans le forum Bases de données
    Réponses: 9
    Dernier message: 25/01/2013, 11h27
  2. requete sql pour bd access97 a tables multiples
    Par waspy59 dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 16/03/2006, 00h11
  3. requete sql pour faire un classement
    Par beezee dans le forum Langage SQL
    Réponses: 2
    Dernier message: 04/03/2006, 13h03
  4. Requete sql pour création de table dans une base access
    Par Ben156 dans le forum Bases de données
    Réponses: 1
    Dernier message: 17/01/2006, 22h12
  5. Requete SQL pour Access
    Par heraieros dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 13/01/2006, 14h15

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