Contrôler la taille des résultats de QUERY400

Vous utilisez encore les QUERY/400 et vous souhaitez contrôler la taille du fichier en sortie ? Cette astuce peut vous être utile.

Lorsque vous choisissez en type de sortie un fichier base de données, par défaut, le fichier est taillé en *NOMAX. Il peut arriver qu’avec une mauvaise jointure que l’on atteigne le million d’enregistrements (voir le milliard). Si vous souhaitez limiter la taille de ce fichier en sortie, il vous suffit de créer une DTAARA dans QGPL avec comme nom QQUPRFOPTS puis de définir le nombre d’enregistrements maximum.

Création de la DTAARA :

CRTDTAARA DTAARA(QGPL/QQUPRFOPTS) TYPE(*CHAR) LEN(80)
             TEXT('Query/400 Options') AUT(*USE)    

Définition de la taille :

Dans l’exemple suivant, je choisis de limiter à 10000 enregistrements et de faire 3 incréments de 1000.

CHGDTAARA DTAARA(QGPL/QQUPRFOPTS (56 20))   
   VALUE('     10000 1000   3 ')

A l’exécution du QUERY, j’aurai le message suivant si je dépasse les 13 000 enregistrements :

Message dans QSYSOPR :

L’administrateur pourra donc décider d’augmenter la taille et/ou appeler l’utilisateur pour savoir s’il ne s’est pas trompé dans sa jointure.

Si jamais vous voulez supprimer le blocage temporairement pour un besoin ponctuel, vous pouvez mettre la DTAARA à blanc.

CHGDTAARA DTAARA(QGPL/QQUPRFOPTS *ALL) VALUE(' ')