#Caché

1 Follower · 4.5K Posts

  

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

Documentation.

Question Mack Altman · Sep 6, 2017

Currently, we are utilizing batch jobs at the OS level to kick off routines that watch for files. We are trying to convert these processes to be performed by the Task Manager.

The routines have while loops and perform while loops so long as the time parameters are being met.

What's the best way to ensure Task Manager kicks them off after the completion of the shutdown/backup/start process is performed, which we do nightly? I want to ensure that it starts it regardless of the time that we've set.

13
0 1037
Question Conor Browne · Sep 19, 2017

Hoping someone can help.

I need to convert a timestamp from the following format (YYYYMMDDhhmmss e.g. 20160105125915) to UTC time in the same format.

I presume I need to convert it to the system format ( like $HOROLOG ) and then use something like ConvertTimeStampToHorolog or perhaps LocalWithZTIMEZONEtoUTC but not sure of the syntax.

Thanks,

Conor

8
0 4222
Question Mario Birk · Sep 21, 2017

Hello everybody,
we would like to be able to analyze a rather complex software application, which has been programmed in “M” for a number of years by different developers, by means of a tool.
Our goal is to find a starting point for a code refactoring process. In the long run we would like to gradually eliminate the code growth points.
Does anyone know of a tool that can help us to do this?
So far, we have only found "RE / m" etc. by George James Software, but we do not yet know if these tools will help.

Your support and suggestions will be greatly appreciated. Thanks.

4
0 409
Question Donald Bugbee · Sep 15, 2017

Hi all.

I have been using  a command pipe to open/run UNIX scripts for months without issue.  We recently installed the 2016 Caché Upgrade and now I'm getting the following error when opening the pipe:

<PROTECT> *OPEN[Q](|CPIPE|)

I assume some security or permission setting is to blame, but I'm not sure exactly what.  Here's the snippet of code...

s cpipename="|CPIPE|"
s filepath="/path/script"
​o cpipename:(filepath:"R"):10

Any feedback would be greatly appreciated!

4
0 690
Article Rubens Silva · Aug 9, 2017 9m read

Hello.
The idea of this post is to introduce Frontier: An abstraction layer that allows Rapid REST development.

REQUIREMENTS:

Why?

Have you ever found yourself dealing with repetitive tasks like mounting objects, serializing them and eventually handling multiple errors for multiple cases? Frontier can boost your development by making you focus on what really matters: your application.
 

Frontier is made to stop you from WRITE'ing by instead forcing your methods to return values.
It's designed to make you code clean, and you'll see the why pretty soon.

8
0 1750
Question Justin Wilson · Sep 15, 2017

Our application has a SOAP service that is currently exposed via the built-in Apache server inside of Cache.  I have configured the application to IIS instead so we can IP-Filter, however I no longer wish to have the management portal or other resources via the built-in Apache server.  How can I disable the built-in Apache server so internal resources no longer reply on that server and are instead routed via the IIS site?

I also want the management portal option via the right click on the cube to be pointed towards the IIS URL rather than the old Apache instance with a port number.  

6
0 913
Question Murillo Braga · Aug 31, 2017

Hello guys,

I was wondering whether there is another alternative to extracting a certain string out from a bigger one, rather than using the function $piece.

Maybe regular expressions? Another specific function?

Example:

Big string:

NAD+SLA+++TextIsHereNAD+SLA+++TextIsHere

String I want to extract:

TextIsHere

Function I'm already using:

w $piece("NAD+SLA+++TextIsHereNAD+SLA+++TextIsHere","NAD+SLA+++",2) > Will ouput TextIsHere
w $piece("NAD+SLA+++TextIsHereNAD+SLA+++TextIsHere","NAD+SLA+++",3) > Will ouput TextIsHere

Thanks!

3
0 803
Question Jon Astle · Sep 15, 2017

Hi I am trying to tie all terminal logins in Cache so that rather than the user being presented with the Cache login and password the user is presented with my custom login page.

I can do this via a generic user so that once the generic user logs in they are presented with my Cache login page however is there a way to do this so that I can bypass the below login page and go straight to my login?

Node: myserver, Instance: CACHE
 
Username:
Password:
 

Thanks in advance

Jon

5
0 687
Question Kevin Furze · Sep 13, 2017

Cache 2016.2.1

the system offers $LISTNEXT as a way of looping  in $LISTs and the documentation says this is much more efficeint than writing

for i=1:1:$LISTLENGTH(myList) { set value = $LIST (myList,i) }

I want to walk backwards in the list,

is there a $LISTPREVIOUS or do I have to use the followng syntax to achie

 for i=1:-1:$LISTLENGTH(myList)

kevin

4
0 619
Question Ricardo Baehr · Sep 12, 2017

Hi guys
Im trying to use an API running in AWS API Gateway.
This API is over https and i am using the SSL/TLS config of Caché.

set httpRequest = ##class(%Net.HttpRequest).%New()
set httpRequest.Server = server
set httpRequest.Https=1
set httpRequest.SSLConfiguration = "SSLPadraoAdapcon"

do httpRequest.SetHeader("Content-Type","application/json")
do httpRequest.EntityBody.Write(json)
do httpRequest.Post("/dev/router")

But im getting this error:

5
0 1367
Question Kumaresh Ram · Sep 10, 2017

In which global cache class codes are storing in cache DB?

For example, Routine codes are storing in ^ROUTINE global.

situation: Need to read line by line and need to replace one string to another string in class files(.cls file) using programming.

Need to replace Property type in class files using programming i mean via programming to edit the class files

