Luciano Muratore
Luciano Muratore

Reputation: 39

Problems to implement a MUMPS subroutine in YottaDB

I am working with YottaDB 1.32. The code is the following (in the Yottadb):

YDB>zedit "probes2" 

YDB>zlink "probes2"

The errors that I get are the following: YDB-E-INVCMD, Invalid command keyword encountered YDB-E-LABELMISSING, Label referenced but not defined: block1 YDB-I-SRCNAM, in source module /home/test/.yottadb/r1.32_x86_64/r/probe2.m

And the file probe2.m is

do set i=100

 write i,!

 do block1

 write i,!

 halt

block1

 set i=i+i

 quit

By the way, I am following the videos of Kevin C. O'Kane. And, I am having serious problems using the content of Kevin in YottaDB 1.32. Can someone explain me why it is that?. Or, is there any good resource from where I can learn to implement Mumps commands, subroutines, functions, ets?.

Upvotes: 0

Views: 186

Answers (1)

Jens
Jens

Reputation: 206

This Code should work and it does on my system. You have a typo in your ZLINK command which should be

ZLINK "probe2" when your want to start probe2.m

I guess you have a space character at the wrong place or a space too much. Remember: A mumps line is alwas build like this:

label<space(s) or tab>command<one space>parameter<one space>command<one space>parameter...

If a line has no label it has to start with space(s) or tab(s) before first command. If you use a command without parameters there have to be two spaces before next command. Example:

FOR I=1:1 QUIT:I=10  WRITE I,!

After the postcondition (I=10) two spaces have to be written, else the "WRITE" is seen as parameter instead of a new command.

BTW: the "do" in the first line is just a label when there's no space before it. So it could be misleading. Better don't use labels with the same spelling as commands.

Upvotes: 0

Related Questions