Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Problems to invocate a subroutine

52 views
Skip to first unread message

Luciano Muratore

unread,
Sep 16, 2021, 6:35:42 AM9/16/21
to
Hi there,
I am working with YottaDB 1.32.
The code is the following (in the Yottadb):
>zedit "probes2"
>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?.

K.S. Bhaskar

unread,
Sep 16, 2021, 10:59:30 AM9/16/21
to
Prof. O'Kane's implementation of MUMPS and YottaDB are independent implementations. As such, what is standard MUMPS (as a first approximation, anything not starting with Z) is likely to be common, and anything starting with Z is likely to be different. Also, system administration (installation, configuration, backups, crash recovery, etc.) will be very different. Here are some resources that might help you:

The YottaDB Acculturation Guide (https://docs.yottadb.com/AcculturationGuide/) is a set of self-paced exercises to get you started with setting up and using YottaDB. It should help you edit routines.

The YottaDB M Programmers Guide (https://docs.yottadb.com/ProgrammersGuide/) is a guide to M language implemented by YottaDB.

https://learnxinyminutes.com/docs/m/ may be helpful as a tutorial.

Please continue to post questions here.

Regards
– Bhaskar

OldMster

unread,
Sep 16, 2021, 11:11:08 AM9/16/21
to
It could just be an artifact of posting, but it doesn't appear there is a tab or space at the beginning of each line that isn't a line label (subroutine label). It should be like this, where underscore is a space, so that the spaces are obvious. Notice no space in front of the block1 label. Also the 'do' in front of 'set i=100' is wrong - it would be trying to branch to a label 'set' with that command

_set i=100
_write i,!
_do block1
_write i,!
_halt
block1_
_set i=i+i
_quit
0 new messages