Much has been spoken about the key new features in IBM i 7.3 that it’s really easy to overlook some of the smaller new features, some of which can be really useful. To quote Edith Lindeman, these “little things mean a lot!”
So in this article we explore a few of the smaller features that IBM have included in IBM i 7.3, ones that may not change the world but that can really make life easier. As an added bonus, we will find that many of them have been made available in earlier releases as well.
Copying an open spool file
This one gives me a great personal sense of satisfaction as it was requested by a good friend of mine George who works for one of my customers. George had a number of real time update procedures that run all day and record useful information in a spool file. Much to George’s frustration he could not copy an open spool file (CPF3482), the only way he could view this information was with WRKSPLF option 5 (DSPSPLF), he would then have to copy the information he needed and act upon it manually.
In 7.3 a new parameter was added to the CPYSPLF command to allow you to copy an open spool file OPNSPLF(*YES). So, now George can write his long awaited routine to periodically copy these open spool files to a physical file and both interrogate and act upon the information automatically.
Some of you may well be thinking that’s all well and good but I can’t justify upgrading to 7.3 just for this function, well here is the great news, IBM have PTF’d this back to both 7.2 and 7.1 so if you are up to date with PTFs, you have this function too.
Generated Columns for Auditing
IBM has added a handy feature to help improve auditing on our files, you can now add a series of new fields that are maintained by the automatically database. They store key audit information like, who last updated the record, when, from where, and how. This is separate from journaling and is much faster and easier to look up.
You can quickly and easily add extra columns to track:
• DATA CHANGE OPERATION – I = Insert, U = Update, D = Delete (you need Temporal tables for D)
• SESSION_USER – The user names associated with session at the time of update
• QSYS2.JOB_NAME – The job name that performed the update
• SYSIBM.CLIENT_IPADDR – The IP address of the client that performed the update
Now you have this information automatically maintained, the next time you want to see who updated a record, you can simply look at that record. No record matching from your own application logs or scanning through journal entries to attempt to find and decipher the appropriate entry.
You do not have to enable Temporal support to get this functionality, simply issue an Alter table command and you are good to go.
Scheduling Entire System Saves
Up until now you could only schedule an Entire System Save (Go Save Option 21) in the following 24 hour period. Now you can specify the date you want the save to start as well as the time. For me this means I can schedule an entire system save to run in the wee hours of a Sunday before I leave the office on a Friday.
In addition, options 21, 22, and 23 on the SAVE menu now remount file systems at the end of the operation if you choose to unmount file systems in the save options.
Allow write during save for directories
Whilst we are talking about improvements in the save commands in 7.3, IBM have removed another of the Save While Active restrictions, allowing more update types during an active save.
In previous releases, the “Allow write during save” (*ALWCKPWRT), attribute did not apply to directories.
In other words, you could not link, unlink, or rename objects in a directory while it was being saved.
In 7.3, the SAVACTOPT(*ALWCKPWRT) attribute now applies to directories as well as the stream file with them and so now this restriction no longer applies.
For those of you that have to meet security compliance regulations like PCI-DSS, IBM have made your life easier by removing support for some older, less secure encryption standards. For example, the Rivest Cipher 4 (RC4) 128 bit ciphers have been removed. Better yet, all ciphers with less than 128 bits have also been removed.
Now rather than having to manually disable these non-compliant ciphers (and worse, consistently monitoring that they have not been re-enabled) in 7.3 they cannot exist and so cannot be exploited.
DROP SCHEMA CASCADE
Prior to IBM i 7.3, the SQL statement DROP SCHEMA CASCADE sent a CPA7025 message for each journal receiver in the schema. This means that if you issue the command you can end up having to manually answer a large number of error messages before the command completes.
In 7.3, you can avoid this problem by specifying the CASCADE keyword on the DROP SCHEMA statement.
For those of you who are into exit programs, it is worth noting that when DROP SCHEMA CASCADE is used, any QIBM_QJO_DLT_JRNRCV exit programs will not be called.
Should you be upgrading to IBM i 7.3?
In a word YES, but that does not mean you should be installing it on your main productions system today. Normal due diligence rules apply to any major upgrade but truly I cannot see any reason why you should not install it on your test environment with a view to going live on 7.3 later this year.
Nice to see you
We are now all looking forward to our two day flagship event in June at Wyboston Lakes.
We will be offering some truly world class education from the likes of Steve Will, Paul Tuohy, Jon Paris and Susan Gantner from as little as £50! Hope to see you there, more details and registration available at www.i-ug.co.uk