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

JCL - SORT Discussion :

Insert SQL par JCL


Sujet :

JCL - SORT

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Janvier 2003
    Messages
    339
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2003
    Messages : 339
    Par défaut Insert SQL par JCL
    Encore bonjour, décidemment, j'ai pas mal de questions !!!

    Je cherche à réaliser un INSERT SQL via un Step de JCL. J'ai utilisé l'utiltaire IKEFT01 mais il n'est pas installé ...

    Avez vous une solution à ce problème ? (autre que IKEFT01), j'utilise par exemple DSNUTILB pour les load, peut on s'en servir pour les INSERT et UPDATE ?

    Petite précision, en fait ce que je voudrais faire c'est insérer un enregistrement dans une table s'il n'existe pas, sinon, je voudrais le mettre à jour ... mais je ne vois pas trop comment coder ca en JCL (faire un select puis en fonction du code retour faire un insert ou update ?)

    Merci à vous.

  2. #2
    Membre éclairé Avatar de SPACHFR
    Profil pro
    Paaaaaa
    Inscrit en
    Février 2004
    Messages
    557
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Paaaaaa

    Informations forums :
    Inscription : Février 2004
    Messages : 557
    Par défaut
    T'es sur que c'est pas plutôt cet utilitaire : IKJEFT01

  3. #3
    Membre émérite Avatar de Peut-êtreUneRéponse
    Homme Profil pro
    IT Specialist - IBM Z
    Inscrit en
    Décembre 2006
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : IT Specialist - IBM Z
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2006
    Messages : 548
    Par défaut
    Sous MVS via JCL : de la même manière que tu utilises l'utilitaire LOAD par DSNUTILB pour faire tes chargements, tu peux utiliser l'utilitaire EXEC SQL.

    Il se code de la sorte en SYSIN :


    Code jcl : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     EXEC SQL 
         INSERT INTO toto 
             VALUES (...
                    ,...
                    ,...
                    ,...) 
    ENDEXEC

    Attention cet utilitaire est utilisable uniquement avec ALTER, COMMIT, CREATE, DELETE, DROP, EXPLAIN, GRANT, INSERT.

    .

  4. #4
    Membre émérite Avatar de Peut-êtreUneRéponse
    Homme Profil pro
    IT Specialist - IBM Z
    Inscrit en
    Décembre 2006
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : IT Specialist - IBM Z
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2006
    Messages : 548
    Par défaut
    En y réfléchissant un peu, bof bof comme utilisation!

    Que veux tu faire exactement, dans quel contexte ? Peut-être vaut-il mieux passer ta requête par programme ou bien via SPUFI ?

    .

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Janvier 2003
    Messages
    339
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2003
    Messages : 339
    Par défaut
    Pour utiliser certains batch de mon JCL, je dois inserer ou mettre à jour une ligne DB2 dans une table afin d'autoriser mon user et le nom de mon job à se lancer.

    C'est pourquoi avant de lancer le step de mon batch, je dois vérifier et mettre à jour (ou ajouter) cette fameuse ligne ...

    Je préfère donc automatiser car le JCL est parametrable pour pouvoir le changer d'environnement à volonté (et donc de table DB2 !)

    En revanche, pour ton premier poste qui stipule que je peux utiliser celui du LOAD, les fichiers SYSREC00 et SYSPUNCH sont-ils utiles ?

  6. #6
    Membre émérite Avatar de Peut-êtreUneRéponse
    Homme Profil pro
    IT Specialist - IBM Z
    Inscrit en
    Décembre 2006
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : IT Specialist - IBM Z
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2006
    Messages : 548
    Par défaut
    Il te suffit de ne conserver que la SYSPRINT pour vérifier le code SQL de ta requête dans ton compte rendu et la SYSIN elle même, soit:

    Code jcl : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    //STEP1    EXEC PGM=DSNUTILB,PARM='SSID,userID'
    //SYSPRINT DD SYSOUT=*                          
    //SYSIN    DD *
     EXEC SQL 
         INSERT INTO toto 
             VALUES (...
                    ,...
                    ,...
                    ,...) 
     ENDEXEC
    /*

    Les données contenu dans le paramètre PARM varient selon les normes du site.

    .

  7. #7
    Membre éclairé
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Janvier 2003
    Messages
    339
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2003
    Messages : 339
    Par défaut
    C'est OK merci beaucoup !!

    @+

  8. #8
    Membre éclairé
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Janvier 2003
    Messages
    339
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2003
    Messages : 339
    Par défaut
    Petite précision,

    Comment réaliser certaines requete de manière conditionnelle
    , c'est à dire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SELECT * FROM ....
    
    SI SQL CODE à 100 : 
       
       ALORS 
          INSERT INTO 
       
       SINON 
          UPDATE FROM ....
    Merci !!

  9. #9
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2005
    Messages
    1 473
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 473
    Par défaut
    Citation Envoyé par Antichoc Voir le message
    ... Comment réaliser certaines requete de manière conditionnelle ...
    Euh ... un programme peut-être ?

  10. #10
    Membre éclairé
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Janvier 2003
    Messages
    339
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2003
    Messages : 339
    Par défaut
    Merci mais c'est justement ce que je veux éviter ... Y a t il moyen de la coder en JCL ?

  11. #11
    Membre émérite Avatar de Peut-êtreUneRéponse
    Homme Profil pro
    IT Specialist - IBM Z
    Inscrit en
    Décembre 2006
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : IT Specialist - IBM Z
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2006
    Messages : 548
    Par défaut
    Comme Luc... par programme.

    .

  12. #12
    Membre éclairé
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Janvier 2003
    Messages
    339
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2003
    Messages : 339
    Par défaut
    Tampi, merci à vous !

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 07/05/2008, 15h02
  2. Insérer SQL par JCL
    Par Antichoc dans le forum DB2
    Réponses: 2
    Dernier message: 02/09/2007, 19h22
  3. Lenteur lors d'une insertion (sql server)
    Par shiners300 dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 16/09/2005, 09h09
  4. Réponses: 24
    Dernier message: 31/05/2005, 15h07
  5. Export sous forme d'INSERT SQL
    Par Kraken dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 04/09/2003, 11h40

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