go to post Robert Cemper · Sep 6, 2019 From docs.A host variable is a local variable that passes a literal value ....see: Host VariablesYou are using instead object property references.==> objSearch.StartIndex, .....Load your properties into local variables and it should work
go to post Robert Cemper · Sep 5, 2019 for details on variable scoping see Summary on Local Variable ScopingAs the SQL Code generator dates from times where ProcedureBlock was unknownany generated code for SQL access I've seen over decades just works with [ ProcedureBlock = 0 ]The 'automatic' you mention is the default if your class is set t to [ ProcedureBlock = 1 ] which is a default.By changing the variable name you found the best solution yourself.
go to post Robert Cemper · Sep 2, 2019 Thanks, Dmitry,I'm using it already based on your excellent guide Containerization Caché. { -xprestart looks fine. }
go to post Robert Cemper · Sep 2, 2019 I didn't expect an official feature. Of course. Rather a privat hack.As I don't look for a generic solution but a rater semi-static setupI probably just mimic the result by a handcrafted script.
go to post Robert Cemper · Aug 29, 2019 The TERMINAL is only available in the Windows installation. From the Cube menue. On other platforms you require csession command from your OS shell.see Connecting to a Caché Instance
go to post Robert Cemper · Aug 27, 2019 Alexey,you are perfectly correct. My intention was to demonstrate that the ancient approach of OPEN and USE command parameters dating from the previous millennium is still valid.$LB() is definitely the more general and flexible solution.
go to post Robert Cemper · Aug 26, 2019 Before you try a re-install ation of Caché emergency access could be your last chance.Follow the guide very strictly there is a high risk to cause unrecoverable damage.
go to post Robert Cemper · Aug 26, 2019 Herman I think you have it in COS since Strings became almost endless.Par #2) of my answer showed it:the traditional style you may know from Caché I/O Device Guide having also just 1 parameterdo ##class(my.pieces).method("/SERVER=127.0.0.1:/PORT=1972:/NAMESPACE=SAMPLES")and the method end: ClassMethod method(parameter as %String(MAXLEN="") { for par="SERVER","PORT","NAMESPACE" set @par=$P($P(parameter,par_"=",2),":") zw @par #; now do something ... } SERVER="127.0.0.1" PORT=1972 NAMESPACE="SAMPLES"
go to post Robert Cemper · Aug 24, 2019 Log In over Terminal as Privileged User and move to Namespace %SYS and fix your Security USER>ZN "%SYS" %SYS>DO ^SECURITY 1) User setup 2) Role setup 3) Service setup 4) Resource setup 5) Application setup 6) Auditing setup 7) Domain setup 8) SSL configuration setup 9) Mobile phone service provider setup 10) OpenAM Identity Services setup 11) Encryption key setup 12) System parameter setup 13) X509 User setup 14) Exit Option? 5 1) Create application 2) Edit application 3) List applications 4) Detailed list applications 5) Delete application 6) Export applications 7) Import applications 8) Exit Option? 2 Application to edit? ? Num Name Namespace 1) /api/atelier %SYS 2) /api/deepsee %SYS 3) /csp/samples SAMPLES 4) /csp/samples/docserver SAMPLES 5) /csp/user USER 6) /isc/studio/usertemplates %SYS 7) /TEST SAMPLES 8) /webShop USER 9) /csp/broker %SYS 10) /csp/docbook DOCBOOK 11) /csp/documatic DOCBOOK 12) /csp/sys %SYS 13) /csp/sys/bi %SYS 14) /csp/sys/exp %SYS 15) /csp/sys/mgr %SYS 16) /csp/sys/op %SYS 17) /csp/sys/sec %SYS 18) /isc/pki %SYS 19) /isc/studio/rules %SYS 20) /isc/studio/templates %SYS Application to edit? 12 /csp/sys Description? System Management Portal => Enabled? Yes => Yes CSP/ZEN Enabled? Yes => Yes DeepSee Enabled? No => No iKnow Enabled? No => No Inbound Web Services Enabled? Yes => Yes Require resource to use application? No => No Role to always add to application? New match role to add to application? Do you want to go back and re-edit any match roles or target roles? No => No Allow Not authenticated access? Yes => NO Allow Password authentication? No => YES Accept Login Tokens created by other CSP applications? No =>
go to post Robert Cemper · Aug 23, 2019 As you say: your .EXE is on the server and NOT on the CLIENT.Some terminal emulators (e.g. KEA) once had the feature to launch a LOCAL command triggered by an ESC sequence.But this requires your .EXE to be already installed on your LOCAL client.You may need to have a telnet or SSH connection to your client.Browsers typically don't allow this. But they may run JavaScript (which isn't your .EXE)
go to post Robert Cemper · Aug 22, 2019 It's not really clear what you expect by "ID of the task"You get the actual process id by system variable $JOB.If you look for the Task Name as seen in Taskmanager then $this.GetTaskName() as %StringReturns the localized name of this task.see docs of %SYS.Task.Definition
go to post Robert Cemper · Aug 12, 2019 a simple example how it works:I create a routine %BANNER.int next in my terminal %BANNER ;mnemonic demo TOP ; write #,%mybanner,! quit next in my terminal USER>set %mybanner="HI I'm a BANNER"_$c(13,10)_"=============" USER>use $IO::"^%BANNER" write /TOP,"my first line",! and that's my screen HI I'm a BANNER=============my first line
go to post Robert Cemper · Aug 12, 2019 the DEFAULT function of # for a terminal window emulating a CRT ist hardcoded.see Terminal I/O WRITE"Issuing WRITE # to a CRT terminal clears the screen and sends the cursor to the home (0,0) position."using a Mnemonic Definition you may supply the required escape sequence to cover your needs.but instead of WRITE # you may need to use WRITE /TOP (just as an example)For all about Mnemonics see Controlling Devices with Mnemonic Spaces.
go to post Robert Cemper · Aug 10, 2019 Zen Application is the "package" you call from a browser and typically sets a common design.Zen Pages are the individual web pages that make up your application.Client Methods is JavaScript executed in your browser.Server Methods run on the Caché Server and interact with the Zen page using HyperEvents.I'd suggest you take a tour through the docs for details. Using Zen Introduces Zen, the InterSystems framework for web application development.Developing Zen Applications Addresses advanced Zen application programming issues such as security, localization,client side layout management, and custom components.
go to post Robert Cemper · Aug 10, 2019 you operate not on document object but on zenPage objectsee docs: Client Side Functions, Variables, and Objects at the beginning >>>zen(id)Find a Zen component by id value. Returns the object that matches the input id.The zen(id) JavaScript function is equivalent to the following client-side JavaScript method call on the page object:zenPage.getComponentById(id)You can use the zen(id) function wherever JavaScript syntax is appropriate;
go to post Robert Cemper · Aug 9, 2019 but that way USER>f a=0.8:.1:2.2 w a,?7,a\1+(a#1>0*1),?10,! .8 1 .9 1 1 1 1.1 2 1.2 2 1.3 2 1.4 2 1.5 2 1.6 2 1.7 2 1.8 2 1.9 2 2 2 2.1 3 2.2 3
go to post Robert Cemper · Aug 8, 2019 In namespace %SYS you have the utility ^JRNDUMP which displays the content of journal files in "readable" text format.You may need to adapt it to your requirements.Journal: c:\intersystems\cache\mgr\journal\20190808.004 Address Proc ID Op Directory Global & Value=============================================================================== 131088 6600 S c:\intersystems+ %SYS("SERVICE","ECPCluster") = 0 131152 6600 S c:\intersystems+ %SYS("LASTSESSIONGUID") = "5ª"_$c(9)_"+ 131224 6600 BT 131240 6600 ST c:\intersystems+ %SYS("SERVICE","ECPSessionVersion") = 2 131316 6600 CT 131644 10960 S c:\intersystems+ SYS("LastLicenseKey") = "LicenseCapaci+ 132620 2600 S c:\intersystems+ SYS("Security","UsersD","unknownuser") 132692 10960 K c:\intersystems+ SYS("CLMANAGER") 132740 10960 S c:\intersystems+ SYS("CLMANAGER") = 1 132792 10960 S c:\intersystems+ SYS("CLMANAGER",1) = $c(127,0,0,1,15)_+ 132848 10960 S c:\intersystems+ SYS("CLMANAGER",1,"started") = 1Depending on your activities in the DB this may take many many GB !I'd suggest examining the content first from Mgmt Portal to see if this is what you expect.