go to post Eduard Lebedyuk · Dec 9, 2018 Are you talking about %SQL.Util.Procedures:CSVTOCLASS?I've used it many times and it works with masked delimiters just fine.Can you post an example?
go to post Eduard Lebedyuk · Dec 5, 2018 Thank you!That's exactly it.Removing empty <Setting> tag helped.
go to post Eduard Lebedyuk · Dec 4, 2018 I don't think we need to create a new datatype as Vitaliy Serdtsev mentioned about the class %VarString.Sure if you have this class, it's better to use it.
go to post Eduard Lebedyuk · Dec 3, 2018 %INLIST assumes a list structure and you're passing a string.There are two ways so solve it:1. Store list structure right from beginning. To do that define your property as: Property mylist as %List(MAXLEN="") [InitialExpression = {$lb("route1", "route2", "route3"}]; and in your method you don't need $listbuild as you already have a list structure in your property, so replace: set routeList = $LISTBUILD(mylist) with set routeList = yourObj.mylist 2. If you already have a lot of comma-delimited strings, you can convert them to list. In this case property stays the same, but replace: set routeList = $LISTBUILD(mylist) with set routeList = $ListFromString(mylist) I recommend first approach. Also read the docs about $list functions. It is one of the core Cache concepts.
go to post Eduard Lebedyuk · Dec 3, 2018 *** Do you see any drawback or issues with this? Can there be any other impact due to this?This is absolutely not a recommended approach.Here's how you can do it.Create your own class MyString that extends %String and specifies MAXLEN parameter (I recommend 5000 or 10000, but something specific in any case).Use %Dictionary package to iterate over all your persistent classes. In there:open each classiterate over its propertieschange %String type if found to MyStringsave classRecompile modified classes.
go to post Eduard Lebedyuk · Dec 2, 2018 It reads up to 1000000 characters, not stopping on line terminator.I want x variable to contain only one line from file.
go to post Eduard Lebedyuk · Nov 29, 2018 Check LIKE documentation:ESCAPE ClauseESCAPE permits the use of a wildcard character as a literal character within pattern. ESCAPE char, if provided and if it is a single character, indicates that any character directly following it in pattern is to be understood as a literal character, rather than a wildcard or formatting character. The following example shows the use of ESCAPE to return values that contain the string '_SYS': SELECT * FROM MyTable WHERE symbol_field LIKE '%\_SYS%' ESCAPE '\' So in your case: SELECT ID, CompanyName FROM Table1 WHERE CompanyName LIKE '%\%%' ESCAPE '\'
go to post Eduard Lebedyuk · Nov 26, 2018 Right you are!I usually store files external from database and write a simple persistent class Document { GUID, DisplayName, FileStream }. User requests files by GUID, and it's served to him with Displayname in header.Additionally files are never named on filesystem by Displayname, or any kind of user input but rather by hash or a simple incremental counter.Storing more than 1k (10k) files per directory is not recommended, if possible add more directories (by date, etc.)
go to post Eduard Lebedyuk · Nov 26, 2018 If this is your own code block then you could initialise k1 firstAs the error source is:zS2+2^GWH.Messages.Eobs.AKISegmentCheck.Thread1.1it's probably a generated BPL. I'd check The method S2 of GWH.Messages.Eobs.AKISegmentCheck.Thread1 class. From it you can determine what BPL activity it corresponds (probably something right at the beginning). After that it's easy to fix BPL error.
go to post Eduard Lebedyuk · Nov 23, 2018 The rewards seem to be almost sold out after an hour.Can we add some new ones in the future?How about Raspberry PI board? Arduino board?
go to post Eduard Lebedyuk · Nov 22, 2018 Check $system variable: write $system Or, to get just the system call: write $system.INetInfo.LocalHostName()
go to post Eduard Lebedyuk · Nov 21, 2018 Check these parameters: XMLIGNORENULL XMLNIL XMLNILNOOBJECTthey are available as class parameters and as property parameters (except XMLIGNORENULL which is class-wide only).
go to post Eduard Lebedyuk · Nov 20, 2018 Check RESTForms project - it deals with similar issues, especially part 2 - it's about SQL queries.
go to post Eduard Lebedyuk · Nov 20, 2018 Also, if I follow your steps and open the eventlog I get the message ERROR #5580: SQL Privilege Violation: 'User Testuser is not privileged for the operation' SOURCE ELEMENT: %ZEN.Component.tablePane (table)Testuser does not have required privileges to access Ens_Util.Log table. Add SELECT privilege for the Testuser. You may also need to add %DB_<DBNAME> role.I previously got this error when trying to open the messagebank from the production configuration.You'll need SELECT privilege on Ens.MessageHeader and %Ens_MessageHeader resource on U.I have (sort of) accomplished this in Ensemble, but in HealthConnect/Share I just can't get it done.How?I should clarify when I say monitor, I mean being actually able to see the production and navigate the message bank. Being able to see the routingrules and/or transformations would be nice, but not necesary.Check other available pages and resources. There are separate resources for message headers, message contents, visual trace, rules and so on. Production config page is exactly for configuring production.
go to post Eduard Lebedyuk · Nov 20, 2018 do INTNOSHUT^SHUTDOWN would shut down the instance without running user code. Docs.
go to post Eduard Lebedyuk · Nov 20, 2018 You can use Event Log Viewer to monitor Ensemble production.Create a role that has these resources:%Ens_EventLog on U%Ens_Portal on UAnd give to the user only this role (plus RO access to the DB probably).As a result user can access only Event Log:There's a complete list of Ensemble resources with their descriptions in docs, so other pages could be made available to the user.
go to post Eduard Lebedyuk · Nov 20, 2018 If you have ArchivePath setting specified, then the files would be moved there. Otherwise they are deleted.Programs that restore deleted files may be able to restore these files.