from: 
https://www.sqlservercentral.com/Forums/Topic647815-145-1.aspx

Difference between varchar(max) and varchar(8000)
Varchar(8000) stores a maximum of 8000 characters. Varchar(max) stores a maximum of 2 147 483 647 characters. 

See Books Online, the page titled "char and varchar" for more info. 

Gail Shaw
Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
 

Not sure if this is the real problem: Anyhow it is a problem.

   var result=this.BtnClickMe(MyPriority);   // here you expect a return value
    return;
}


ClassMethod BtnClickMe(MyPriority) as %String [ ZenMethod ]     // return something
{
 
  set ^%Arun($i(^%Arun))=$isObject(%page)    // JUST temporary for debugging // check for <INVALID OREF> 
    Set %page.%GetComponentById("Priority1").title=MyPriority
  quit $$$OK      // return something
}

Quite interesting on my WIN10_prof   I had no need of /S as I wante exactly THIS directory

And you are right. If the file exists already and is accessible nothing prevents you from modifying it.
You probably can't delete it as this requires access to directory.
And you are also right that ATTRIB doesn't propagate it.   

So I think the whole approach to check the directory is misleading.
Now we are back to the initial proposal.
Do an OPEN with timeout in this directory ("WN")  and on success you can write to the directory.
The test file can be removed by CLOSE file:"D"  if you didn't open with "WND" .

And it tells you can I write there YES/NO
And this is independent of any status and flags and don't know what in whatever filesystem I work on.


 

If you go in Atelier menu to Windows > Preferences
and in there to  General > Keys  you find the definition for Ctrl+right / Ctrl+left

This tells me it's deep embedded in Eclipse. But can be changed:

https://wiki.eclipse.org/FAQ_How_do_I_provide_a_keyboard_shortcut_for_my...

I found ~ 1800 keymaps on Eclipse Marketplace
and for MS Visual Studio keymap (which might be closest) still 83 hits.

To summarize: it's NOT a configuration issue as long as you don't have something ready to include.
It might take some time to find a useful one.
 

In Caché you typically work on objects but you can present them also as rows in an SQLtable.
The identifier for objects is IDKEY if you don't do it yourself it is assigned by Caché.
PrimaryKey is something you assign by your application.

Both are UNIQUE.
And if you define your PrimaryKey as Autoincrement  starting with 1 both are quite likely identical.

That's a basic view. IDKEY has far more variants to be found in documentation.

There is a solution using WIN command  attrib to check read only access flag.
It doesn't write files.
You are welcome to discuss about "elegance" .

 
    set dir=yourDirectory
    set dev="|CPIPE|"
    set cmd="attrib /d "
    set result=""
    open dev:(cmd_dir:"R"):0
    if $test use dev read result close dev
    if $piece($zstrip(result,"<>"," "),dir)["R" write "directory read only",!
    else  write "directory accessible"
,!
 

as all values out of your SQL query come from server you should be able
to setup the content of title on server side as you do for other ZEN components.

#; compopse titel .... into variable mytitle
   set %page.%GetComponentById("Priority").title=mytitle

  


There is  a wide doc on programming ZEN pages
http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GZEN