go to post Robert Cemper · Nov 7, 2021 Hi @Herman Slagman ,You got exactly my point and my interpretation of the message.- forget about the file and CSP-TAG-based frontend.No word on the backend this works perfect and there is no reason for change.
go to post Robert Cemper · Nov 4, 2021 A rather personal view:The development of customized tags was an attempt to hide COS from "TAG-SHUFFLERS" as we named back at the start of this century WebPage coders. Neither JS nor CSS was there yet,But something more "modern" than the previous VB5 and VB6 tools were required.ISC was never a leader in WebPages rather a follower. Also with ZEN and MOJO.And CSP was definitely never a buying argument for Caché or IRIS.It was never a core business. Rather a necessary requirement, demanding quite some effort.Today nobody is forced to drop existing development. It is there and it will persist, and it's not hidden, but it will not be pushed. A personals note.The first CSP Training for customers was written by my friend Salva (@Jose-Tomas Salvador) And I did the translation of this training to German and English.( ~ 2 decades back)
go to post Robert Cemper · Nov 4, 2021 And as you might also have seen the version was 2021.2 which is not released yet.
go to post Robert Cemper · Nov 4, 2021 Your reference explicitly mentions CSP files (with CSP markup language)that are stored outside of Caché / IRIS. But this doesn't affect class-based CSP and the related server technology.
go to post Robert Cemper · Nov 4, 2021 as by reply of @Andreas Dieckow on June 23, 2021https://community.intersystems.com/post/advisory-discontinued-technologies-and-features#comment-159616 Caché Server Pages are fully supported on InterSystems IRIS and C/E.
go to post Robert Cemper · Nov 4, 2021 ??? you seem to insert the ID already ???set sql = " INSERT INTO Prenotazioni_CUP "_" (ID, cf)"_" VALUES (SEQTAB.NextVal, ?) ??? not clear what you are looking for ???
go to post Robert Cemper · Nov 3, 2021 A Super Tool. I wish I had it in past alreadyThanks for posting
go to post Robert Cemper · Nov 3, 2021 What you experience is the effect of the Global Buffer Pool.The rule is to overwrite the least used buffer if a new is required.So the older the buffer the higher the chance to be overwritten and later reloaded.Purging queries only affects code not data Possible option: increase your buffer pool (double or triple size)or try this approach: https://community.intersystems.com/post/global-buffer-questionssuggested by @Julius Kavay
go to post Robert Cemper · Nov 3, 2021 Utils.GetNumber('456') is a static expression and not depending on rows so it is calculated only once. do this changes: ClassMethod GetSomeNumber(intInput As %Integer, id ) As %Integer [ SqlName = GetNumber, SqlProc ] and your query SELECT Utils.GetNumber('456',ID), .... by adding ID you force a recalculation by a row dependency
go to post Robert Cemper · Nov 1, 2021 not so clear what you mean by MUMPS routine.if it is an .INT routine you just create an object from one of the ResultSet classes and execute the queryif it is a .MAC routine you may also use Embedded SQL which I don't prefer so much. And BTW. what is an IDX routine ??? What do expect by a VIEW? It is just a kind of store SQL statement.
go to post Robert Cemper · Nov 1, 2021 This total ODD ! But it works.The list doesn't allow Carret ^ for the positive Globalsfor globals to skip Carret ^ is required !!! ENS>set list="Ens.*.GBL,'^Ens.Me*.GBL,'^Ens.C*.GBL" ENS>ENS>set sc=$system.OBJ.Export(.list) ;; output skipped ;; ENS>ZWRITE ;processed Globals list("^Ens.ActiveMessage.gbl")="" list("^Ens.AppData.gbl")="" list("^Ens.BP.ContextD.gbl")="" list("^Ens.BP.ThreadD.gbl")="" list("^Ens.BP.ThreadI.gbl")="" list("^Ens.BusinessProcessD.gbl")="" list("^Ens.BusinessProcessI.gbl")="" list("^Ens.Debug.gbl")="" list("^Ens.DocClassMap.gbl")="" list("^Ens.JobStatus.gbl")="" list("^Ens.Mirror.gbl")="" list("^Ens.Queue.gbl")="" list("^Ens.Rule.gbl")="" list("^Ens.Util.IOLogD.gbl")="" list("^Ens.Util.IOLogI.gbl")="" list("^Ens.Util.LogD.gbl")="" list("^Ens.Util.LogI.gbl")="" list("^Ens.Util.ScheduleD.gbl")="" sc=1 My interpretation:First, a local array is collected, and then the negated subscripts are deleted (requiring now ^ !!)
go to post Robert Cemper · Nov 1, 2021 'Ens.Message*.gbl Exclusion does not work with * and GBL should be upper case
go to post Robert Cemper · Nov 1, 2021 Hi Dan ! ADD / CREATE is just wishful thinking. It is only able to EDIT an already EXISTING link.If it exists you get asked: "Overwrite ?" otherwise "Not Found" as you have seen. You must create first a dummy of type *.link.DFI that you have to import by DeepSee Folder Manageror better directly in Studio. You must then assign the correct name already there.Folder Manager can't rename or move it !! only Import/Export Here is a dummy link to start with. <?xml version="1.0" encoding="UTF-8"?> <Export generator="IRIS" version="26" zv="IRIS for Windows (x86-64) 2021.1.0PYTHON (Build 237U)" ts="2021-11-01 13:54:36"> <Document name="dummy.link.DFI"> <link xmlns="http://www.intersystems.com/deepsee/library" name="dummy" folderName="Links" shared="true" public="true" locked="false" href="" title="" description="" keywords="" owner="" resource="" timeCreated="" createdBy="" category="" bookCover="" > </link> </Document> </Export> Feel free to place a PRODLOG on that bug.I will not do it. I'm not willing to wait so long. I just recently received a closing message on another PRODLOG I had placed in early 2017.
go to post Robert Cemper · Nov 1, 2021 If this "HL7.{PID:AlternatePatientIDPID(1).ID}" just doesn't exist CONTAINS must fail.You could put your HL7 messages as input to a dummy DataTransformation to seethe available parts and their addressing and then apply it here
go to post Robert Cemper · Nov 1, 2021 WRC download > Components > ODBC Drivers hasODBC Driver, Cache and Ensemble, 2018.1.... several build for all supported Platforms
go to post Robert Cemper · Nov 1, 2021 CONTAINS wraps ObjectScript $FIND() and just checks raw characters.So no code conversion or Upper/Lower or anything else happens.Suggestion:dump the value you expect into a TRACE message and see what it really is
go to post Robert Cemper · Oct 29, 2021 that's correct.I see the need to understand the potential and the possibilitiies to apply if appropriate.Actually, we do this with SQL and it is totally normal [hopefully]It should be as normal also for Embedded Py
go to post Robert Cemper · Oct 29, 2021 In past, I have seen so many "re-invented wheels" on COS that were mostly kind of remakes ofexisting packages or solutions. Though this is impressive from a coding point of view,it is just a waste of energy from point of view of a project AND its maintenance.I had similar experiences with SQL that was refused by "experienced" programmersinsisting on horrible $ORDER() / $QUERY() constructs almost un-supportable, to gaina few microseconds of performance on a weekly report. The deeper reason: nobody explained it and trained them.That's the behaviour to avoid.