#Caché

30 Followers · 4.6K Posts

  

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

Documentation.

Article Ponnumani Gurusamy · Dec 9, 2017 1m read
sample
    w "Total No.Of Sticks:21"_!
    s sticks=21
    r "enter machine name: ",a
    r "enter dev name: ",b
    w "Display 1 to 21 sticks"_!
    s i=""
    f i=1:1:21{
        w " "_i_" "
    }
user(sticks)
    w !_"User select 1 or 2 or 3 or 4 sticks:"_!
    r "User enter sticks: ",us
    if us>4 {
        w "please select upto 4 Sticks"
        r "User enter sticks: ",us
    }
    s cnt=sticks-us
    s sticks=cnt
    f i=1:1:sticks {
        w " "_i_" "
    }
    s dev=1
    s machine=0
    d:sticks=0 lost(dev,machine)
    d machine(.sticks,us)
    q
machine(sticks,us)    
    w !_"Machine select 1 or 2 or 3 or 4 sticks: "_!
    s ms=5-us
    w "machine Pick the Sticks:"_ms
    hang 1
    s cnt=sticks-ms
    s sticks=cnt
    f i=1:1:sticks {
        w " "_i_" "
    }
    s dev=0
    s machine=1
    d:sticks=0 lost(dev,machine)
    q:sticks=0
    d user(.sticks)
    q
lost(dev,machine)
    if dev=1 {
        w "User Lost"_!
    }else { 
        w "machine Lost"_!
    }
    r "restart your game Yes(Y) or No(N)",res
    if res="Y" {
        d sample
    }else{
        q
    }
0
0 383
Question Ruslan K · Dec 8, 2017

I set column onclick event, but it is not working

col = ##class(%ZEN.Auxiliary.column).%New()
col.header = "Header"
col.colName = "Data3"
col.onclick = "alert('ok');"

D table.%AddColumn(col)

alert Ok is not show

What is wrong?

1
0 471
Question Thembelani Mlalazi · Dec 5, 2017

I am trying to age based on a given date and current date here is my code:


Property DOB As %Date
Method GetAge() As %Integer
{
   if (..DOB="")
    {
  set today=0 
    }
   else
  {
  set today=$ZDate($HOROLOG,2)-$ZDate(..DOB)
  }
  write "Today's==="_$ZDate($HOROLOG),!
  write today
  return today
}
4
0 2833
Article Vitaliy Serdtsev · Dec 8, 2017 6m read

First-class functionwiki

In computer science, a programming language is said to have first-class functions if it treats functions as first-class citizens. This means the language supports passing functions as arguments to other functions, returning them as the values from other functions, and assigning them to variables or storing them in data structures. Some programming language theorists require support for anonymous functions (function literals) as well. In languages with first-class functions, the names of functions do not have any special status; they are treated like ordinary variables with a function type.

This post continues the article “Declarative development in Caché”.

[2357111317].forEach(function(i) {
  console.log(i);
});

How to do something like this in Caché using COS?

Below are some exercises on this topic.

0
0 561
Question Arun Kumar · Dec 1, 2017

Hi Guys,
Can you please guide me to get rid of this issue. Please find the image files with this post.

Please let me know, before we are developing an API what are all the setup/Configuration(Apache/web server) need to do in my machine. 

If any lead would be appreciated. 

I don't know, in XMLNamespace parameter which URL need to use.  

.

Thanks,

Arun Kumar Durairaj.

3
0 608
Question Yasser Reda · Dec 1, 2017

DB Intersystems size = 635 gb, while backup size = 669 gb. Cache version is 2013.1 

I am using cache for Cobas infinity IT solutions for medical lab information system.

Any idea why is this happening? When the DB was smaller, the backup was less in size. but later I noticed this issue

thanks

Yasser

1
0 399
Question Evgeny Shvarov · Nov 6, 2017

Hi, folks!

Suppose you have a Caché class with %String property which contains relatively large text (from 10 to 2000 symbols).

The class:

