Very useful.

I tend to avoid post conditionals nowadays as I long ago realised, as with your other examples, readability was far more important.

Only one I do not personally do is the Command Arguments example, I'm old and set in my ways and like using the comma 😁

Another possible mention might be "goto".

Oh, and your note on functions not being case-sensitive is only for system (intrinsic) functions.

I think the message overall is we no longer have the same memory and screen limitations and so spaced out, readable, and maintainable code is far more important than the old compacted method of writing mumps/objectscript. 

Thanks for the explanation, I assumed it worked something like that.

Do you agree with that approach though or would you prefer something more like Robert's description?

In my mind you don't create a database based on a specific file so the DAT should be swappable and retain the database settings, other database settings work that way.

Hi, that was my understanding but I have seen resource issues caused by moving CACHE.DAT in the past and recently had an odd issue on IRIS then did the below to test it.

I just copied the IRIS.DAT from the USER database folder, which has the %DB_USER resource, to another database folder which had %DB_%DEFAULT and afterwards the other database had %DB_USER instead of %DB_%DEFAULT and so it seems the Resource does move with the DAT file.
The copy was done manually with windows file copies while IRIS was down and no config changes made.

This is all viewing the database resource via the portal in  System > Configuration > Local Databases

That removes all " characters, while these are indeed doublequote's, someone could also mean "" where there are double quotes, as in quotes inside a quoted string (str="this is a quote"".")

For that

$translate(str,"""""","""")

or I find it more readable to use the ASCII value so to remove

$translate(str,$c(34.34),"")

or to replace with a single "

$replace(str,$c(34,34),$c(34))

Not 100% sure of the requirement but if you write the output from the Cache code as if it was to the terminal then you can redirect the output to a file by appending >output.file but I don't think cterm is the way to do that as cterm will trap all the output itself, you would need to use csession for that.

You could just write to a file in your Cache code or run an external command/script from inside the Cache code?

Access Denied is generally either a user permissions or a resource issue.  However, from one of your screenshots it looks like you are connecting to a Cache install running an evaluation license?  These can have limitations so it is also possible you are hitting a license (user/process) limit?

Most likely the user does not have permissions.  Based on screenshots in other comments it looks like you are using the wrong password for the Marco user and that the Admin user is disabled but you have obviously been able to log into the portal and overcome the issue mentioned with selecting events?  Would also be useful to check the console log for that time as well.

If this is still happening perhaps update this query with details on the username, whether that user works in the portal, and the latest errors in event log that relates to the studio failure, look at all entries for that time, not just the login failures, in case the issue is different.

Microsoft used to have an Excel Viewer but it is retired, though it may still work.
Download the latest online Excel Viewer - Office | Microsoft Docs

If you don't have an MS Office license I'd suggest LibreOffice.
Home | LibreOffice - Free Office Suite - Based on OpenOffice - Compatible with Microsoft

However, you mention CSV files and these are not actually Excel Spreadsheets, they can just be viewed in a text editor if needs be, or any Spreadsheet software will open a formatted view.  There are also CSV specific viewers such as Nirsoft's
CSV / Tab delimited file viewer and converter for Windows (nirsoft.net)