Announcement Mike Kadow · Jul 9, 2018

I have finished my 4th book about Caché and MUMPS. This will probably be my last.

I am deeply grateful and humbled for all the help I have received from this group and the WW Response Center.

You all have something very special going here. 

Unlike most groups like this, you help those who are struggling to get started, that is unique.

Never lose the attitude of graciously helping the beginner. 

=================================================================================

Following is the book cover, available on Amazon or Smile.

1
0 1509
Question Mike Kadow · Feb 21, 2018

I am working my way through some SQL documentation.

The documentation follows and my question comes after.

A query supplied to %Prepare() can contain input host variables, as shown in the following example:


  SET minage = 80

  SET myquery = 3

  SET myquery(1) = "SELECT %ID AS id, Name, DOB, Home_State"

  SET myquery(2) = "FROM Person WHERE Age > :minage"

  SET myquery(3) = "ORDER BY 2"

  SET qStatus = tStatement.%Prepare(.myquery)

This talks about input host variables

I thought that input host variables only work with Embedded SQL, not Dynamic SQL

Thank you

5
0 716
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 620
Question Mike Kadow · Oct 6, 2017

When starting a post, especially for the beginner there are a lot of buttons, check marks, icons etc. On some of them when you hover you get a very brief descriptions. In reading through some of the responses to the Developer Community Feedback there is a lot of good information.

Could one of the moderators, who know all the tricks put together a one or two page "cheat sheet?" or beginner guide?

This "Cheat Sheet" would be of great help!

I get the impression that there is a great push to encourage others to use the Developers Community.

3
0 425
Question Mike Kadow · Oct 5, 2017

I am confused about the meaning of "rating".

Is it how good the post is?

I did a search on "Rating" and got a lot of hits, but none seems to answer my question, either that or I missed it.

It would be nice to have some basic documentation on questions like these.

I don't mean to be difficult and maybe I don't understand, but what is the reason for having a rating?

2
0 405
Question Mike Kadow · Sep 2, 2017

When I go through the Atelier Cheat Sheet on the connection configuration, it talks about an Eclipse master password and asks for two hints to remember the master password. However, it does not specify the master password. I can only assume the master password is the same as the Cache instance password.

Can anyone shed some light on this master password, where or how it is used, and any other useful information?

3
0 535
Question Mike Kadow · Aug 10, 2017

Hi, I am trying to understand the transformational methods.

  • LogicalToDisplay()
  • LogicalToOdbc()
  • OdbcToLogical()
  • DisplayToDisplay()

I have created a small class with the only property of List as %List, see below.

Class LastName.Demo2 Extends %Persistent
{
Property List As %List;

}
Then I entered the following commands in the Terminal

Set Oref=##class(LastName.Demo2).%New()

FOR I=1:1:5 S $LI(List,I)="Value="_I

Set Oref.List=List

WRITE Oref.ListLogicalToDisplay(Oref.List)

^

<METHOD DOES NOT EXIST> *ListLogicalToDisplay,LastName.Demo2

zw Oref

