|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : octobre 2007 Messages : 5 ![]() |
Bonjour,
je viens d'écrire un CL dans lequel j'exécute une requête SQL via QUERY MANAGER par la commande STRQMQRY. SELECT ALL CDSOC, CDQTEINV, CDPRIINV FROM TSOCIETE T01 WHERE CDSOC = &WCDSOC Est-il possible de récupérer les données en sortie de la requête (CDQTEINV et CDPRIINV) afin de faire un test sur ces dernières ? Si oui merci de m'indiquer la marche à suivre. |
|
|
00
|
|
|
#2 | ||||
|
Membre Expert
![]() Inscription : novembre 2004 Messages : 1 298 ![]() |
Il faut que le record set résultant du SELECT soit déposé quelque part, ici dans un fichier.
Marche à suivre 1/ Dans le fichier source QQMQRYSRC, remplacer le contenu du membre concerné par Code :
3/ Pour récupérer le contenu du fichier MATABLE, dans le CL faire Code :
|
||||
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : octobre 2007 Messages : 5 ![]() |
Bonjour Mercure,
merci pour ta réponse, malheureusement j'ai un problème lors de l'éxécution de la requête : Message . . . . : La commande RUN QUERY a échoué avec SQLCODE -104 Voici la requête : DELETE FROM DBCAPINT19/TSOCNEI; CREATE TABLE DBCAPINT19/TSOCNEI AS ( SELECT ALL CDSOC, CDQTEINV, CDPRIINV FROM DBCAPINT19/TSOCIETE T01 WHERE CDSOC = &WCDSOC ) WITH DATA; |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Inscription : novembre 2004 Messages : 1 298 ![]() |
Mettre le delete en commentaire la première fois, puis retirer les tirets du commentaire ensuite.
-- DELETE FROM DBCAPINT19/TSOCNEI; |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : octobre 2007 Messages : 5 ![]() |
Le fichier existe, il a été créé par la commande :
CRTPF FILE(DBCAPINT19/TSOCNEI) SRCFILE(DEVSRC/QDDSSRC) SRCMBR(SOCNEI) + IGCDTA(*NO) OPTION(*EVENTF) SIZE(250000 15000 10) |
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() Inscription : novembre 2004 Messages : 1 298 ![]() |
Coller ici le message correspondant au MSGID SQL0104.
Pour y accéder, faire tourner la requête puis faire F10 pour voir la joblog et les messages d'erreur. |
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : octobre 2007 Messages : 5 ![]() |
Bonjour, n'ayant pas réussi à debuguer mon problème je suis passé a autre chose.
Par contre j'y reviens aujourd'hui et je ne comprends toujours pas pourquoi j'ai le message suivant : La commande STRQMQRY a échoué. Voici ma requête et le CL qui va avec ! Requête : CREATE TABLE DBCAPINT19/TSOCNEI AS ( SELECT ALL CDSOC, CDQTEINV, CDPRIINV FROM DBCAPINT19/TSOCIETE T01 WHERE CDSOC = &SOC ) WITH DATA; CL : PGM /* INVVERCX : contrôle du contexte */ /********************************************************************/ /* Déclaration des variables */ /********************************************************************/ DCL VAR(&Q) TYPE(*CHAR) LEN(1) VALUE('''') DCL VAR(&SW1) TYPE(*CHAR) LEN(1) VALUE('0') DCL VAR(&WCDSOC) TYPE(*CHAR) LEN(3) VALUE('CAP') DCL VAR(&SOC) TYPE(*CHAR) LEN(5) DCL VAR(&WQTEINV) TYPE(*CHAR) LEN(1) DCL VAR(&WPRIINV) TYPE(*CHAR) LEN(1) CHGVAR VAR(&SOC) VALUE(&Q *CAT &WCDSOC *TCAT &Q) /********************************************************************/ /* compilation du membre avec CRTQMQRY */ /********************************************************************/ CRTQMQRY QMQRY(DEVSRC/WRKQRYNEI) SRCFILE(DEVSRC/QQMQRYSRC) + SRCMBR(INVVERCX) TEXT(*SRCMBRTXT) /********************************************************************/ /* exécution de la requête QQMQRYSRC/INVVERCX */ /********************************************************************/ STRQMQRY QMQRY(DEVSRC/WRKQRYNEI) SETVAR((CDSOC &SOC)) ENDPGM |
|
|
00
|
|
|
#8 | ||
|
Membre Expert
![]() Inscription : novembre 2004 Messages : 1 298 ![]() |
1/ Retirer le point-virgule de fin dans le membre source INVVERCX (C'est dans les procédures stockées qu'il en faut un pour limiter les instructions).
2/ Modifier la séquence suivante dans le CL Code :
|
||
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : octobre 2007 Messages : 5 ![]() |
Bonjour Mercure,
merci pour ton aide, ça marche enfin ! J'ai simplement supprimer le ; dans la requête et surtout dans SETVAR j'ai mis : SETVAR((SOC &SOC)) Ca marche, je suis content. Encore merci... |
|
|
00
|
|
|
#10 | ||
|
Membre du Club
![]() |
Le fait de passer output(*outfile) ne suffit-il pas?
Code :
|
||
|
|
00
|
|
|
#11 |
|
Membre Expert
![]() Inscription : novembre 2004 Messages : 1 298 ![]() |
si mais j'aurais voulu passer par une procédure stockée à la place du qmqry. A priori ça n'a pas été l'option retenue par le posteur initial.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com