How to load CICS parameters update after defining DFHSIT SPOOL=YES system intialization parameter? - jcl

I updated the DFHSIT$$ in CICSTS54.CICS.SDFHSAMP where I changed SPOOL=NO to SPOOL=YES. How can I make CICS to load the updated table?

Now that you have updated your SIT table in DFHSIT$$ you will need to compile it, see https://www.ibm.com/docs/en/cics-ts/5.4?topic=parameters-assembling-sit for details.
Once the compilation has been done you will need to restart your CICS region for it to pick up the changes. I assume that you already have SIT=$$ specified within the SIT overrides in the CICS JCL, for example:
//SYSIN DD *
SIT=$$
.
.
.
/*

what you have posted is a translate,compile and link edit for a COBOL program. The DFHSIT table is an assembler table which needs to be assembled using the assembler.
However, what would be easier for you in this case would be to not assemble a new version of the default DFHSIT table. Instead, just add a SPOOL=YES to the SIT overrides when you start CICS.
The sit overrides are set in SYSIN on your CICS startup JCL
e.g.
//SYSIN DD *
SPOOL=NO

Related

adding tplog writing ability to chained TP

I am trying to make Chained TP to write tplog file as well.
However, what i can see from the process log is l every second.
refer to this link:https://github.com/KxSystems/kdb/blob/master/tick/chainedtick.q
in the shell script i already pointed out which tp to subscribe.
I changed these two functions:
if[system"t";
.z.ts:{.u.pub'[.u.t;value each .u.t];#[`.;.u.t;#[;`sym;`g#]0#]};
upd:{[t;x] t insert x;if[l;l enlist (`upd;t;x);j+:1];}]
if[not system"t";
upd:{[t;x] .u.pub[t;x];if[l;l enlist (`upd;t;x);i+:1];}]
also added
.u.tick[src;.z.x 1];
at the end.
still trying to figure out why nothing in the tplog?
.u.tick (or .u.l which is defined in .u.tick) are not defined in chainedtp.q. .u.tick can be found in tick.q.
AquaQ Analytics' TorQ infrastructure has a chained TP process, which allows you to specify on startup whether you want a logfile to be created or not. More info can be found here. (Full disclaimer, I’m an employee of AquaQ).

Jboss server hangs when it try to obtain a connection from HypersonicDB data source

I know cleaning cache will work because tables are cached. But a certain line in my script causing problems here is the content. Please help me understand the line highlighted in bold.
// create table
CREATE CACHED TABLE JMS_MESSAGES(MESSAGEID INTEGER NOT NULL,DESTINATION VARCHAR(255) NOT NULL,TXID INTEGER,TXOP CHAR(1),MESSAGEBLOB OBJECT,PRIMARY KEY(MESSAGEID,DESTINATION))
// create indexes
CREATE INDEX JMS_MESSAGES_TXOP_TXID ON JMS_MESSAGES(TXOP,TXID)
CREATE INDEX JMS_MESSAGES_DESTINATION ON JMS_MESSAGES(DESTINATION)
// what is it doing? because this line makes it hang
SET TABLE JMS_MESSAGES INDEX'3883576 3883576 3883576 0'
Please let me know what this line does so I can debug this script. On production we are using Jboss 4.0.4 and don't often clear tmp/work often and reboot system every Sunday.
Simply delete the line reported in bold and save the .script file with no other change.
The purpose of the line is to link to the data in the .data file. As this is a message cache that is no longer valid, there should be no data there.

Profile in ISPF gets changed to COBOL (VARIABLE 80)

I'm having problems with the ISPF editor.
When I signin a program from Eclipse to Endevor it sometimes changes the profile from COBOL (FIXED 80) to COBOL (VARIABLE 80).
****** ***************************** Top of Data ******************************
=PROF> ....COBOL (VARIABLE - 80)....RECOVERY ON....NUMBER ON STD...............
=PROF> ....CAPS OFF....HEX OFF....NULLS ON STD....TABS OFF.....................
=PROF> ....AUTOSAVE ON....AUTONUM ON....AUTOLIST OFF....STATS OFF..............
=PROF> ....PROFILE UNLOCK....IMACRO NONE....PACK OFF....NOTE ON................
=PROF> ....HILITE COBOL CURSOR FIND............................................
==MSG> *---------------------------------------------------------------------*
==MSG> * *
==MSG> * This element is referenced by no other elements. *
==MSG> * *
==MSG> *---------------------------------------------------------------------*
Does anyone know how to change the profile to FIXED?
Solution:
It's not something the profile does, it's the underlying file that is changed in the Eclipse/Endevor interaction.
Solved it by:
1. Copying all code to a new fixed dataset
2. Deleting all rows on the original file
3. Making appropriate changes to the profile
4. Copying the code back to the original file
5. Making necessary adjustments to horizontal alignment.
This doesn't sound like an ISPF issue. Like zarchasmpgmr stated, the fixed or variable should be based on the file being edited as it is opened and read in. You can verify by checking the actual file as he stated. It sounds like you need to check out how the Eclipse to Endevor sign-in procedure is done to see why it creates a variable file in certain cases. Perhaps the underlying Eclipse file format is different for certain releases , workspaces, etc.

Can I return the tag and routine name?

I am working on a code "maintenance" idea where I would like to populate a global when routines are accessed and by who. I can pull the current routine name using $t(+0) or $ZNAME, but what about the current tag and/or line offset? Is there a way so I can put a standard line in the routines I want to track?
Rob, you can get these information from $STACK.
If you call your own tracking function, you get the calling stack info like this:
W $STACK($STACK(-1)-1,"PLACE")
zExecute+2^%Studio.General.1 +1
Take a look at the Caché ObjectScript Reference for $STACK for detailed description and examples.
Rob!
Maybe you just turn on Audit? It gathers logs for different users activities in InterSystems Caché database. See the documentation on Caché Audit.
Also, see this solution which will help you to examine analytics in DeepSee regarding Audit entries.
You can find the routine that's calling your label, by the following ClassMethod.
write ##class(%SYSTEM.Process).CallingRoutine()
As well as the database which is calling your label.
write ##class(%SYSTEM.Process).CallingDatabase()

Creation Date of Compiled Executable (VC++ 2005)

The creation date of an executable linked in VS2005 is not set to the real creation-date of the .exe file. Only a complete re-build will set the current date, a re-link will not do it. Obviously the file is set to some date, which is taken from one of the project-files.
So: is there a way to force the linker to set the creation-date to the real link-date?
­­­­­­­­­­­­­­­­­­­­­­­­­­
Delete the executable as part of a pre-link event.
Edit:
Hah, I forgot about Explorer resetting the creation date if you name a file exactly the same as a file that was recently deleted.
Why are you keying off the creation date anyway?
A complete rebuild will delete that file forcing the linker to create it, hence the reason it gets a new creation date. You could try disabling incremental linking under project properties (Linker | General). If that doesn't do it you could add a build event to delete the exe file and force it to create a new file each time. Both of these things could increase your build time.
Deleting the executable doesn't do the job. That's the problem. Also I could not identify any projectfile, whose datetime was the same as the later linked executable. That lets me conclude, that the 'creation date' is an information taken from within some project-file.
The project has 400000 lines, so a full build is no option.
What about using somethign like DirDate (or write a little util yourself) to set the creation date and call it from the post-build step?