go to post Robert Cemper · May 22, 2018 It is not directly what you look for but GlobalReferences are to some extent proportional by some factor to instantiations.especially if you deduct GlobalReads.##CLASS(%SYS.ProcessQuery) could be a source for those figuresif you compare it to "normal" code it could be an indicator.
go to post Robert Cemper · May 22, 2018 use Do $System.OBJ.ShowObjects() to list your refernced objects.The output goes to $IO or eventually a TmpCharStream.The start of the last line is your count of orefs .
go to post Robert Cemper · May 22, 2018 the dotted syntax works in the same routine as curly braces.There was a different question recently with such code. The confusion comes up when you use curly braces INSIDE a dotted section. as the nesting is calculated by the dots at the start of the line this causes confusion. So cascading and intermixing is a NoNo. on the other hand Do. line1. line2. line3 is an equivalent to { line1 line2 line3} - As dots are always in sequence a move to { } shouldn't be that hard.Though I admit: It's additional effort
go to post Robert Cemper · May 21, 2018 It starts with the basic definition:What is LEGACY for you? any MUMPS dialect (DTM. DSM, ISM, ...) ?From the language elements, there is all included and possible. what was available in MUMPS.Except that System variables may have some differences that need to be checked.In general, you have enhancements at all levels: Commands, Functions, VariablesOne of the significant differences is variable scoping.In legacy MUMPS you had your partition and all variables were visible everywhere.In COS this visibility is managed at various levels and you have to take control over the variable scope.see this articles:Variable scope in .mac routine?Summary on Local Variable ScopingOf course, interaction with external devices and peripheral is different.But this doesn't affect programming style.I assume you have some special techniques in mind.For questionable cases, this forum is the place to get help at almost any level.And often it's more than a single unique solution but a choice of variants the members offer. I personally have seen code written on DSM-11 in 1978, copied to Caché and running without change.This was core logic. Communication with peripherals needed adaption. No surprise.
go to post Robert Cemper · May 21, 2018 An interesting combination!But (from Sample.Person): zNameGetStored(id) public {Quit $Select(id'="":$listget($g(^Sample.PersonD(id)),2),1:"") }there isn't that much to win.If it then ends with %Save() it is kind of a prefetch of the global buffer.I saw it mostly used instead of %Open() loading / swizzling the whole object in memoryif just 1 specific property was required.(A kind of direct global access in disguise)
go to post Robert Cemper · May 21, 2018 do you have any indication if this is just isModified() or if new content is checked against old contentReason: in past isModified () just checked write access, not the content.So a change from TRUE to FALSE and back to TRUE between %OpenId() and %Save() was marked as change (false positive)so this was finally dropped in favor of GetStored()
go to post Robert Cemper · May 21, 2018 I know of i%PropNamewhere is m%PropName documented?all I found is:Internally, Caché also uses additional instance variables with names such as r%PropName and m%PropName,but these are not supported for direct use.And no hint how they could be used.
go to post Robert Cemper · May 21, 2018 If you look for a dedicated Property You may use <propertyname>GetStored(id) to compare against the object in memorye.g.set id=22set old=##class(Sample.Person).SSNGetStored(id)so you bypass also the case when a value is written back finally unchanged (false modified)
go to post Robert Cemper · May 20, 2018 but I doubt that XML Schema Wizard will do anything useful with a .dtd definition.
go to post Robert Cemper · May 20, 2018 To use httpS:// in xml schema wizard you need to definde an SSL configuration in SMP System > Security Management > SSL/TLS Configuration.
go to post Robert Cemper · May 20, 2018 the file comes with the standard Caché /Ensenble distribution kit and should be installedAt least in a UNICODE installation. I verified it for 2016.2 and later. But it should be here even earlier.I should add that I have no idea if iths is the right one. It is just the only one for Chinese I know of.If you miss it you should contact WRC.
go to post Robert Cemper · May 19, 2018 and your class should have class parameter DDL Allowed Class PCD.NATION Extends %Persistent [ DdlAllowed ]
go to post Robert Cemper · May 19, 2018 Ok. this was clear to understand.You require 2 ALTER TABLE1) add column N_REGIONKEY2 to 'host' your foreign keyALTER TABLE PCD.NATIONADD COLUMN N_REGIONKEY2 INTEGER2) add foreign keyALTER TABLE PCD.NATIONADD CONSTRAINT NATION_FKFOREIGN KEY (N_REGIONKEY2) REFERENCES TPCD.REGION(R_REGIONKEY);
go to post Robert Cemper · May 19, 2018 1) install gbk character set table to your instance (if available)??? ....\InterSystems\Cache\mgr\Locale\allmessages_zh-cn.xml ???2) use $zconvert() to translate it.if 1) fails you may trigger an external converter using $ZF(-2 ,....)or use command pipe to run an external conversion.
go to post Robert Cemper · May 19, 2018 What error is "some" ?Detailed description on ADD FOREIGN KEYLook especially onGo to the Management Portal, select [Home] > [Configuration] > [General SQL Settings]. View the current setting of Allow DDL ADD Foreign Key Constraint When Foreign Key Exists.
go to post Robert Cemper · May 18, 2018 my assumption; you have installed CSP Gateway on your public website
go to post Robert Cemper · May 18, 2018 If you remove port 57772, then HTTP uses default port 80At that server your "page" is unknown and you get back 404I suggest checking the firewalls on your way starting with the server of your public website. to let 57772 inmy 2ct.
go to post Robert Cemper · May 17, 2018 Hint:backup of %SYS is good for recovery but not recommended for a copythere a lot of instance related settings (e.g. config) included that may cause serious problems in the copy.