#Caché

30 Followers · 4.5K Posts

  

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

Documentation.

Edit
Question Sebastian Thiele · Nov 11, 2016

Hi,

I try to programmatically create a parameter for a dataCombo ZEN Component (which is in turn created on the server side at runtime).

Set tParm = ##class(%ZEN.Auxiliary.parameter).%New()
Set tParm.id = "pRegion#"_pExamContainerCount, tParm.name = "pRegion#"_pExamContainerCount

Set tExam = ##class(%ZEN.Component.dataCombo).%New()
Set tExam.id = "Exam#"_pExamContainerCount, tExam.label = "Untersuchung", tExam.queryClass = "Inventory.ServiceCatalog", tExam.queryName = "QGetExaminations", tExam.showEmpty = "false", tExam.size = "52", tExam.onchange = "zenPage.updateExamDescription(zenThis.

0
0 2
Edit
Question Thomas Chericka · Oct 7, 2016

Hi,

Thanks a million for taking the time to read this.

I'm calling the functions $ZF(-`1, <path to EXE>) and $ZF(-2, <path to EXE>) from Cache code. The exact code I'm using in Cache Studio is given below.

/// Test the functionality of ZF(-1) and $ZF(-2), 
Class %SourceControl.UnitTest Extends %Persistent
{
Parameter PATH As %String = "E:\VCS\CommandExecutor\bin\Debug\WindowsApplication.exe";
ClassMethod Test()
{
Do $ZF(-2, ##Class(%SourceControl.UnitTest).#PATH)
}

Now when I run the command in the Cache Terminal, as given below,

>do $ZF(-2, "E:\VCS\CommandExecutor\bin\Debug\WindowsApplication.

0
0 2
Edit
Article John Lambert · Apr 5, 2016 1m read

One of the internal changes in Cache 2016.2 is the switch from using Posix asynchronous IO on Linux platforms to native kernel asynchronous IO for improved performance. There is a kernel parameter that controls the maximum number of events that can be handled across the entire system and it is possible to hit this limit on newer versions of the Linux kernel when Cache is setting up disk IO structures in the WD or user processes. To prevent this from occurring we recommend that the kernel parameter 

0
0 0
Edit
Article Thomas Carroll · Sep 17, 2016 3m read

Embedded SQL is a tool that allows us to execute SQL statements in Caché Object Script. For example, to select the name of a person with a particular SSN from the Sample.Person class we can do the following.

&SQL(

Select Name into :tName

From Sample.Person

Where SSN = :tSSN

)

The colon syntax is used to identify local variables, in this case tName and tSSN. &SQL indicates to our compiler that this is SQL syntax. At compile time, this statement will be optimized to executable Object Script code. More about this syntax can be found here.

http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.

0
0 0
Edit
Article Jon Jensen · Jan 19, 2016 1m read

A quick announcement about the upcoming Global Summit 2016 -  April 10-13, 2016.

InterSystems Global Summit 2016 is an unparalleled opportunity to meet with your peers and with InterSystems’ executives and experts, discussing the technologies, strategies, and methodologies that lead to success.

All InterSystems Global Summit 2016 sessions will be held at the Arizona Biltmore in Phoenix, Arizona on April 10-13, 2016

Learn more about Global Summit 2016 and register today!

(Early bird discounts end soon!)

0
0 21
Edit
Question sansa stark · Sep 12, 2016

Hi ,

     The below code is working in cache 5.02 but it'snot working cache 16.

      while we calling this method in another csp page it's show some different character.

      ClassMethod OnHTTPHeader(ByRef OutputBody As %Library.Boolean) As %Status [ ServerOnly = 1 ]
  {
set user $ZUTIL(67,15,$JOB)
set status %session.Login(username"Test" ,1)
set log $Get(%session.Data("Log")) 
set logtype $Get(%session.Data("logtype")) 
if (log "")
{
!, "<div style='color:#000000; background:white; ; font-size=10pt;'><B>Your session has expired.

1
0 24
Edit
Article Carter Tiernan · Sep 21, 2016 2m read

Overview

Current Caché system monitoring functionality provides real-time information about a Caché environment. This allows for preventative measures to be taken before system failure by highlighting specific metrics when they are at unusual or dangerous values. Additionally, diagnosis of past or current erronious events is aided by informative logs that are created by the system monitoring process.

The System Monitor Dashboard project is a successor to the current system monitoring functionality.

0
0 0
Edit
Question Keith McCauley · Nov 24, 2016

Hi,

I've managed to get a zen Report working where it outputs the contents to a pdf file - the pdf has a background image and it works perfectly. I now want to print that PDF from Caché.

I've tried to use the GenerateReport method - mode 12 — Generate a report in PDF format, and send it directly to a printer via the Caché Print Server e.g. sc=rep.GenerateReport("Printdoc.pdf",12)   (where "rep" is my zen report)

I've created the Caché print server in the management protal as per the documentation.

I don't understand where I need to specify the printer that I want to use.

0
0 24
Edit
Article GUILHERME CRUZ DA CUNHA · Jun 18, 2018 2m read

For those who are interested, or want to do something different with the cache language, I leave here two codes of animations.

They serve to run on the terminal while executing a routine, or a method.

To escape the monotony of seeing that static code in the terminal.

2
0 25
Edit
Article Alexey Maslov · Nov 11, 2016 14m read

The technology of load balancing between several servers with relatively low capacity has been a standard feature of Caché for quite a while. It is based on the distributed cache technology called ECP (Enterprise Cache Protocol). ECP provides a host of possibilities for horizontal scaling of an application, and yet keeping the project budget fairly low. Another apparent advantage of ECP network is the possibility to conceal its architecture in the depths of Caché configuration so that applications developed for the traditional (vertical) architecture can be fairly easily migrated to a horizontal ECP environment. The ease of this process is so mesmerizing, that you start wishing it was always this way. For instance, everybody is used to having a possibility to control Caché processes: the $Job system variable and associated classes/functions work magic in skilful hands. Stop, but now processes can end up being on different Caché servers…

This article is about how to gain as much transparency in controlling processes in ECP environment as in traditional (non ECP) one.

0
0 6