Class Test.Duplicates Extends %Persistent 

{

Property Text As %String (MAXLEN = 2000);

}

And you have thousands of entries.

What are the best options to find entries which are duplicates on this property?

26
1 1550
Question Alexey Maslov · Nov 28, 2017

In short, I wanted to react on CPUusage warnings and alerts with my own actions. It seemed that it was possible in my Caché version (2015.1): 
http://docs.intersystems.com/cache201513/csp/docbook/DocBook.UI.Page.cl…

But all my attempts silently failed. Callback code was as simple as possible: 

Class %z.Monitor.Health Extends SYS.Monitor.Health.AbstractCallback

I've got my alerts written to alerts.log and cconsole.

6
0 514
Question Mike Kadow · Nov 6, 2017

I am trying to find documentation on how Cache Studio locks a Routine/Class a developer is editing.

On the flip side, I am looking for documentation on how Atelier does the same.

Ultimately I am looking for the differences and what happens if both Studio and Atelier through different developers go after the same Routine/Class.

I am not asking for an answer (however that would be nice), I am looking for pointers to documentation.

7
0 801
Question CJ H · Nov 27, 2017

aa=$zwc(411,1,1,3)/*$bit(1,3,5)*/
bb=$zwc(403,1,0,2)/*$bit(1,3)*/

Is there a handy function to test wether one bit string is covered by another one bitstring? For example, "bb" is covered by "aa".

I currently implement this by one AND operation and then do a bitcount, I just want to know any default function is already out there.

Thanks.

3
0 458
Question Alex Kogan · Nov 28, 2017

Hello,

I was wondering if there is a way to maybe temporarily alter the [Private] tag dynamically or any other way to run a Unit test against class method, which has been labeled as [Private]?

I mean, I understand there is a workaround to create a non private class method inside this class, which will in turn call this private method  and run a Unit test on the non private method, but I am looking for a way to do this without altering the original class.

Thank you,

Alex

2
0 476
Article Katherine Reid · Nov 27, 2017 1m read

Caché will not change the cryptographic settings in an existing TLS configuration when you upgrade.  This means that unless you've updated them yourself, you're still using the values from the very first version you started using SSL in.  

If you've upgraded since creating your TLS configurations, take a moment to look at the enabled protocols and ciphersuites to make sure you've enabled all the versions you want, and disabled the old versions you don't want.

2
0 1065
Question Nikita Savchenko · Nov 26, 2017

Hello!

Suppose I have a package with classes which I want to rename. All these classes are persistent and they already have a lot of data stored.

The best I can think of to do is the following:

  1. Duplicate class definitions of old classes, rename each of them and save
  2. Write a routine to copy (duplicate) all the data from old classes to new ones. (which is not trivial at some point)
  3. Refactor all the application's code to use new classes. (which may not be trivial at some point too)
  4. Test the things above
  5. Load new code to live environment and launch the script
  6. Hope that 5. finishes successfully.
10
0 1607
Question Rubens Silva · Nov 9, 2017

Hello.
We're about to implement an application that could use WebSockets intensely so before we head to that direction we need to figure out about how some few things work. That being said, anyone care to give me some enlightenment?

  • What's the criteria for a new session to be created when using WebSockets?
  • What's the factor for calculating how many licenses to would be used when SharedConnection  is enabled for WebSockets?
  • Is there a way to use session in a way that it would optimize the license usage for a single user?
1
0 382
Article Danny Wijnschenk · Nov 25, 2017 4m read

This is (the end) of a series of programming challenges for beginners and experienced Caché programmers.

For an introduction : go to article https://community.intersystems.com/post/advent-code-2016-day1-no-time-t…

This is the 25th and last challenge of the 2016 series of Advent of Code.

In this challenge,  you have to send a signal out,  using the assembunny code interpreter that  we had to make in earlier challenges.

There is one extra instruction added to the assembunny language, which outputs a value (out x).

Using the instructions as input (see http://adventofcode.

1
0 598