#Caché

30 Followers · 4.5K Posts

  

InterSystems Caché is a multi-model DBMS and application server. See more details here.

Documentation.

Question just fig · Sep 27, 2019

When i use ##class(%SQL.Statement).%New() -> .%Execute() and then .%Next() to go through the result set, i could only go through part of the result. And then, i have to call .%NextResult() to go through the next part of the result. BUT, the .%Display() could show all of the result.

How can i go through the full result once,like .%Display()? Or how should i do to go through the full result? Is there anyone can help me? Waittingcrying!!!

2
0 332
Question Rizmaan Marikar · Sep 22, 2019

Hi All,

I have a class method, this can be any cache expression to execute (usually a class / method and args) and and args stored in a variable, for example;

set aa = "##Class(Utils.Test).Run(1,2,3)"

do aa

I tried using $classmethod(class,method,args..), by extracting the values but sometimes there can be no arguments, or arguments such as ;

("2019-01-01","1,2,3,4")

which causes issues while running the $classmethod, (i am using $P to extract the Class, Method and args).

Is there any simpler way of doing this?

4
0 359
Question Gopinath R · Sep 18, 2019

Hi guys,
    
    Environment:
        Cache for Windows (x86-64) 2017.2.1 (Build 801U) Wed Dec 6 2017 09:07:51 EST
    Platform:
        Windows Server 2016
    We have mapped 6 Databases for Shadowing to shadow/backup server with same kind of environment and platform.
    The process for shadowing is growing or keeps on running in back round, not sure whether it will die or not - refer screenshot
    
    We want to know how many process does cache instance will take for one database shadowing

2
0 378
Question Stephen Wilson · Sep 20, 2019

In .NET Core you have an option to extend a session using a "sliding expiration". This means that if over half the time has passed and the user actively uses their session then the expiry timer gets reset and the user remains logged in. This can lead to the curious situation where you have an active authenticated user with an expired access token being used in data-access requests.

1
0 3775
Article Mikhail Khomenko · Feb 13, 2017 14m read

This post is dedicated to the task of monitoring a Caché instance using SNMP. Some users of Caché are probably doing it already in some way or another. Monitoring via SNMP has been supported by the standard Caché package for a long time now, but not all the necessary parameters are available “out of the box”. For example, it would be nice to monitor the number of CSP sessions, get detailed information about the use of the license, particular KPI’s of the system being used and such. After reading this article, you will know how to add your parameters to Caché monitoring using SNMP.

14
3 11830
InterSystems Official Pete Greskoff · Sep 19, 2019

InterSystems has corrected a defect in applications that use Unicode character 223 (ß). This defect can result in incomplete query results, class compilation errors, and removal of custom SQL privileges.

This problem occurs on systems that are running or have previously run on:

  • Caché and Ensemble 2018.1.0, 2018.1.1, and 2018.1.2
  • HealthShare Health Connect (HSAP) 15.032 on Core versions 2018.1.0, 2018.1.1, and 2018.1.2
  • HealthShare Health Connect 2019.1
  • InterSystems IRIS data platform – all currently released versions
  • InterSystems IRIS for Health – all currently released versions

The defect is triggered by data and component names containing Unicode character 223 (ß). In the versions listed above, an uppercase conversion incorrectly maps that character to Unicode character 7838 (ẞ).  Applications perform this uppercase conversion using features such as $ZCONVERT and %SQLUPPER.

Problems can occur when accessing data or classes created or modified on a product with a different uppercase conversion than the one currently in use.

0
0 292
InterSystems Official Pete Greskoff · Sep 19, 2019

InterSystems has corrected a defect that could lead to invalid backups on Windows platforms. The defect causes upgrades to disable the EnableVSSBackup setting. By default, EnableVSSBackup is enabled (value set to 1) and the upgrade sets its value to 0. Windows VSS backups taken with this setting disabled may contain invalid CACHE.DAT files.

This problem is limited to Windows platforms on the following versions:

  • Caché and Ensemble 2018.1.0, 2018.1.1, and 2018.1.2
  • HealthShare Health Connect (HSAP) 15.032 on Core versions 2018.1.0, 2018.1.1, and 2018.1.2
  • HealthShare 2019.1 (Unified Care Record, Patient Index, Health Insight, Personal Community, and Provider Directory) on Core version 2018.1.2
  • HealthShare 2018.1 (Information Exchange, Patient Index, Health Insight, and Personal Community) on Core versions 2018.1.1 or 2018.1.0

