Question Mike Kadow · Nov 15, 2017

Hello, this is going to be a stupid question, yea I know, there are no stupid questions.

Say, I have an Object Property, Name or Count or Title, or whatever.

How can I get a list, or find out all the different ways it can be expressed?

Example:

-Property Name As %Name;

-Property Name As %String="me"

-Property Name As %String [ Required];

But what other parameters, keywords, restrictions, lists, etc. that I can apply to this Property?

I have been search the I/S documentation and so far at least, I cannot find that sort of information, or in one place.

5
0 619
Article Danny Wijnschenk · Nov 21, 2017 5m read

This is 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…
 

The challenge of day 21 is about scrambling passwords.

There are a few functions you need to implement that will do operations on a string :

- swap position X with position Y : means that the letters at indexes X and Y (counting from 0) should be swapped.
- swap letter X with letter Y  : means that the letters X and Y should be swapped (regardless of where they appear in the string).
0
0 491
Question Rodrigo Flores · Nov 20, 2017

Hi there,

The problem is, that I need use the property value of datacombo in other  datacombo with parameter.

The follow a example code: 


<dataCombo id="Grupo_Producto" name="Grupo_Producto" dataBinding="bdGrupo" size="40" 
label="(*) Grupo" dropdownWidth="400" dropdownHeight="100" loadingMessage="Cargando..."
columnHeaders="Codigo, Nombre"
queryClass="Innova.CL.Core.BD.Configuracion.Operacional.Grupo" queryName="obtieneGrupoProd"
 sqlLookup="SELECT Nombre FROM Innova_CL_Core_BD_Configuracion_Operacional.

2
0 531
Question Marco Blom · Nov 21, 2017

Hello Community,

I have a simple question but somehow hard to find the solution:

this is a property in my class:

Property RelationAID As ZenCrm.Relationtypes;

this is my method to save:

ClassMethod PopulateMatrix(tvar1, tvar2) As %Status
{
set RelationMatrix=##class(ZenCrm.RelationMatrix).%New()
set RelationMatrix.RelationAID= tvar1
set RelationMatrix.RelationAType= tvar2
do RelationMatrix.%Save()
quit $$$OK
}

However the 'set' line does not work for the 'related properties.

I have tried: set RelationMatrix.Relationtypes.RelationAID but this failed.

Any suggestion? thanks!

2
0 517
Article David Loveluck · Nov 8, 2017 2m read

Application Performance Monitoring

Tools in InterSystems technology

Back in August in preparation for Global Summit I published a brief explanation of Application Performance Management (APM). To follow up on that I have written and will be publishing over the coming weeks a series of articles on APM.

One major element of APM is the construction of a historic record of application activity, performance and resource usage. Crucially for APM the measurement starts with the application and what users are doing with the application.

1
0 667
Question Wendy Griffiths · Nov 21, 2017

We have an web application accessed using https, that uses CSP technology with frames.

The initial 'login' is via a single CSP page, which then redirects to another CSP page which creates the frames (4 in all) and loads a CSP page in each of those.  For the most part the frames load without error, but sometimes when logging in and sometimes while using the system ' 5916 Illegal CSP Request ' errors occur.

I say 'login' in inverted commas as a Cache login is not performed just an application login, I don't know if that's relevant so thought I'd mention it.

2
0 815
Question wx fg · Nov 20, 2017

I have restored one database from backup, but when I query from some of tables,   prompt error :

this error remain after restart Caché service

I can skip this error with %nolock in select query.

 

My question is: 

1. why there were locks after restart service?

 

2. Can I release/rollback these locks by sql so I can query without %nolock?

3
0 630
Question P Patz · Nov 19, 2017

I have a query that I am attempting to run, but inner query is being rolled up into the overall query - per the optimizer (and jobexam observation).  While I know that if the inner query runs first, I will eliminate a number of records (making the result set smaller, and return quicker).

 

Just an example of what I am attempting to do:

select Account.Name, Account.State, Transaction.Amt, Transaction.Date, Transaction.Service
from Transaction 
left join Account 
    on Account.Id = Transaction.Account  
