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 :

Ecriture d'un CLP


Sujet :

AS/400

  1. #21
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 375
    Points : 173
    Points
    173
    Par défaut
    Pour valider la procédure j'ai généré deux spool avec deux users X et Y puis j'ai lancé la commande avec les options suivantes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DLTSPLF FILE(QPDSPAJB) JOB(*) SPLNBR(*LAST) SELECT(*ALL)
    Le delete ce fait que sur la session ou je passe la commande

    Merci à tous Bon week-end

  2. #22
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 375
    Points : 173
    Points
    173
    Par défaut
    Bonjour à tous,

    J’ai un gros souci avec mon pgm de requête, lorsque j’exécute celui-ci en batch (RUNSQLSTM) et que j’ouvre une session STRSQL pour voir le résultat je fais un Select de mon fichier et la mauvaise surprise il n’y a aucune modification de mon fichier.
    Pourquoi ne passe t-il pas au minimum dans les drop des tables ????
    Le spool ne me dit pas grand chose voir ci-joint

    Par contre lorsque j’effectue les même requêtes mais en interactif le résultat et correct (sous STRSQL).

    J’ai un message sur ma console interactif (STRSQL) qui me dit ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select * from MABIB/LISTEUSERS                    
    LISTEUSERS in MABIB type *FILE not found.         
    Session was saved and started again.                  
    Current connection is to relational database D101AB3F.
    Le rapport du Spool :

    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    5722SS1 V5R4M0 060210               Run SQL Statements             SQLUSERACT                         29/09/09 08:18:08   Page   1 
    Source file...............MABIB/QCLSRC                                                                                         
    Member....................SQLUSERACT                                                                                               
    Commit....................*NONE                                                                                                    
    Naming....................*SYS                                                                                                     
    Generation level..........30                                                                                                       
    Date format...............*JOB                                                                                                     
    Date separator............*JOB                                                                                                     
    Time format...............*HMS                                                                                                     
    Time separator ...........*JOB                                                                                                     
    Default collection........*NONE                                                                                                    
    IBM SQL flagging..........*NOFLAG                                                                                                  
    ANS flagging..............*NONE                                                                                                    
    Decimal point.............*JOB                                                                                                     
    Sort sequence.............*JOB                                                                                                     
    Language ID...............*JOB                                                                                                     
    Printer file..............*LIBL/QSYSPRT                                                                                            
    Source file CCSID.........37                                                                                                       
    Job CCSID.................65535                                                                                                    Statement processing......*RUN                                                                                                     
    Allow copy of data........*OPTIMIZE                                                                                                
    Allow blocking............*ALLREAD                                                                                                 
    SQL rules.................*DB2                                                                                                     
    Decimal result options:                                                                                                            
      Maximum precision.......31                                                                                                       
      Maximum scale...........31                                                                                                       
      Minimum divide scale....0                                                                                                        
    Source member changed on 29/09/09  08:14:26                                                                                        
    5722SS1 V5R4M0 060210               Run SQL Statements             SQLUSERACT                         29/09/09 08:18:08   Page   2 
    Record  *...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... 8   SEQNBR  Last change                     
          1 /* Decoupage du fichier resultant de la commande WRKACTJOB a partir du Nom de Jo                                           
          2 DROP TABLE MABIB/TEMPLISTE RESTRICT;                                                                                   
          3 CREATE TABLE MABIB/TEMPLISTE (USERJOB CHAR (14 ) NOT NULL WITH DEFAULT);                                               
          4 INSERT INTO MABIB/TEMPLISTE SELECT SUBSTR(LSTUSRTEMP,4,12) as USERJOB                                                  
          5  FROM MABIB/LSTUSRSACT;                                                                                                
          6                                                                                                                            
          7 /* Suppression des lignes contenant des blancs */                                                                          
          8 /* DROP TABLE MABIB/LISTEUSERS RESTRICT; */                             
           9 CREATE TABLE MABIB/LISTEUSERS (USERJOB CHAR (14 ) NOT NULL WITH DEFAULT);                               
          10 INSERT INTO MABIB/LISTEUSERS SELECT SUBSTR(USERJOB,1,10) as USERJOB                                     
          11  FROM MABIB/TEMPLISTE WHERE NOT USERJOB = ' ';                                                          
          12  DROP TABLE MABIB/LISTETEMP RESTRICT;                                                                   
                                      * * * * *  E N D  O F  S O U R C E  * * * * *                                      
     SQL0011  30       1  Position 1 Comment not closed.                                                                 
                         Message Summary                                                                                 
       Total     Info   Warning      Error   Severe  Terminal                                                            
           1        0         0          0        1         0                                                            
     30 level severity errors found in source                                                                            
                                     * * * * *  E N D  O F  L I S T I N G  * * * * *
    Avez vous une idée sur la cause de mon problème.

    Merci beaucoup.

  3. #23
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France, Morbihan (Bretagne)

    Informations forums :
    Inscription : Février 2009
    Messages : 92
    Points : 116
    Points
    116
    Par défaut
    A la fin de ta 1ère ligne de commentaires , il te manque */ pour le fermer

    Dans le spool
    1 Position 1 Comment not closed.

  4. #24
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    821
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2008
    Messages : 821
    Points : 1 084
    Points
    1 084
    Par défaut
    Le mieux pour mettre des commentaires dans un SQL est --
    Comme ça, pas d'oubli des tags fermantes :

    -- Decoupage du fichier resultant de la commande WRKACTJOB
    -- a partir du Nom de Job
    DROP TABLE MABIB/TEMPLISTE RESTRICT;
    CREATE TABLE MABIB/TEMPLISTE (USERJOB CHAR (14 ) NOT NULL WITH DEFAULT);
    INSERT INTO MABIB/TEMPLISTE SELECT SUBSTR(LSTUSRTEMP,4,12) as USERJOB
    FROM MABIB/LSTUSRSACT;
    -- Suppression des lignes contenant des blancs
    -- DROP TABLE MABIB/LISTEUSERS RESTRICT;
    CREATE TABLE MABIB/LISTEUSERS (USERJOB CHAR (14 ) NOT NULL WITH DEFAULT);
    ...

  5. #25
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 375
    Points : 173
    Points
    173
    Par défaut
    Slt SIMKA1000 et K2R400 merci

    Dac pour les --
    Par contre pour mon problème ça veut dire que le commentaire à un nombre de caractère max puisque le résultat du spool me la tronquée
    J'ai fait la modif de mon pgm et la plus de pb je le serais pour la prochaine fois

  6. #26
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 375
    Points : 173
    Points
    173
    Par défaut
    Dans mon cl j'ai mis des dltf de fichiers si les fichiers sont absents le pgm ce plante y a t-il un moyen d'éviter ce plantage en cas d'absence des fichiers
    Pour info j'utilise l'ordre call pour le lancer comme vous me lavez indiqué

  7. #27
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    821
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2008
    Messages : 821
    Points : 1 084
    Points
    1 084
    Par défaut
    sur une ligne de commande, si tu tapes DLTF kdsksk/kflsdlsfd
    il va te renvoyer un message d'erreur sur la ligne de commande du genre
    Bibliothèque kdsksk non trouvée.
    En faisant f1 dessus tu verras en haut un CPF2110.
    Maintenant si tu fais un dltf QSYS2/kkkk tu verras en bas de l'ecran un message
    Objet kkkk de QSYS2 * file non trouvé.
    F1 aide et tu vois CPF2105.

    Les messages sont codifiés sous la forme AAAnnyy
    AAA généralement CPF mais aussi CPD, SQL etc....
    et nn puis yy deux numéros distincts qui représentent le N° de message pour un AAA particulier.

    Dans un CLP, tu peux éviter les plantages en Monitorant les erreurs.
    Par exemple :

    DLTF mabib/monfic
    MONMSG MSGID(CPF2110 CPF2105)

    Ainsi, si un des deux messages est détecté, alors il ne plante pas.

    Mais par contre, si le fichier que tu comptes supprimer est utilisé par quelqu'un d'autre, ta commande plantera, car on ne peut supprimer un objet en cours d'utilisation.
    Le système renvoie un CPF2114 Impossible d'allouer objet....

    Pour ne pas planter avec tous les messages CPF21xxx tu peux coder

    DLTF mabib/monfic
    MONMSG MSGID(CPF2100)

    ainsi tous les messages d'erreurs commencant par CPF21 seront monitorés.
    Si tu veux monitorer tous les messages quels qu'ils soient :

    DLTF mabib/monfic
    MONMSG MSGID(CPF0000)

    Tu peux voir la description des messages systèmes en tapant
    wrkmsgf qcpfmsg

    ou même

    WRKMSGF MSGF(*ALL) puis option 12 devant celui qui t'interresse.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. lecture/ecriture des broches RTS/CTS du port RS232
    Par .:: sly51 ::. dans le forum C
    Réponses: 3
    Dernier message: 24/10/2006, 15h28
  2. problem lors de l'ecriture d'un fichier
    Par gemai dans le forum C
    Réponses: 20
    Dernier message: 29/08/2003, 15h01
  3. Lecture et ecriture fichier .ini
    Par despe dans le forum C
    Réponses: 6
    Dernier message: 23/07/2003, 20h40
  4. Ecriture d'une procedure stockée XP
    Par WOLO Laurent dans le forum Langage SQL
    Réponses: 2
    Dernier message: 17/07/2003, 13h09
  5. Réponses: 13
    Dernier message: 14/06/2003, 22h15

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