Globals

Syndicate content 11 

We're developing Ensemble PoC and one day our frontend developer (who doesn't have Ensemble production running) said that Populate just doesn't cut it and he needs to see the real data. He needed only one object, but the problem was - it's a big object. Still, I checked ids of everything related and wrote this command (parts omitted, but you get the idea):

Last comment 26 September 2016
+ 2   0 1
376

views

+ 2

rating

Is there a way to omit or skip rollback of some data changes during a transaction rollback? Maybe some sort of "autonomous transaction"?

The issue is with error logging in transaction. For example we may have in nested calls the following structure:
TS
<some code>
<error happens>
TRO 1
<error log to database>

but if this code is in another transaction, and that rolls back we lose error data.

Last answer 28 August 2017 Last comment 25 August 2017
0   0 1
373

views

0

rating

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 : 

Last answer 19 April 2016 Last comment 20 April 2016
+ 1   0 1
368

views

+ 1

rating

Have very little XML experience and have been able to manually create output. Have a need to take data that I store in a M global (example: ^TML("HDATA", ) and out put it in CCDA XML format.

Are there any examples of M code using the XMLWriter to accomplish this?

Or can anyone provide some guidance 

Any help would be greatly appreciated.

Last answer 2 August 2017
0   0 1
0

comments

362

views

0

rating

Hi.

The message is received a few times a day.

On documentation, this ^ISCSOAP^is log to service SOAP, but why send to cconsole.log?

04/04/18-01:00:00:597 (10608) 2 ^ISCSOAP in Namespace %SYS has been active for 348 day(s).
04/04/18-01:00:00:598 (10608) 2 ^ISCSOAP in Namespace X has been active for 165 day(s).

Help-me.

Tks

Last answer 5 April 2018 Last comment 5 April 2018
0   0 5
343

views

0

rating

Can someone direct me to where in the documentation we can find how consumption may be calculated for global storage?

Caché Version2010.1
Operating SystemHP OpenVMS 8.4

 

EDIT: After receiving some responses, it seems I was unclear in my initial inquiry. I am looking to determine our rate of consumption of storage; however, I am having some difficulty in doing that.

Last answer 23 January 2017 Last comment 23 January 2017
0   0 1
338

views

0

rating

Let's imagine I have a global like this:

^Users(12, "SETTINGS", "IsAllowed") = 1

^Users(41, "SETTINGS", "IsAllowed") = 0

^Users(52, "SETTINGS", "IsAllowed") = 1

Now I would like to check for each user whether they are allowed, therefore I'd need to iterate through the Global. How to do that? It seems that I can't use $Order here like such:

S FF = ""
For {
 S FF=$O(^Users(FF,"SETTINGS","isAllowed"))
 Q:$L(FF)
 W "User ",FF," is allowed",!
}

Is there any other way of doing this? 

Last answer 25 August 2016
0   0 1
0

comments

330

views

0

rating

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

Last answer 10 November 2018 Last comment 12 November 2018
0   0 2
320

views

0

rating

I want to generate a list object of routines from the ^$ROUTINE global without directly reading the [^$ROUTINE] global.


E.G. I want to create an array/variable/object with names of all routines that start with "ABC" so that an application process can use each routine name as input for a subsequent process.

Last answer 29 December 2016 Last comment 29 December 2016
0   0 0
304

views

0

rating

Let's say I have a global named ^a and I need to export its nodes 1, 2, 3, 5 only.

Currently I write something like this:

Write $SYSTEM.OBJ.Export("a(1).gbl,a(2).gbl,a(3).gbl,a(5).gbl", "C:\Users\eduard\Desktop\a.xml")

Is there a way to write it shorter? I want to write global node once and list all the subscripts I need.

Last answer 16 September 2016
+ 1   0 1
0

comments

284

views

+ 1

rating

If I were trying to access an index of a global variable, what time complexity would this operation have? My understanding of languages like Java/C++ is that arrays are stored as blocks of memory so that x[15] would have a lookup time complexity of O(1) because it just goes to (address of the array + 15) and retrieves the value stored there.

How does this work in Cache where the index of a variable isn't necessarily an integer value? If I were to have a variable like the following:

x("Adam") = "Red"

x("George") = "Blue"

x("Bryan") = "Green"

etc...

Last answer 6 February 2017 Last comment 7 February 2017
+ 1   0 2
279

views

+ 1

rating

Hi,

I wonder if you could help me with a problem with persistent globals and journals.

We have a few interfaces using a persistent global just to translate some codes. The use of that global is like a lookup table...an interface calls a method that search for a field (in the message) in the global. If found, the code is translated with another field from the global.

The format of the global is something like:

Last answer 10 May 2018 Last comment 11 May 2018
0   0 2
266

views

0

rating

I am inserting rows in a table. This table is appearing in all namespace as I did global mapping. 

So once I run insert command from a method, it insert the rows. When I run the same insert command from other namespace, it replace the existing data in table. 

Insert command is same in all namespace but the data I m inserting is different. 

 

0   0 3
0

comments

262

views

0

rating

Hello.  When you export and then import a table of data, is the import smart enough to figure out if a row already exists in the new namespace, and if so update the row rather than just save/add the row?

For example, we have a table in DEV, and the same table in QA.  The DEV table has more fields than QA.  When we moved up the class, the field definitions went with the table into QA, so now the table definition is the same in both.

Last answer 6 December 2016 Last comment 6 December 2016
0   0 1
252

views

0

rating

Currently, namespace Alpha is configured to use database AlphaDB as its global database. How would we go about having namespace Alpha configured to use database AlphaDB for its global database except where global ^Customers(CustomerId) has a CustomerId greater than 10M, which we would like to have it redirected to database BetaDB.

In other words, ^|"AlphaDB"|Customers contains all customers between 1 and 10,000,000; and ^|"BetaDB"|Customers contains all customers greater than 10,000,000. Any help would be appreciated.

Last answer 28 December 2016 Last comment 28 December 2016
0   0 0
251

views

0

rating

I have two databases, and both of them have a global ^Data with subscripts going from 1 to 10 000 000.

I want to get one database with global ^Data but with subscripts going from 1 to 20 000 000.

Since each db is around 100 Gb and they are on a different hosts, what's the best way to merge them?

Last answer 25 October 2017 Last comment 25 October 2017
0   0 1
242

views

0

rating

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?

 

Here is my global structure:

Last answer 26 August 2019 Last comment 6 September 2019
+ 2   0 8
232

views

+ 2

rating

When I start talking about InterSystems IRIS with more technically-minded people I always talk about how at the root of things it is a multimodel DBMS.

In my opinion that is the main advantage (on the DBMS side).

You want some sort of summary for your data? Use SQL!

Do you want to work extensively with one record? Use objects!

Want to access or set one value and you know the key? Think again. Use globals!

And the data is stored only once. You just choose the way you want to access it.

On the first overview it's a nice story - short and concise and it gets the message across, but when people really start working with InterSystems IRIS the questions start.

How are classes and tables and globals related? What are they to each other? How's data really stored?

In this article I would try to answer these questions and explain what's really going on.

+ 6   2 1
0

comments

222

views

+ 6

rating

If you are waiting for the Kindle Edition of Caché and MUMPS – Part II, I must apologize. I believed what others told me that once I have a book manuscript, the Kindle manuscript will be easy. Being a programmer I should have remembered: "never assume anything." The conversion to Kindle is proving a much bigger task than I thought. But don't lose heart, I am working full time on it. I have as my goal before May 1st. But, then again, you know what they say about goals. ;) - - Paul Mike Kadow

+ 1   0 1
0

comments

222

views

+ 1

rating

Greetings,

If given a global, how can I discover information on that global?  More specifically,  how can I discover how many indices it contains?  ie:  ^G(1,2,3,4,5)   How can I discover that there are 5 subscripts within the Global ^G if I did not already know.

Please advise, and thanks in advance for everyone's time.

Last answer 17 July 2017 Last comment 17 July 2017
0   0 2
220

views

0

rating

It is my understanding that when a routine accesses a global it is temporarily stored in global memory. While the global is within global memory, any other routine would be able to readily access the global from memory and not from disk so long as the same node is being utilized.

Last answer 12 July 2017 Last comment 17 July 2017
+ 2   0 1
209

views

+ 2

rating

Is the default language (i.e., $$$DefaultLanguage, which is used as the basis for localization with $$$Text/etc. at compile time) always "en" for new Caché installations, or could it be different? How is this determined? I don't see an option to select a language during Caché installation.

Also, is there a supported/preferred API for setting the default language? Looking at %occMessages.inc, one option would be:

Last comment 2 March 2016
0   0 3
0

answers

208

views

0

rating