Fil d’Ariane du forum – Vous êtes ici :ForumForums techniques: AS/400*QMQRY
Vous devez vous identifier pour créer des messages et des sujets.

*QMQRY

Bonjour,

J'ai fait un STRQMQRY dans mon CLP qui me génére un fichier dans QTEMP (qui n'existe donc pas) avec un paramètre...

Mais ça ne marche pas... Avez-vous des idées ? Merci

Précise pourquoi ça ne marche pas en nous montrant par ex. le SQL de ton strqmqry et le CL qui va avec.
Fais donc des membres de type CLLE et non plus CLP qui te limite et est ancien désormais. Le coding CL ILE est identique au CLP mais offre beaucoup plus de possibilités.

----- Message d'origine -----
Bonjour,

J'ai fait un STRQMQRY dans mon CLP qui me génére un fichier dans QTEMP (qui n'existe donc pas) avec un paramètre...

Mais ça ne marche pas... Avez-vous des idées ? Merci

QSQLSRC/UPRQ001 compilé.

SELECT UPNUCOOP, UPPOINT, UPRATOLA, UPCOPACH, UPNUCHEP, UPNOMFIC,
UPNOMLON, UPNBPOIN, DATE(UPDEMPOI), DATE(UPRECPOI), DATE(UPREMPOI),
DATE(UPTRTPOI), UPVISPOI
FROM UPTRCTRPF
WHERE UPRATOLA = &RATOLA)

QCLPSRC/UPRJ007 :

DCL VAR(&QUOTE) TYPE(*CHAR) LEN(4) VALUE('''')
DCL VAR(&VAR) TYPE(*CHAR) LEN(4)

CHGVAR VAR(&VAR) VALUE(&QUOTE *TCAT &RATOLA *TCAT +
&QUOTE)

STRQMQRY QMQRY(UPRQ001) OUTPUT(*OUTFILE) +
OUTFILE(QTEMP/TRACPOI) OUTMBR(*FIRST +
*REPLACE) SETVAR((RATOLA &VAR))

Message d'erreur :
ID message . . . . . . : CPA0701 Gravité . . . . . . . : 99
Type de message . . . : Interrogation
Date d'envoi . . . . . : 24/10/06 Heure d'envoi . . . . : 14:37:17

Message . . . . : Message QWM2701 reçu par UPRJ007 à l'instruction 492. (C D
I R)
Cause . . . . . : Le programme CL (langage de contrôle) UPRJ007 de la
bibliothèque RLND9_04_G a trouvé une erreur à l'instruction numéro 492. Le
texte du message QWM2701 est le suivant : La commande STRQMQRY a échoué..
Que faire . . . : Il est possible d'éviter ce message d'interrogation en
modifiant le programme. Utilisez la commande de contrôle de message (MONMSG)
et corrigez l'erreur dans le programme. Choisissez un code réponse pour
continuer.
MESSAGE-
Déplacement espace X'00FFEFFF' ou X'0000000000000000' hors espace de l'objet PARSGP5 ASTEST1 369549.

Et personne dans ma boite ne peux me répondre...

As-tu une idée Philippe ?

----- Message d'origine -----
Précise pourquoi ça ne marche pas en nous montrant par ex. le SQL de ton strqmqry et le CL qui va avec.
Fais donc des membres de type CLLE et non plus CLP qui te limite et est ancien désormais. Le coding CL ILE est identique au CLP mais offre beaucoup plus de possibilités.

----- Message d'origine -----
Bonjour,

J'ai fait un STRQMQRY dans mon CLP qui me génére un fichier dans QTEMP (qui n'existe donc pas) avec un paramètre...

Mais ça ne marche pas... Avez-vous des idées ? Merci

Voui. Ce strqmqry est une pure horreur ! C'est chaque fois la même histoire avec les passages de paramètres alphanumériques car tu dois prévoir la place des quotes dans ta variable et de plus doubler les quotes de part et d'autre de la valeur :

DCL VAR(&VAR) TYPE(*CHAR) LEN( 10 )

CHGVAR VAR(&VAR) VALUE(&QUOTE *TCAT &quote *cat &RATOLA *TCAT &quote *cat &QUOTE)

ça devrait marcher, mais j'ai pas testé...

----- Message d'origine -----
QSQLSRC/UPRQ001 compilé.

SELECT UPNUCOOP, UPPOINT, UPRATOLA, UPCOPACH, UPNUCHEP, UPNOMFIC,
UPNOMLON, UPNBPOIN, DATE(UPDEMPOI), DATE(UPRECPOI), DATE(UPREMPOI),
DATE(UPTRTPOI), UPVISPOI
FROM UPTRCTRPF
WHERE UPRATOLA = &RATOLA)

QCLPSRC/UPRJ007 :

DCL VAR(&QUOTE) TYPE(*CHAR) LEN(4) VALUE('''')
DCL VAR(&VAR) TYPE(*CHAR) LEN(4)

CHGVAR VAR(&VAR) VALUE(&QUOTE *TCAT &RATOLA *TCAT +
&QUOTE)

STRQMQRY QMQRY(UPRQ001) OUTPUT(*OUTFILE) +
OUTFILE(QTEMP/TRACPOI) OUTMBR(*FIRST +
*REPLACE) SETVAR((RATOLA &VAR))

Message d'erreur :
ID message . . . . . . : CPA0701 Gravité . . . . . . . : 99
Type de message . . . : Interrogation
Date d'envoi . . . . . : 24/10/06 Heure d'envoi . . . . : 14:37:17

Message . . . . : Message QWM2701 reçu par UPRJ007 à l'instruction 492. (C D
I R)
Cause . . . . . : Le programme CL (langage de contrôle) UPRJ007 de la
bibliothèque RLND9_04_G a trouvé une erreur à l'instruction numéro 492. Le
texte du message QWM2701 est le suivant : La commande STRQMQRY a échoué..
Que faire . . . : Il est possible d'éviter ce message d'interrogation en
modifiant le programme. Utilisez la commande de contrôle de message (MONMSG)
et corrigez l'erreur dans le programme. Choisissez un code réponse pour
continuer.
MESSAGE-
Déplacement espace X'00FFEFFF' ou X'0000000000000000' hors espace de l'objet PARSGP5 ASTEST1 369549.

