#Caché

30 Followers · 4.6K Posts

  

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

Documentation.

Article Muhammad Waseem · Nov 7, 2021 1m read

In my previous article I demonstrated the steps to connect to Caché from Appeon PowerBuilder by using ODBC.
In this article I will demonstrated how to Retrieve data from Caché with Appeon PowerBuilder (https://www.appeon.com/products/powerbuilder) by using ODBC

I am using Company.cls from Samples-Data (https://github.com/intersystems/Samples-Data/tree/master/cls/Sample

So Let's start:

Step 1 : First of all we need to establish a connection (https://community.intersystems.

0
0 569
Question Arturo Masero · Nov 3, 2021

Hello,

I don't know if the title is accurate enough. I have a legacy code that I need to optimize. It's a routine written in objectscript. It accepts 4 parameters and runs 6 nested FOR...$ORDER reading a big global.

The thing is when I run the routine the first time it takes around 60 seconds to run. If I run it again it takes 5 seconds. If I wait around 6 to 10 minutes to run it again, it takes 60 seconds again, but if I run it every 1, 2, 3... minutes it still takes only 5 seconds to run.

9
0 703
Question Nicky Zhu · Nov 3, 2021

Hi guys,

My client has a requirement to add a column of random numbers to the query result.

I wrote a function as below:

Class Utils.SqlUtility Extends %RegisteredObject
{

ClassMethod GetSomeNumber(intInput As %Integer) As %Integer [ SqlName = GetNumber, SqlProc ]
{
    Return $R(intInput)
}

}

But in the returned sql result, every row share the same value, as below,

SELECT Utils.GetNumber('456'),
ID, Citizenship, DOB, FirstName, Gender, IDNumber, LastName, PatientNumber, PhoneNumber
FROM CDR.Patient

How may I refactor the function or sql to make the random value really random on each of the rows?

Thanks.

6
0 1215
Article Daniel Tamajon · Sep 21, 2021 2m read

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.

You can now simplify the task running the analysis for the different IRIS and Caché database versions, so you will get the failing code before you start to test.

1
1 523
Question Evgenii Ermolaev · Oct 23, 2021

I need to execute multiple DELETE statements in a single query like this

DELETE FROM TableName WHERE ID = 2;
DELETE FROM TableName WHERE ID = 3;
DELETE FROM TableName WHERE ID = 4;

However It does not work when there're more than 2 statements and gives me an error

Expected FROM found WHERE^DELETE FROM TableName WHERE

Using IN is not an option.

9
0 485
Article Laurel James (GJS) · Nov 2, 2021 1m read

We're hosting our Deltanji and Serenji user group session tomorrow - there's still time to register, if you haven't already. 

We'll be showcasing some advanced features of Deltanji and Serenji in VS Code with time for a discussion - so feel free to bring along any problems you need help solving or share your feedback on our tools. We'd love to hear your thoughts. If you're interested in our tools this is a great chance to hear what others have to say, as well as asking your own questions.

Date: Wednesday, November 3rd

Time: 11-12pm EDT / 3-4pm GMT.

Let us know you'll be attending on Eventbrite

We hope to see you tomorrow, but if you're unable to make it you can email me at laurelj@georgejames.com and I can share a recording of the session. 

0
0 194
Question Kevin McGinn · Oct 25, 2021

I am relatively new to Intersystems cache database management. As I understand it, a database is set with a maximum size or unlimited and the size of each space allocation for the database is defined. My understanding is that the cache database will then manage the allotment of space to the database as the current space allocation is consumed. Though I do not know why one would want to do this, I have been told that the space allocation to a database can be set to be handled manually. This is something, if true, I was not aware of.

6
0 429
Discussion Timothy Leavitt · Oct 19, 2021

Hi Developers! As part of an internal company hackathon at InterSystems, I'd love community feedback on a few topics. Feel free to chime on any/all of these via comment or direct message to me.

  1. If you were to launch a new application/project, what problems would you need to solve right off the bat? What technologies would you use? Why?
  2. What are the most common and repeated problems that you find yourself solving?
  3. Where in InterSystems' technologies do you spend most of your time?
  4. In a solution you have recently implemented, how were your time/efforts allocated? (e.g.
7
1 448
Question Norman W. Freeman · Oct 29, 2021

I have a workstation with a CACHE instance up and running.

On that same workstation there is also an instance of IRIS (fresh install). I would like to migrate manually the CACHE database to IRIS (ideally, all globals, routines and classes).

What I tried is to copy C:\InterSystems\Cache\mgr\CACHE.DAT to C:\InterSystems\IRIS\mgr\IRIS.DAT (after shutting down both instances) but it does not work.

I got the following message : (112) The service for the IRIS instance did not start.

Is there a better way ? (eg: using Portal or some API from command line).

6
2 1548
Question Kurro Lopez · Oct 29, 2021

Hi all.

I'm trying to create a route rule that can call to a web service according to a parameter of a message.

My first attempt is the following:

I have a common class with all information, BuscarHuecoRequest, and check what is the value of property "CodigoProveedor".

The table T_PROVEEDOR contains the list of code with the code of the provider, if is F, calls to WSF, if is C, calls to WSC, etc... Using a transformation to convert the values to this provider.

1
0 343
Question Nael Nasereldeen · Oct 26, 2021

Hi,

I wonder if anyone tackled the following problem-

Sending a mail with an embedded image is straight forward using %Net.SMTP

status=Message.AttachFile(Dir,FileName)

Message.TextData.Write("..<img src=""cid:xyz.png"">..")

Outlook displays such an Email as expected- with the image in the body of the mail.

Gmail displays the image as an attached file.

There are a lot of suggestions online about this, but none is working for me.

Did anyone face and solved this issue?

Regards,

Nael Naseraldeen

6
0 575
Question Yone Moreno · Oct 27, 2021

First of all thanks for your help and time

We would need to find inside PID:3 which one meets the following condition:

PID 3.4.1 = "CAC" and PID 3.5 = "JHN"

We have been investigating how could we do it

We have achieved to get single fields in a call request as follows:

request.GetValueAt("ORCgrp(1).ORC:OrderingProvider(1).IDNumber")

##class(Ens.Util.Time).ConvertDateTime(request.GetValueAt("PID:DateTimeofBirth"),"%Y%m%d","%Y-%m-%d")

However, how would you recommend us to look for a specific field in PID meets a specific criteria?

How would you find inside PID if there are PID 3.4.

2
0 608
Question Sergey Pavlov · Sep 3, 2021

UPDATE:
It turns out it was just me being a dummy, and the snmpd was correctly telling me there is no value associated with that exact key. I should have used snmpwalk instead of snmpget to display the whole tree.
Original Post follows:
Hello!
I'm trying to set up SNMP monitoring on Caché, using documentation and this article
I'm running net-snmp on Red Hat Enterprise Linux Server release 7.3 (with CentOS repositories), and Caché version 2017.1
It looks like snmpd is running as AgentX master, and Caché subagent is running too
/opt/cache/mgr/SNMP.

1
0 4585
Question Andre Larsen Barbosa · Oct 20, 2021

Why is it not common to handle inclusion, alteration and exclusion rules directly in the Caché database, using their controls on web pages, as is usually done in other databases such as Oracle, SQL Server?

1
0 287
Announcement Laurel James (GJS) · Oct 20, 2021

Hi developers,

We're hosting a User Group session for our Deltanji source control and Serenji debugger users on Wednesday, November 3rd at 11-12pm EDT / 3-4pm GMT.

We'll be showcasing some advanced features of Deltanji and Serenji in VS Code with time for a discussion - so feel free to bring along any problems you need help solving or share your feedback on our tools. We'd love to hear your thoughts. 

You can find out more on Eventbrite

Everyone is welcome. If you're interested in our tools this is a great chance to hear what others have to say, as well as asking your own questions.

We hope to see you on November 3rd! 

0
0 169
Question Token Ibragimov · Oct 13, 2021

hello!

i have object bellow

Set object = ##class(%ZEN.proxyObject).%New()
set object.city = "New York"
set object.Target = "TEST" 
set object.Details = "TEST"
set object.RefCode = "123"
set object.Reason = "123TTTT"

I want to get string from json object. 

Could you help please ?

8
0 1204
Question David Hockenbroch · Oct 14, 2021

If I open a terminal and type the following commands, sc is an error:

set validator = "sc = ##class(%Library.Numeric).IsValid(""BLAH"")"
set @validator
write sc

At the end, when I write sc I get:

0 L'BLAH9
             DOCXT010,#e^zIsValid+1^%Library.Numeric.1^1e^^^1

However, if I call the following class method using the arguments "%Library.Numeric" and "BLAH", sc is undefined

 ClassMethod testvalidator(class As 

When it tries to write sc, I get:

And I can't figure out what's making that different.

12
0 614
Question Flávio Lúcio Naves Júnior · Oct 15, 2021

Hello everybody,

I am trying to export a class to xml and remove the tag "xmlns" from mother class. These are my classes to create the XML.

Class Class.Test Extends (%RegisteredObject, %XML.Adaptor)
{ 

Parameter NAMESPACE = "http://mynamespace.com/test"; 
Property Person As Class.Person; Property Address As Class.Address; 

}
Class Class.Person Extends (%RegisteredObject, %XML.Adaptor)
{ 

Parameter NAMESPACE = "http://mynamespace.com/test"; 
Property name As %String; Property age As %String; 

}
Class Class.Address Extends (%RegisteredObject, %XML.Adaptor)
{ 

Parameter NAMESPACE = "http://mynamespace.com/test"; 
Property location As %String; 

}
1
0 647
Question Yone Moreno · Oct 14, 2021

First of all thanks for your time reading this question, and thanks for your help

We have the following use case: we would need to send with MTOM a zip which contains a csv

We have read:

https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cl…

https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cl…

https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?

2
0 536
Article Laurel James (GJS) · Oct 14, 2021 1m read

The latest release of Serenji focuses on the debug experience. Not only can you now debug on the spot, no matter where you are or what you're doing, but we've also added some smaller features that will make debugging more straightforward. 

  • Run and Debug CodeLenses - clickable links above each class method, procedure, subroutine or extrinsic function.
  • Intuitive prompting for entrypoints and arguments - when debugging a class method, produce, subroutine or extrinsic function. 
  • Shaded read-only background - to clearly differentiate between documents which are editable and those that are read-only. 
  • Program output in debug console - output is shown in the debug console. 
  • Serenji commands on Server Manager's namespace trees - allowing you to launch Serenji through Server Manager. 

Find out more in our release notes here

0
1 304
Question Norman W. Freeman · Oct 8, 2021

I use the following code to start a start a job :

Class MyClass Extends (...)
{
    ClassMethod Foo()
    {
       job $CLASSMETHOD("MyClass","MyMethod") //take forever depending hardware
    }

    ClassMethod MyMethod()
    {
       //do database related stuff
    }
}

On local environment, calling Foo() is instantaneous (a few ms). On production/test servers (which have much better hardware than local) calling this function is slow and take between 200 ms to 800 ms.

3
0 380
Question Kevin McGinn · Sep 2, 2021

I am running csession on AIX. I have been using the command "csession cache -U%SYS". In the session the namespace shows as "%SYS>" as expected. I was simply doing queries to the best of my knowledge. At some point csession starting failing to reference the namespace instead showing /cachesys/mgr which is the main dir for the cache instance. I am not aware of doing anything that would cause this but more importantly, how do I correct it? I

8
0 545