Am working on a request which involves the following:
I will have a JCL which formats say 1000 records (inquiries) from a file and writes all the records to a MQ. Once it's done MQ will trigger an Online CICS tran/program (Say A) to read each inquiry and links to another program (B) which gets the response from an external source.
There will be a huge no. of transactions so EXCI is not employed.
Now my request is when Program A calls Program B, Program A should wait for 3 seconds for getting a response from Program B.
Program B can be called from different sources, it is like an outgoing gateway. So, when Program B is in delay for Source-1's request, if another request comes from Source-2 in the same time, will it be in a abnormal state that Source-2's transaction will fail?
I haven't used WAIT EVENT but I want to know if this can be employed here? Also, didn't find any good examples of WAIT EVENT.
Please advise on how to handle the above.
As we are at the initial state of development, any suggestions will be greatly appreciated.
Am working on a CICS programming request which involves the following:
When Program A calls Program B, Program A should wait for 3 seconds for getting a response from Program B.
Program A can be linked from different sources, it is like an outgoing gateway. So, when Program A is in delay for Source-1's request, if another request comes from Source-2 in the same time, will it be in a abnormal state that Source-2's transaction will fail?
I haven't used WAIT EVENT but I want to know if this can be employed here? Also, didn't find any good examples of WAIT EVENT.
Please advise on how to handle the above.
As we are at the initial state of development, any suggestions will be greatly appreciated.
Joined: 06 Jun 2008 Posts: 8696 Location: Dubuque, Iowa, USA
Why are you posting the same thing multiple times and in multiple places in this forum? This is a volunteer forum, and you may -- or may not -- get ANY answers to your question since replies are done if / when the responder has time and information about the question. You definitely will not get faster answers by posting the same question multiple times (actually, this will probably delay any responses as people don't want to be bothered with your lack of understanding of the rules).
Furthermore, your explanation is woefully inadequate to explain what you want. Is program A using EXEC CICS CALL or a program CALL or EXEC CICS XCTL or some other way of calling program B? If you use EXEC CICS CALL, for example, your question makes ABSOLUTELY no sense as program A will not get control back until program B completes and does an EXEC CICS RETURN -- so a DELAY of any sort won't help you and in fact most likely would not be needed.
I don't understand what source-1 and source-2 are, but CICS normally starts each program invoked via transaction with its own copy of working storage and so if the invocations are independent, the code should execute independently.
Why do you want to use WAIT EVENT? From the CICS Application Programming Reference manual:
Quote:
WAIT EVENT synchronizes a task with the completion of an event initiated by the same task or by another task. The event would normally be the posting, at the expiration time, of a timer-event control area provided in response to a POST command, as described in "POST" in topic 1.139. The WAIT EVENT command provides a method of directly relinquishing control to some other task until the event being waited on is completed. CICS includes the addresses of all ECBs passed by WAIT EVENT commands of current tasks in the ECBLIST passed by CICS to the WAIT facility when it runs out of work.
So what task are you trying to synchronize your work with? As I said, you haven't really explained what you are wanting to do in enough detail for us to answer you.