4
0 707
Article Maks Atygaev · Jul 18, 2017 7m read

MonCaché — MongoDB API implementation based on InterSystems Caché

Disclaimer: This article reflects author's private opinion and has no relation to the official position of InterSystems.

IDEA

The idea of the project is to implement basic MongoDB (v2.4.9) API features for searching, saving, updating and deleting documents in a way that will allow the use of InterSystems Caché instead of MongoDB without changing the code on the client side.

MOTIVATION

14
0 1917
Question Manoj K · Apr 1, 2017

Hi

I tried to access one server to another server in Cache Rest Service, I tried 

Parameter HandleCorsRequest = 1;

and

<Route Url="/data/:first/:second" Method="GET" Call="GetData" Cors="true"/>

But not working,

Can anyone tell me the solution??

Thanks in advance!!

5
1 1701
Question Sean Connelly · May 10, 2017

I'm looking at adding multilingual support to a couple of open source projects I'm working on. The solutions are already developed in CSP so I am not looking for alternative approaches.

I'm wondering what would be the best approach for CSP and separate JavaScript files.

Initially I was wondering if I should bake the default system language text at compile time, or provide the end user with a language selection option at run time.

I came across $$$TEXT reading the docs...

https://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KE…

20
0 618
Question Ruslan K · Aug 23, 2017

When I add a parameter to dataCombo for loading it on runtime and the property editable set to 0, dynamically loading content for dropdown through parameter works fine.

But, when I set editable to 1, to implement user search in dataCombo, loading through parameter is not working, it is loaded all rows, but I need loading on some parameter. It don't see the parameter, when editable is 1.

Is it normal behavior of dataCombo? But how about user search in dataCombo on this case? When editable is 0, we can't enter any character in dataCombo.

2
0 372
Question Soufiane Amroun · Sep 11, 2017

Hi world, i work actually on an intersystems project , my question is :

i've my Rest class that receive an HTTP request from a client side , i want to know how extract data from this http request , for example : date , id_client and measures taken by the client ( i need to extract  a weight value catched from a connected scale to my smart phone via bluetooth ) .

Thank you

4
0 471
Article Athanassios Hatzis · Feb 16, 2017 4m read

Hi,

I would like to draw your attention on a recently published article, titled "A Quick Guide on How to Prevail in the Graph Database Arena", that has been posted also at LinkedIn. Intersystems Caché has been referenced several times. In the "Multi-model Database Engine" section of this article, there is a quick description of Caché  as an

object database with relational access, integrated support for JSON documents and a multidimensional key-value storage mechanism that can be easily extended to cover Graph data model
1
1 1275
Question Athanassios Hatzis · Aug 29, 2017

Hi,

I am experimenting with Cache-Python binding.  In the following piece of Python code

import intersys.pythonbind3

conn = intersys.pythonbind3.connection( )
conn.connect_now('localhost[1972]:SAMPLES', '_SYSTEM', '123', None)
samplesDB = intersys.pythonbind3.database(conn)
p10 = samplesDB.openid("Sample.Person",'10',-1,-1)

p10.run_obj_method("PrintPerson",[])

I am opening the 10th record of Sample.Person class and then I am calling an object method (PrintPerson). 

Method PrintPerson()

  {

    Write !, "Name: ", ..Name

    Quit  

  }

14
0 928
Article Chris Stewart · Sep 8, 2017 3m read

a.k.a..  "The World of Widgets Returns!" or "Paternity leave damages Instructional Series momentum"

In our last lesson, we combined 2 separate classes to appear as the same property.  We now have the ability to Update our Widget catalog, but what if we want to Create a Widget?  Thankfully, we've already done 90% of what we need, just by implementing Edits

0
0 1030
Question Razvan Prepelita · Sep 8, 2017

My scenario is:

I have a Cache method that

call a REST -> JSON -response  > INSERT/UPDATE the source table of a DeepSee Cube -> Update the Cube only for this change -

I want to view in .NET Application the changes. For that I want that this method should be executed at a defined interval.

Or maybe the solution is a Refresh button in .NET page. is there any way to access a Cache method from .NET?

Any idea how to do it?

1
0 464
Question Laura Cavanaugh · Aug 10, 2017

I have a <tablePane> element with OnCreateResultSet and OnExecuteResultSet methods; autoExecute is "false" but the OnCreateResultSet and OnExecuteResultSet methods are nevertheless called on page load.

I want the user to be able to press a button to submit the parameters, then have this button call tablePane.executeQuery() to execute the query.

autoExecute is simply igonored.  We're on 2014.1.3 with plans to upgrade to 2016 soon.

Are there more settings I need to set? Or is this attribute simply ignored?

5
0 410
Question Hans Rietveld · Aug 29, 2017
Caché Version String: Cache for UNIX (Red Hat Enterprise Linux for x86-64) 2016.2.1

 

We have a mirrored Ensemble system (110,  backup and 210, primary). At one time (14:00) there is a disruption in the production. The messages are not being processed. 

Looking at the pButtons (every 10 seconds) I see the following abnormal at the WDphase

and the backup

The different values of WDphase are:

0: Idle (WD is not running)

5: WD is updating the Write Image Journal (WIJ) file.

7: WD is committing WIJ and Journal.

8: Databases are being updated.

3
0 880
Article Nathan Ng · Sep 7, 2017 4m read

Introduction

Twilio is a great tool for programmatically initiating and managing phone calls. In this example we'll go over basic account setup, create a Cache Class to manage our interaction with the Twilio API, and initiate a phone call from the Cache Terminal.

The full Class used in this example is available on GitHub as well.

Setup

0
1 1069