Eduard Lebedyuk · Mar 24, 2017 go to post

I don't understand your question. Please elaborate on the following points:

  1. Do you want to create arbitrary relationships programmatically at design time (possible) or at runtime (not really)?
  2. What difficulties in managing relationships you have encountered?
  3. Can you provide some mock code demonstrating what you want to achieve?
Eduard Lebedyuk · Mar 23, 2017 go to post

Because I want it done automatically. I already wrote several converters manually as described, but started thinking about automating the task.

Eduard Lebedyuk · Mar 22, 2017 go to post

Here's how to view stream properties in SQL.  Alternatively you can use %CONTAINS to search the stream.

Another way would be writing an sql procedure that gets stream, converts it to object  and checks if it has the token. Would be slow though. Maybe do a simple [ check first and then pass only those rows that have the token into sql procedure?

Can you parse the stream when you receive the message?

Eduard Lebedyuk · Mar 22, 2017 go to post

You can set PasswordValidationRoutine in  the Security.System class. When a user is created in the Cache security database, or a user changes their password, the specified routine is called to validate the password. A tag reference may also be included in the property. The routine should be provided by the user, and must exist in the %SYS namespace (it may be mapped to a different database however.) The routine will take 2 parameters, a Username and new password, and should return a %Status code of $$$OK for successful password validation, or an error code formatted into a %Status variable. The username passed into the function will be in all lowercase, and will contain the domain name if multiple domains are enabled for the system.
 

Eduard Lebedyuk · Mar 21, 2017 go to post

Allowing client to specify server-side is not a recommended approach.

"C:\"_%request.MimeData("FileStream",1).FileName

Use incremented integers, hashes or guids instead.

Eduard Lebedyuk · Mar 21, 2017 go to post

Second line should be:

Set status=context.ReturnedIds.SetAt(callresponse.PatientLookupResult.Patients.GetAt(1).IDs.GetAt(1).ID, 1)

You need to modify your BP definition to something like this:

<assign property="context.ReturnedIds" value="callresponse.PatientLookupResult.Patients.GetAt(1).IDs.GetAt(1).ID" action="set" key="1"/>

To copy all IDs for all patients you'll need to iterate over results.

Eduard Lebedyuk · Mar 16, 2017 go to post

Check  ..Adapter.URL_"users/ping.json" - it does not seem to answer (you're getting timeout error).

Eduard Lebedyuk · Mar 10, 2017 go to post

You can define class storage on ppgs. Can't do that on % variables.

Any kind of implicit kill does not affect ppgs but does affect % variables.

They only case where I use % variables is if I really need some global object (java gateway and CSP global vars). Otherwise I use ppgs.

Eduard Lebedyuk · Mar 3, 2017 go to post
  1. Try setting RenderTimeOut and PrintTimeOut properties for the report.
  2. Check logfile (you can determine directory in which it gets created by instantiating the report and calling GetRootDir method, but usually it's a value of the ^%SYS("TempDir") global, unless you specify ReportDir property or parameter).