go to post Robert Cemper · Oct 23, 2021 I like your PY solution. That's a promising aproach.Especiallly now with Embedded Py
go to post Robert Cemper · Oct 23, 2021 BUT: if you intend to have tablename1, tablename2, tablename3, ...you better wrap it in a ClassMethod and project it as Stored Procedure
go to post Robert Cemper · Oct 23, 2021 what about simply using OR in your SQL: DELETE FROM TableName WHERE ID = 2 OR ID = 3 OR ID = 4 OR <whaever condition> OR <whaever other condition>
go to post Robert Cemper · Oct 22, 2021 Ah, that's something different.You require a conversion table by location + a time range when DST is to be applied! Location is a static thing to be defined once.DST is a real challenge as it depends on the region and requires annual adjustment by location.Including the chance that Europe may split up next year or drop it at all.It might make sense to get it from an external government source by country.it is definitely not included in any InterSystems product.
go to post Robert Cemper · Oct 22, 2021 as by docs.By default $ztz shows you geographic offset of your server to Greenwich. No DST !so for Madrid "write $ZTZ" => -60
go to post Robert Cemper · Oct 22, 2021 I see 2 principal ways: using $ZDateTime(), $ZDateTimeH() function to convert your timestamp to Posix Format and then add or subtract whatever seconds offset you require, with the advantage to easily cross day boundaries or to use system variable $ZTIMEZONE to adjust the timezone of your actual process independent of the system's time zone by any number of minutes
go to post Robert Cemper · Oct 21, 2021 I miss my code quality!Satisfying these "rules" kept me more busy than the rest of the code
go to post Robert Cemper · Oct 20, 2021 Nothing prevents you to have such rules as part of your object definition.And all the code to define this is definitely part of Caché or IRIS.Caché and IRIS have excellent SQL support and projection of objects to simple tables.But you should not try to compare an Object database to any relational database.Just as a comparison, you won't ask: Why does a 747 not have red blinking warning lights at his back like a yellow school bus? In reverse the 2 you mentioned try to mimic features of an Object database. With limited success.
go to post Robert Cemper · Oct 18, 2021 if you don't have the fitting Dockerfile + docker-compose.yml your installation might end in troublesI'd suggest using one of the ready-made templates.https://github.com/intersystems-community/objectscript-docker-template or any other from OEX https://openexchange.intersystems.com/
go to post Robert Cemper · Oct 18, 2021 As by default is READ ONLY as with any installation and you are well-advised not to change this.What container image do you start ?
go to post Robert Cemper · Oct 15, 2021 @Sergei Shutov You missed the point.validatoris typically stored as part of the individual data record to handle various types of checks within your class to provide the highest flexibility. Think of language or geographically related checking.You can't bypass the challenge.Neither by $classmetho() nor any code generator as this is all static code frozen and inflexible a runtime. Creating a check routine by field or by record is not a realistic solution
go to post Robert Cemper · Oct 14, 2021 SMELLS ! what a waste of energy just for cosmetics and no added value or functionality !
go to post Robert Cemper · Oct 13, 2021 Good Morning,Now the case seems rather clear to me: in a fresh image of IRIS, the namespace USER is preconfigured for Interoperability/Ensemble and your Copy from should be USER differently in a fresh installed HS image, it is the namespace HSSYS that is preconfigured for Interoperability/Ensemble and your Copy from should be HSSYS namespace %SYS was and is NEVER configured to work in Interoperability/Ensemble similar is IRISSYS using as your working database a bad misconfiguration with unpredictable conflicts and consequences
go to post Robert Cemper · Oct 12, 2021 There's a mismatch. You see the code but no data at runtime.Project is always just a subset of Namespace
go to post Robert Cemper · Oct 12, 2021 you seem to miss this mapping by failed installation [Map.your namespace> Global_Ens.SecondaryData*=ENSSECONDARY Global_EnsDICOM.Dictionary=ENSLIB Global_EnsEDI.Description=ENS Global_EnsEDI.Description("X","X12")=ENSLIB Global_EnsEDI.Schema=ENS Global_EnsEDI.Schema("HIPAA_4010")=ENSLIB Global_EnsEDI.Schema("HIPAA_5010")=ENSLIB Global_EnsEDI.Schema("ISC_00401")=ENSLIB Global_EnsEDI.Schema("ISC_00405")=ENSLIB Global_EnsEDI.X12.Description=ENS Global_EnsEDI.X12.Description("HIPAA_4010")=ENSLIB Global_EnsEDI.X12.Description("HIPAA_5010")=ENSLIB Global_EnsEDI.X12.Schema=ENS Global_EnsEDI.X12.Schema("HIPAA_4010")=ENSLIB Global_EnsEDI.X12.Schema("HIPAA_5010")=ENSLIB Global_IRIS.Msg=ENS Global_IRIS.Msg("Arial,Tahoma,Verdana")=ENSLIB Global_IRIS.Msg("Confirm")=ENSLIB Global_IRIS.Msg("EDIDocumentView")=ENSLIB Global_IRIS.Msg("Ens")=ENSLIB Global_IRIS.Msg("EnsAlert")=ENSLIB Global_IRIS.Msg("EnsBPL")=ENSLIB Global_IRIS.Msg("EnsColumns")=ENSLIB Global_IRIS.Msg("EnsDICOM")=ENSLIB Global_IRIS.Msg("EnsEDI")=ENSLIB Global_IRIS.Msg("EnsEDIEDIFACT")=ENSLIB Global_IRIS.Msg("EnsEDIHL7")=ENSLIB Global_IRIS.Msg("EnsEDISEF")=ENSLIB Global_IRIS.Msg("EnsEDIX12")=ENSLIB Global_IRIS.Msg("EnsEnt")=ENSLIB Global_IRIS.Msg("EnsLDAP")=ENSLIB Global_IRIS.Msg("EnsMQTT")=ENSLIB Global_IRIS.Msg("EnsPushNotifications")=ENSLIB Global_IRIS.Msg("EnsRecordMap")=ENSLIB Global_IRIS.Msg("EnsSAP")=ENSLIB Global_IRIS.Msg("EnsSR")=ENSLIB Global_IRIS.Msg("EnsSearchTable")=ENSLIB Global_IRIS.Msg("EnsWf")=ENSLIB Global_IRIS.Msg("EnsXPATH")=ENSLIB Global_IRIS.Msg("EnsebXML")=ENSLIB Global_IRIS.Msg("Ensemble")=ENSLIB Global_IRIS.Msg("ITK")=ENSLIB Global_IRIS.Msg("RuleEditor")=ENSLIB Global_IRIS.Msg("Workflow")=ENSLIB Global_IRIS.Msg("tahoma,verdana")=ENSLIB Global_IRIS.MsgNames=ENS Global_IRIS.MsgNames("Arial,Tahoma,Verdana")=ENSLIB Global_IRIS.MsgNames("Confirm")=ENSLIB Global_IRIS.MsgNames("EDIDocumentView")=ENSLIB Global_IRIS.MsgNames("Ens")=ENSLIB Global_IRIS.MsgNames("EnsAlert")=ENSLIB Global_IRIS.MsgNames("EnsBPL")=ENSLIB Global_IRIS.MsgNames("EnsColumns")=ENSLIB Global_IRIS.MsgNames("EnsDICOM")=ENSLIB Global_IRIS.MsgNames("EnsEDI")=ENSLIB Global_IRIS.MsgNames("EnsEDIEDIFACT")=ENSLIB Global_IRIS.MsgNames("EnsEDIHL7")=ENSLIB Global_IRIS.MsgNames("EnsEDISEF")=ENSLIB Global_IRIS.MsgNames("EnsEDIX12")=ENSLIB Global_IRIS.MsgNames("EnsEnt")=ENSLIB Global_IRIS.MsgNames("EnsLDAP")=ENSLIB Global_IRIS.MsgNames("EnsMQTT")=ENSLIB Global_IRIS.MsgNames("EnsPushNotifications")=ENSLIB Global_IRIS.MsgNames("EnsRecordMap")=ENSLIB Global_IRIS.MsgNames("EnsSAP")=ENSLIB Global_IRIS.MsgNames("EnsSR")=ENSLIB Global_IRIS.MsgNames("EnsSearchTable")=ENSLIB Global_IRIS.MsgNames("EnsWf")=ENSLIB Global_IRIS.MsgNames("EnsXPATH")=ENSLIB Global_IRIS.MsgNames("EnsebXML")=ENSLIB Global_IRIS.MsgNames("Ensemble")=ENSLIB Global_IRIS.MsgNames("ITK")=ENSLIB Global_IRIS.MsgNames("RuleEditor")=ENSLIB Global_IRIS.MsgNames("Workflow")=ENSLIB Global_IRIS.MsgNames("tahoma,verdana")=ENSLIB Global_IRIS.Temp.EnsHostTotals=IRISTEMP Global_IRIS.Temp.EnsPortal*=IRISTEMP Global_IRIS.Temp.EnsPublic*=IRISTEMP Global_IRIS.Temp.Ens*=ENSENSTEMP Routine_Ens*=ENSLIB Package_CSPX.Dashboard=ENSLIB Package_Ens=ENSLIB Package_EnsLib=ENSLIB Package_EnsPortal=ENSLIB and eventually also these databases ENSENSTEMP=C:\InterSystems\IRIS\mgr\ENS\ensenstemp\ ENSLIB=C:\InterSystems\IRIS\mgr\enslib\ ENSSECONDARY=C:\InterSystems\IRIS\mgr\ENS\enssecondary\