go to post Robert Cemper · Jul 6, 2020 There's still alert.log - (not a big hope)eventually, a Windows event logging may give a hint. - (less hope) next emergency startup with -nostu WRC = last chance
go to post Robert Cemper · Jul 6, 2020 Does %installdir%/mgr/cconsole.log have anything useful to tell you ?
go to post Robert Cemper · Jul 5, 2020 When I found it, I felt like Indiana Jones when he detected the Holy Grail.
go to post Robert Cemper · Jul 5, 2020 See also this Editor Archaeology as long as you don't use WebTerminal. or my new Terminal Multi-Line Command Editor
go to post Robert Cemper · Jun 29, 2020 Is it really %String or a subtype without MAXLEN or MALXEN disabled ?I have done this in past and I know of some types just defined to remove MAXLEN =50 e.g. %Library.RawString, %Library.Text, ...
go to post Robert Cemper · Jun 29, 2020 in class %Dictionary.CompiledProperty you have if a Property Parameter exists it is in this Array: But not all properties have MAXLEN this is a %String
go to post Robert Cemper · Jun 28, 2020 If you call routines or classes you should temporarily save your lines before executione.g. ZS temp
go to post Robert Cemper · Jun 28, 2020 use local routine. like: a<tab>for i=1:1:100 {<tab>/// do one line<tab>///do something else<tab>}do a ;to run it to edit/show your line use ZI, ZR, PRINT ATTENTION: you need a REAL terminal. WebTerm, Studio, .... just can process single lines as they are only Terminal SIMULATIONS using eXECUTE command
go to post Robert Cemper · Jun 23, 2020 I see just nothing in SQL that relates to the error message.my only wild guess: some NULL value results confuse the VB end.You could eventually bypass it using NVL() function SELECT NVL(PROE,'*'),NVL(DESP,'*),NVL(ID,0) FROM ZVBMAPEAMENTO.SVINFOUVNDWHERE JOB=1224 GROUP BY PROE
go to post Robert Cemper · Jun 23, 2020 The most simple way to do it:in class Table.A have Property TableB as Table.B;in class Table.B have Property TableA as Table.A; in your code it may look like this: set objA=##class(Table.A).%OpenId(212)set objB=##class(Table.B).%OpenId(99)set objA.TableB=objBset objB.TableA=objAdo objA.%Save(), objB.%Save() You are free to index properties TableA or TableB according to your needsand you can also use Implicit JOIN between these tables.
go to post Robert Cemper · Jun 23, 2020 Suggestion for a calculated Property: Property SentTimeNEW As Ens.DataType.UTC [ Calculated, SqlComputed, SqlComputeCode = { set {*}=$s({SentTime}<1842:"",1:{SentTime}) } ];
go to post Robert Cemper · Jun 23, 2020 OK. I understand those records where created BEFORE you defined your new column.I checked the internal code $s(%val="":"",1:$zdatetime($zdTH($zdatetimeh(%val,3,,,,,,,,0),-3),3,,3)) This tells me:- Your value is Not Empty - it has no valid time format, so it is trapped by the ERROR option and set to Zero ==>> 1840-12-31 00:00:00 Suggestion:- set value to NULL for old records.or- create your own data type for this case. or - use a calculated Property to trap the values