I am updating a large JSON Dynamic Object. Inserting three streams using Do obj.%Set("data",pStream,"stream>base64").
Maybe I am calling Iterate() too often?
InterSystems IRIS is a Complete Data Platform
InterSystems IRIS gives you everything you need to capture, share, understand, and act upon your organization’s most valuable asset – your data.
As a complete platform, InterSystems IRIS eliminates the need to integrate multiple development technologies. Applications require less code, fewer system resources, and less maintenance.
I am updating a large JSON Dynamic Object. Inserting three streams using Do obj.%Set("data",pStream,"stream>base64").
Maybe I am calling Iterate() too often?
I am working on JSON and want to be prepared to handle large Objects. I try this code:
ClassMethod MaxLen() As %Status
{
set longStr=""
for i=1:1:$SYSTEM.SYS.MaxLocalLength() { set longStr = longStr_"x" }
write "Maximum string length = "_$LENGTH(longStr)
;
set longObject = {"a":(longStr),"b":(longStr)}
set file=##class(%File).%New("/tmp/longObjectFile.txt")
do file.Open("WSN")
do longObject.%ToJSON(file)
do file.Close()
;
do file.Open("RS")
set newObject = {}.%FromJSONFile(file)
write !,"Property newObject.a is "_$LENGTH(newObject.a)_" characters long."
I have JSON object which contains file references. I need to replace the file reference with base64 encoded file which is up to 10MB.
I tried the following but it did not work as expected:
do dynObj.%Set("data",pStream.ReadLineIntoStream(.tSC))
Hi,
I would like to ask whether there is some option to stop auto-formatting when I compile. The code is sometimes well formatted but the auto-formatter does not work correctly in some situations. I am talking about the compilation in the Studio editor in this image, not about Visual Studio Code.
.png)
Thank you in advance,
Alin C Soare.
I try to get a vector from calling GetEmbedding, but i failed to convert it into a vector
Here is a simplyfied sample class:
Class User.myclass Extends %Persistent
{Property myVECTOR As %Vector(CAPTION = "Vector");
Property myProperty As %String(MAXLEN = 40) [ Required ];
}
here the GetEmbedding part from User.mymethods:
...
ClassMethod GetEmbedding(sentences As %String) As %String [ Language = python ]
{
import sentence_transformers model = sentence_transformers.SentenceTransformer('C:/InterSystems/IRIS/lib/python/Lib/site-packages/sentence_transformers/models/all-MiniLM-L6-v2')
embeddings = mo
Hello. I was asked to base64-encode files such as Word documents (which contain images) and then post them to a Jira server. I found code to base64 encode a file here:
https://community.intersystems.com/post/encoding-base64-stream-chunk-si…
It seemed to work, but when someone tried to open the Word document, the images inside could not be displayed.
InterSystems and Red Hat are working together to add IRIS-specific alerts to Red Hat Insights.
Red Hat Insights is a service to predict and recommend remediations for system risks in Red Hat Enterprise Linux environments. Insights is free with nearly every RHEL, OpenShift, or Ansible subscription. You can learn more about Insights at Red Hat’s site.
Swappiness Recommendation
The first recommendation “Apply swappiness recommendation for better performance of InterSystems IRIS” has been activated.
This recommendation checks the system
In this article we are going to see how we can use the WhatsApp instant messaging service from InterSystems IRIS to send messages to different recipients. To do this we must create and configure an account in Meta and configure a Business Operation to send the messages we want.
Let's look at each of these steps in more detail.
This is possibly the most complicated point of the entire configuration, since we will have to configure a series of accounts until we can have the messaging functionality.
Here you can read the official Meta documentation.
First we will create
Data for InterSystems products (table row data, object instance data) is stored in global variables.
The data size of each global can be obtained by clicking the properties of the global you want to view from the Management Portal > System > Configuration > Local Database > Globals page, and then clicking the Calculate Size button on the Global Attributes page that appears.
To display the data sizes of globals in a namespace, you can call ^%GSIZE utility on the terminal.
The method of execution is as follows.
I am actually new to IRIS, and we are DevOps/PowerShell/Ansible team. We want to achieve certain administration tasks like updating Memory, Heap size, Lock size etc., in Management Portal through PowerShell. Is there any way i can achieve this without out logging in into Management portal. Off course, we have namespace, user id and password details. We have installed ODBC drive and able to update tables in the IRIS database. I have seen updating information in management portal getting updated in cpf file but vice versa i am not aware. i did not try though.
Hi,
After executing a task using RunNow() method of class %SYS.task i am not able to find suitable method for getting the status in %SYS.Task class. Please help how to get the task status throuhgh Python/IRISNAtive for Python combination
The procedure for uploading/downloading from an FTP server is as follows.
1. Upload the image file to the FTP server
set tmpfile="c:\temp\test.jpg"
set ftp=##class(%Net.FtpSession).%New()
// connect to FTP server
do ftp.Connect("","<username>","<password>")
// set transfer mode to BINARY
do ftp.Binary()
// Move to the directory to upload
do ftp.SetDirectory("/temp/upload")
// Prepare a stream of files to upload
set file=##class(%File).%New(tmpfile)
do file.Open("UK\BIN\")
// upload file
// 1st argument: File name to create at upload destination
// 2nd argument: File
Hi,
Hi have problems to import globals, this is a testing only.
From Caché (v.2012, very older, 8 bits character, Latin1 encode) I created a file exporting globals, file *.gof with de web system utilities,.
When I import these globals to Iris (v2024.1 16 bits character), the restore utility show this error:
Importar a namespace FENIX.Cargando arch.
In Index types, I can see "Extent Index", Please tell me in detail about it
If you want to run an OS executable file, command, or a program created within an InterSystems product when the InterSystems product starts, write the processing in the SYSTEM^%ZSTART routine. (The %ZSTART routine is created in the %SYS namespace).
Before you write any code in SYSTEM^%ZSTART, make sure that it works properly under all conditions.
If the ^%ZSTART routine is written incorrectly, or if it is written correctly but the command does not return a response or an error occurs during processing, InterSystems products may not be able to start.
For more information,
Hello,
With my team, we're evaluating the different streams existing in order to find good pratices for our project using InterSystems IRIS. In doing so, we found that there exists different forms of the same stream with the %Stream.FileBinary and %Stream.FileBinaryGzip classes. We think that the %Stream.FileBinaryGzip takes less space to be stored, but is there other diferences between these two classes and what would you recomend to use ? Is it the same thing for %Stream.FileCharacter and %Stream.FileCharacterGzip ?
Thanks for your help,
Vincent Dheilly
Hello My Friends,
I have a problem with my script, In another code it works fine, but in this script It not display anything in InterSystems portal, when I try to debug, it gives the data, but why in portal it show nothing?
Can anyone help me please? Thank you
.png)
in Portal it show nothing
.png)
Hy Friends,
I need some help, how to calculate date and time in different columns ? .png)
Does Anyone could help me ?
Thank you
Best Regards,
Steven Henry
I'm scraping my way through some code that's been around for a while, and came across the use of $ZTRAP and (dear GOD) GOTO for trapping and handling errors.
In an effort to "modernize" it and make it, I don't know, less M-ish (sorry old-timers!), I'm replacing it with Try/Catch blocks.
Some questions:
And if the answer to number 3 is Yes, my deepest apologies ... I love you guys! 🤩
.png)
Hi Developers!
This is the second post on the resources for Developers. This part is about Open Exchange
Using Open Exchange to Learn InterSystems
InterSystems Open Exchange is a applications gallery of tools, connectors, and libraries which InterSystems Developers submit to share the experience, approaches and do business. All the applications are either built with InterSystems data platforms or are intended to use for development with InterSystems data platforms.
If you are a beginner developer you can take a look at applications in Technology Example category. All the applications in this category come with open source code repositories, so you are able to run the samples and examples in a docker container with IRIS on your laptop or in the cloud IRIS sandbox. Examples:
I would dearly love to avoid manually creating a SEF or XSD file to get the X12 832 (4010) schema into IRIS, but I have been hard pressed to find either downloadable resources or commercial options. The typical recommendation, edi-dev, seems to just do tooling that will help create SEF files, but no longer sells actual SEF files.
Anybody got any good resources that might have these schema files?
Thanks for any help!
Cordially,
Jonathan
Hi Community ,
I have a csv file to read and validate the data in the file
How can i ready only 1st line from the file using Readline()
Thanks,
smythee
Let's say I have an InterSystems IRIS instance with 6 Namespaces:
And the number of Foo# namespaces can increase at any time for a number of reasons. I need to ensure that they all have identical configuration globals stored in a DB called CONFIG, so I do the following in my configuration file:
[Map.%ALL]
Global_SYS=%DEFAULTDB
Global_SYS("CommonConfig")=CONFIG
Global_SYS("CommonOtherSettings")=CONFIG
Global_SourceControl=CONFIG
This will ensure that all Namespace see the exact same settings when they reference ^SYS("CommonConfig") or ^SourceControl, etc.
Now.
Hello everyone,
Recently, I've been working on a Business Process that processes a large JSON FHIR message containing up to 50k requests in an array within the JSON.
Currently, the code imports the JSON as a dynamic object from the original message stream, obtains an iterator from it, and processes each request one at a time in a loop.
The performance meets the requirements, even with much larger requests than the one exposed above.
Recently I wanted to get a list of all cached queries and their texts. Here's how to do that.
First create an SQL Procedure returning Cache Query text from a Cached Query routine name:
Class test.CQ
{
/// SELECT test.CQ_GetText()
ClassMethod GetText(routine As %String) As %String [ CodeMode = expression, SqlProc ]
{
##class(%SQLCatalog).GetCachedQueryInfo(routine)
}
}And after that you can execute this query:
SELECT Routine, test.CQ_GetText(Routine)
FROM %SQL_Manager.CachedQueryTree()And get a list of Cached Queries:
.png)
TL;DR: My comment to Microsoft when I voted:Our team has implemented most of what we need for source management of Power BI Report files in Perforce. The missing piece? Automated creation of ".pbix" files from ".pbit" template files that can deployed to the Power BI Report Server. Let's get the manual “Power BI Desktop->File->Save As” step out of the process to make report deployment totally automated.
Our team has implemented change management for some critical Power BI Reports used by other teams at InterSystems.
I'm facing a challenge in dynamically generating SQL queries based on incremental q_ids for a project I'm working on. Here's the scenario:
log_reports that contains logs of service activities, including timestamps and associated q_ids.Current Approach:
Here's the SQL query I'm currently using:
SELECTHello Community,
I have encountered the following SQL problem trying to create a table from a SELECT statement.
I narrowed the problem down to the following example:
1. The SELECT statement alone works as expected.
SELECT m.Name, h.Status FROM EnsLib_HL7.Message m, Ens.MessageHeader h WHERE h.MessageBodyClassName='EnsLib.HL7.Message' AND h.MessageBodyID = m.ID
2. But if "CREATE TABLE ... AS" is added it fails
CREATE TABLE UKEr.Test AS SELECT m.Name, h.Status FROM EnsLib_HL7.Message m, Ens.MessageHeader h WHERE h.MessageBodyClassName='EnsLib.HL7.Message' AND h.MessageBodyID = m.ID
with the
We have an operation that sends a Rest request to an external endpoint. The request includes the secret, which shows up in the Message Viewer. While access to the Production is restricted to only those who need it, we have been asked to remove it from the Message Traces. Is there a way to hide certain information on the Message Viewer ?
Thanks for reading