Et personne dans ma boite ne peux me répondre...

As-tu une idée Philippe ?

----- Message d'origine -----
Précise pourquoi ça ne marche pas en nous montrant par ex. le SQL de ton strqmqry et le CL qui va avec.
Fais donc des membres de type CLLE et non plus CLP qui te limite et est ancien désormais. Le coding CL ILE est identique au CLP mais offre beaucoup plus de possibilités.

----- Message d'origine -----
Bonjour,

J'ai fait un STRQMQRY dans mon CLP qui me génére un fichier dans QTEMP (qui n'existe donc pas) avec un paramètre...

Mais ça ne marche pas... Avez-vous des idées ? Merci

Suis partie en congés qq jours.

Il semblerait que ce soit des lignes de commentaires "/***" sans "**/" de fin qui aient causé le désordre mais on ne le saura pas car pas pû le vérifier !

Ca marche.

Sinon pour les paramètres numériques déclarés en alpha il faut les mettre entre 3 quote : ''' MaVar '''.

----- Message d'origine -----
Voui. Ce strqmqry est une pure horreur ! C'est chaque fois la même histoire avec les passages de paramètres alphanumériques car tu dois prévoir la place des quotes dans ta variable et de plus doubler les quotes de part et d'autre de la valeur :

DCL VAR(&VAR) TYPE(*CHAR) LEN( 10 )

CHGVAR VAR(&VAR) VALUE("E *TCAT "e *cat &RATOLA *TCAT "e *cat "E)

ça devrait marcher, mais j'ai pas testé...

----- Message d'origine -----
QSQLSRC/UPRQ001 compilé.

SELECT UPNUCOOP, UPPOINT, UPRATOLA, UPCOPACH, UPNUCHEP, UPNOMFIC,
UPNOMLON, UPNBPOIN, DATE(UPDEMPOI), DATE(UPRECPOI), DATE(UPREMPOI),
DATE(UPTRTPOI), UPVISPOI
FROM UPTRCTRPF
WHERE UPRATOLA = &RATOLA)

QCLPSRC/UPRJ007 :

DCL VAR("E) TYPE(*CHAR) LEN(4) VALUE('''')
DCL VAR(&VAR) TYPE(*CHAR) LEN(4)

CHGVAR VAR(&VAR) VALUE("E *TCAT &RATOLA *TCAT +
"E)

STRQMQRY QMQRY(UPRQ001) OUTPUT(*OUTFILE) +
OUTFILE(QTEMP/TRACPOI) OUTMBR(*FIRST +
*REPLACE) SETVAR((RATOLA &VAR))

Message d'erreur :
ID message . . . . . . : CPA0701 Gravité . . . . . . . : 99
Type de message . . . : Interrogation
Date d'envoi . . . . . : 24/10/06 Heure d'envoi . . . . : 14:37:17

Message . . . . : Message QWM2701 reçu par UPRJ007 à l'instruction 492. (C D
I R)
Cause . . . . . : Le programme CL (langage de contrôle) UPRJ007 de la
bibliothèque RLND9_04_G a trouvé une erreur à l'instruction numéro 492. Le
texte du message QWM2701 est le suivant : La commande STRQMQRY a échoué..
Que faire . . . : Il est possible d'éviter ce message d'interrogation en
modifiant le programme. Utilisez la commande de contrôle de message (MONMSG)
et corrigez l'erreur dans le programme. Choisissez un code réponse pour
continuer.
MESSAGE-
Déplacement espace X'00FFEFFF' ou X'0000000000000000' hors espace de l'objet PARSGP5 ASTEST1 369549.

Et personne dans ma boite ne peux me répondre...

As-tu une idée Philippe ?

----- Message d'origine -----
Précise pourquoi ça ne marche pas en nous montrant par ex. le SQL de ton strqmqry et le CL qui va avec.
Fais donc des membres de type CLLE et non plus CLP qui te limite et est ancien désormais. Le coding CL ILE est identique au CLP mais offre beaucoup plus de possibilités.

----- Message d'origine -----
Bonjour,

J'ai fait un STRQMQRY dans mon CLP qui me génére un fichier dans QTEMP (qui n'existe donc pas) avec un paramètre...

