Exécution d'un Select sans SQL
Remarques :

Pour exécuter une requête, il existe plusieurs méthodes :
1. SQL embarqué
2. RUNSQLSTM

Ces deux méthodes ne permettent pas de faire des SELECT

Il existe une troisième méthode qui consiste à utiliser Query Manager.

1) Création du fichier source :

CRTSRCPF FILE(QQMQRYSRC) RCDLEN(79)

Ce fichier contient les requêtes QM à exécuter.

2) Création de la requête :

Par pdm créez un membre REQ dans le fichier QQMQRYSRC

Saisissez une ligne : &REQ0&REQ1&REQ2&REQ3&REQ4&REQ5&REQ6&REQ7&REQ8&REQ9

3) Compilation de la requête :

CRTQMQRY QMQRY(REQ)

4) Exécution de la commande :

STRQMQRY QMQRY(REQ) SETVAR((REQ0 valeur0 ) (REQ1 valeur1) +
(REQ2 valeur2) (REQ3 valeur3) +
(REQ4 valeur4) (REQ5 valeur5) +
(REQ6 valeur6) (REQ7 valeur7) +
(REQ8 valeur8) (REQ9 valeur9))

5) Automatisation :

Le programme :

PGM
DCL &REQ0 *CHAR 55
DCL &REQ1 *CHAR 55
DCL &REQ2 *CHAR 55
DCL &REQ3 *CHAR 55
DCL &REQ4 *CHAR 55
DCL &REQ5 *CHAR 55
DCL &REQ6 *CHAR 55
DCL &REQ7 *CHAR 55
DCL &REQ8 *CHAR 55
DCL &REQ9 *CHAR 55
DCLF RUNSQLE
BOUCLE:
SNDRCVF RCDFMT(FMT01)
IF (&IN03) GOTO FIN
IF (&IN05) THEN(DO)
CHGVAR &REQ0 %SST(&REQ 1 55)
CHGVAR &REQ1 %SST(&REQ 56 55)
CHGVAR &REQ2 %SST(&REQ 111 55)
CHGVAR &REQ3 %SST(&REQ 166 55)
CHGVAR &REQ4 %SST(&REQ 221 55)
CHGVAR &REQ5 %SST(&REQ 276 55)
CHGVAR &REQ6 %SST(&REQ 331 55)
CHGVAR &REQ7 %SST(&REQ 386 55)
CHGVAR &REQ8 %SST(&REQ 441 55)
CHGVAR &REQ9 %SST(&REQ 496 55)
STRQMQRY QMQRY(REQ) SETVAR((REQ0 &REQ0) (REQ1 &REQ1) +
(REQ2 &REQ2) (REQ3 &REQ3) +
(REQ4 &REQ4) (REQ5 &REQ5) +
(REQ6 &REQ6) (REQ7 &REQ7) +
(REQ8 &REQ8) (REQ9 &REQ9))
MONMSG CPF0000 EXEC(DO)
DSPJOBLOG
ENDDO
ENDDO
GOTO BOUCLE
FIN:
ENDPGM

L'écran :

A DSPSIZ(24 80 *DS3)
A R FMT01
A CA03(03 'exit')
A CF05(05 'Exécuter')
A 1 28'Exécution d''une requête SQL'
A DSPATR(RI)
A 11 1'Requête :'
A REQ 550 B 11 11
A CHECK(LC)
A 22 2'F3=Exit'
A 22 11'F5=Exécuter'

PLB