go to post Alexander Koblov · Jun 3, 2022 Hi Yone. Enable SOAP Log and check the SOAP Response that IRIS sends https://docs.intersystems.com/iris20212/csp/docbook/Doc.View.cls?KEY=GSO...
go to post Alexander Koblov · Dec 10, 2021 Open settings for the web application (Menu -> Web applications -> [choose web application]) where you run the production and put %CSP.Error.cls as the "Custom Error Page". Reproduce the error. You should see the actual error on the page.
go to post Alexander Koblov · Aug 18, 2021 Should work. What does this function returns? Does it work if you put something very simple in the bat file? E.g. echo qq > c:\temp\test.txt
go to post Alexander Koblov · Aug 18, 2021 InterSystems IRIS does not have a MEDIAN SQL function. However, it has different window functions. For example, Percent_Rank might help you here. create table test(c1 varchar(10), c2 integer) insert into test(c1,c2) select 'a',1 union all select 'b',2 union all select 'c',3 union all select 'd',3 union all select 'e',3 union all select 'f',4 union all select 'g',5 union all select 'h',6 select c1, c2, Percent_Rank () OVER ( ORDER BY c2 desc ) rank_no from test order by c2 desc c1 c2 rank_no h 6 0 g 5 .1428571428571428571 f 4 .2857142857142857143 c 3 .4285714285714285714 d 3 .4285714285714285714 e 3 .4285714285714285714 b 2 .8571428571428571429 a 1 1 Doc: https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=RS... Also, it's possible to create a user-defined aggregate function. See https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls...
go to post Alexander Koblov · Aug 9, 2021 You are connecting to the server 'localhost'. This server sends back the certificate. And this certificate says that it is for the server "cache". "cache" is not equal to the "localhost", hence the error. Either access the server using the name "cache" (e.g. by changing hosts file). Or change the certificate
go to post Alexander Koblov · Jul 21, 2021 Perhaps pagemaster and masterreference elements can help you here. There you can define different templates for the pages depending if the page is first or last https://docs.intersystems.com/latest/csp/docbook/Doc.View.cls?KEY=GRPT_r...
go to post Alexander Koblov · Jul 19, 2021 Hi Kevin. What version of Caché or InterSystems IRIS do you have? INFORMATION_SCHEMA.COLUMNS seem to be available only since Caché 2015.2
go to post Alexander Koblov · Feb 2, 2021 Hi Lee. "For example, for the error log I am trying to display, it's a table that has just 16 rows and 6 columns. The columns I turn into dimensions. If I crossjoin more than 3 of the columns, I will timeout/freeze." Can you provide reproducible case? It would be interesting to look into this. Not that crossjoining of three dimensions is a best practice, but it should work quickly for 16 rows. Now to your questions. How do we prevent double columns for the 1st column? Go to Widgets -> [your widget] -> Data Properties. Define properties for your columns. On the ID property put checkbox "hidden" How to prevent putting commas in the numbers: Put "#" in the format field [0] *How to format date to be returned in external format. As far as I know, you should do this in the SQL query itself. [0] https://docs.intersystems.com/iris20203/csp/docbook/Doc.View.cls?KEY=GIK...
go to post Alexander Koblov · Dec 12, 2020 Well, link https://support.google.com/mail/?p=WantAuthError explains the reasons for this error. Did you try these troubleshooting steps?
go to post Alexander Koblov · Dec 1, 2020 Hi. You need to specify Parameter ARGUMENTSTYLE = "message"; For example: Class delme.SoapService Extends %SOAP.WebService [ Language = objectscript, ProcedureBlock ] { Parameter ARGUMENTSTYLE = "message"; Parameter SERVICENAME = "MyService"; Parameter NAMESPACE = "http://tempuri.org"; Method Test(x As %String) As %String(XMLNAME="Root") [ WebMethod ] { Return "Test" } } Then response is following: <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:s="http://www.w3.org/2001/XMLSchema"> <SOAP-ENV:Body> <Root xmlns="http://tempuri.org">Test</Root> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
go to post Alexander Koblov · Nov 6, 2020 Hi Ramesh. "Invalid cursor state" is an error returned by ODBC driver. Ensemble just shows this error to you. It's expected that you don't get this error when you run the proc directly on SQL Server -- because there is no ODBC driver involved in this case. What you can try is to run the same query from some other ODBC tool (e.g. WinSQL) and see if you are getting the same error message. If you see the same problem -- the likely the issue is within ODBC-driver+SQL Server. If you don't see the same problem then indeed, something might require changing on Ensemble side. Also -- try googling this error message "Invalid cursor state". As this error message comes from Microsoft ODBC driver there are perhaps discussions on Microsoft sites. For example, I found this one https://social.msdn.microsoft.com/Forums/en-US/f6466a82-caf7-4053-94a4-a...
go to post Alexander Koblov · Sep 14, 2020 In Studio if you open Watch view and select Call Stack tab and then select particular line then in the right part you'll see variables for current stack
go to post Alexander Koblov · Aug 11, 2020 David, JDBC Gateway is used when IRIS needs to connect to 3rd party database via JDBC. If you or your customers need to connect to IRIS via JDBC -- then JDBC Gateway is not needed. Just use superserver port.
go to post Alexander Koblov · Jul 31, 2020 You can redirect results to the file. If you specify csv format then data is TAB-delimited. SAMPLES>>set displaymode=csv displaymode = csv SAMPLES>>set displaypath=c:\temp\ displaypath = C:\temp\ SAMPLES>>set displayfile=results.txt displayfile = results.txt SAMPLES>>select * from Sample.Person 4. select * from Sample.Person C:\temp\results.txt.csv C:\temp\results.txtMessages.txt
go to post Alexander Koblov · Jul 20, 2020 Hi Lucas. I'm confused in the URL on the screenshot you are correctly using IRISUsername [0] Why in the "sudo google-chrome-stable ..." command you are using just "Username" parameter? Did you redefine GetCredentials to take username from URL parameter "Username" ? [0] https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=GC...
go to post Alexander Koblov · Jun 25, 2020 This works both way. Consider class: Class dc.TestArgs { ClassMethod AcceptArgs(x...) { write "Got following params",! zw x } ClassMethod NormalMethod(a As %String, b As %String, c As %String) { write "we got in a: ",a,! write "we got in b: ",b,! write "we got in c: ",c,! } ClassMethod SendArgs() { set p = 3 set p(1) = "first parameter" set p(2) = "second" set p(3) = "third" do ..AcceptArgs(p...) write "works with usual argument style",! do ..NormalMethod(p...) } } Notice in SendArgs we are constructing p -- array of arguments. We can pass it both to method that accepts args..., and to normal method. USER>d ##class(dc.TestArgs).AcceptArgs(1,2,3) Got following params x=3 x(1)=1 x(2)=2 x(3)=3 USER>d ##class(dc.TestArgs).SendArgs() Got following params x=3 x(1)="first parameter" x(2)="second" x(3)="third" works with usual argument stylewe got in a: first parameter we got in b: second we got in c: third
go to post Alexander Koblov · Jun 11, 2020 you need to specify SSLConfiguration property of %XML.Reader that points to valid SSL configuration to be used to access https://www.musicxml.org [1] Or you can just disable entity resolution: Disabling Entity Resolution [1] https://cedocs.intersystems.com/latest/csp/documatic/%25CSP.Documatic.cl...
go to post Alexander Koblov · May 27, 2020 I would look for errors in javascript console (Web Developer tools). Also I would double-check if database HSTMDATADEV indeed has packages, based on its name it looks like it could have only data, and there is also HSTMCODEDEV where actual packages are stored.
go to post Alexander Koblov · May 20, 2020 Hi Mark. I don't know where "undefined" word comes from on the trace, but when %XML.Reader reads empty element it reads it as character with code 0 -- $char(0), that corresponds to empty string in SQL: Class Community.Test Extends (%RegisteredObject, %XML.Adaptor) { Property StatusLastChecked As %String(XMLPROJECTION = "element"); ClassMethod test() { set xml = "<root><Test><StatusLastChecked></StatusLastChecked></Test></root>" set reader = ##class(%XML.Reader).%New() do reader.OpenString(xml) do reader.Correlate("Test","Community.Test") do reader.Next(.obj) zw obj } } USER>do ##class(Community.Test).test() obj=3@Community.Test ; <OREF> +----------------- general information --------------- | oref value: 3 | class name: Community.Test | reference count: 2 +----------------- attribute values ------------------ | StatusLastChecked = $c(0) +----------------------------------------------------- So in your code you can compare with $C(0). Also for details on handling empty strings, see following section in documentation: Handling Empty Strings and Null Values