Les QM.
Les QM peuvent être utilsés en batch (soummission) ou en interractif.
En sortie de type état, il est possible de générer des sorties ressemblant à des querys par SELECT avec un petit mieux qui est la possibilité de faire des sortes de feuilles de styles as400 pour mettre en forme les éditions et recyclables.
La commande RUNSQLSTM ne permet pas d'exécuter des ordres SQL avec sortie écran du type SELECT.
En résumé, RUNSQLSTM permet d'exécuter des UPDATE, DELETE, INSERT etc.
__________________________________________________________
Néammoins, il est possible de parvenir au même résultat en CL sans utiliser SQL, avec la commande OPNQRYF :
DCLF FILE(LE_FICHIER)
/* crée une substitution sur le fichier */
OVRDBF FILE(LE_FICHIER) SHARE(*YES)
/* ouvre une requête sur le fichier ordonnée selon la date */
OPNQRYF FILE((LE_FICHIER)) KEYFLD((LA_DATE)) +
OPNID(LE_FICHIER)
/* lit le premier enregistrement de la requête */
RCVF RCDFMT(LE_FORMAT)
/* appelle le programme avec la date du fichier la plus basse */
CALL PGM(LE_PROG) PARM(&LA_DATE)
/* ferme le fichier de requête et la substitution */
CLOF OPNID(LE_FICHIER)
DLTOVR FILE(LE_FICHIER)
Remarques
1. Le paramètre SHARE(*YES) est essentiel dans l'OVRDBF
2. Les commandes CLOF et DLTOVR doivent bien être exécutées, sinon, un autre appel au CL exécuté dans la même session plantera.
Les QM peuvent être utilsés en batch (soummission) ou en interractif.
En sortie de type état, il est possible de générer des sorties ressemblant à des querys par SELECT avec un petit mieux qui est la possibilité de faire des sortes de feuilles de styles as400 pour mettre en forme les éditions et recyclables.
La commande RUNSQLSTM ne permet pas d'exécuter des ordres SQL avec sortie écran du type SELECT.
En résumé, RUNSQLSTM permet d'exécuter des UPDATE, DELETE, INSERT etc.
__________________________________________________________
Néammoins, il est possible de parvenir au même résultat en CL sans utiliser SQL, avec la commande OPNQRYF :
DCLF FILE(LE_FICHIER)
/* crée une substitution sur le fichier */
OVRDBF FILE(LE_FICHIER) SHARE(*YES)
/* ouvre une requête sur le fichier ordonnée selon la date */
OPNQRYF FILE((LE_FICHIER)) KEYFLD((LA_DATE)) +
OPNID(LE_FICHIER)
/* lit le premier enregistrement de la requête */
RCVF RCDFMT(LE_FORMAT)
/* appelle le programme avec la date du fichier la plus basse */
CALL PGM(LE_PROG) PARM(&LA_DATE)
/* ferme le fichier de requête et la substitution */
CLOF OPNID(LE_FICHIER)
DLTOVR FILE(LE_FICHIER)
Remarques
1. Le paramètre SHARE(*YES) est essentiel dans l'OVRDBF
2. Les commandes CLOF et DLTOVR doivent bien être exécutées, sinon, un autre appel au CL exécuté dans la même session plantera.