go to post Eduard Lebedyuk · Oct 17, 2017 Simplified example: set xml = ##class(EnsLib.EDI.XML.Document).%New().ImportFromString("<root><RepeatingElement>Content</RepeatingElement><RepeatingElement>Content</RepeatingElement></root>")
go to post Eduard Lebedyuk · Oct 17, 2017 #Dim sc As %Status = $$$ERROR($$$SQLError, SQLCODE, $g(%msg))
go to post Eduard Lebedyuk · Oct 16, 2017 As you can see in the documentation, method OutputToIOStream returns a status and not a stream (first argument - a stream is written to in this method), so you should write: Set pIOStream = ##Class(%IO.StringStream).%New() Set tSC = pRequest.OutputToIOStream(pIOStream,..Separators,"",1) Quit:$$$ISERR(tSC) tSC Set tSC = mail.AttachStream(pIOStream,..Filename,1,"iso-8859-1") Quit tSC
go to post Eduard Lebedyuk · Oct 16, 2017 You are sending POST request tohttp://192.168.113.132:57772/csp/ :57772/csp/ai/GetRisk/:1ai/GetRisk/but you should probably send request to:http://192.168.113.132:57772/csp/ai/GetRisk/1
go to post Eduard Lebedyuk · Oct 16, 2017 Are you just selecting the property? If so can you please provide property definition.
go to post Eduard Lebedyuk · Oct 16, 2017 You should init pIOStream: Set pIOStream=##Class(%IO.StringStream).%New()
go to post Eduard Lebedyuk · Oct 15, 2017 RawContent is a string, from docs:The raw text content of the document. Note that this is a truncated version suitable for use in SQL results and visual inspection, but not a complete or definitive representation of the document.To get message as a stream use OutputToIOStream method in EnsLib.HL7.Message class.
go to post Eduard Lebedyuk · Oct 14, 2017 That does not seem to be possible. Why not JOIN them directly? SELECT * FROM Sample.Employee e LEFT JOIN Sample.Company c ON c.id = e.id JOIN Sample.Vendor v ON v.%id = c.attr
go to post Eduard Lebedyuk · Oct 13, 2017 ClassMethod SetNamespace(user As %String = {$username}, namespace As %String = {$namespace}) { new $namespace set $namespace = "%SYS" set user = ##class(Security.Users).%OpenId($zcvt(user,"l")) set user.Namespace = namespace quit user.%Save() } You should probably add input validation.
go to post Eduard Lebedyuk · Oct 13, 2017 Here's how you can import CSV without writing any code yourself.After that make generated class xmlenabled and generate XML from objects.
go to post Eduard Lebedyuk · Oct 12, 2017 Resources property is not evaluated. You can see that in %Installer.Role class, %OnGenerateCode method. /// Generate code for this document. Method %OnGenerateCode(pTargetClass As %Dictionary.CompiledClass, pCode As %Stream.TmpCharacter, pDocument As %Installer.Manifest) As %Status [ Internal ] { Do pCode.WriteLine(..%Indent()_"Do tInstaller.CreateRole($$$EVAL("_..Target_"),$$$EVAL("_..Description_"),"""_..Resources_""","""_..RolesGranted_""")") Quit $$$OK } You can get around that with this hacky solution: <Role Name="${PMGNAMESPACE}" Description="Works User Role for ${PMGNAMESPACE} Namespace" Resources='"_tInstaller.Evaluate("${PMGDbResource}:RW,PMG:RWU")_"' RolesGranted="" /> Which would be compiled into the following code: Do tInstaller.CreateRole(tInstaller.Evaluate("${PMGNAMESPACE}"),tInstaller.Evaluate("Works User Role for ${PMGNAMESPACE} Namespace"),""_tInstaller.Evaluate("${PMGDbResource}:RW,PMG:RWU")_"","") I guess if you need to do that once, it's okay. But if it's a regular occurrence writing a method and calling it from installer might be a better solution. Here's an article on %Installer usage.
go to post Eduard Lebedyuk · Oct 12, 2017 Rational is UML IDE. If you want to use version control use Git. Here's a guide on how to set up Atelier with Git. And another one.
go to post Eduard Lebedyuk · Oct 12, 2017 Just output the data you need to the current device, for example: Write "It works"
go to post Eduard Lebedyuk · Oct 10, 2017 Not sure about delegated authentication (is it only delegated? Or with password? Details may vary depending on your exact setup), but for password authenticated web application SSO is possible by following these steps (originally written for CSP+REST web apps, but the idea is the same):All brokers effectively have Parameter UseSession = 1;REST web application and client web application allow only authenticated (i.e. password) access.REST web application and client web application have reasonable Session timeout (i.e. 900, 3600).REST web application and client web application have the same GroupById value.REST web application and client web application have the same cookie path.If all these conditions are met, user would only consume one license slot per session and perform only one login and audit database would store only one login event per session.
go to post Eduard Lebedyuk · Oct 10, 2017 XMLs are not identical. Second one has additional <Family> tag.
go to post Eduard Lebedyuk · Oct 9, 2017 Here's how you can import CSVs into Caché without writing any code yourself. I recommend this approach.In your example, replace: set adapter = ##class(%File).%New() set status = adapter.%Open("C:\In\in.csv") with: set adapter = ##class(%File).%New("C:\In\in.csv") set status = adapter.Open("R") Check out the documentation for %File class.
go to post Eduard Lebedyuk · Oct 9, 2017 CAPTION and COLLATION are default property parameters that you can add to any property.