IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

using CEE3DLY to delay


IBM Mainframe Forums -> All Other Mainframe Topics
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
jerryte

Active User


Joined: 29 Oct 2010
Posts: 202
Location: Toronto, ON, Canada

PostPosted: Thu Apr 14, 2011 5:10 am
Reply with quote

Has anyone used the LE routine CEE3DLY to invoke a delay in a program? Any problems or bad experiences with it?
Back to top
View user's profile Send private message
Bill O'Boyle

CICS Moderator


Joined: 14 Jan 2008
Posts: 2501
Location: Atlanta, Georgia, USA

PostPosted: Thu Apr 14, 2011 6:02 am
Reply with quote

Introduced with z/OS 1.9, CEE3DLY uses seconds for the DELAY interval, whereas, CEE3DLYM uses milliseconds for the DELAY interval.

Not aware of any issues, but the more finite the interval (milliseconds), the more you're in control.

1 second = 1000 milliseconds.

Bill
Back to top
View user's profile Send private message
jerryte

Active User


Joined: 29 Oct 2010
Posts: 202
Location: Toronto, ON, Canada

PostPosted: Thu Apr 14, 2011 6:46 pm
Reply with quote

Thanks. I checked the reference manual. The other routine is called CEEDLYM. Not sure why IBM decided to drop the "3" out of the name.
Back to top
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6966
Location: porcelain throne

PostPosted: Thu Apr 14, 2011 6:56 pm
Reply with quote

keep the program name to 7 chars.
Back to top
View user's profile Send private message
vadim vashchenko

New User


Joined: 21 Mar 2011
Posts: 13
Location: usa

PostPosted: Thu Apr 14, 2011 7:37 pm
Reply with quote

Works with no problems in batch. I know I can call it from CICS, but EXEC CICS DELAY is more convenient... icon_smile.gif
Back to top
View user's profile Send private message
Bill O'Boyle

CICS Moderator


Joined: 14 Jan 2008
Posts: 2501
Location: Atlanta, Georgia, USA

PostPosted: Thu Apr 14, 2011 8:14 pm
Reply with quote

I would NOT encourage usage of a DELAY API in CICS, although there are times when there is no other choice.

In the CICS DELAY, the minimum interval is one second, which is an eternity in CICS.

Having said this, I have never tried to use CEEDLYM in CICS, which has a millisecond interval. But, in a CICS DELAY API, another asynchronous task can CANCEL this DELAY early, via the DELAYED Tasks REQID and TRANSID, which needs to be known by the asynchronous task. That would be ideal to prematurely cancel the DELAY. You want throughput to be as quick and uninterrupted in CICS.

Just my 2 cents....

Bill
Back to top
View user's profile Send private message
surya anem

New User


Joined: 20 Dec 2007
Posts: 54
Location: Hyderabad

PostPosted: Tue Jun 21, 2011 11:32 am
Reply with quote

Hi,

I am using this service CEE3DLY for issuing a wait in my cobol program. It seems to be working fine as expected.

But i have found the following definition in the IBM workshop "CEE3DLY provides a service for Language Environment-conforming applications that suspends the processing of the active enclave for a specified number of seconds."

Can you please let me know what an active enclave is?

If i am using a cobol program and JCL, is it just that the job waits for the specified time.

Thanks,
Surya
Back to top
View user's profile Send private message
Anuj Dhawan

Superior Member


Joined: 22 Apr 2006
Posts: 6250
Location: Mumbai, India

PostPosted: Tue Jun 21, 2011 6:47 pm
Reply with quote

surya anem wrote:
Can you please let me know what an active enclave is?
"enclave" means A distinctly bounded area enclosed within a larger unit -- so if you're using a sub-program (PGMSURYA), for instance, to issue the delay then, when PGMSURYA is called, this sub-program, PGMSURYA, is active, in memory, so it's an "active enclave" for the given process.

They are manuals, so they try to use general-terms.

Hope this helps.
Back to top
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6966
Location: porcelain throne

PostPosted: Tue Jun 21, 2011 6:58 pm
Reply with quote

possibly an IBM manual's definition of enclave would be more helpful.

here is another reference to enclave in the same manual.

and last but not lease, a search list for enclave in the Programming Guide.
Back to top
View user's profile Send private message
Bill O'Boyle

CICS Moderator


Joined: 14 Jan 2008
Posts: 2501
Location: Atlanta, Georgia, USA

PostPosted: Tue Jun 21, 2011 7:58 pm
Reply with quote

In issuing a DELAY in CICS (using the CICS-API), you can specify a well-known "REQID". With that, another concurrent task can CANCEL this DELAY early, using the REQID instead of waiting until the DELAY interval expires.

Of course, the issuing task can't cancel itself.... icon_wink.gif

Bill
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8696
Location: Dubuque, Iowa, USA

PostPosted: Tue Jun 21, 2011 9:23 pm
Reply with quote

The Workload Manager manual defines it as
Quote:
enclave. A transaction that can span multiple dispatchable units (SRBs and tasks) in one or more address spaces and is reported on and managed as a unit.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> All Other Mainframe Topics

 


Similar Topics
Topic Forum Replies
No new posts Limiting delay with GETMSG CLIST & REXX 11
No new posts Control-M Delay All Other Mainframe Topics 0
No new posts CICS program with Delay question CICS 5
No new posts Add delay in External stored procedure DB2 1
No new posts Is there any command in Cobol (Batch ... COBOL Programming 11
Search our Forums:

Back to Top