These procedure converts a string to Proper-, Pascal- and CamelCase.
The routines will handle exception for certain words like ‘ApS’ (Danish company type), ‘A/S’ (Danish company type, ‘LTD’ (UK/US company type), ‘GmbH’ (German company type) and others. You can extend with type you need. Further, words starting with ‘Mc’ or ‘Mac’ will also be converted correctly.
There are a number of shortcomings using DISPL, such as the message to display can be maximum 52 characters, you have to press [ENTER] for each line (which might be what you need in some situations). There is a method to circumvent these short comings, and that is what this article is about.
This procedure searches the IFS tree structure (including sub-directories) for files and directories having a name that matches the mask 🙂
When a matching file or directory is found, a ‘File Found’ procedure is called. The ‘File Found’ procedure is one that you supply to process the found file/directory. An example of a ‘File Found’ procedure is supplied.
The two procedures described in this article, converts a string to upper or lower case. The conversion is done fast by using a combination of a translation API to provide the correct translation tables, which includes national characters for us with such, and then use the build in function %XLate to perform the actual translation very fast.
The speed of the convert is way faster than using SQL (Set B = Upper(A) ) or translate APIs. These two methods will do the job if you just need to convert now-and-then. A batch job converting many fields/records will benefit from my fast routines.
The code examples in this article is based on the first version of the FindFiles() procedure. The FindFiles() procedure has been updated to Totally Free RPG and a bug have been fixed. You will find the source code, example and build script here.
I am working on a utility and I wanted to add the ability to search for files in the IFS. That is, I wanted my utility to search the entire or relevant parts of the tree structure (including sub-directories) seen from the IFS’s point of view. Had it just been a search for objects in the libraries, a DSPOBJD command could do the job. But my ambition was that the search should work anywhere in the IFS and, of cause, only find objects matching a name mask that I would provide. Sounds like a reasonable requirement, don’t you think?