where Account.Id in (
    Select Account.Name
     from Account
     where Account.

8
0 544
Question Joe Schra · Oct 24, 2017

Hello All,

I am looking to send out an email based on a patient's discharge where PID13-4 contains their email. We are currently using something similar with an Email.OutboundAdapter. However, in our current scenario we have a hard coded email in place as the recipient (as this is for order notification to a pager).  In the scenario in question, I would need PID13-4 to populate as the recipient of the email.  Does anyone have an example of something similar, or a suggestion on where to start?

Thanks!

12
1 595
Article Danny Wijnschenk · Nov 20, 2017 3m read

This is 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…

We are almost there : after this challenge, only 5 days left till the end of this advent of code (I cannot wait to get my life back !) .

 

The challenge of day 20 is about a list of integer ranges. Some ranges overlap,  but there are also values that are outside any range.

You have to find out what is the lowest integer that is outside any range.

0
0 438
Article Danny Wijnschenk · Nov 19, 2017 3m read

This is 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…

Today's challenge is a variation on the White Elephant gift exchange (https://en.wikipedia.org/wiki/White_elephant_gift_exchange), in this case, by a bunch of Elves where only one can have all gifts.


Each Elf brings a present. They all sit in a circle, numbered starting with position 1. Then, starting with the first Elf, they take turns stealing all the presents from the Elf to their left.

0
0 546
Article Danny Wijnschenk · Nov 18, 2017 4m read

This is 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…

 

You walk into a room, step on a tile and hear a loud click...

Traps !

The challenge is about avoiding traps.

 

You can recognise if a tile is a trap by following scheme :

The first row is a given : a safe tile is shown as . and a trap is shown as ^
For the next rows, the state of a tile is calculated related to the tiles in the previous row (same position, tile left and tile

0
0 298
Question Dmitry Maslennikov · Dec 1, 2016

Thanks a lot, that we finally got the new version of Atelier, where most of the errors were fixed.

But I've found some have not fixed yet.

    set destination = $listget(waypoints,*)
    set $list(waypoints,*,*)=""

In this code, Atelier does know about asterisk as a second argument to $listget function. And in this case, even shows next lines as an error.

And one a bit annoying issue, when I open a file which had some errors in the previous version, but after an upgrade has not, to see it I should remove and return this code back.

6
0 647
Article Danny Wijnschenk · Nov 17, 2017 4m read

#########
#S| | | #
#-#-#-#-#
# | | | #
#-#-#-#-#
# | | | #
#-#-#-#-#
# | | |  
####### V

This is 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…


The challenge today is again a-maze-ing (as a wellknown president would say).


The maze has a bunch of doors ( | and - on the drawing), but they can be locked depending on a hash that you need to calculate every step.

0
0 465
Question Mike Northrop · Nov 16, 2017

I'm trying to write a method to Export SQL Privileges from an instance by namespace, user, or roles. I've found two classes that might work:

  • ##class(Security.Users).Export
  • ##class(Security.SQLPrivileges).Export

One (Security.Users) exports an XML file and the other (Security.SQLPrivileges) exports an SQL file.

Neither of these options allows me to specify specific users or roles to export so I'll have to use them in tandem with something else. Is there something else that I should be using or do I need to find a way to filter on the backend with regular expressions or the like?

6
0 558
Announcement Joyce Zhang · Nov 6, 2017

To simplify the upgrade processes and to keep up with industry standards, we decided to make Atelier only available as an Eclipse plugin. Those of you who are currently using a standalone Atelier client will not be able to upgrade to a later version.

Please go to the Atelier Download page or see the sections below for the detailed instructions about installing Eclipse and the Atelier plugin. Feel free to reach out to support or leave a comment down below if you have any questions.

Edit: Related article - How to convert from your standalone Atelier?

 

Installation Instructions

System requirements

1.

9
0 1777
Article Danny Wijnschenk · Nov 16, 2017 6m read

This is 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…

The challenge of day 16 is about generating random data using a modified version of a dragon curve (you can find more info on fractal curves like Dragon here : https://en.wikipedia.org/wiki/Dragon_curve).

First you need to generate data in a loop as follows :

Create an initial state with your puzzle input

Call the data you have at this point "a".
Make a copy of "a"; call this copy "b".
0
0 398
Question Kevin Furze · Nov 15, 2017

I'm looking for information, suggestions, video (courses) on make a lot more use of the documatic system already built into Cache,

Probably talked of before within this forum, but after an hour or two of searching, can't find the articles that I mmay have seen before.

I want to do a lot more documenting of my installation, we use and actively comment classes and methods, but I want to take it further by actually documenting the "why" and high level "how" my system works. Documatic seems a good place to put that knowledge.

6
0 573
Question Brian Downing · Nov 15, 2017

Can anyone suggest suitable Cache ObjectScript syntax for open/use/read statements on a simple ms-dos text file.
I've tried various examples seen on the web but they appear to be implementation specific.
I used MSM MUMPS many years ago but am now retired & would like to write a few simple routines for my own amusement & mental challenge.
I am using the free Version of Cache (V 2017.1) on my Windows 10 PC. The installation file was CachePCkit_x64.exe
My apologies for this query being very basic.

4
0 1122
Question Victor Li · Nov 12, 2017

Hello Caché Guru,

I'm new to Cache system. I'm trying to do something like saving meta data in Relational DB:

I could use "management portal" -> System Explorer->SQL to view individual table's catalog details or print out the column definition. However I need to gather those information for several hundreds of tables in the DB. Is there a way to do it using command line in kind of batching mode?

Any hint and tip is very much appreciated!

Thanks in advance!

Victor

3
0 733
Article Danny Wijnschenk · Nov 15, 2017 3m read

This is a series of programming challenges for beginners and experienced Caché programmers.

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

The challenge for today consists of capsules that bounce through a maze of spinning discs.
The capsule can fall through a hole of each disc if they hit the disc at position 0,  each disc has a fixed amount of positions that rotate every second.
The distance between the release and the first disc is one second, as is the distance between each consecutive disc as well.

0
0 377