IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

CICS Discussion :

MQSERIES et Execution CICS en asynchrone


Sujet :

CICS

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    November 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : November 2004
    Messages : 7
    Points : 6
    Points
    6
    Par défaut MQSERIES et Execution CICS en asynchrone
    Bonjour,

    Quelqu'un pourrait-il me proposer une solution pour lancer un programme CICS en asynchrone à partir de CICS ?

    Pour etre plus précis, je voudrais pouvoir lancer un programme CICS de maniére iteratif (en fonction d'un temps d'attente) afin de récupérer des données se trouvant des queues MQSERIES ?

    D'avance merci pour les réponses.

  2. #2
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    October 2005
    Messages
    1 473
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Finance

    Informations forums :
    Inscription : October 2005
    Messages : 1 473
    Points : 3 275
    Points
    3 275
    Par défaut
    Et pourquoi ne pas faire lancer la transaction CICS ( je suppose qu'il s'agit ici d'une transaction ici puisque CICS est cité ) par MQSeries lui même ?

    On parle de fonction TRIGGER et de TRIGGER MONITOR dans ce cas.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    December 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : December 2008
    Messages : 15
    Points : 11
    Points
    11
    Par défaut
    un trigger a Every (E) devrait faire l'affaire.
    La transaction va monter à chaque message déposé dans la file.

    sinon pourquoi pas :
    EXEC CICS START
    TRANSID('T1')
    INTERVAL(XXXXX)
    REQID('NG')
    ou
    EXEC CICS START
    TRANSID('T1')
    AFTER HOURS(X)
    REQID('NG')

    syntaxe :
    START
    >>-START--+------------------------------------+---------------->
    +-INTERVAL(hhmmss)-------------------+
    +-TIME(hhmmss)-----------------------+
    | .-------------------------. |
    | V | |
    +-AFTER----+-HOURS(data-value)---+-+-+
    | +-MINUTES(data-value)-+ |
    | '-SECONDS(data-value)-' |
    | .-------------------------. |
    | V | |
    '-AT----+-HOURS(data-value)---+-+----'
    +-MINUTES(data-value)-+
    '-SECONDS(data-value)-'

    >--TRANSID(name)--+-------------+------------------------------->
    '-REQID(name)-'

    >--+-------------------------------------+--+--------------+---->
    '-FROM(data-area)--LENGTH(data-value)-' '-TERMID(name)-'

    >--+-------------------+--+----------------+-------------------->
    '-SYSID(data-value)-' '-RTRANSID(name)-'

    >--+---------------+--+-------------+--+---------+-------------->
    '-RTERMID(name)-' '-QUEUE(name)-' '-NOCHECK-'

    >--+---------+-------------------------------------------------><
    '-PROTECT-'

    Conditions: INVREQ, IOERR, ISCINVREQ, LENGERR, NOTAUTH, SYSIDERR, TERMIDERR, TRANSIDERR

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    September 2004
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : September 2004
    Messages : 123
    Points : 146
    Points
    146
    Par défaut
    Tu peux utiliser aussi l'option MQGMO_WAIT au moment du get. Le get se met en attente jusqu'à ce que un message arrive et tu peux définir aussi un intervalle de temps d'attente. Une explicatin plus précise ci-dessous :

    Now, on to MQGET with WAIT

    With the trigger EVERY model, a new ECB is created for every message that arrives on the queue. Another application model is made possible with the introduction of support for the MQGMO_WAIT option on the MQGET API.


    What does it do?

    MQGET with the MQGMO_WAIT option set does just what the name implies. If there are no messages on the queue, you can then specify the WAIT option and MQSeries will suspend your ECB until either a message arrives or the time that you specified in the MQGMO WaitInterval field has lapsed. This flexibility allows applications to wait for a reasonable length of time for a message to arrive, but if it never shows up, the application is not left waiting indefinitely. Of course, if it does want to wait indefinitely, that option is available too; just set WaitInterval to MQWI_UNLIMITED. The only way that the application will get control back at that point is if a message arrives on the queue, the queue manager is stopped, or the queue is deleted.


    How do I use it?

    To use the WAIT option, an application needs to set the MQGMO_WAIT flag in the Options field of the MQGMO structure that is already passed on each MQGET call. It also needs to update the WaitInterval field to indicate, in milliseconds, how long the application should be suspended if there are no messages available when MQGET is issued.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    November 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : November 2004
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Bonjour,
    Merci pour les infos. Le clients a changer d'idée donc je n'ai pas pus mettre vos idées en pratiques. Cependant, je les garde sur le pouce, on ne sais jamais ....

    Cdt.

Discussions similaires

  1. Arreter l'execution d'une procedure stockée asynchrone
    Par Naruto_kun dans le forum Langages
    Réponses: 1
    Dernier message: 10/12/2013, 10h00
  2. Savoir la fin d'execution d'une fonction asynchrone
    Par winnyzeboss1 dans le forum C++
    Réponses: 9
    Dernier message: 20/03/2009, 15h46
  3. [VBA-E] - Execution asynchrone d'une fonction
    Par ChtiAuvergnat dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/03/2008, 19h31
  4. Réponses: 1
    Dernier message: 15/02/2008, 19h40
  5. execution asynchrone de procédure stockée
    Par Pol63 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 17/08/2007, 00h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo