A simple question: View Global Data page shows globals always in ascending subscript order. Very often I need to see latest page, is there any trick for this?
Update: I mean to see last subscripts in Management Portal, not using the code
Globals are multidimensional sparse arrays which are stored in InterSystems Data Platform. Everything in InterSystems Products is stored in Globals: Classes, Tables, Documents, Code.
A simple question: View Global Data page shows globals always in ascending subscript order. Very often I need to see latest page, is there any trick for this?
Update: I mean to see last subscripts in Management Portal, not using the code
Hi all,
I am trying to create a method to count the number of entries in a global, including all subscripts. I am having a bit of trouble getting the code to make it to the second subscript. When I get to the position where my key is "Canada" and I add a comma and empty quotes to it, it returns USA as the new key when I do the order function. Is the $Order or the global not able to use a single string to represent multiple subscripts?
Hi,
We have a global with 65 million entries. All we are doing is just iterating through each entry to find out the total no of entries. It is currently taking 110 minutes. Is this something normal? What can we do to speed up this process? Below is the program for just iterating each entry in the global.
s sub=" ,count=0
f{
s sub=$o(^YYY(sub)) q:sub=""
s count= count +1
}
w!, "Total Count:"_ count
Hi developers!
Could you please advice what is the easiest way to download globals from a particular server?
I have the access to it, I know which globals I need to download/copy (5-7 globals per name). This is to perform then analysis in IRIS BI.
Hi:
I'm looking for some help with JSON notation for a global structure. I need a way to represent a global structure in JSON where the global structure both has a value at a given node as well as sub-nodes.
Hi IRIS experts!
I have a parameter in a class that stores a global name:
Parameter GlobalName = "^AGlobal";
then I'm trying to call it as:
set gn=$name(..#GlobalName)
to use it later as:
set @gn@("index")="value"
But! I'm having syntax at set gn=$name(..#GlobalName)
What am I doing wrong?
I know this problem something to do with sort and collation and string comparison vs numeric only strings, but I can't fathom out the details of it.
I have the following global, where all values are suffixed with a space, I believe the intention is to prevent empty strings and force string comparisons rather than numeric. Which is fine when searching for an exact match, so searching for "ABC" internally looks for "ABC ", or "800999" looks for "800999 ". However one function tries to search for strings containing, (specifically beginning with), a partial code.
Is there a way to pull a user name and password from the Credentials list that is kept in Ensemble? Right now I have a LDAP user that I have hard coded into my ZAUTHENTICATE, which I would like to get away from. I am not to familiar with settings Global, or calling them at least.
Thanks
Scott
I am trying to create an ODBC class that includes all of these as records, but I don't see how I can since the first record has 3 subscripts, the rest have 4 subscripts:
.png)
Here is my current storage definition:
<ExtentSize>100000</ExtentSize>
<SequenceNumber>25</SequenceNumber>
<SQLMap name="Test">
<Data name="ModificationDate">
<RetrievalCode> set {ModificationDate}={L4}</RetrievalCode>
</Data>
<Data name="Operator">
<Delimiter>":","|"</Delimiter>
<Piece>36,2</Piece>
</Data>
<Data name="CreationDate">
<Delimiter>":",","</Delimiter>
<Piece>24,1</Piece>
</Data>
<Data name="CreationTime">
<D
I haver read $Query and $Order but still not getting the code that i am looking to work correctly.
I have a global like
^TestGlobal("Not Configured","Value 1")=""
^TestGlobal("Not Configured","Value 2")=""
I need to develop a tool to help to get what data is being consumed by a certain process, in order to get all data used to build an automated test scenario.
For example, some user process will pull data from ^GLOBAL(1)="dataString", ^GLOBAL(2)="dataString2", ^GLOBAL1(1)="data1String", ^GLOBAL2(4)="data2String4". Amidst all other data on these Globals, I will ignore everything that was not used in the user process, and get the specific keys used on it.
Dear people,
I (really) spent hours on finding the maximum size a Global is allowed to be (for Windows, if that matters). All I seem to run into are database sizes (derived from a max number of blocks and block size), but I refuse to believe that is correct because too small to be realistic.
It will undoubtedly my fault that I don't understand or misread the concepts of "database" vs Globals, envisioning files as such while one set of functional Globals in one file (?
Hi,
I have a class with around 400k lines and 60 columns. Class storage is Cache SQL storage (Mapped from a global).
I want to create multiple indices on certain fields.
I am familiar with two approaches:
1. Create a new map (Index type) on a pointer global.
2. Create a bitmap index
Which approach is more recommended to be used in the case I described? If there are any other approaches, I will be happy to hear.
Thanks :)
Hi,
I use cache 5.0 and access cache through OpenVMS.
The disk-space under a particular namespace has grown up in size due to cache.dat. How to recreate cache.dat to bring up more space back on disk?
We are attempting to "Repoint" old class data to new class data to save disk space and data redundancy across multiple tables. This works to a point. In essence the two classes are sharing the same data / Index / stream globals. But if an ID in the Old_Class is opened, a property is modified, and saved the property that is in the New_Class (but not in the Old_Class) is NULLed / blanked.
Simplified explanation of data and what’s occurring.
I’m trying to find a way to manage globals from our Java application. We have two separate features:
Managing tables normally using SQL
Managing globals, since some globals exist without class or table definitions
Cache version : Cache for UNIX (Red Hat Enterprise Linux for x86-64) 2016.1.1 (Build 108U_SU), Thu Jul 7 2016 09:39:04 EDT
I tried to retrieve the globals tree, update node values, and append nodes using SQL by calling stored procedures, but I couldn’t find any procedures for adding, updating, or deleting nodes.
I also tried using cacheextreme.jar to access the globals API directly.
Trying to create a new SQL Storage map on existing cache Global in the following format - ^MYGLO("R",rec)=data where the 'data' is built using $zel. e.g. $zel(data,1)="p1", $zel(data,2)="p2" etc... and the ^MYGLO("R",123)=data.
I'm having 2 issues.
Hey InterSystems Community!
This is probably far-fetched - is there a way to get notified/get a piece of code triggered whenever the state of a global changes?
Now what could I possibly want with that? Quite simple! I would like to forward the content of a global (in this case the "FSLog" global written by the FHIR implementation) while adding timestamps to it - to create some sort of file-based logging for it.
Hello Community,
Is it possible to track or determine where the global variable was set (routine or class) in a form of like label+offset^routine?
Regards,
Ashok
Hello everyone,
My team lead mentioned that users can sometimes create globals directly without associating them with tables or classes. In this case, these globals would not be accessible via SQL.
Is this correct? Can a global exist independently in this way, and if so, is there a specific approach to access or manage them without SQL?
Hi there
Would you please advise how to count how many keys are duplicated in global, for example, Athens was duplicate 3.
Set ^Data("Cambridge") = "1"
Set ^Data("New York") = "2"
Set ^Data("Boston") = "3"
Set ^Data("London") = "4"
Set ^Data("Athens") = "5"
Set ^Data("Athens") = "6"
Set ^Data("Athens") = "7"
Thanks
Hi,
Most of my classes are mapped from Globals. I want to access Cache classes from a BI software through ODBC connection.
'Last update' information does not exist in most of the classes. My question is whether there is a 'last update' timestamp that is automatically generated for each line in classes I can extract to external systems?
Thanks
Hello Intersystems-Community,
I build an API and there I use $order to get the Data from my Globals.
When I first time use that API it's get an error (504 Gateway-Timout > 60 Sec.).
After 2 reloads it works with a loading time of 2 Sec.! Sounds for me like the $order is cached and it works faster. Is it true $order will be cached?
When it works, I only get the error at the next day. So it's very hard to reproduce that error.
Hi,
Is there any COS command could kill all the globals given the namespace?
Thanks.
Hello All,
I have a class method on the DocRepo server that needs to query the data value of a global variable on the Edge server.
I have looked at the documentation for 'Global Structure,' but I didn't find anything that helped.
Global Structure | Using Globals | InterSystems IRIS Data Platform 2022.1
I am able to access this global easily from the Edge server using the $Get function, but I need to access it from the DocRepo server.
Any suggestions would be greatly appreciated!
Thanks!
Craig
Currently, we have an application running in one namespace ("Database B") that has globals and routines mapped to another database ("Database A"). After enforcing clean up on Database A, we found that 90% of the disk is free. We would like to compact Database A and release the unused space. However, we are running OpenVMS, which seems to be the issue.
For databases consisting of only globals, we are able to use ^GBLOCKCOPY; however, we need to ensure that the routines and mappings are also copied.
What would be the best recommended way to do this?
Hi Devs!
Is there a way to get a Global that contains pesistence data for a class?
In early versions of IRIS it was classname_"D", like ^Sample.PersonD. Now, at least in IRIS 2022.1 it is something random.
I have the class ConfigUtils.ConfigSettingsTable, which is a persistent object. I know I need to map packages from the original namespace. In this case, I have mapped ConfigUtils.ConfigSettingsTable from the originating namespace (IRISTST database) across all other namespaces.
With this, I am able to see the table ConfigUtils.InstanceSettings in SQL Explorer in each namespace, but the same data is not shared across environments. For example, in the MAINTENANCE namespace, I can see the table, but I don't see the same information that I see in the table in the original IRISTST namespace.
Hi, Community!
Is there an option to get an archived file of globals in one command. Say for:
Do $System.OBJ.Export("Class1*D.GBL,Class2*D.GBL","data_gbl.xml")
get something like:
Do $System.OBJ.Export("Data*D.GBL","data_gbl.gz","gzip")
And also to have the convenient one click way to import it to the namespace via terminal or Control Panel?
If anyone already has this module, share please?
It would be very convenient for import/export/continuous integration purposes cause globals can be really heavy.
We are trying to create a simple class extending %RegisteredObject that could be used as a singleton. However we are not able to store it in a global to later be retrieved (by the same process but elsewhere in the code).
I resumed my issue in this small code sample :
{
// Create a simple %RegisteredObject
set obj = ##class(%ZEN.proxyObject).%New()
set obj.MyProp = 22
do ##class(%SYSTEM.OBJ).Dump(obj)
// Store it in a global
set ^MyGlobalName = obj
write "Stored : " _ obj,!!
// Retrieve it from the global
#Dim obj2 As %ZEN