go to post Robert Cemper · Feb 8, 2018 funny observation:2 fresh installed instances (ENS 2017, IRIS 2018) show Unauthenticated onlywhile the upgraded Caché 2016.2 shows me Unauthenticated and Password.But can't remember the status of MgmtPortal at the time of upgrade.
go to post Robert Cemper · Feb 8, 2018 Quite interesting on my WIN10_prof I had no need of /S as I wante exactly THIS directoryAnd 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/NOAnd this is independent of any status and flags and don't know what in whatever filesystem I work on.
go to post Robert Cemper · Feb 7, 2018 If you go in Atelier menu to Windows > Preferencesand in there to General > Keys you find the definition for Ctrl+right / Ctrl+leftThis 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 Marketplaceand 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.
go to post Robert Cemper · Feb 7, 2018 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.
go to post Robert Cemper · Feb 6, 2018 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",!
go to post Robert Cemper · Feb 6, 2018 But $ZU(140,1,Directory) ALWAYS returns -5 "no access"tested on Cache for Windows (x86-64) 2016.2
go to post Robert Cemper · Feb 6, 2018 Your observation is correct.I checked the underlying system call.In Windows {for me Win10} all you get back is the flag ="isDirectory"So you need to do the indirect check as described in the comments
go to post Robert Cemper · Feb 6, 2018 You are right. Open Parameter should be "WN"It is just an indirect test as OPEN on a directory fails with < NOTOPEN>And it also fails if the file already exists and can be accessed.
go to post Robert Cemper · Feb 5, 2018 corrected:Set file="full file reference"OPEN file:("WN"):0 Else Write "write lock on file",!
go to post Robert Cemper · Feb 5, 2018 Then you should check it with the OPEN command Set file="full file reference" OPEN file:("WN"):0 Else Write "write lock on file";!you do an open for write on the file with timeout zero if it fails $TEST is 0 (false)http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GIOD_rmsseqfiles
go to post Robert Cemper · Feb 5, 2018 You have to be aware that you access the file by the rather high privileged account that Caché service is running in.Have you blocked this account too ?
go to post Robert Cemper · Feb 5, 2018 You are right. But it has no impact.Another reason to move to Atelier.
go to post Robert Cemper · Feb 5, 2018 as all values out of your SQL query come from server you should be ableto 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 pageshttp://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GZEN
go to post Robert Cemper · Feb 5, 2018 ZEN component <datacombo has a parameter title which is displayed on mouseover event of the browserexample out of SAMPLES/ Class ZENApp.HelpDesk <dataCombo id="Priority" name="Priority" label="Priority" title="RoberT"
go to post Robert Cemper · Feb 5, 2018 Basically $c(1) s a NONPRINTING character - it has to be invisible by definition.Instead of WRITE command use ZWRITE to visualize it or $TRANSLATE function to make it visible.example:USER>s ^rcc=$lts($lb(123,"abc",23432,"hak","uuk"),$c(1)) USER>w ^rcc123abc23432hakuukUSER>zw ^rcc^rcc="123"_$c(1)_"abc"_$c(1)_"23432"_$c(1)_"hak"_$c(1)_"uuk"USER>ZZDUMP ^rcc0000: 31 32 33 01 61 62 63 01 32 33 34 33 32 01 68 61 123.abc.23432.ha0010: 6B 01 75 75 6B k.uukUSER>write $TR(^rcc,$c(1),"*")123*abc*23432*hak*uukUSER>
go to post Robert Cemper · Feb 4, 2018 So you require support for BMC Patrol!Check here http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GCM_patrol
go to post Robert Cemper · Feb 3, 2018 OK if this Is outside you control you NEED a dirty trick.Just before after the last Set Properties(....) in ZAUTHENTICATE insert this line: Kill %myProperties Merge %myProperties=Propertiesto get a full copy of the array in %myProperties
go to post Robert Cemper · Feb 2, 2018 property onselectrow as %ZEN.Datatype.eventHandler;onselectrow event handler: This event is fired when a new row is selected. This event is passed a variable, which, which indicates how the row was selected: "", "click" or "keypress".I'd assume in your case as you did neither "click" nor "keypress" var which ="" will apply.So you may use this to ignore the call and return without action.
go to post Robert Cemper · Feb 2, 2018 It would be easier to help you with the concrete call to ZAUTHENTICATE in hands.In addition ZAUTHENTICATE.mac needs to be modeled by un-commenting lines.Or do you use the pre-configured OAUTH2.AUTHENTICATE.macin both cases you need to have activated this line:Set Properties("Comment")="....whatever you may pass along...."according to your description this is done .So the issue might result from the way the call is doneComment in ZAUTHENICATE.mac Line 90 says: Properties - Array of returned values, passed by referenceSo your call should look like Do ^ZAUTHENTICATE(ServiceName,Namespace,Username,Password,Credentials,.Properties)#;--------------------------------------------------------------------^^^ It's the dot in front of variable name Properties that does the Pass by Reference and enables you to use the updated array after the call.The dirty approach would be to name your array %myProp instead of Properties thus using a variable with public scope.