The defect only occurs if you are upgrading to a version listed above. Once you have upgraded to an affected version, you must manually enable the setting; otherwise, it will be disabled on future upgrades, even when upgrading to versions containing the correction.

For customers using Windows VSS backups, InterSystems recommends enabling this setting on any 2018.1 instances of Caché or Ensemble. Once you have enabled the setting, future upgrades (including to affected versions) will preserve its value.

0
0 265
Question Oliver Wilms · Sep 18, 2019

Hello, I created a Zen Report and I want to export to Excel. I read I can use $MODE=xlsx but my output in Excel is not correct. All 3 elements are condensed into one cell. Class AETMON.Report Extends %ZEN.Report.reportPage { /// Class name of application this report belongs to. Parameter APPLICATION; /// Specifies the default display mode used for this report if /// the URL parameter, $MODE, is not present. Parameter DEFAULTMODE As STRING [ Constraint = ",html,tohtml,toxslfo,pdf,xml,xslfo,excel,toexcel,ps,pdfprint,xlsx,tiff,displayxlsx,fo2pdf,foandpdf", Flags = ENUM ] = "html"; /// This is the

1
0 452
Question Kristina Roberts · Sep 16, 2019

Currently one of our applications, coded in Cache, performs web service API calls out to one of our vendors.   We now need to be able to send a Client ID in the portion of the Soap envelope.  

I  think I have a clue of what I need to do but not 100% sure.  We were thinking we could use the method %SOAP.WebClient.SetHttpHeader(field name, value) but when I have tired using this method and looked at the Soap log to see what is sent, the field is never showing.  I realized I could be setting the wrong object using the method.

4
0 390
Question reinhard lebensorger · Sep 17, 2019

We often have troubles with performance when joining  tables  with about 10 million rows together.

Sometimes we can't say what the cache engine is doing, it's just sucks and never finishes.

Then we have to rebuild the query and loop first on Orders and then on OrderPositions.

this is what we want:

EDITED: the join was only forgotten

select p.hpos,p.upos,p.spos, p.Fa,p.Auftnr,a.AA, p.art
from 
auf.aufpos p ,Auf.Auftrag a 
where a.Fa=1 and a.Fa=p.Fa
and a.AuftDat > ($HOROLOG-1000)
and a.Auftnr=p.Auftnr

this query does not finish...

then we rebuild and work with

5
0 491
Question Eduard Lebedyuk · Sep 14, 2019

What's the best way to replace character groups?

I want not to remove character groups as $zstrip does but to replace them with whitespaces.

$translate needs explicit character list.

Effectively I want to remove any characters besides letters, numbers and a small (known) subset of punctuation characters, replacing everything else with whitespaces.

6
0 800
Question Amit Prajapati · Sep 12, 2019

Hi,

I am implementing free search text box, which can search data in all columns of tables.

I have created DisplayName column by concatinating two column data with space.

SELECT TOP ALL FirstName||' '||LastName AS DisplayName, UserType, IsActive, RoleName, DOB FROM LISDB.ExternalUsers

Now, in where condition I want to do like search in DisplayName column but it not working.

I have tried both fn CONCAT and  || in like query but both are not working for me. 

5
0 1882
Question Gunwant Kapade · Sep 11, 2019

Hello everyone,

I am trying to use @() and SYSTEM() from Cache Terminal. I am searching for blinking text . I have found -5 as a Screen Display Option but not aware like how to use on terminal. Can any one please help ?

Thanks, Gunwant

8
0 438
Question Virat Sharma · Sep 10, 2019

I am new to cache programming language . I am facing below issue . please assist.

Question: One persistent class ID column is a combination of its properties (Roll No and Marks) [ Exact: RollNo||Marks]. When i am running the query from Management portal it is displaying data in the same format and data is there. But in the code if i am making below statement, i am getting null value.

Set ExistsID=##Class(User.School).%ExistsId(RollNo_"||"_Marks)

set ID=##Class(User.School).%OpenId(RollNo_"||"_Marks)

8
0 1309
Question Rubens Silva · Sep 6, 2019

Hello,

I had an issue when using the method Exists, I noticed that if you provide a directory for this method it returns 1. This is really misleading, because sometimes the input could be a directory and the only way to predict this is to also test if the file is a directory.

I didn't tested using the Attributes method, but I supposed that this means could also be a solution for that issue. But still, I expected the Exists method to return 1 for files and 0 for directories, since there's also method called DirectoryExists already.

write ##class(%File).Exists("/InterSystems")
1
4
0 577