Kaillou, Forum AS400

Forum AS400 et de discussions


    QM et OPNQRYF sur AS400

    Partagez
    avatar
    Shewolf
    Admin

    Nombre de messages : 190
    Localisation : 91 idf
    Emploi : Analyste Réalisateur / Chef de Projets

    QM et OPNQRYF sur AS400

    Message par Shewolf le Mar 3 Juil - 17:48

    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.
    avatar
    Shewolf
    Admin

    Nombre de messages : 190
    Localisation : 91 idf
    Emploi : Analyste Réalisateur / Chef de Projets

    Re: QM et OPNQRYF sur AS400

    Message par Shewolf le Mar 3 Juil - 17:58

    Passer des paramètres à un QM :

    STRQMQRY QMQRY(yourlib/yourqry) +
    ALWQRYDFN(*YES) QMFORM(*QMQRY) +
    SETVAR((FROMDAT 19991124))

    Note that if the parameter to be
    passed is alpha, you must enclose
    the value in a set of triple quotes.
    For example:

    SETVAR((STATE ''' FL''')

    extrait de : http://faq.midrange.com/data/cache/106.html

    ElZikos
    Nouveau
    Nouveau

    Nombre de messages : 3
    Localisation : IBM/Ecully
    Emploi : Informatique

    Re: QM et OPNQRYF sur AS400

    Message par ElZikos le Mer 7 Jan - 16:35

    Une info toute fraiche "Made in IBM" (je l'ai appris hier!)

    Avec les versions 6 de l'OS400, QM va disparaitre... Donc éviter de développer de nouvelles applications avec que vous seriez obligé de réécrire Wink

    Contenu sponsorisé

    Re: QM et OPNQRYF sur AS400

    Message par Contenu sponsorisé


      La date/heure actuelle est Sam 23 Sep - 2:04