i noticed -by reading .INT files of one class- that some of embedded sql select statements code blocks translates into code that uses lock command.

 

even if i use %nolock in the select, still cursors and arrow referencing notations "->" have the same results.

00
0 4 113

I am writing a report for a client that will create a report of the current process with a format that mimicks the Management Portal process display. I am writing a cterm script file to generate the report.

In the loop that process the results I am writing the columns in a formatted manner that will result in a CSV format very similar in content and order the process page. However, it appears that the write statement is limited in size such that I can not write out all of the elements of the sys.process query. My query result processing that works correctly is of this format:

00
0 4 92

Hi community!

I want to introduce you a new powerful feature from our static code analyzer objectscriptQuality

Each time a new IRIS version is released, you need to prepare a roadmap for migration in which you need to spend a lot of time on testing to find where your code is not accomplishing with the newer version. Or maybe you need your code to be compatible with multiple IRIS or Caché versions.

50
1 0 130

Hi developers, 

We're excited to let you know about the latest release of Serenji, your on-the-spot debugger from George James Software. Version 3.2.0 focuses on the debug experience and introduces zero configuration for users. No matter where you are or what you're doing, Serenji is always ready to go in just one click, so you won't lose focus by spending time setting up a launch configuration. 

This enhanced debugger also takes advantage of the latest features of VS Code itself. With this powerful combination you'll be able to smoothly identify and quickly fix errors in your code, contributing to the production of quality, maintainable code... and isn't that what everyone wants?! 

   

In this latest release you will experience: 

  • Debugging in just one click with zero configuration. 
  • Navigation directly to the source of an error using our gj :: locate technology.
  • Intuitive prompting for entrypoint and arguments.
  • Configurable break on error.
  • Program output in debug console. 
  • Run and Debug CodeLenses.
  • Run multiple concurrent debug sessions and consoles. 
  • Shaded background for read-only documents. 

If you're a new user, it's now easier for you to get started. The introduction of a welcome page Walkthrough and guidance on the Explorer and Run and Debug views means you can effortlessly create your initial workspace and start debugging. 

Download Serenji directly from the VS Code marketplace and take a look at our release notes to find out more about these new features and how to use them. 

We offer a free 30 day trial so if you're not yet a user of Serenji but you're interested in how it can help you, drop me a message through the Developer Community or email us at info@georgejames.com.

Happy debugging! 

60
4 0 110

The goal is to construct a comma separated string, using a loop but the same way $listtostring(var,",") would do (i.e. "a,b,c,d,e,f,g,h" without starting or ending comma).

What is the best way to do it, concerning the readability of the code and its performances?

To do so, there are more than 5 methods, but in this example we will test 4 :

1) using a "if" in the loop

30
0 9 273

Hello everyone
I use cache script, I would like to know from you if there is any function or class in the cache where I can get the start and end date of a given month:
Example: What is the first and last day of the month of February 2015.

Grateful.
Davidson

00
1 9 217

Hello everyone,

 

I think I put everything in the title. It's a simple question : how to restart a connector or a list connector without double-clicking?

Is there a way using another connector to do so (using code)?

Is there a way using a command line in the terminator/ds command (in the purpose to use a batch)?

 

Faithfully,

Thomas

00
0 4 84

Hello community!

I'm facing a base growth issue, which is being generated by a process and an Ensemble feature.

When executing the process of cleaning up the message queues, the Ensemble “preserves” the Streams that were part of these messages, deleting only the Header and Body. In this way the database (of one of the namespaces) has grown around 60GB per day, which has been maxing out the disk capacity.

InterSystems informed that this is a characteristic and that it is explained in the documents mentioned below.

10
0 2 140

Dear Developers,

I have a complex ZEN PDF report that has multiple tables that essentially are the same but are populated by different global definitions. The code has hardcoded groups for these tables but I would like the number of tables to be variable as many as there are global levels for a particular report.

Is there any way that I could build a report from a variable source of data rather that hardcoding 10 or more exact sections like the code below ? 

The code below is for table 2 in my report

00
0 1 97

Interesting issue we found. When making an ODBC connection from a host via RDP, the IP address shown as making the connection is the client IP address, not the host from where the connection initiated. Has anyone seen that or know how to get around it? 

Example:

My Computer(10.X.X.112) -> RDP to Host1(10.X.X.93) -> ODBC connection to Server1(10.X.X.12). Cache Portal -> System -> License Usage -> Usage by User shows My Computer's IP address as making the connection rather than Host1. 

00
0 2 93

So I am working with an inherited SQL query that queries 8 different tables. 5 of which have over a million records. 
I have 3 different servers. 

Server 1, Server 2 and Server 3. They all have the same data/tables/structure across all servers. 
Server 3 has an Iris database engine and the other 2 are Cache 2015.1.4.

I have a problem with views and performance across the servers being inconsistent. 

Thankfully Server 1 is the current live server that performs "fast enough".
Server 2 is being synced from Server 1 and acts as a report server.

00
0 1 80

This post provides useful links and an overview of best practice configuration for low latency storage IO by creating LVM Physical Extent (PE) stripes for database disks on InterSystems Data Platforms; InterSystems IRIS, Caché, and Ensemble.

50
1 4 3,335

I'm trying to save a list of AccessTokens a user for a specific user. This way I could present it together with other user-data.

I have tried calling ##class(OAuth2.Server.AccessToken).OpenByCode(authCode) from %OAuth2.Server.Authenticate's AfterAuthenticate() method. This only returns things like State and AuthorizationCode, but the AccessToken is empty at this point (afterwards it becomes filled out).

Is there a way to achieve storing the AccessToken as part of the login system?

00
0 1 99

This function is supposed to tell me that argument 1 is a valid variable name or not.

Doesn't work with an array variable, eg W $ZNAME("WLCOM(I)",0).

Not a question, just a whinge really.....

00
0 3 129

I'm using FOP 1.1 for ZEN reports and would like to install fonts within the Windows/Fonts directory.

I added the xml tags in fop.xconf but so far I have been unable to get the correct font.

<renderers>
    <renderer mime="application/pdf">

 <fonts>
        <directory>c:\windows\fonts</directory>
        <!-- automatically detect operating system installed fonts -->
         <auto-detect/>
       </fonts>

</renderer>

</renderers>

Any advice would be appreciated.

10
0 5 169
Article
Robert Cemper · Feb 16 2m read
FOREACH for ObjectScript

As you know ObjectScript has no FOREACH system command nor system function.
But it has a wide room for creativity.

The task is to loop over a global or local array and do something FOR EACH element.

There are 2 possible solutions:
- creating a macro that generates the required code sequences
- creating an Extended Command to perform the action.

80
1 6 419

I am trying to get a list of databases using the DatabaseByServer method but I am only getting an empty string. I have not found any useful examples of the proper usage of this class/method.

I have tried 2 formats. First

set dbList=""

set db=##class(Config.Databases).DatabasesByServer("my-host",.dbList)

I also tried:

set db=##class(Config.Databases).DatabasesByServer("my-host",.dbList,"/cachesys/")

In each case dbList is empty string. I can not figure out what I am missing.

00
0 2 53
Article
Joel Solon · Dec 23, 2015 1m read
Caché ObjectScript Quick Reference

In the Caché Foundations course, students are learning about Caché Development and ObjectScript syntax at the same time. To help students complete the exercises, we provide an ObjectScript Quick Reference (aka "the Cheat Sheet").

It is not a reference for all of ObjectScript! It is a list of the ObjectScript commands and functions that students use during the course, along with common syntax for objects, collections, etc. It also contains some useful macros.

50
0 1 694