#Caché

1 Follower · 4.5K Posts

  

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

Documentation.

Question Hendri Schoeman · Jun 4, 2018

Hi all,I hope this is the right forum to ask this type of question, but I'm running out of ideas.For reasons beyond my control, we run a version of Intersystems Caché (2013.1) that is not supported by Atelier. As such, I use Caché Studio to do my development.The issue I have is, I don't run Windows or MAC, but Linux (Ubuntu 18.04 in my case). I've successfully managed to get Studio working using Wine and pretty much everything is usable. There is just *one* issue which neither me or my peers can solve. If you hover over a line in the code editor, a tooltip reading 'First record' appears. This

8
0 2144
Article Rubens Silva · Jul 25, 2019 2m read

Hello everyone, it took some time but I'm finally getting things done again. Phew! But for now, allow me to introduce a tool that I've been using frequently.

I call it Forgery.

This description has been taken from my GitHub repository, also available on OpenExchange:

Forgery is a server-side utility that allows executing simulated HTTP request by forging calls to REST applications. This makes Forgery ideal for using together with test suites that need to call the API via HTTP but could face issues with license usage and its grace period.

0
2 451
Question Russell Knight · Jul 3, 2017

Greetings,

Can someone please show me via coding example(s) how to write an input prompt that will read in a function key, F7 for example, validate that the key pressed is F7 and then process it all via cache.

7
0 491
Question Bob Ebbert · Jul 18, 2019

Hi,

I have  a program that displays the current running processes to the screen. I need to have a program execute that display program and capture the results to a file. The display program does pause at the bottom of each page waiting for an 'enter' to go to the next page.

Note( the display program will not successfully compile on the current system but it does work)

Also - very, very new to Mumps. 

Thanks,

Bob

23
0 631
Question Jimmy Christian · Jul 16, 2019

Hello community,

I am trying to parse the below HttpResponse in Cache. Cannot get the Iterator to work. Is there a single loop which can parse both or single messages and grab the error?

{
error:[
{ txt1:'error msg1'},

{ txt2:'error msg2'},
]
}

 

