There are many predefined methods defined by Cache under Security.* package to maintain/manage Roles/Users/Resources ...ect.

Specific to your query, you can use below command to export/import Roles:

Write ##class(Security.Roles).Export("C:\RolesExport.xml")
Write ##class(Security.Roles).Import("C:\RolesExport.xml")

Please refer to below class doc for more:$c2JR50xdHrcUuUzSzc&CSPSHARE=1


Property UniqueStringValue As %String(COLLATION = "SQLUPPER");
Index ValueIndex On UniqueStringValue [ Unique ];

Use COLLATION as above, to specify the manner in which property values are transformed for indexing.

Below is how data and index will look like,

ZW ^DataGlobal
ZW ^IndexGlobal
^IndexGlobal("NameIDX"," HELLO",1)=""
^IndexGlobal("ValueIndex"," HELLO",1)=""


Write ##class(Package.Data).ValueIndexExists("hello") = 1
Write ##class(Package.Data).ValueIndexExists("HELLO") = 1
Write ##class(Package.Data).ValueIndexExists("heLLO") = 1
Write ##class(Package.Data).ValueIndexExists("hello") = 1
Write ##class(Package.Data).ValueIndexExists("Hello") = 1
Write ##class(Package.Data).ValueIndexExists("HelloGuys") = 0

ISC DocBook:

I believe you have figured out the solution for this.

I have just mentioned below list of methods for different fields.

NAME - Name()
COMPANY - Company()
TITLE - Title()
PHONE - USPhone()
CITY - City()
STREET - Street()
ZIP - USZip()
MISSION - Mission()
STATE - USState()
COLOR - Color()
PRODUCT - Product()

DocBook Link:

I would suggest to use client side javascript API to check the file size, instead of uploading it to server and check it.

I got a nice article on a blog.

<script language='JavaScript'> 
function checkFileSize(inputFile) {
        var max = 3 * 512 * 512; 
        if (inputFile.files && inputFile.files[0].size > max) { 
                alert("File is too large to upload."); 
                inputFile.value = null; 
} </script>

Another text from DocBook, that will help you.

GETDATE returns the current local date and time as a TIMESTAMP. All Caché SQL timestamp, date, and time functions except GETUTCDATE are specific to the local time zone setting. GETUTCDATE returns the current UTC (universal) date and time as a TIMESTAMP. You can also use the Caché ObjectScript $ZTIMESTAMP special variable to get a current timestamp that is universal (independent of time zone).