> Tech > Débogage graphique de SQL Procédural

Débogage graphique de SQL Procédural

Tech - Par iTPro - Publié le 24 juin 2010
email

Voici les étapes de base pour rendre le débogueur graphique opérationnel pour une procédure stockée SQL :

  1. 1. Créez la procédure SQL avec la vue de débogage *SOURCE dans une session d'émulation. Dans ce cas, le code source pour la procédure SQL en figure 3 a été copié

dans un
membre de fichier physique source
appelé MYLIB/MYSRC(SPTEST).
Donc, vous exécutez la commande
RUNSQLSTM suivante pour créer la
procédure SQL avec le débogage au
niveau source debuggable :

RUNSQLSTM SRCFILE(MYLIB/MYSRC)
SRCMBR(SPTEST) COMMIT(*NONE)
NAMING(*SQL)

  • Démarrez le gestionnaire de débogage
    (Debug Manager) sur le client
    en émettant la commande suivante à 
    une invite MS-DOS :

    java utilities.DebugMgr

    Cela lance le gestionnaire de débogage
    graphique. Vous devez cliquer
    sur le menu déroulant Edit pour enregistrer
    votre ID et serveur iSeries
    pour une session de débogage graphique.
    Une fois l’enregistrement
    terminé, votre vue DebugMgr devrait
    se présenter comme dans la figure
    7.

  • Revenez à  la même session d’émulation
    où la procédure SQL a été
    créée. Démarrez le mode débogage
    pour la procédure SQL nouvellement
    créée avec la commande suivante
    :

    STRDBG PGM(SHIP_IT) UPDPROD(*YES)

    Cette commande fera démarrer
    l’iSeries Graphical Debugger sur
    votre client et va charger la vue de
    débogage au niveau source SQL
    pour la procédure stockée SHIP_IT
    de la figure 3.
    Remarque: Une procédure, fonction
    ou trigger SQL créé sans un nom de bibliothèque en utilisant iSeries
    Navigator ne peut pas être débogué
    au niveau source SQL à  l’aide du débogueur
    graphique parce que la vue
    de débogage *SOURCE est stockée
    dans QTEMP quand un nom de bibliothèque
    n’est pas précisé.

  • Définissez un point de rupture par
    un clic gauche sur la ligne 4 (IF ORDTYPE=’
    I’). Un point de rupture activé
    est indiqué par la flèche rouge
    que l’on voit en figure 4. Une fois le
    point de rupture défini, cliquez sur
    la flèche verte de relance sur la barre
    d’outils.

  • Revenez à  la session d’émulation et
    émettez l’instruction SQL CALL suivante
    en utilisant soit la commande
    RUNSQLSTM, soit Interactive SQL :

    CALL SHIP_IT(33, ‘I’, 5.1)

    Le client de débogage prendra le
    contrôle au point de rupture indiqué
    à  l’étape précédente. La figure 5
    montre comment le débogueur utilise
    la surbrillance jaune pour indiquer
    où l’exécution a été arrêtée
    pour le point de rupture.

  • Pour visualiser le contenu du paramètre
    d’entrée ORDTYPE pour déterminer
    quel tronçon de l’instruction
    IF sera exécuté, vous devez faire
    un clic gauche sur l’onglet Console
    dans l’angle inférieur gauche et entrer
    l’instruction EVAL suivante dans
    la fenêtre Command :

    EVAL *SHIP_IT.ORDTYPE

    Les contenus de cette variable sont
    ensuite affichés dans la fenêtre
    Console (figure 6). Vous pouvez afficher
    toutes les valeurs des paramètres
    de procédure en entrant simplement
    EVAL SHIP_IT.
    Quand vous utilisez le débogueur
    graphique sur les vues de débogage
    normales, des valeurs variables s’affichent
    automatiquement quand vous
    déplacez le curseur sur un nom de
    variable dans une ligne de code. Cet
    affichage à  la volée des variables
    n’est pas disponible avec la vue de débogage *SOURCE pour des procédures,
    fonctions et triggers SQL.

  • Pour visualiser le tarif d’expédition
    calculé avant que la procédure stockée
    ne se termine, faites un clic droit
    sur la ligne 11 et sélectionnez la
    tâche « Run to Cursor ». Cela permettra
    au débogueur d’exécuter
    tout le code jusqu’à  la ligne 11.
    Arrivé là , vous pourrez émettre la
    commande suivante dans la fenêtre
    Console pour afficher le tarif d’expédition
    calculé :

    EVAL SP.RATECALC

  • Pour boucler l’exécution de la procédure
    stockée SHIP_IT, cliquez simplement
    sur la flèche verte de relance
    sur la barre d’outils.
  • /ol>

    Téléchargez gratuitement cette ressource

    IBMi et Cloud : Table ronde Digitale

    IBMi et Cloud : Table ronde Digitale

    Comment faire évoluer son patrimoine IBMi en le rendant Cloud compatible ? Comment capitaliser sur des bases saines pour un avenir serein ? Faites le point et partagez l'expertise Hardis Group et IBM aux côtés de Florence Devambez, DSI d'Albingia.

    Tech - Par iTPro - Publié le 24 juin 2010