See also this Editor Archaeology as long as you don't use WebTerminal.
or my new Terminal Multi-Line Command Editor
- Log in to post comments
See also this Editor Archaeology as long as you don't use WebTerminal.
or my new Terminal Multi-Line Command Editor
Pls. use GitHub.
That makes it easier to follow and complete
why ("%MAXLEN"),! ???
it should be only ("MAXLEN"),! no %
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, ...
in class %Dictionary.CompiledProperty you have.png)
if a Property Parameter exists it is in this Array:
But not all properties have MAXLEN this is a %String
.png)
I think you were waiting for this
exact!
ZS temp creates temp.int
If you call routines or classes you should temporarily save your lines before execution
e.g. ZS temp
use local routine. like:
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
Glad I could help! It was tricky somehow.
Great idea !
ONE -> MANY but MANY is UNIQUE
![]()
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
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:
You are free to index properties TableA or TableB according to your needs
and you can also use Implicit JOIN between these tables.
How could you know that I was just looking for this ??? ![]()
Suggestion for a calculated Property:
OK. I understand those records where created BEFORE you defined your new column.
I checked the internal code
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
What is your Query like ?
1840-12-31 00:00:00 is point Zero of internal time setting.
It applies as default to empty data type Ens.DataType.UTC
embedded SQL is probably an overkill for this formating.
Just convert it to the internal format, add what you need and assemble the pieces in COS
if you know exactly what characters you want to remove you may use $TRANSLATE (in SQL) !
docs: https://cedocs.intersystems.com/latest/csp/docbook/Doc.View.cls?KEY=RSQL_d_translate
THX ![]()
for the fixed part you still can use classic mapping.
for the variable section you may set
and get the raw XML structure in hands .
You can then analyze this "inner" XML using class %XML.TestReader
The example and the class are simply wrong
A %Library.DynamicObject that is composed here just has neither a method %Clone nor a method %Compose
You may report the bug to WRC
DCOUNT is a function of MV Basic. Not of ObjectScript !
should do the trick
Ah, getting closer:
The problem seems to reduce to an alternative way (a wrapper around) to %Open and %Delete.
it isn't the save yet. especially if some UNIQUE conflict prevents the save and requires a Rollback
delete isn't affected at all
As all you need is in %Persitent you could have your own personal.persitent extending %persitent
wrapping %Open and %Delete in your own extended code.
3 points to consider:
Sorry, I doubt if this is the right approach
take a look at %Library.Persistent. Methods
No further need of an %On.... to know success or failure
Allmost! 3rd Update
since if the left side is a Unix Timestamp, then you get this result:
docs: https://docs.intersystems.com/iris20201/csp/docbook/Doc.View.cls?KEY=RCOS_fzdatetime
timezone conversion from UTC may compensate the 6 hours difference !
in Middle Europ we have we have 2 hrs+ to UTC so