View previous topic :: View next topic
|
Author |
Message |
Surya Parija
New User
Joined: 29 Jun 2007 Posts: 2 Location: Mumbai
|
|
|
|
Hi All,
My CICS program goes into the loop.
When the loop is checking lesser occurences,then it's working fine
but incase of higher occurences it gives AICA abend.
So,Please let me how can we increase ICVR time limit in SIT.
Thanks in advance.. |
|
Back to top |
|
|
CICS Guy
Senior Member
Joined: 18 Jul 2007 Posts: 2146 Location: At my coffee table
|
|
|
|
You can only reset it during startup.....
Better idea:
Say 100 or less occurrences is fine but much more than that causes the AICA.....
During each occurrence, add one to a counter and when it exceeds to limit, talk to CICS, the ICVR time is reset and everybody is happy....
Then reset the counter and start looping again - until done or you reach the max again....
I just found this:
The CICS commands that do not cause tasks to wait include (but are not restricted to) ASKTIME, DEQ, ENQ, ENTER TRACENUM, FREEMAIN, HANDLE, RELEASE, TRACE ON/OFF.
By not waiting, the ICVR does not get reset...... |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
|
|
|
|
Hello,
Quote: |
When the loop is checking lesser occurences,then it's working fine
but incase of higher occurences it gives AICA abend |
How many "higher" causes the abend? How large might the array become?
I would not suggest finding a way to "trick" CICS into letting this run for huge amounts of time.
I would suggest looking at the code with the goal of making the code run more efficiently. If yoj post the array definition and how the array is being used, we may be able to offer alternatives. |
|
Back to top |
|
|
William Thompson
Global Moderator
Joined: 18 Nov 2006 Posts: 3156 Location: Tucson AZ
|
|
|
|
dick scherrer wrote: |
I would not suggest finding a way to "trick" CICS into letting this run for huge amounts of time. |
Aw, come'on Dick, surely you've been there....
Where I am now, a lot of online is a CICS screen handling program dynamically calling a COBOL batch "business" program that calls other modules. some non-CICS DB2 interfaces and some CICS programs...
Sometimes the amount of continuous CPU seconds can exceed the CICS (or monitor) timeout values....
Back in the "olden" days, we could always pop a "CHAP" and get the program re-listed on the queue....I wonder what is the best way now days to do the same.... |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
|
|
|
|
Well, yes, i've been there. . . .
[rant]
Many of the high-performance systems i've supported were quite serious about resource utilization - primarily the amount of memory needed and the amount of cpu time that was acceptable for a transaction. The rule was quite simple - if the transaction would not "fit", it had to run in batch. Amazing how much a "thing" can be improved/tuned when there are enforced limits.
Before such strict rules were implemented, they found that left unchecked, IT people would completely exhaust all of the system resources and that did a great dis-service to the real users - rather than the programmers. Said slightly different - slop will expand until the bucket is full.
[/rant]
|
|
Back to top |
|
|
Earl
Active User
Joined: 17 Jun 2007 Posts: 148 Location: oklahoma
|
|
|
|
loop through your table xxx number of times,
then
you can use 'EXEC CICS WAIT'
or
EXEC CICS SUSPEND'
then
continue loop, etc.. until done.
cics wait and cics suspend commands will let other tasks run, and
prevent AICA |
|
Back to top |
|
|
|