Oref=<OBJECT REFERENCE>[2@LastName.

5
0 887
Question Mike Kadow · Aug 9, 2017

The data type %Char or %Library.Char

The description says it is a fixed length character field.

How do I set the fixed length?

Or by just setting %Char to something, does that automatically define its length?

Are the parameters MINLEN, MAXLEN involved? Or are these the way I set the fixed length?

Any help with this?

4
0 413
Question Mike Kadow · Jul 11, 2017

I am working with Caché Relationships.

I know how to iterate through the One side of the relationship and for each One iterate through all the various Manys.

What I have been trying to figure out, is the code (I can put into a Class) that will start at the top of the Manys, iterate down and for each of the Manys, pull the associated One.

I can do this with SQL or Globals, but I want to use only Class type code.

Is that clear? Any help?

6
0 721
Discussion Mike Kadow · Jul 3, 2017

I know this may sound like sour grapes, but really it is not.

I hear all the exciting things about the up coming InterSystems Conference, and I am sure it is.

But it is way, way out of my price range, and I am sure out of the price range of most of the Cache/MUMPS developers, without company backing.

Just wondering what others think.

4
0 583
Article Mike Kadow · Jun 26, 2017 1m read

Here is an idea that would make the Developer Community immensely more valuable (to me anyway)

Have the capability of getting Listing output from searches or tags or groups.

In addition, have people put titles on their answers and comments,

And having a detailed list with all the answers and comments if needed

Then being able to sort the list by date or other criteria.

Something like:

Sub1 . . . .

-answer . . .

-comment . .

-answer . . .

Subject2 . . .

-answer . . .

Subject 3 . . .

-comments . . . 

1
0 314
Question Mike Kadow · Jun 24, 2017

I just tried to read all the Answers and Comments for a post of mine.

Some were 5, 8, 3, etc. days ago and others were just hours ago.

They all seem jumbled up.

If I wanted to read the Answers and Comments in some sort of chronological order, I would be lost.

I don't understand the reasoning on whether somethings is an Answer and others are comments.

But would it be possible to have the option when reading all the follow-ons to re-sort them in some sort of order?

3
0 310
Question Mike Kadow · Jun 15, 2017

I am experimenting with Relationships, both Parent to Child and One to Many.

I have done some SQL look-ups and have searched through the documentation, however not in a lot detail, but wonder if there are more and better ways to access both sides of Relationships through SQL?

Thank you in advance for any help provided.

25
0 2390
Question Mike Kadow · Jun 12, 2017

I would like to start a discussion regarding Caché Objects and Caché SQL.

It is my understanding that the creators of Caché Objects see Caché SQL as the reporting arm of Objects and as such SQL is essential to Caché Objects.

I once met a Caché Objects programmer who was writing code to $Order through the Globals because that person thought that Caché SQL was too slow and inefficient. I attempted to convince the person otherwise.

So, what say you? Is SQL essential to Caché Objects?

Or

Is Caché SQL a nice to have but we can do without? Is it too slow? Is it too inefficient?

29
0 976
Question Mike Kadow · Feb 3, 2017

Back in my COBOL days, there was a utility that would analyze running COBOL code and expose bottle necks and those modules that were inefficient or were executed multiple times. This was to help the programmer know where to concentrate streamlining efforts.

Is there any such utility for Caché Routines?

4
0 465
Question Mike Kadow · Oct 30, 2016

I create the NewBie posts.

And as directed I use the Beginner tags.

However, a lot of people are using the Beginner tags for other posts.

Is there a way for separating the NewBie posts from the other Beginners?

Failing that, can I in someway make the Newbie Index more visible?

I am doing a lot of work on the NewBie Index to make it more useful.

1
0 221
Article Mike Kadow · Oct 24, 2016 3m read

NewBie's Corner Session 21 Parameters  Part II

Welcome to NewBie's Corner, a weekly or biweekly post covering basic Caché Material.

Parameters

In the previous session we saw how to call RtnB from RtnA with Parameters.

We also defined Parameters as another name for Variables when used in passing data from one Routine to another, or, from one Label to another.

Calling a routine from a Label, or to a Label, from within a routine is very similar to calling a routine itself.

0
0 299
Article Mike Kadow · Oct 24, 2016 2m read

NewBie's Corner Session 22 Parameters Part III

Welcome to NewBie's Corner, a weekly or biweekly post covering basic Caché Material.

Parameters

In Sessions’ 20 and 21 on Parameters we saw how to call one routine from another with parameters as well as calling one Label from another with parameters. In these examples, the data was passed through the parameters from the calling routine or label to the called routine or label.

Now suppose you wanted the called routine or label to pass data back?

There are two ways** of doing this.

2
0 391
Article Mike Kadow · Sep 24, 2016 1m read

NewBie's Corner Session 29 Documentation on the Caché/MUMPS Global Structure

Welcome to NewBie's Corner, a weekly or biweekly post covering basic Caché Material.

This post contains several links to very good documentation of the Caché Globals Structure.

Like I said, "Perhaps the most difficult concept in Caché/MUMPS is its Global Structure."

 

universalNoSQL.pdf - http://mgateway.com/docs/universalNoSQL.pdf

by Rob Tweed and George James

 

Extreme Database programming with MUMPS Globals

http://gradvs1.mgateway.com/download/extreme1.

6
0 553
Article Mike Kadow · Sep 23, 2016 5m read

NewBie's Corner Session 28 Various Methods to Traverse a Global

Welcome to NewBie's Corner, a weekly or biweekly post covering basic Caché Material.

Judging from the number of responses to Session 27 Traversing A Global, developers are passionate about their methods. I am not here to judge the merit of the various methods.

Over the next few pages I will demonstrate a number of methods to Traverse a Global. If you don't already have a favorite they may help you pick one.

I will repeat the method from Session 27 just to have all methods in one post.

13
0 720
Article Mike Kadow · Sep 15, 2016 2m read

NewBie's Corner Session 27 Traversing A Global with $Order Part 1

Welcome to NewBie's Corner, a weekly or biweekly post covering basic Caché Material.

Traversing A Global

Perhaps the most difficult concept in Caché/MUMPS is its Global Structure. This session and several that follow it deals with the Global Structure. However, just presenting the material will not guarantee your understanding of it. You must experiment with the data and concepts that are presented.

In this session, we are going to create a small Global of three levels deep, and then show the code to Traverse the Global.

20
0 914
Article Mike Kadow · Sep 10, 2016 3m read

NewBie's Corner Session 26 Globals and Arrays Part 2

Welcome to NewBie's Corner, a weekly or biweekly post covering basic Caché Material.

Globals, Arrays, and Variables Part 2

A thorough understanding of Globals, Arrays, and Variables is foundational for every Caché developer.

Uniqueness of the Caché Global Structure or database

The Caché Database Structure is unique among databases; it was designed and created in the 1960s to be used primarily with HealthCare applications. It has thrived in the Healthcare Industry as well as Financial Information systems and others.

0
0 421
Article Mike Kadow · Sep 7, 2016 3m read

NewBie's Corner Session 25 Globals, Variables, and Arrays Part 1

Welcome to NewBie's Corner, a weekly or biweekly post covering basic Caché Material.

Globals, Arrays, and Variables

A thorough understanding of Globals, Arrays, and Variables is foundational for every Caché developer.

A Global may be:

Scalar (a single element), as in a Global Variable

Example of Global Variables
Set ^PERSON = "DAVID – DATA ABOUT DAVID"
Set ^PERSON2 = "MICHAEL – DATA ABOUT MICHAEL"
Aggregate (many elements), as in a Global Array. An Array combines similar elements together.
0
0 568