Mais ça ne marche pas... Avez-vous des idées ? Merci

Je n'avais pas entièrement tord, ni entièrement raison !
C'était mes lignes de commentaires qui étaient en cause mais j'avais bien mis les symboles de fin !
/*----------------*/ : Ce sont les tirets qui ont mis le désordre dans l'interprétation ! Je le saurai maintenant

----- Message d'origine -----
Suis partie en congés qq jours.

Il semblerait que ce soit des lignes de commentaires "/***" sans "**/" de fin qui aient causé le désordre mais on ne le saura pas car pas pû le vérifier !

Ca marche.

Sinon pour les paramètres numériques déclarés en alpha il faut les mettre entre 3 quote : ''' MaVar '''.

----- Message d'origine -----
Voui. Ce strqmqry est une pure horreur ! C'est chaque fois la même histoire avec les passages de paramètres alphanumériques car tu dois prévoir la place des quotes dans ta variable et de plus doubler les quotes de part et d'autre de la valeur :

DCL VAR(&VAR) TYPE(*CHAR) LEN( 10 )

CHGVAR VAR(&VAR) VALUE("E *TCAT "e *cat &RATOLA *TCAT "e *cat "E)

ça devrait marcher, mais j'ai pas testé...

----- Message d'origine -----
QSQLSRC/UPRQ001 compilé.

SELECT UPNUCOOP, UPPOINT, UPRATOLA, UPCOPACH, UPNUCHEP, UPNOMFIC,
UPNOMLON, UPNBPOIN, DATE(UPDEMPOI), DATE(UPRECPOI), DATE(UPREMPOI),
DATE(UPTRTPOI), UPVISPOI
FROM UPTRCTRPF
WHERE UPRATOLA = &RATOLA)

QCLPSRC/UPRJ007 :

DCL VAR("E) TYPE(*CHAR) LEN(4) VALUE('''')
DCL VAR(&VAR) TYPE(*CHAR) LEN(4)

CHGVAR VAR(&VAR) VALUE("E *TCAT &RATOLA *TCAT +
"E)

STRQMQRY QMQRY(UPRQ001) OUTPUT(*OUTFILE) +
OUTFILE(QTEMP/TRACPOI) OUTMBR(*FIRST +
*REPLACE) SETVAR((RATOLA &VAR))

Message d'erreur :
ID message . . . . . . : CPA0701 Gravité . . . . . . . : 99
Type de message . . . : Interrogation
Date d'envoi . . . . . : 24/10/06 Heure d'envoi . . . . : 14:37:17

Message . . . . : Message QWM2701 reçu par UPRJ007 à l'instruction 492. (C D
I R)
Cause . . . . . : Le programme CL (langage de contrôle) UPRJ007 de la
bibliothèque RLND9_04_G a trouvé une erreur à l'instruction numéro 492. Le
texte du message QWM2701 est le suivant : La commande STRQMQRY a échoué..
Que faire . . . : Il est possible d'éviter ce message d'interrogation en
modifiant le programme. Utilisez la commande de contrôle de message (MONMSG)
et corrigez l'erreur dans le programme. Choisissez un code réponse pour
continuer.
MESSAGE-
Déplacement espace X'00FFEFFF' ou X'0000000000000000' hors espace de l'objet PARSGP5 ASTEST1 369549.

Et personne dans ma boite ne peux me répondre...

As-tu une idée Philippe ?

----- Message d'origine -----
Précise pourquoi ça ne marche pas en nous montrant par ex. le SQL de ton strqmqry et le CL qui va avec.
Fais donc des membres de type CLLE et non plus CLP qui te limite et est ancien désormais. Le coding CL ILE est identique au CLP mais offre beaucoup plus de possibilités.

----- Message d'origine -----
Bonjour,

J'ai fait un STRQMQRY dans mon CLP qui me génére un fichier dans QTEMP (qui n'existe donc pas) avec un paramètre...

Mais ça ne marche pas... Avez-vous des idées ? Merci