Joined: 04 Jan 2006 Posts: 11 Location: Scottsdale, AZ
I am trying to understand a block of code.
What is the behavior if the following happens…
Program performs a SPOOLOPEN OUTPUT, followed by a SPOOLWRITE and then a SYNCPOINT ROLLBACK. Does CICS perform an implicit SPOOLCLOSE KEEP or SPOOLCLOSE DELETE? The documentation implies that it does both.
Thx in advance.
Joined: 14 Jan 2008 Posts: 2504 Location: Atlanta, Georgia, USA
I'm not sure all of this is necessary. The SPOOOLWRITE writes the Target-Data to the Reader-Queue for subsequent submission (most of the time) as Batch JCL.
IMHO, the SYNCPOINT and SPOOLDELETE are unnecessary as the SPOOLCLOSE forces all the SPOOLWRITE's to the Reader for submission and you're done.
I'm unsure where the SPOOL Target-Data is saved after the SYNCPOINT, if saved at all. But the SPOOLDELETE (if explicitly invoked) concerns me. After an explicit SPOOLDELETE, is the SPOOL data still in the Reader?
I'll take your word for it that an implicit SPOOLDELETE is issued after a SPOOLCLOSE, although that seems strange. Perhaps it's issued at task termination, such as (for example) an explicit GETMAIN is issued at task start and explicitly freed at task termination via a FREEMAIN? I'm not sure.
A CICS Trace (via CICS System Transaction CETR) will provide step-by-step information for every CICS API (implicit or explicit) issued by the task.
Please consult with your CICS SYSPROG and/or Tech Support personnel, regarding the use of CETR. They might not be too happy if you invoked it on your own.
If your shop is using TMON, then CETR is defined to invoke a TMON replacement program associated with this transaction.