{
error: {
txt1:[
'error msg1',

'error msg2'
]
}

 

Thanks,

Jimmy Christian

16
0 2341
Question lw wei · Jul 17, 2019

The steps are as follows:

1. create global

 For I=1:1:200 Set ^ABC(I)=""
 For I=1:1:200 Set ^XYZ(I)=""
 For I=1:1:100 Kill ^ABC(I)

2. create ZJRNFILT

ZJRNFILT(jid,dir,glo,type,restmode,addr,time)    /*Filter*/
  Set restmode=1                                  /*Return 1 for restore*/
  If glo["^ABC",type="K" Set restmode=0           /*except if a kill on ^ABC*/
  Quit
  ;

3. restore

s RestOref=##class(Journal.Restore).%New()
s RestOref.FirstFile="20190717.007"
s RestOref.LastFile="20190717.007"
s RestOref.JournalLog="journal.log"
s RestOref.Filter="^ZJRNFILT"
s Status=RestOref.Run()

7
0 561
Question nok nok · Jul 17, 2019

Hi there

Would you please advise how to count how many keys are duplicated in global, for example, Athens was duplicate 3.

Set ^Data("Cambridge") = "1"
 Set ^Data("New York") = "2"
 Set ^Data("Boston") = "3"
 Set ^Data("London") = "4"
 Set ^Data("Athens") = "5"
 Set ^Data("Athens") = "6"
 Set ^Data("Athens") = "7"

Thanks

9
0 494
Question Jeffrey Drumm · Jul 18, 2019

I need to copy a bunch of globals from some crufty old databases to spanking clean brand new ones. GBLOCKCOPY has this cool feature that lets you create a batch of global names to copy and save the list in a batch. You can then execute the batch and go take a nap.

I like naps.

I need to do this for a number of old-new database pairs, but it's the same global names every time. Is there a way to export the batch configuration created the first time and import it to another environment/namespace? These databases will be spread across multiple hosts.

Thanks!

2
0 389
Question Kurro Lopez · May 16, 2019

Hi all,

I have a class that I want to serialize to JSon. So I'm using the object %ZEN.Auxiliary.jsonProvider)

set myClass = ##class(myapp.myclass).%New()

set myClass.property1 ="value 1"

set myClass.property2 = "value 2"

set myClass.property3 = "value 3"

do ##class(%ZEN.Auxiliary.jsonProvider).%WriteJSONStreamFromObject(.tStream,myClass ,,,1,"ed")

write tStream.Read()

By definition of myclass, all properties are serialized, that's fine. But I want not serialize the property3. I think is using a XML attribute in the property, or something about. But I didn't find anything about.

8
0 811
Question Jimmy Christian · Jul 11, 2019

Hello Community,

Hope someone can assist me to POST a JSON to the below URL. It works perfectly with POSTMAN. But when trying with cache/Ensemble i receive Method not found error

Below is the configuration.

      set ..Adapter.ContentType="application/json"
      Set tURL=..Adapter.URL
      Set pRequest={"name":"abc1jim23","salary":"123","age":"23"}
      set tSC=..Adapter.PostURL(tURL,.tHTTPResponse,,pRequest)
 

Response is complaining about the Method not found Http error. 

Assistance will be appreciated.

Thanks,

Jimmy Christian.

7
0 2700
Question Daniel Lee · Jul 16, 2019

I am fairly new to Cache and ObjectScript. I have a new task I have created with a corresponding method that I am trying to debug in Studio (2013). 

My ClassMethod looks like this

ClassMethod DoMyWork(Output pWorkCount as %Integer,  pInput1 As %Integer = 30)

{

/* Does some work here and increments pWorkCount */

}

When I try to debug this using studio, I  browse to my method but I am not certain what to put in here for the input parameter 'pWorkCount'.

I tried to execute the class in the terminal window but I am not sure how to enter debug mode using the terminal window. 

Thanks.

3
0 883
Question David Crawford · Jul 15, 2019

CSP pages extend %CSP.Page. What about html/css/js/etc that are hosted on the same web application? Is there any way to override how they're processed like with how you can override a CSP page and CSP REST logic?

Thank you!

David

4
1 384
Article Ben Spead · Sep 12, 2017 1m read

The Widgets Direct sample application highlights many aspects of how to use InterSystems technologies to build a modern web application.  Features include:

  • Angular Material + AngularJS + JSON + REST based interactive application with Step by Step instructions on how it was built
  • Example scripts for server-side source control configuration with Perforce
  • %UnitTest logic for automated regression testing
  • %Installer class for automated instance installation from source control 
  • Scripts for Continuous Integration (CI) with Jenkins
  • Docker Manifest for automated provisioning of an instance
5
0 1543
Question Richard Rayburn · Jul 11, 2019

All,

I'm using Cache 2014.1 in an openVMS environment.

If I have multiple RMS files to clean up, for example.

!DIR MEMBER_EXTRACT.*;*

MEMBER_EXTRACT.CSV;2                    MEMBER_EXTRACT.CSV;1
MEMBER_EXTRACT.PROC;1                   MEMBER_EXTRACT.TXT;3
MEMBER_EXTRACT.TXT;2                    MEMBER_EXTRACT.TXT;1

S FILE="MEMBER_EXTRACT.*;*"

Do ##class(%Library.File).ComplexDelete(FILE)

!DIR MEMBER_EXTRACT.*;*
 
MEMBER_EXTRACT.CSV;1                    MEMBER_EXTRACT.TXT;2
MEMBER_EXTRACT.TXT;1
 
Total of 3 files.

4
0 575
Job Sean Connelly · Jul 10, 2019

Hi Community,

I'm looking for a new contract with immediate availability.

I have 20 years experience with InterSystems technologies in areas such as Healthcare integration and single page web development.

I can work almost anywhere in the UK as well as remote work from my office in Exeter.

If you know of any opportunities or could pass on my LinkedIn details to anyone that might be looking then it would be very much appreciated.

https://www.linkedin.com/in/sean-connelly-94a6901/

Kind Regards,
Sean.

0
0 503
Question Florian Hansmann · Jul 9, 2019

Hey Intersystems-Developer,

I have already used that and know its possible, but can't find it anymore :(

I need dynamic access on proxy objects. For example:

set key = "lastName"

set name = obj.name

set lastName = obj.key <- Not possible 

set lastName = obj.GetAt(key) <- Not possible

How can I get access to that object with my dynamic variable "key" ?

Best regards. 

3
0 341
Question Julian Matthews · Jun 26, 2019

I have a process that receives a EnsLib.DICOM.Document, and then attempts to extract a PDF from the dataset to save to a folder.

When I use the GetValueAt method to get the pdf from the document (from the EncapsulatedDocument section), the status returned is 1, but I'm only getting the first 32648 characters(?) from the PDF.

I thought it was a string max length problem, but long strings are enabled and the final PDF is tiny (94kb) so it's not hitting the long string.

Is there some form of limit to using the GetValueAt method that I'm missing?

3
0 400
Question Ting Wang · May 1, 2019

When we go to specific name space to search messages in message viewer, at the moment we are adding the search criteria to add criterion type as SearchTable Field, and clicking the dropdown in Class field, there is an error says below in the image:

Could anyone please let me know what exactly the error is from? Thanks so much.

2
0 253