There's only 1 newlist in your mergelist - endmerge sequence, thus there's no need for merging the results of muliple newlists in one report. You can remove the mergelist and endmerge statements.
Thanks for the suggestions Tom, those extra bits were generated by zSecure and i hadn't removed them from my code. I've done that now and its working, thanks :)
Erik, I'll give that a go and see if its suitable for my situation. Cheers.
Original Message:
Sent: Fri September 20, 2024 08:41 AM
From: ERIK van der NAT
Subject: ACF2 SMF reporting
Hi Nathan,
Yes, there is a way to do this, although it is probably less convenient than you'ld like.
ACF2 writes two SMF records for updates to rule sets, one with ACF2_EVENTTYPE=UPDATE that contains the rule set's record image as it was before the change, and one with ACF2_EVENTTYPE=REPLACE that contains the after-image. So, one possible approach would be to split out the relevant data using something like this:
ALLOC ACTIVE SMF
N TYPE=SMF
S ACF2_SUBTYPE=(E,R) ACF2_EVENTTYPE=UPDATE
UNLOAD DD=BEFORE
N TYPE=SMF
S ACF2_SUBTYPE=(E,R) ACF2_EVENTTYPE=REPLACE
UNLOAD DD=AFTER
Then, you can format the interesting part of the SMF records (i.e., the rule sets) wit the following CARLa:
newlist type=smf nopage
sortlist ,
/ acf2_rule_header,
/ acf2_rule_entry
If you direct the output to two different data sets, you can then use your favourite comparison tool (e.g. SuperC) to spot the differences.
There are many different approaches that vary only in details, but this is the basic idea.
------------------------------
ERIK van der NAT
Original Message:
Sent: Thu September 19, 2024 02:05 AM
From: Nathan Shrive
Subject: ACF2 SMF reporting
Hi everyone,
On an ACF2 system I am hoping to report on modifications made to the security database using zSecure. Below is my existing CARLA:
define type=smf acf2_chg_field(8,"field") as,
acf2_changes
define type=smf acf2_chg_old(32,'old-value') as,
substring(acf2_changes,9,32)
define type=smf acf2_chg_new(32,'new_value') as,
substring(acf2_changes,42,32)
n type=smf name=smfsel outlim=0
s exists(acf2_subtype) (((acf2_subtype=(e,l,r),
acf2_eventtype<>update)))
list type
mergelist
newlist type=smf name=smfdesc header=csvt
select likelist=smfsel
sortlist date(12,eudate) time smfdd(nd) recno(nd),
user(8) jobname(8) recorddesc(80),
acf2_chg_field acf2_chg_old,
acf2_chg_new acf2_event
endmerge
For resource or dataset rule updates it reports something like the following in the recorddesc field:
'ACF2 id XYZLID replace resource R-ITR-MQ#345'
Is there a way using zSecure that I can report on the specific changes made to the rule?
------------------------------
Nathan Shrive
------------------------------