Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

CIRB as started transaction

69 views
Skip to first unread message

Frank Swarbrick

unread,
Jul 8, 2008, 8:33:23 PM7/8/08
to
I would like to do an EXEC CICS START to initiate the CIRB transaction to
start the DB2 Online Resource Adapter. This appears to not work, however,
if I need to specify any non-default options.

Here is some information about why I believe this to be the case. I can
enter just 'CIRB' from a terminal like so:

CIRB
ARI0410I Resource Adapter ARI0OLRM is enabled.
ARI0450I DB2 Server for VSE online support has an
entry point of 02466070. RMGL at 007C2004.
DRDA online support entry point at 02700000.
ARI0454I Connections to FSTEST established.
RMCV at 00990230.
ARI0458I The default server is FSTEST.

This establishes 3 connections (the default) to FSTEST (which is defined as
the default server).

After using CIRT to terminate I then attempt to establish 6 connections to a
non-default server, COREDV1:

CIRB ,6,,,,COREDV1
ARI0410I Resource Adapter ARI0OLRM is enabled.
ARI0450I DB2 Server for VSE online support has an
entry point of 02466070. RMGL at 007C2004.
DRDA online support entry point at 02700000.
ARI0454I Connections to COREDV1 established.
RMCV at 009AB000.
ARI0458I The default server is COREDV1.

I then do CIRT again to terminate. Then I use CECI to attempt the same CIRB
options, the non defaults, like so:

CECI START TRAN(CIRB) TERM(CNSL) FROM('CIRB ,6,,,,COREDV1')
C1 0218 ARI0410I Resource Adapter ARI0OLRM is enabled.
C1 0218 ARI0450I DB2 Server for VSE online support has an
entry point of 02466070. RMGL at 007C2004.
DRDA online support entry point at 02700000.
C1 0218 ARI0454I Connections to FSTEST established.
RMCV at 00990230.
C1 0218 ARI0458I The default server is FSTEST.

As you can see, even though I specified the server name COREDV1 it still
connected me to the default server, FSTEST. It also established only 3
connections, and not the 6 that I specified.

My guess is that it's because CIRB is doing an EXEC CICS RECEIVE instead of
an EXEC CICS RETRIEVE, because it assumes it is always a 'terminal
initiated' transaction and not a 'interval control' initiated transaction.

Has anyone run in to this? I guess a PMR is in order, but I was just
wondering.

Is there a workaround?

The reason I want to do this is because in test CICS regions I want to be
able to use a configuration file to specify the name of the server that is
used on the CIRB transaction. This way a programmer (like me!) can easily
change the default server for that test region. We're using a single
DBNAMES table for all test regions, so changing it (DBNAMES) to specify a
different server as the default server is not an option. Anyway, a PLT
initiated program would read this config file and start CIRB with the
specified server name.

Anyway, I seem to remember a case where somehow a transaction started with
the EXEC CICS START command was able to use EXEC CICS RECEIVE (instead of
RETRIEVE, which is what is usually required) to get the 'started data', but
I can't remember anything more about it. Am I imagining this? It might be
a nice temporary work-around.

Any other thoughts are welcome.

Oh, this does bring to mind a question I have about having CIRB
automatically initiated when the CICS region comes up. The docs say you can
specify it after the DFHSIP, ie (their example):

