| 11th January 2026 |
We are having some scheduled maintenance performed on our webserver on 28th January 2026 from 3 a.m. to 5 a.m. (CST) This means our website may temporarily be offline or load slower for the duration. The maintenance should result in a faster and more reliable experience from our site. Additionally, we are updating the look and feel of our web site and have alreay started to roll this out. Until this is fully implemented there will be a mix of styles. We have added a temporary "button" to the top menu list to allow users to switch back to the old style as there will be some menu options that can only be accessed from the old style for the time being. Sorry for any inconvenience. |
|||
|
|
||||
| 3rd January 2026 |
We have released another handy little REXX exec named DATESUFF. DATESUFF will return the correct suffix for a passed day i.e. if you pass a day of 21 it will return 'st'. It will not validate that the day is valid for a particular month but the passed date must be between 1 and 31. The new REXX can be downloaded from here or by visiting our Free z/OS software list here. |
|||
|
|
||||
| 14th November 2025 |
We have added some code the the SNAP REXX exec that will move a dataset from one pack to another.
The code checks the new volume serial number to makes sure it is 6 characters long. You could call our VALIDVOL EXEC to ensure that the volume serial is a vaild on for your site, but we just want to keep it simple and fast. The new REXX can be downloaded from here or by visiting our Free z/OS software list here. |
|||
|
|
||||
| 7th November 2025 |
We have released an Excel™ Worksheet Selector facility that makes finding and
selecting worksheet quicker and easier for workbooks with many worksheets.
The facility is distributed as a zip file and is available from the web page. The Installation and User Guide is also available from this link. If you need an unzip utility, then we recommend 7-zip. |
|||
|
|
||||
| 9th August 2025 |
We have released the facility that we use to maintain a record of how many times a file was downloaded from our
website. The counters are stored in a table in a mySQL database. You will need to change the Downloader.inc file to point to your server and database. The implementation guide is available from here or by visiting the Download Counter web page. The facility is distributed as a zip file and is available from the above web page. If you need an unzip utility, then we recommend 7-zip. |
|||
|
|
||||
| 19th July 2025 |
We have released another SQL table for people to use. The table is:
You can use the link on the left hand menu to take you to the full list of tables or you can click here. We have also changed some of the 'under the covers' code to improve our own reporting system and the end user's experience. This should be transparent to our end users. |
|||
|
|
||||
| 12th July 2025 |
We have released another SQL table for people to use. The table is:
You can use the link on the left hand menu to take you to the full list of tables or you can click here. |
|||
|
|
||||
| 13th June 2025 |
We are releasing some SQL tables for people to use. We have added two to get the ball rolling these are:
|
|||
|
|
||||
| 15th May 2025 |
We have corrected a few issues that we were experiencing since the migration to our new web server,
.
We apologise for any inconvenience you may have experienced. please feel free to let us know of any issues you encounter on our website. |
|||
|
|
||||
| 18th April 2025 |
We have created a video of how we package up software for distribution. We use 'home grown' Rexx utilities
and create a dataset in TSO TRANSMIT format which we then upload to our website. The video is on our YouTube™ channel or you can view it by clicking here. |
|||
|
|
||||
| 15th April 2025 |
We have released another assembler program named ASLREGS. This program simply displays
the contents of the calling program's registers. It is useful when developing another program but
the calls should be removed before making the calling program production. The display messages are written to the job log. ASLREGS is available from our z/OS software page which can be accessed here. |
|||
|
|
||||
| 23rd March 2025 |
Following the recent migration to Hostinger we have been tweaking the website to have a common look and feel We also corrected an issue with the page counters. This resulted in some counters getting reset. We have also added another suggestion for a useful Windows program (Everything). It can be accessed via our suggested Windows software page . Thank you for your patience during the migration. |
|||
|
|
||||
| 21th March 2025 |
We have 'successfully' migrated our web site to a different web host. We believe everything works, but if you do find anything not working, please contact us so that we can rectify the issue. Thank you for your patience during the migration. |
|||
|
|
||||
| 30th December 2024 |
We have released a new Excel™ spreadsheet for assisting in tracking your Stock portfolio. The spreadsheet will
automatically calculate the profit or loss for your stock. It uses a user form to make adding stocks quick and easy and uses the
StockHistory function os Excel to calculate the profit/loss figure. More details about the spreadsheet can be found on the webpage here. The spreadsheet is named Stock Portfolio and is available from our list of available spreadsheets which is available here or directly from here. A video of using the spreadsheet is available on Youtube™ here. |
|||
|
|
||||
| 23rd December 2024 |
We have changed the Holidays Excel spreadsheet to include the new US federal holiday Juneteenth (19th June). The Spreadsheet is available from our list of available spreadsheets which is available here. |
|||
|
|
||||
| 11th August 2024 |
We have added a new Excel spreadsheet, named DatePicker.xlsm, that uses the new DatePicker form. As the new form uses some user functions, it was considered better to provide a workbook rather that just the userform code. The Spreadsheet is available from our list of available spreadsheets which is available here. |
|||
|
|
||||
| 14th May 2024 |
We have released revised our Blood Pressure spreadsheet, BloodPressure.xlsm . In addition to some minor fixes with the calendar we have added the ability to use your own time. ( the default is to use the current time). The time is specified in hours and minutes The Spreadsheet is available from our list of available spreadsheets which is available here. |
|||
|
|
||||
| 16th March 2024 |
We have released a new Excel VBA Subroutine named GetRGB. This will return the red, green and blue values that constitute the passed ColorIndex value. To use the subroutine you pass the ColorIndex and three fields (as Long variables) to contain the RGB values. i.e. The Subroutine is available from our list of subroutines. |
|||
|
|
||||
| 22nd February 2024 |
We have released two new VB functions. One named LongestCol and the other named LongestRow. The function perform, more or less, similar function except one returns the length of the longest row on a worksheet(LongestRow). The returns the the length of the longest column on a worksheet (LongestCol). Both functions have two parameters, one required and one optional. The required parameter is the name of the worksheet to be tested. The second parameter is an optional parameter that, if present, will contain the column/row number of the longest row/column. An example of use is: The functions are available from our list of functions. |
|||
|
|
||||
| 13th February 2024 |
We have released another new VB function named CountMergedRowsInCell. The function will return a count of the number of rows merged in a particular column in the requested row. An example of use is: This will return a count of the number of merged rows in column 2 of OurSheet that are merged into the cell in row 3. This function is useful if you are wanting to sort a sheet with merged cells. CountMergedRowsInCell is available from here or from our list of functions. |
|||
|
|
||||
| 7th February 2024 |
We have released another new VB subroutine named TickThem. The subroutine will put a tick mark in a cell or a range of cells. It is recommended that you assign a macro for calling this quickly and easily, or make it a right-click menu option. TickThem is available from here or from our list of subroutines. |
|||
|
|
||||
| 30th January 2024 |
We have released a new VB subroutine named InvertColours. The subroutine will 'flip' the colors of the background and text for a cell or a range of cells. It is recommended that you assign a macro for calling this quickly and easily, or make it a right-click menu option. InvertColours is available from here or from our list of subroutines. |
|||
|
|
||||
| 22nd January 2024 |
We have released a new VB function named WorksheetExtant2. This differs from WorksheetExtant in that you can pass a fullpath to a different workbook. WorksheetExtant2 can totally replace WorksheetExtant in existing code because if no workbook name is passed then the active workbook will be assumed. WorksheetExtant2 is available from here or from our list of functions. |
|||
|
|
||||
| 17th January 2024 |
We have released a new version of the frmDatePicker Excel userform. Changes in this code include:
|
|||
|
|
||||
| 6th January 2024 |
Happy New Year! We have started to split out the Excel userforms from their workbooks. The userforms are still within the relevant workbooks, we just decided that they may be useful in their own right. You can access these from the "Software Inventory" menu on the left side of our webpages. We are also in the process of simplifying the website and hopefully make things easier to find. This is going to be a gradual implementation to reduce the risk of outages. We have also added a spreadsheet for helping to organise records that have (or will be) recieved from the United Kingdom's General Records Office. This is useful for Ancestry research and to help prevent purchasing duplicates artefacts. GROCertificates is available from here or from our list of Spreadsheets. |
|||
|
|
||||
| 23rd December 2023 |
We have added a webpage and a Visual Basic module {RightClickProcess.bas} that will allow for modifications to the Right Click Menu in Excel.
The provided code adds "Show Only", "Hide All", "Reset/Show All" and "Delete Hidden" to the right click menu. It also supplies the subroutines that provide these functions. The webpage, as well as a demonstration video, is available here. RightClickProcess.bas is available from here or from our list of Excel Functions. |
|||
|
|
||||
| 17th December 2023 |
We have corrected the error messages section of the ENQWATCH documentation. This now correctly describes the messages
We have also corrected the typos in several other documents. These were added to the website a few days ago. If you followed the links posted yesterday you have the latest version of each document. These documents can be found here, from the left hand menu or by clicking or scanning the QR code below. ![]() |
|||
|
|
||||
| 16th December 2023 |
We have added a couple of new pages to our website. One is a message lookup facility where you can lookup any message issued by our free code. Obviously this presupposes that the site hasn't changed the message identifiers and/or program name. This page can be access from the 'message lookup' menu item on the top menu or by clicking here. The second page is simply a list of all our published documentation. This includes all program manuals and technical papers. This page can be found here, from the left hand menu or by clicking or scanning the QR code below. ![]() |
|||
|
|
||||
| 9th December 2023 |
We have released a new Rexx Exec, named DB2STAT. DB2STAT will display every DB2 subsystem defined on
the LPAR along with the status of each one. DB2STAT is available from here or from our list of Rexx execs. |
|||
|
|
||||
| 3rd December 2023 |
We have added a new page to our website that will allow you to select an MQ Reason Code and display
what it means and how to correct the error (if it is an error). The page can be found here, from the menu above or by clicking or scanning the QR code below. ![]() |
|||
|
|
||||
| 26th November 2023 |
We are happy to announce that we have released another z/OS program, ASLSUBCM. The program will issue a start or stop command for
a MQ or DB2 system. Most site will do this via an automation system but this program is still useful for 'sandbox/test' systems. It uses SVC 34 so it must be executed from an authorised library. By default ASLSUBCM will issue a multi-line WTO wit a list of candidate subsystems and request which one to action by means of a WTOR.More information can be found here The code is available from here or from our list of z/OS collateral here. The user manual for ASLSUBCM is available from here |
|||
|
|
||||
| 16th November 2023 |
We want to apologize for an issue with our web domain. Our web hosting company had issues that resulted in our web site being unavailable for several hours. The issue has now been resolved. (obviously!) |
|||
|
|
||||
| 6th November 2023 |
We have added an Excel™ example of how to insert the current date into a cell with just a simple click into the cell. The date is only inserted for certain columns (in the sample code it is columns I & J). The date inserted in prefixed with single quote so that Excel treats it as a string. More information can be found here The code is available from here or from our list of Windows collateral here. |
|||
|
|
||||
| 21st October 2023 |
We have released an updated version of the ISPF facility, XMT. There any many new functions added to XMT including a member selection filter, the ability to have a log produced and the ability to add a message to the files, amongst others. More information can be found here, or by downloading the documentation which is available here. The XMT facility works best with our assembler program SUPERXMT We have also made some fixes to the CLONE and ALIKE Rexx execs. These are available from our list of Rexx execs. |
|||
|
|
||||
| 29th September 2023 |
We have released an ISPF demonstration of how to request a date be entered by a user via a popup.
It is named DATEGET and it is comprised of a panel definition, an ISPF message library and a couple of rexx execs. Only one rexx exec (DATEGET) is really needed, the other, DATETEST, is simply a demonstration of how to call DATEGET The panel will validate the date entered and uses instream rexx for this. The panel looks like this:
The XMI file is available from here. |
|||
|
|
||||
| 25th September 2023 |
We have released our versions of the TSO TRANSMIT command wrapper SUPERXMT and SUPERXMO. The difference between the two is only that the table of authorized TSO users is externalized for SUPERXMT. The security table remains as an internal table for SUPERXMO. Both programs increase the size of the parameter list passed to XMIT enabling a larger list of member names to be passed to XMIT. This feature is used by our upcoming release of an updated XMT function. It is hoped to have this ready for release within the next few days. Further information about SUPERXMT can be found here. |
|||
|
|
||||
| 20th September 2023 | We have added a new technical document that is a schematic of the generalized job flow through a z/OS system. It is available from the top menu under the 'Technical Articles' tab or you can download the PDF from here. |
|||
|
| ||||
| 13th September 2023 | We have released a new Edit macro named FIXPREP. FIXPREP is a 'run once' ISPF macro that will update the ISPPREP panel, ISPPREPA to enable the saving of the input and output datasets that were used. For a detailed description of updating ISPPREP please see our webpage here. FIXPREP is available from here. |
|||
|
|
||||
| 10th September 2023 |
We have released a new rexx based function named COMPMEMS. COMPMEMS Scans partitioned datasets for like named members and produces a CSV file of the results along with any ISPF statistics. This file can then be manipulated using Excel. The files to be scanned can be either a list of partitioned dataset or datasets matching a pattern. i.e. hlq.**.llq would match all hlq.abc.llq and hlq.adc.def.llq datasets. You can also force the pattern to match the datasets names by position.i.e. hlq.**.llq would match all hlq.abc.llq but not hlq.adc.def.llq datasets. CM is an alias of this rexx command.A demonstration video is available on YouTube™ by clicking here. COMPMEMS is available from here. We have also changed the homepage to remove the marquee and have added a new page to hold the Link Database statistics. This page is available here. The links themselves have been updated (where applicable) and verified as being correct. |
|||
|
|
||||
| 5th September 2023 | We have updated our zaps web page as we have now tested the zaps up to HBB77D0 (z/OS 2.5). The zap for IEBUPDTE remains the same for z/OS 2.5 so any operating system version between 1.11 and 2.5 should use the same zap. We have also applied a fix to GENPREP for preventing an issue when the input member name is left blank. We have also released a new edit macro named DSNINFO which simply lists the dataset information for the dataset currently being edited. DSNINFO is available from here. |
|||
|
|
||||
| 28th August 2023 |
We have released another ISPF edit macro named COMMENT. Just as a reminder Edit macros must be run under an ISPF edit session. (We have reasons for stating the obvious) COMMENT will change a data line (or lines) into a comment line. The line to be changed must been denoted by a "q" in the line number area. If you are wanting to comment out a block of lines then use "qq" as the block line commands in the same way you would use any other ISPF block command. COMMENT will detect the data type being edited. Currently only the following data types are supported.
COMMENT is available from here. |
|||
|
|
||||
| 22nd August 2023 | We have released another Rexx based facility. This one is named GENPREP. GENPREP will perform the same function as the IBM ISPPREP command but with added flexibility. Full details can be found on the GENPREP webpage here. A user guide is available here. A demonstration of how to use GENPREP is available via a video. This video is available on YouTube here. The GENPREP facility XMI file is available from here. |
|||
|
|
||||
| 12th August 2023 | We have released a Rexx based facility for testing to see if a VSAM KSDS is in need of being reorganized. The facility is named TESTKSDS. TESTKSDS is comprised of ISPF panels, messages and Rexx execs. All of these are distributed in one transmitted PDS (XMI). Please refer to the TESTKSDS page that is availablehere for installation instructions. Instructions on how to use TESTKSDS are available via a video. This video is available on YouTube here. The TESTKSDS facility XMI file is available from here. |
|||
|
|
||||
| 5th August 2023 |
We have added a new Rexx Exec named MEMMATCH. MEMMATCH will search the PDS name passed to it for the member or member pattern (i.e. ASL*). If it finds a match it will return a condition code of 0. MEMMATCH requires the CHECKDSN exec to be available. MEMMATCH must run under ISPF as it uses LM facilites. The format for using MEMMATCH is: MEMMATCH pdsname memberpattern CHECKDSN is available from here. |
|||
|
|
||||
| 29th July 2023 | We have added a XMI (TSO TRANSMITted PDS) file to our collateral. This file contains two real Rexx execs and a number of aliases to help when users mistype the TSO LOGOFF and LOGON commands. Once you have received the XMI file (after a BINARY file transfer) you will need to make the execs (and aliases, if required) available to your users. The best way to do this is to add it as the final library in the SYSEXEC concatenation. This way if there is a name clash the name that is encountered first is the one higher up in the SYSEXEC concatentation. You can add as many aliases or pseudonyms names as required. The XMI file is available from here. |
|||
|
|
||||
| 23rd July 2023 | We have updated the ISPF edit macro named REXXIT to allow flexibility when an ALIAS is being used. REXXIT will now dynamically change the name in the help display to reflect the name of the command calling the main exec if an alias is being used. The updated version of REXXIT is available from here. |
|||
|
|
||||
| 22nd July 2023 | We have released an ISPF edit macro named ALIAS. ALIAS will define an alias name in a PDS for the member currently being edited. A video demonstrating the use of ALIAS can be viewed on YouTube" here. ALIAS is available from here. A full list of available our z/OS ISPF Edit macros is available from here. |
|||
|
|
||||
| 15th July 2023 | We have added a new page and a Rexx exec (SORTDEMO) describing how to quickly sort an array in Rexx. The method used does not need to use files nor call any sort program. It uses a bubble sort methd. The page is available from the menu bar under 'Sample Code' or by clicking here. SORTDEMO is available from here. A full list of available our z/OS collateral can be obtained from here. |
|||
|
|
||||
| 24th June 2023 | We have released simple assembler program named DDLIST which demonstrates how to check for DD cards. This is simply a sample of how to run the TIOT to list the DD cards being used by the program. It will list all the DD cards in a string of WTOs. Although many people already know how to do this, we have included this code for those who don't! DDLIST is available from here. A full list of available our z/OS collateral can be obtained from here. |
|||
|
|
||||
| 17th June 2023 |
We have released another ISPF Edit Macro. The edit macro, named ASMTIDY, will tidy up an assembler program source to do:
Note: ASMTIDY uses the Rexx execs, WORD and WORDS These are freely available from here. ASMTIDY is available from here. A full list of available edit macros can be obtained from here. |
|||
|
|
||||
| 25th May 2023 | We have released a small 'usermod' showing how to rearrange the column on an SDSF display. We use this to display the maximum return code on the first screen of a STatus display. Information for this 'usermod' is available from here. A video demonstration is avail on YouTube" here. |
|||
|
|
||||
| 30th April 2023 | We have released a Windows application program named HercNet HercNet is a VB.Net program that will generate the required definitions that will allow a Hercules guest operating system to communicate with the host computer and the internet. It will generate a text file that will contain instructions on which defines go where. It will generate the definitions based on the computer it is running on. Information for HercNet is available from here. A video demonstration is avail on YouTube" here. |
|||
|
|
||||
| 20th March 2023 | We have released another assembler macro. This one is named POS. POS will return the relative position of a character within the passed string. If a second parameter is omitted space (x'40') is assumed. The search character can be either a hex value or a character. If the character isn't in the string the value in register 15 will be the actual length of the string plus 1. POS is available from here. It is also available from our macro database here. |
|||
|
|
||||
| 4th March 2023 |
After a little bit of an unforeseen delay, we have released another assembler macro. This one is named ASLFILL. ASLFILL will fill a passed area name with the string passed as a second parameter. If a second parameter is omitted space (x'40') is assumed. Note: The passed fill character must be the hex value e.g. to fill a field with binary zeros pass 00 to the macro.
|
|||
|
|
||||
| 22nd January 2023 | We have added a new page and the files (in a zip file), that explains how to add a guestbook to a website. The code is mostly written in PHP and uses a SQL database to store the information entered. The page is available here. |
|||
|
|
||||
| 16th January 2023 | This update is a little different as it really isn't anything to do with z/OS" but is does hark back to earlier time and may evoke some nostalgia. Basically it is a link to some of those classic PC games that stopped working after Windows upgraded. Enjoy! The games are available from https://www.allvideoclassicgames.com. |
|||
|
|
||||
| 9th January 2023 | We have added a video to our YouTube channel that demonstrates how to use FreeFileSync to maintain a backup strategy for your Windows files. It will basically allow backups of only changed files. The video is available from here. |
|||
|
|
||||
| 23rd December 2022 | We have added a workbook that can be used to record and monitor blood pressure. It will also produce a graph so it is easier to see the trends and history. We have added a video to demonstrate how to use it. The workbook is available from here. The video is available on YouTube. It is also available from our website here. |
|||
|
|
||||
| 10th December 2022 |
We have added a different version of the COUNTSTR Rexx exec it is named STRCOUNT. The main difference between the two is that STRCOUNT will return the count and the position of the first match by PUSHing them into a stack for retrieving by the calling exec. Example of calling STRCOUNT: STRCOUNT Needle Haystack Count FirstPos The arguments in italics are optional but if omitted then Count and FirstPos are the names that will be used. Here is an example of using STRCOUNT:
The STRCOUNT exec is avail from here. |
|||
|
|
||||
| 21st November 2022 | We have changed our Excel financial year utilities, FYUtilities. The change will allow SAP dates (yyyymmdd format) to be handled asis. Any invalid dates will now be displayed as 911 and an error message issued. You can also use the new FYValidateSAP function to reformat a SAP date (yyyymmdd) into mm/dd/yyyy format. The financial year utilities are available from here. |
|||
|
|
||||
| 19th November 2022 | We have made available a program called EMPTY which is not one that we wrote but one that we use in some of our Rexx Execs. We are not claiming any rights to the original progam. The program is also freely available on the CBT tape (available from here). EMPTY is available from here. We have also updated our videos on our YouTube channel Abbydale Systems. The changes were include step-by-step comments to the videos. |
|||
|
|
||||
| 5th November 2022 | We have released a facility for Excel that will allow the user to print several worksheets with just one operation. There is a sample workbook available from here Note: This spreadsheet implements an option that allows 'fit on one page' type options. The page that explains how to use or create your own version of this is available from here. The demonstration video is available on YouTube or on the page above. |
|||
|
|
||||
| 22nd October 2022 |
We have released a new assembler macro named GETMODE. This assembler macro will set a value of an area to denote the addressing mode of the executing program. This can be useful when a program can be called from programs that are in different addressing modes. The macro will set the value to:
The area can be passed as either a name to be generated by the macro, as a predefined area (by enclosing the name in brackets()), or, if omitted it will generate an area named ASLADDRM. |
|||
|
|
||||
| 19th October 2022 | We have changed the STARTASM edit macro to include the omitted final "END" card. We have also corrected the comments in the GETPARM assembler macro and changed the JOBNAME macro. The JOBNAME macro now supports 'indirect' area specification. To specify an area to be used that is defined outside of the macro use brackets (). This enable JOBNAME to be used in a re-entrant program. You can find the corrected version of STARTASM here. You can find the corrected version of GETPARM here. You can find the updated version of JOBNAME here. |
|||
|
|
||||
| 5th October 2022 | We have released a sample Excel spreadsheet, video and page that explains/demonstrates how to use the color of a worksheet to determine which worksheets to display/unhide. This is useful if you have a lot of worksheets and want to group them so you can declutter the tab bar. The sample workbook can be found here. The page that explain how to use or create your own version of this is available from here. The demonstration video is available on YouTube or on the page above. |
|||
|
|
||||
| 25th September 2022 | No sample code released today but we have been validating and adding to our Links section. We have also made some website tweaks mainly adding a link for submitting Link suggestions. To suggest a link to be added please "click here". |
|||
|
|
||||
| 19th September 2022 | We have added a new page that demonstrates how to connect an Access database to an Excel spreadsheet. The page is available from here or from the top menu under "Microsoft Software, Hints, Tips amd Sample Code" tab. |
|||
|
|
||||
| 10th September 2022 | We have added a new Rexx exec to our downloads. The exec, named LISTVOLS, will list all the online DASD volumes along with their unit addresses. LISTVOLS should work on z/OS systems from version 1.7 onwards. You can easily add any additional UCB information if required (i.e Unit type). The code should handle dynamic UCBs as it uses the ULUT to find UCB addresses. LISTVOLS could easily be changed to list other types of units if required. LISTVOLS is available from here and it is also included in the full Rexx library which is available from here. |
|||
|
|
||||
| 4th September 2022 | We have added a new z/OS program to our downloads. The program, named ASLUCAT, will run check a disk volume for any uncatalogued or miscataloged datasets and list them. ASLUCAT can be useful if a disk pack has been restored from an old backup to ensure that the VTOC matches catalog entries. ASLUCAT is available from our collection of assembler program which is available from here. |
|||
|
|
||||
| 27th August 2022 |
We have added a new Excel function name SheetCount. SheetCount will, as the name implies, count the number of worksheets in a workbook. It can count all the sheets or the visible, hidden or veryhidden worksheets. SheetCount can be used in VBA or as a function in a worksheet cell. The passed parameter can be either an integer or a string. The following are valid parameters:
|
|||
|
|
||||
| 17th August 2022 | We have added a couple of z/OS assembler programs. One, ASLDATER, is distributed as OCO (Object Code Only), the other, ASLDAYCC is available as both source code and already assembled. Information about the programs are available from: ASLDATER information is available here. ASLDAYCC information is available here. The XMI file for ASLDATER is available from here. The source code for ASLDAYCC is available from here. |
|||
|
|
||||
| 7th August 2022 |
We have added a new VBA subroutine. The subroutine named HideEmtpyColumns, will check all the columns of a worksheet and hide it if it is. This is useful if you want to print a worksheet and don't want to waste the space by printing empty columns. HideEmptyColumns has 2 possible parameters, 1 of which is required. These are:
|
|||
|
|
||||
| 31st July 2022 |
We have added a new VBA function. The function named ColumnEmpty will check a column of a worksheet to see if it is empty. If it is empty the value of True will be returned, otherwise False will be returned. ColumnEmpty has 3 possible parameters, 2 of which are required. These are:
|
|||
|
|
||||
| 23rd July 2022 |
We have added two new pieces of VBA code. One is a function named FindColumn, the other a subroutine named ColorTheColumn. FindColumn will look for string in a column and return the column number the first instance is contained within. Details are available here. The code itself is available from here. Note: FindColumn requires the subroutine WorksheetExtant to be available. The subroutine ColorTheColumn can be used to change the background color of a column that contains the string passed to the subroutine. ColorTheColumn uses FindColumn which in turn calls WorksheetExtant. ColorTheColumn requires 3 parameters. These are:
|
|||
|
|
||||
| 17th July 2022 | We have added a new technical article on how to change the new tab landing page for Edge&trade from the Microsoft default. Out of the box Edge will display a page full of articles and commercials (usually Bing driven) that it thinks you will be interested in. The technical paper shows you how to change this to whatever URL you want (i.e. Google) The article is available from here. It can also be accessed from the top menu under the "Technical Articles" tab. |
|||
|
|
||||
| 16th July 2022 | We have released a new assembler macro named GETPARM which will put the address of a passed parameter into register 1 and the length of the passed parameter into register 15. Registers are both 0 if no parameter was passed. You can use this assembler macro from anywhere in the program and access the passed parameter list. In other words there is no need to process the parameters as soon as a program starts executing if you don't want to. The code is available from here. Or you can access it from our list of available assembler macros that can be found here. |
|||
|
|
||||
| 9th July 2022 | We have released a new edit macro named CLEANIT which will remove extraneuos line numbers from column 73 to 80 of a dataset member. The updated code is available from here. Or you can access it from our list of available ISPF edit macros that can be found here. |
|||
|
|
||||
| 6th July 2022 |
We have changed the Visual Basic Zeller routine to allow SAP dates as input. The DateFormat portion of the call to the Zeller funnction should be coded as "SAP". i.e.
|
|||
|
|
||||
| 2nd July 2022 | We have added a new assembler macro named GETUSER. GETUSER will place the userid of the person running the program into a storage area. If no storage area is passed on the invocation, then ASLUSERI will be used. GETUSER is available from here. Or from our list of assembler macros available here. |
|||
|
|
||||
| 26th June 2022 | Whoops! We discovered an error in our TextColorSelect Excel function. This has been corrected. Please download the corrected version from here. Sorry for any inconvenience. |
|||
|
|
||||
| 25th June 2022 | We have added another sample Cobol program (USERID) and made some changes to the JOBINFO Cobol sample. Both programs demonstrate how to obtain the userid of the person running the program. This can be useful if, for example, you want to build a dataset under the users logon id from within the program or if you want to create a temporary dynamic queue for an MQ reply to be written to based on the userid. USERID is available from here. JOBINFO is available from here. |
|||
|
|
||||
| 18th June 2022 | We have added three MQ related items to the website. Two assembler programs and a technical paper. The technical paper is "WebsphereMQ Coding Considerations" and it discusses some of the MQ reason codes that an application may receive, what the likely causes are and how to handle them in a well behaving z/OS MQ enabled application. It is available here or from the top menu under "Technical Articles". The two programs, MQERROR and QMGRWAIT are callable assembler programs that will put a Write To Operator to the system console. MQERROR will put out whatever text is passed to it and wait for an operator response. QMGRWAIT will put out a "jobname has detected that qmgr is quiescing." message and wait for an operator response. QMGRWAIT also comes bundled with MQERROR and some sample Cobol code on using both. MQERRROR is available from here. QMGRWAIT is available from here. |
|||
|
|
||||
| 6th June 2022 |
We have released another Rexx exec. This one is named ASLDBACT. ASLDBACT is similar to ASLQMACT but for DB2 Subsystems. ASLDBACT sets a profile variable named "ASLACTDB" that contains a list of all the active DB2 Subsystems on the LPAR which you are signed onto. Along with the subsystem identified ASLDBACT indicates the status of the subsystem (A) for active, (I) for inactive. The list is a comma separated list with the following format: PROD(A),DEVL(A),DSNG(A),TEST(I) To use ASLDBACT simply code:
ASLDBACT is available from here. |
|||
|
|
||||
| 2nd June 2022 | We have added yet another version of the IndexSheetNames VBA Subroutine. The newest will do exactly the same as IndexSheetNames(3) but it will also select the best color for the text based on the ColorIndex value of the cell. It uses a new VBA function, TextColorSelect which is available here , or from our collection of VBA functions that can be found here. The code for IndexSheetNames(4) available from here, or from our collection of VBA subroutines that can be found here. |
|||
|
|
||||
| 1st June 2022 |
We have added another version of the IndexSheetNames VBA Subroutine. The new version will copy the color of the tab as the background in the index. i.e.
The code is available from here, or from our collection of VBA subroutines that can be found here. |
|||
|
|
||||
| 29th May 2022 | We have released a new program (well actually 2 assembler 'programs'). One is named ASLWAIT the other is a non-executable 'program' named ASLDCBS. ASLDCBS is simply a 'map' of DCBS used by many Abbydale Systems program, including ASLWAIT. ASLWAIT will wait for an ECB that will never get posted. This makes it ideal for emulating long running tasks for automation purposes. Additionally ASLWAIT can issue messages either at startup, or shutdown. ASLWAIT has a command interface that will enable it to be shutdown gracefully. More information on ASLWAIT can be found here. The install library for both ASLWAIT & ASLDCBS can be found here, or from our collection of program that can be found here. |
|||
|
|
||||
| 28th May 2022 | We have released new assembler macro. The macro is named JOBNAME. JOBNAME will store the name of the job into a provided stroage area. If no storage area name is passed JOBNAME will use the name ASLJOBNM. The code for JOBNAME can be found here, or from our collection of assembler macros that can be found here. |
|||
|
|
||||
| 22nd May 2022 |
We have added the ability to use Excel Format Integer dates to the Financial Year Functions. Please see the updates on the ExcelFYInfo page for more details. We have release another Rexx exec. This exec, named LEVELS will count the number of levels in a passed string. This string is usually a dataset name but no check is made for the validity of the dataset name, nor that the dataset exists. In actual fact the counting of the levels (qualifiers) can actually be achieved in one Rexx statement, but we fancied it up a little and gave the ability to list the levels. To count the levels in one instruction use:
|
|||
|
|
||||
| 14th May 2022 | We have released some VBA functions, one that will calculate what financial year a passed date is in, another that will return the week of the financial year that a date is and one that will calculate what period of the financial year a date is in. We have also added a page to demonstrate how to use the functions. It is available here, or from the top menu. The code for the VBA functions can be found here. |
|||
|
|
||||
| 7th May 2022 | We have added a new page for our sample SMF exits. We have also included a sample IEFU29 exit. Details of the exit can be found on the SMF Exit page. The page can be found from the top menu or by clicking here. The code for the sample IEFU29 exit can be found here. |
|||
|
|
||||
| 2nd May 2022 | We have added some sample code to our S4 Hana (SAP) page. The code shows how to convert the SAP date from the format yyyymmdd to the integer Excel format of date. The code can be found here. |
|||
|
|
||||
| 23rd April 2022 | We have release a new Rexx exec named GETDSN. GETDSN will return (via PUSHing the data onto a stack) the dataset name associated with a passed DD name. In the case of a concatenation the first dataset name of the first dataset in the concatentation is returned. For an example of using GETDSN click here. The link to GETDSN is available from here or by visiting our Rexx Exec library list which is available here. |
|||
|
|
||||
| 19th April 2022 | We have updated a couple of our Rexx execs, FINDREXX and FINDIT. The changes are to scan the TIOT rather than issue the LISTALC TSO command. This substantially improves performance. We are currently working on using the same tecnique in all of our 'FIND' execs. The link to these Rexx execs is available by visiting our Rexx Exec library list which is available here. |
|||
|
|
||||
| 16th April 2022 |
We have released another Rexx exec. FINDREXX will check to see if a passed Rexx exec exists in either SYSEXEC or the SYSPROC concatenations. Usage: If the exec exists FINDREXX will set a return code of 0. If it doesn't exist the return code will be 8. The link to FINDREXX is available from here or by visiting our Rexx Exec library list which is available here. |
|||
|
|
||||
| 9th April 2022 | We have added a new page to the website that describes how the change the default button on a VBA MsgBox. The page is available from the top menu under the Microsoft Excel Excel Hints and Tips r from available from here. |
|||
|
|
||||
| 2nd April 2022 | We have released a new ISPF edit macro named STARTMAC. STARTMAC will generate an assembler DSECT boilerplate. If the member being edited has data in it, the boilerplate is wrapped around it. Your data will not be lost. The DSECT generated will have the same name as the member name being edited. STARTMAC will generate a length for DSECT by naming an equate member_End and name the length value as member_Length. Sample output from STARTMAC can be viewed here. The link to STARTMAC is available from here. |
|||
|
|
||||
| 26th March 2022 | After a little delay while we prepared a utility for release we are, at last, ready to release a couple of related facilities. These are the program ASLCOPY and a related Rexx exec named ASLCPY. ASLCPY is basically a Rexx front end to ASLCOPY. Information about ASLCOPY is available from here. The link to the ASLCOPY XMI file (which also includes ASLCPY) is available from here. |
|||
|
|
||||
| 26th February 2022 |
We have released another of our Rexx, this one is named JUL2GREG. JUL2GREG, as the name implies, converts a Julian date , in the format yyyy.jjj, into a Gregorian date, in the format yyyy/mm/dd. JUL2GREG can be called as a standalone exec or as a function from another exec. To call it as a stand alone exec make sure it is place in your SYSEXEC concatenation then simply type: JUL2GREG You will be prompted for a Julian date (in the format yyyy.jjj)To call it as a function code: GregDate = JUL2GREG('yyyy.ddd', 'anything') In this instance the 'anything' can be any non-blank which will suppress any messages from JUL2GREGThe link to JUL2GREG is available from here or by visiting our Rexx Exec library list which is available here. |
|||
|
|
||||
| 19th February 2022 |
We have released a new Rexx exec named REXXINFO. REXXINFO doesn't actually do much of anything useful but it does demonstrate how to find the name of the currently executing exec and the dataset it was called from. The output from REXXINFO is: userid is running execname from dataset name The link to REXXINFO is available from here or by visiting our Rexx Exec library list which is available here. |
|||
|
|
||||
| 13th February 2022 | After a brief hiatus we have released a new Rexx exec named ASLTESTR. ASLTESTR will check for the existance of a passed sequential dataset and if it exists it will empty it. If the passed dataset name doesn't exist it will be created and then emptied. You can, optionally, pass the logical record length for the new file. If you don't pass as value then 133 is used for the record length. Now you may ask why we create a file and then empty it, why not just create it? The answer is that sometimes it is possible to allocate a dataset over what was 'free' space on the disk, but actually had data there. It can also be that the data just so happens to be the correct record length therefore the dataset when allocated may also seem like it has data in it. Of course it is possible to erase data with a security system when a dataset is deleted, but the method used by ASLTESTR would still work even if this were the case. The link to ASLTESTR is available here or by visiting our Rexx Exec library list which is available here. |
|||
|
|
||||
Abbydale Systems LLC Lic. 802696149. All rights reserved.