Recent posts

#1
CMOD for Multiplatforms / Using systemd instead of init....
Last post by JeanineJ - October 03, 2025, 08:00:27 PM
My Unix guys are bugging me to use systemd instead of init.d to start and stop CMOD on my new RHEL8 server. I don't know what exactly I'm supposed to do and I figured I'd start here with the user group to see if anyone was successful in using systemd.
We currently have a script that starts the DB instance, then arssockd, then arsjesd, wait 60 seconds then start arsload as a daemon.
The stop part stops arssockd and end the DB instance.

If anybody has successfully done it, let me know and point me in the direction of resources.
#2
Content Navigator / Re: ARSDOCGET Command scripts
Last post by Michel de Kraker - September 19, 2025, 04:51:53 PM
Thankyou Justin.

Good point on the double filenames.

Regards

Michel
#3
Content Navigator / Re: ARSDOCGET Command scripts
Last post by Justin Derrick - September 19, 2025, 04:40:04 PM
Only improvement I'd suggest is an if-statement that checks to see if the new filename already exists.  Otherwise, you have the same issue as arsdoc -- it will happily overwrite any existing file with a different file that has the same metadata.

Again, if you can do some pre-checking on your metadata to ensure there's only one document for your criteria, then you avoid the whole issue.

Otherwise, I'm glad to see you got something that works, and thanks for sharing your solution!

Take care.

-JD.
#4
Content Navigator / Re: ARSDOCGET Command scripts
Last post by Michel de Kraker - September 18, 2025, 09:42:13 AM
Thank you Justin,

Managed to do with this script:

for i in `ls TEST*|grep -v pdf`
do
/usr/lpp/ars/afp2pdf/afp2pdf -o /tmp/cmod/michel/$i.pdf /tmp/cmod/michel/$i 2>/dev/null
CONS=`arspdump -f /tmp/cmod/michel/$i.pdf |head -36|tail -1`
A=`arspdump -f /tmp/cmod/michel/$i.pdf|head -57|tail -1` (get part of the date)
B=`arspdump -f /tmp/cmod/michel/$i.pdf|head -60|tail -1` (get part of the date)
C=`arspdump -f /tmp/cmod/michel/$i.pdf|head -63|tail -1` (get part of the date)
NEWDATEFMT=`echo $A$B"20$C"|sed "s/\//_/g"`
echo $NEWDATEFMT
echo $CONS
mv $i.pdf "$CONS"_"$NEWDATEFMT".pdf
done

This is the output (extract)

-rw-r--r--    1 root     system         4025 Sep 18 10:40 SMK8042_4_07_2016.pdf
-rw-r--r--    1 root     system         4025 Sep 18 10:40 SMK8033_4_07_2016.pdf
-rw-r--r--    1 root     system         4010 Sep 18 10:40 SMB1597_9_07_2016.pdf
-rw-r--r--    1 root     system         4034 Sep 18 10:40 SMB1601_9_07_2016.pdf
-rw-r--r--    1 root     system         4044 Sep 18 10:40 SMK9775_8_07_2016.pdf
-rw-r--r--    1 root     system         4034 Sep 18 10:40 SMB1600_9_07_2016.pdf
-rw-r--r--    1 root     system         4077 Sep 18 10:41 SMK9814_8_07_2016.pdf
-rw-r--r--    1 root     system         4034 Sep 18 10:41 SMB1603_9_07_2016.pdf
-rw-r--r--    1 root     system         4034 Sep 18 10:41 SMB1514_9_07_2016.pdf
-rw-r--r--    1 root     system         4013 Sep 18 10:41 SMK8047_4_07_2016.pdf
-rw-r--r--    1 root     system         3932 Sep 18 10:41 SMK7924_3_07_2016.pdf
-rw-r--r--    1 root     system         4078 Sep 18 10:41 SMK9818_8_07_2016.pdf
-rw-r--r--    1 root     system         4077 Sep 18 10:41 SMK9824_8_07_2016.pdf


Regards

Michel
#5
Content Navigator / Re: ARSDOCGET Command scripts
Last post by Justin Derrick - September 17, 2025, 01:49:44 PM
If you want custom filenames, I think your best bet is to do that after the fact with some custom code.  Writing it yourself allows you to do more error-checking, since arsdoc will silently over-write output files if you happen to have multiple documents with the same metadata.

If you can confirm that's not an issue, I think you can use field names in parenths to get what you want:
  arsdoc <options>   -o "(consignmentnr).(reportdate)"


-JD.
#6
Content Navigator / Re: ARSDOCGET Command scripts
Last post by Michel de Kraker - September 17, 2025, 06:52:31 AM
Justin,

This helped me a lot! Thankyou.

One other question on this.

Arsdoc get -q  gets me for instance 6000 files.

Is there a possibility to have in the naming convention for each file like this:

<consignmentnr>.<reportdate>.pdf

so different names for each retrieved document.

Kind regards

Michel.
#7
CMOD for z/OS Server / Re: Report of all users and wh...
Last post by lbaker2 - September 09, 2025, 07:42:32 PM
Thanks for your reply Justin. Yes please let me know if you find anything.
#8
CMOD for Multiplatforms / Re: ARSXML update permission q...
Last post by Justin Derrick - September 08, 2025, 03:25:29 PM
Ah, yes -- I see what you're doing now. 

Try adding the query restriction to the User/App Group via the Admin GUI, then do another export -- that will show you how CMOD expects a query restriction to appear in the XML -- then you can try to modify a different account.

But as I said before, it's better to assign these permissions at the group level, so it's easier to understand what permissions a user has by simply reviewing the groups they belong to.  It also allows for simplified administration through your Identity and Access Management team -- adding and removing users from groups in Active Directory / LDAP will change their permissions in CMOD if LDAPsync is configured.

-JD.
#9
CMOD for Multiplatforms / Re: ARSXML update permission q...
Last post by teera_aoo - September 05, 2025, 10:14:26 AM
Quote from: Justin Derrick on September 03, 2025, 05:19:52 PMYou need to specify the Application Group or User Group that you want to apply that query restriction to.

As a matter of good governance, all permissions should be administered at the Group level, and users added to and removed from Groups in order to grant or restrict or deny access/permissions.

-JD.

Yes, although I specified the group, I still cannot update the query restriction using the arsxml command.

...
  <applicationGroup name="AG1" ... >
     <permission group="GROUP"  ....... queryRes="br_code = '001'" />
...

#10
CMOD for Multiplatforms / Re: ARSLSYNC User filter not w...
Last post by anandsivan - September 04, 2025, 06:33:25 AM
IBM suggested to create a common group in AD and map all the other groups as a member of this group. And use the common group to get all the users linked to the member groups using nested query.

Common group name : ONDM-ALL

ARS_LDAP_USER_FILTER=(&(objectclass=user)(memberof:1.2.840.113556.1.4.1941:=CN=ONDM-ALL,OU=ONDM-IN,OU=APPS,dc=xxxx,dc=yyyy,dc=zzz,dc=com))