// EXEC DFHSIP,SIZE=NNNNK
CIRB PASSWORD,3,PRODCICS,0\
/*

Not being the systems programmer I haven't tried this yet. But I am
wondering at what point during startup does the transaction get initiated?
I have a PLT process that at some point will use DB2, so if the DB2 Online
Resource Adapter is not yet active during this step it won't work. That
would be bad. This would be another reason why I would want the PLT process
to be able to initiate the CIRB transaction.

Thanks,
Frank

Tom Duerbusch

unread,
Jul 9, 2008, 12:04:57 PM7/9/08
to
I use a batch job to start CIRB in each CICS region.
The reason for a batch job?
Each CICS region releases its batch job during startup, and DB2 releases all the CIRB jobs during its startup.
Sometimes we take DB2 down (not in middle of the day), and when we bring it up, it causes the CIRB jobs to start the reconnection process. And it works with non-default parms.

The downside is, the batch jobs wait for 300 seconds, a most sufficient time for CICS to startup when the system is under a heavy load. So, users can sometimes get on, and fail due to DB2 not being immediately available.

Tom Duerbusch
THD Consulting

>>> "Frank Swarbrick" <Frank.S...@efirstbank.com> 7/8/2008 7:33 PM >>>

abu...@co.slo.ca.us

unread,
Jul 9, 2008, 12:15:43 PM7/9/08
to

I start the CICS jobs with the CIRB command embedded. If DB2 is not up, no harm.
I trigger a batch job with FAQS/ASO when DB2 comes up, based on message ARI0060I appearing to reissue the CIRB.
I could do a batch job for CICS using message DFH1500 as the trigger, but our current method suits us fine.

Arlyn Bunton
VSE System Administrator
County of San Luis Obispo, CA
805.788.2453
abu...@co.slo.ca.us
   "Have I done any good in the world today?"



"Tom Duerbusch" <Duerb...@stlouiscity.com>
Sent by: owner...@Lehigh.EDU

07/09/2008 09:04 AM

Please respond to
vs...@Lehigh.EDU

To
"VSE Discussion List" <vs...@Lehigh.EDU>
cc
Subject
Re: CIRB as started transaction


Frank Swarbrick

unread,
Jul 9, 2008, 12:51:09 PM7/9/08
to
>>> On 7/9/2008 at 10:15 AM, in message
<OFD2D3BF1A.34EA9F8D-ON882574...@co.slo.ca.us>,

<abu...@co.slo.ca.us> wrote:
> I start the CICS jobs with the CIRB command embedded. If DB2 is not up,
> no
> harm.

Could you explain this a bit more? Are you referring to using CICS
sequential device support as described in the System Administration manual
or something else?

> I trigger a batch job with FAQS/ASO when DB2 comes up, based on message
> ARI0060I appearing to reissue the CIRB.

Is what you are referring to here the restart of CIRB in the case where DB2
was brought down while CICS was up?

This won't work for us, as we are not running DB2 as a server on VSE. Our
server is running on Linux. So we won't be able to detect in this manner
when the server is back up. Hopefully it will not happen very often,
though!

> I could do a batch job for CICS using message DFH1500 as the trigger,
> but
> our current method suits us fine.

So is your thought that when CICS is 'being given control' that FAQS/ASO
should initiate the CIRB transaction?

Thanks,
Frank

abu...@co.slo.ca.us

unread,
Jul 9, 2008, 1:41:40 PM7/9/08
to

Frank,

The CICS JCL has this (others are similar)
// EXEC DFHSIP,SIZE=8064K,                                
               PARM='SIT=D1,XOPTS(COBOL2),$END',DSPACE=4M
CIRB ,6,,0,,(ZX01CA,ZX02CA)                              
/*                                                        

The CICS startup produces this on the console:
T1 0052 DFH8402I - CONTROL RETURNED FROM PLT PROGRAMS                  06:04:27
T1 0052 DFH1500 - DEVL1    : CONTROL IS BEING GIVEN TO CICS            06:04:27
T1 0052 ARI0410I Resource Adapter ARI0OLRM is enabled.                 06:04:28
If DB2 is not up (rare for us) we get some pesky messages but no harm to CICS. I don't have an example.

When we bring down DB2 or CICS we issue a CIRT command as part of the process.

When DB2 is brought back up, we trap message ARI0060I with FAQS and release a batch job that is REXX to issue the CIRB command. If CICS is up the CIRB command works. If CICS is not up the command is not issued. It normally takes less than 15 seconds from the message until the DB2 connections are active.

You could probably send a batch job from Linux to VSE when DB2 comes up to issue the CIRB command.

I use DFH1500 as my trigger when CICS comes up because that is the point that transactions can be executed without being in the PLT. Tom's fixed time method works, I prefer to act as soon as possible.

Why a batch job? I took the command out of FAQS to give me more control with a single process. The batch job allows me to run a CIRT and CIRB without bringing down CICS or DB2.

Arlyn Bunton
VSE System Administrator
County of San Luis Obispo, CA
805.788.2453
abu...@co.slo.ca.us
   "Have I done any good in the world today?"



"Frank Swarbrick" <Frank.S...@efirstbank.com>
Sent by: owner...@Lehigh.EDU

07/09/2008 09:51 AM

Please respond to
vs...@Lehigh.EDU

To
"VSE Discussion List" <vs...@Lehigh.EDU>
cc
Subject
Re: CIRB as started transaction


Frank Swarbrick

unread,
Jul 9, 2008, 1:55:06 PM7/9/08
to
Thanks, Arlyn. I think that answers most of my questions.
The only one remaining being what my options are since I won't be able to
use DB2 during PLT processing. But that's not an immediate concern.
Thanks!
Frank

n 7/9/2008 at 11:41 AM, in message
<OFCC3625AD.31014B60-ON882574...@co.slo.ca.us>,

Roland P. Chung

unread,
Jul 9, 2008, 9:25:35 AM7/9/08
to
Hello Frank, yes, CIRB cannot be invoked in PLT. You have
to use the CRLP" method&#65306;

1) define a CRLP in your TCT. e.g.:
CRLP DFHTCT TYPE=SDSCI,
X
BLKSIZE=80,
X
DEVADDR=SYSIPT,
X
DEVICE=2501,
X
DSCNAME=READER
DFHTCT TYPE=SDSCI,
X
BLKSIZE=132,
X
DEVADDR=SYSLST,
X
DEVICE=1403,
X
DSCNAME=PRINTER
DFHTCT TYPE=LINE,
X
ACCMETH=BSAM,
X
INAREAL=132,
X
ISADSCN=READER,
X
TRMTYPE=CRLP,
X
OSADSCN=PRINTER
DFHTCT TYPE=TERMINAL,
X
TIOAL=132, = INAREAL; SPECIFY TO
REMOVE MNOTE X
TRMIDNT=CRLP,
X
TRMSTAT=TRANSCEIVE,
X
TRMTYPE=CRLP,
X

OPERRSL=(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, X
17,18,19,20,21,22,23,24),
X

OPERSEC=(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, X

17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32, X

33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48, X

49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64)

2) Sample CICS/TS startup JCL

// JOB CICSTS
......
// UPSI 11100000 OVERRIDE FROM SYSIPT
// LIBDEF *,SEARCH=(PRD2.......
// SETPFIX LIMIT=144K
// ASSGN ....
// DLBL .....
......
* START UP CICS/TS WITH OVERRIDE FROM SYSIPT
// ASSGN SYS098,SYSLST
// EXEC
DFHSIP,SIZE=DFHSIP,PARM='SIT=SP,APPLID=OTQGW001,CWAKEY=CICS,FCTX

=T5,EDSALIM=25M,AIEXIT=DFHZATDX,DUMP=NO,ISC=YES,SI',OS39X
0
SVA=NO,
TCT=25,
$END
/*
CIRB ,,,,,DB2xxx\
/*
/&

For more info on how to set up a "CLRP" device, please
refer to this web page. Good luck.


http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/dfhwa201/4.1.1.1?

ACTION=MATCHES&REQUEST=JCL&TYPE=FUZZY&searchTopic=TOPIC&searchText=TEXT&sear

chIndex=INDEX&rank=RANK&ScrollTOP=FIRSTHIT#FIRSTHIT


Regards,

...Roland

Schoenemann, Holger

unread,
Jul 10, 2008, 4:40:44 AM7/10/08
to
I start "CIRB" from the PLT.
Here is the way I do this:

1. Program for ARIRCONT (Phase SQLI)
// EXEC DFHEAP1$,SIZE=512K
PRINT NOGEN
SQLI DFHEISTG
MSG DS 0CL43
TRANSID DS CL4 TRANSACTION ID (CIRB)
SP1 DS CL1 SPACE
PASSWORD DS CL8 PASSWORD (TESTCICS)
COMMA1 DS CL1 COMMA BETWEEN PARAMETERS
NOLINKS DS CL2 NUMBER OF LINKS (09)
COMMA2 DS CL1 COMMA
DEFUID DS CL8 DEFAULT USER ID (TESTCICS)
COMMA3 DS CL1 COMMA
RMID DS CL2 RESOURCE MANAGER ID (01)
COMMA4 DS CL1 COMMA
LANGID DS CL5 LANGUAGE USES BY SQL (AMENG)
COMMA5 DS CL1 COMMA
DBNAME DS CL8 NAME OF DB (SQLPROG)
MSGLEN EQU *-MSG LENGTH
APPLID DS CL8
SQLI DFHEIENT
*
EXEC CICS HANDLE CONDITION ERROR(DEFAULT)
*
*
EXEC CICS ASSIGN APPLID(APPLID)
*
*
MVC TRANSID,=C'CIRB' TRANSID
MVI SP1,C' '
MVC PASSWORD,=C'TESTCICS' PASSWORD
MVI COMMA1,C',' COMMA
MVC NOLINKS,=C'09' NUMBER OF LINKS
MVI COMMA2,C',' COMMA
MVC DEFUID,=CL8'TESTCICS' USER ID
MVI COMMA3,C',' COMMA
MVC RMID,=CL2'00' RESOURCE MANAGER ID = 1
MVI COMMA4,C',' COMMA
MVC LANGID,=CL5'AMENG' LANGUAGE
MVI COMMA5,C',' COMMA
MVC DBNAME,=CL8'SQLPROG ' DBNAME
CLC APPLID,=C'TESTCICS' FOR TESTCICS
BE A0020
* FOR HAHNCICS
MVC PASSWORD,=C'PRODCICS' PASSWORD
MVC DBNAME,=CL8'SQLHAHN ' DBNAME
MVC DEFUID,=CL8'PRODCICS' USER ID
A0020 DS 0H
*
MVC EIBTRNID,=CL4'CIRB'
*
EXEC CICS XCTL PROGRAM('ARIRCONT') NOHANDLE *
INPUTMSG(MSG) *
INPUTMSGLEN(=Y(MSGLEN))
*
DEFAULT EQU *
EXEC CICS RETURN
LTORG
END
/*

2.) Phase=SQLINIT
SQLINIT DFHEISTG
APPLID DS CL8
SQLINIT DFHEIENT
*
EXEC CICS ASSIGN APPLID(APPLID)
*
EXEC CICS HANDLE CONDITION ERROR(RETURN)
*
EXEC CICS START TRANSID('SQLI') *
TERMID('CNSL') *
INTERVAL(000010)
*
RETURN DS 0H
EXEC CICS RETURN
LTORG
END
/*

3.) CEDA
Define Transaktion SQLI with Pgm SQLI

4.) PLT
SQLINIT DFHPLT TYPE=ENTRY,PROGRAM=SQLINIT

After this PLT-Entry I have other Pgms that use DB2.

Regards.


Peter Hahn GmbH · Sitz: 73649 Winterbach · Peter-Hahn-Platz 1
Geschäftsführer: Roland Allgeyer, Marina Fuchs-Halbgewachs

Registergericht: Stuttgart · Handelsregister-Nr.: HR B 280228 · UST.-IdNr. DE 811132800 · Steuer-Nr. 218/117/40036
Bankverbindung:Commerzbank Schorndorf · BLZ 600 400 71 · Konto-Nr. 2 800 639

Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Mail ist nicht gestattet.

This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and destroy this e-mail. Any unauthorised copying, disclosure or distribution of the material in this e-mail is strictly forbidden.

-----Ursprüngliche Nachricht-----
Von: owner...@Lehigh.EDU [mailto:owner...@Lehigh.EDU] Im Auftrag von Tom Duerbusch
Gesendet: Mittwoch, 9. Juli 2008 18:04
An: VSE Discussion List
Betreff: Re: CIRB as started transaction

Randy Evans

unread,
Jul 10, 2008, 10:24:14 AM7/10/08
to
Looks to me like a good example for starting the DB2 interface. But
I question the statement about having later programs in the PLT that use DB2. The started SQLI task in this will not start until all PLTPI programs have completed as documented in the CICS Customization Guide:

===============
Although PLTPI programs can issue interval control START commands, the requested transactions are not attached before the initialization stages have completed. Because this cannot happen until after the PLTPI programs themselves have been completed, the latter must not be dependent on anything that the requested transactions might do.
===============

If the later PLT programs using DB2 are doing so indirectly by also starting another task, it could work - but you would be depending on order of the asynchronous processes involved (SQLI task vs. the other DB2 access tasks) that might not always complete in the order desired.

Randy Evans, Viaserv, Inc.

Frank Swarbrick

unread,
Jul 10, 2008, 11:19:44 AM7/10/08
to
Looks like exactly what I want! I will give it a try.

Thanks,
Frank

n 7/10/2008 at 2:40 AM, in message
<B3C07C5707C37C4D95EB...@HAHNCL02EX2.peterhahn.local>,

Frank Swarbrick

unread,
Jul 10, 2008, 12:36:35 PM7/10/08
to
This is working great, Holger! Below is what I am using. (In Cobol, since
I am a Cobol programmer). One thing I changed is I am using EXEC CICS
RETURN IMMEDIATE instead of EXEC CICS XCTL. This way you don't have to fool
it into thinking it is the CIRB transaction, because it actually *is* the
CIRB transaction:

IDENTIFICATION DIVISION.
PROGRAM-ID. CICSSQLI.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 START-CODE.
05 START-CODE-TYPE PIC X.
88 START-IC VALUE 'S'.
88 START-TERM VALUE 'T'.
05 START-CODE-DATA PIC X.
88 START-WITH-DATA VALUE 'D'.

77 TERMINAL-MSG PIC X(80).
01 CIRB-FIELDS.
05 TRANSID PIC X(4) VALUE 'CIRB'.
05 PSWD PIC X(8) VALUE SPACES.
05 NOLINKS PIC 99 VALUE 06.
05 DEFUID PIC X(8) VALUE SPACES.
05 RMID PIC 99 VALUE 05.
05 LANGID PIC X(8) VALUE SPACES.
05 DBNAMES PIC X(30) VALUE 'COREDV1'.
77 SPTR PIC S9(4) BINARY
77 CIRB-MESSAGE PIC X(80).
01 CIRB-MSG-LEN PIC S9(8) BINARY.
01 REDEFINES CIRB-MSG-LEN.
05 PIC S9(4) BINARY.
05 CIRB-MSG-LEN-HW PIC S9(4) BINARY.

PROCEDURE DIVISION.
EXEC CICS ASSIGN
STARTCODE (START-CODE)
END-EXEC
IF START-TERM
PERFORM START-SQLI
ELSE
PERFORM CREATE-CIRB-MESSAGE
PERFORM EXECUTE-CIRB
END-IF
GOBACK.

START-SQLI.
EXEC CICS START
TRANSID ('SQLI')
TERMID ('CNSL')
END-EXEC
MOVE 'STARTING DB2 RESOURCE ADAPTER' TO TERMINAL-MSG
EXEC CICS SEND CONTROL
ERASE
FREEKB
END-EXEC
EXEC CICS SEND
FROM (TERMINAL-MSG)
END-EXEC
EXIT.

CREATE-CIRB-MESSAGE.
STRING TRANSID DELIMITED BY SIZE
' ' DELIMITED BY SIZE
PSWD DELIMITED BY SPACES
',' DELIMITED BY SIZE
NOLINKS DELIMITED BY SIZE
',' DELIMITED BY SIZE
DEFUID DELIMITED BY SPACES
',' DELIMITED BY SIZE
RMID DELIMITED BY SIZE
',' DELIMITED BY SIZE
LANGID DELIMITED BY SPACES
',' DELIMITED BY SIZE
DBNAMES DELIMITED BY SPACES
INTO CIRB-MESSAGE
WITH POINTER SPTR
SUBTRACT 1 FROM SPTR GIVING CIRB-MSG-LEN
EXIT.

EXECUTE-CIRB.
EXEC CICS WRITE OPERATOR
TEXT (CIRB-MESSAGE)
TEXTLENGTH (CIRB-MSG-LEN)
END-EXEC
EXEC CICS RETURN
TRANSID (CIRB-MESSAGE)
IMMEDIATE
INPUTMSG (CIRB-MESSAGE)
INPUTMSGLEN (CIRB-MSG-LEN-HW)
END-EXEC
EXIT.

END PROGRAM CICSSQLI.

This seems to address almost all of my issues, so it makes me very happy!

The only issue remaining is the one that Randy mentioned. Are you really
able to use DB2 in the PLT programs that follow? I can't see how, as this
transaction does not even start until after PLT processing has completed.
The only way you can start a transaction to actually run during PLT
processing is to use START ATTACH, but you can't specify a terminal in this
case.

Anyway, it's hopefully a minor thing. Thanks again for the great idea!

Frank

Robert Payne

unread,
Jul 10, 2008, 2:35:28 PM7/10/08
to
Our shop could benefit from this too and it got me to thinking about the
sometimes/maybe/once-in-a-blue-moon when the specific values would need to
be changed. Change source code and re-compile (or assemble) isn't that
big of a deal, but what if we could just include the specifics in the CICS
startup JCL as SYSIPT data. Could a PLT program "get away" with reading
(only 1 record I promise) a SYSIPT record ? Even if we use the VSE macros
for JOBCOM functions, there would still be an SVC used in this CICS program.
Yes, even I realize that violates all decent manners and polite rules for
CICS coding, but has anyone ever tried that ? If so, did it hurt ? :)

Any thoughts ?
Bubba

Martin T2..

unread,
Jul 10, 2008, 2:51:08 PM7/10/08
to
Bubba,

>> ould a PLT program "get away" with reading
(only 1 record I promise) a SYSIPT record ? Even if we use the VSE
macros for JOBCOM functions, there would still be an SVC used in this
CICS program. <<

we recently had a major discussion about retrieving sysmbols.

would that fit the bill?
--
Martin
--
XML2PDF - the way to get all features of PDF into your documents
on mainframe or PC systems; more at http://www.pi-sysprog.de

Robert Payne

unread,
Jul 10, 2008, 2:55:36 PM7/10/08
to
I don't remember the size limit there. JOBCOM allows up to 256 bytes
which would be plenty for a complete CIRB line with all the details.

Is there any forbidden SVCs involved in retrieving the "SYMBOLS" ???

Thanks Martin !

... snip

Randy Evans

unread,
Jul 10, 2008, 2:58:32 PM7/10/08
to
If CICS/TS is used, I would suggest using the "INITPARM" SIT parm for
passing customizable data to CICS PLTPI programs in lieu of using SYSIPT
data.

Randy Evans, Viaserv, Inc.

> -----Original Message-----
> From: owner...@Lehigh.EDU [mailto:owner...@Lehigh.EDU] On Behalf
Of
> Robert Payne
> Sent: Thursday, July 10, 2008 12:35 PM
> To: VSE Discussion List

Robert Payne

unread,
Jul 10, 2008, 3:02:15 PM7/10/08
to
Yes, we are using CICS/TS so I'll RTFM about that.
THANKS !!

Frank Swarbrick

unread,
Jul 10, 2008, 3:09:42 PM7/10/08
to
>>> On 7/10/2008 at 12:35 PM, in message
<AF2EE1CA5139D947B1C...@TAD03.TAD.org>, Robert

We have a PLT program called CICSINIT that reads data from an ESDS called
APPLCFG. I have made changes to it so that I can include the following line
(for example) in that file:
SQLI=;6;;2;;(FSTEST;COREDV1;CORE1)

CICSINIT prefixes this with 'SQLI ' and converts the semi-colons to spaces.
It then starts SQLI on the console, passing the entire message ("SQLI
,6,,2,,(FSTEST,COREDV1,CORE1)" in this case).

I have a new version of CICSSQLI that retrieves the start data, changes SQLI
to CIRB, and then does the RETURN IMMEDIATE.

The only reason for the semi-colons is because CICSINIT program uses commas
for it's own delimiters.

Anyway, CICSINIT can also handle an override at startup using the INITPARM
SIT option at the console (we start up our test regions using the CONSOLE
SIT parmeter so we can do SIT overrides at the console if desired). Here's
an example...

Here's the exec statement:
// EXEC DFHSIP,SIZE=DFHSIP,PARM='SIT=U1,SI',OS390
AIEXIT=RCCZATDY
PRINT=YES
CONSOLE
.END
/*

When CICS comes up I get this:

C3 0059 DFHPA1108 CICSMDV2 DFHSITM2 HAS BEEN LOADED. (GENERATED AT: MM/DD=
01/12 HH:MM= 17:42).
C3 0059 DFHPA1100 CICSMDV2 OVERRIDE PARAMETERS FROM JCL EXEC STATEMENT:
SIT=M2,SI
C3 0059 DFHPA1102 CICSMDV2 OVERRIDE PARAMETERS FROM SYSIPT:
C3 0059 DFHPA1927 CICSMDV2 AIEXIT=RCCZATDY

C3 0059 DFHPA1927 CICSMDV2 PRINT=YES

C3 0059 DFHPA1927 CICSMDV2 CONSOLE

C3 0059 DFHPA1927 CICSMDV2 .END

C3 0059 DFHPA1103 CICSMDV2 END OF FILE ON SYSIPT.
C3-0059 DFHPA1104 CICSMDV2 SPECIFY ALTERNATIVE SIT PARAMETERS, IF ANY, AND
THEN TYPE '.END'.

I then type this:
59 INITPARM=(CICSINIT='SQLI=;6;;2;;(COREDV1;FSTEST)'),.END

Now the SQLI parm I supply here supercedes the one I specified in the
APPLCFG file.

I see no reason you couldn't adapt this to your needs. If you just want to
change the JCL I think you could change you CICS execute statement to have
the INITPARM option. Something like...

// EXEC DFHSIP,SIZE=DFHSIP,PARM='SIT=U1,SI',OS390
PRINT=YES
INITPARM=(CICSINIT='SQLI=;6;;2;;(COREDV1;FSTEST)')
.END
/*

Have fun!

Frank

Robert Payne

unread,
Jul 10, 2008, 3:10:09 PM7/10/08
to
After a little reading, INITPARM is the way to go since 60 bytes should be
enough for our specific details for the CIRB transaction. Thanks for al the
ideas !

Bubba

Martin T2..

unread,
Jul 11, 2008, 4:21:11 AM7/11/08
to
Bubba,

>> JOBCOM allows up to 256 bytes which would be plenty for a complete
CIRB line with all the details. <<

But you need to write a program to set it.

>> Is there any forbidden SVCs involved in retrieving the "SYMBOLS" <<

Define forbidden.

The book says "no op-sys wait". Since the various macros/SVC do not
specify if they include an op-sys wait it is hard.

With the above in mind lets look at:

Retrieve SETPARM. it needs only memory-access---no problem.

Retrieve a LIBR member (needs access to DISK-) very likely not okay.

Robert Payne

unread,
Jul 11, 2008, 9:13:58 AM7/11/08
to

>> JOBCOM allows up to 256 bytes which would be plenty for a complete
CIRB line with all the details. <<

But you need to write a program to set it. * Had that for years now.
-------------------------

... snip

With the above in mind lets look at:

Retrieve SETPARM. it needs only memory-access---no problem. * The INITPARM is working as expected !
---------------------------------------


Thanks Martin !

0 new messages