how to kill a running natural program

I’m pretty new to Natural and ADABAS. Administrative functions for the mainframe are divided among many people where I work. But in order to test the Broker interface between a Natural and VB program, I need to start the Natural program. I am not able to access the mainframe’s command line to actually kill the program’s process. And the only hint I’ve gotten on how to kill a running Natural program from the Program Editor is “%” or “%%”. But neither of those two commands work if I have no input fields.
So, besides contacting the system administrator, is there any way that I can kill a Natural program that I’ve started running from the Program Editor?

Thanks in advance for your help.

Depending upon your TP monitor, the CANCEL key may work for you. The location of the CANCEL key on the keyboard varies with terminal emulators, but is often at the top left of the keyboard, marked Esc.

The CANCEL key returns control to the keyboard, whereupon you enter %. or %%.

Hmm . . . I tried this today when I got into work. While the CANCEL key (ESC) does work to return control to the keyboard and I can enter the % or %% command (I’ve tried both), once I press Enter, control is again taken away, leading me to believe the process is still running.
Any more ideas?

Thanks again.

The actual “terminal control character” is controlled with the Natural parameter CF, so you might want to check its setting (use the Natural GLOBALS command).

But as you got the hint to use %, chances are high it is the control char.

Secondly, use of terminal control characters may be restricted (Natural Security).

All of this only helps if your Natural program is sitting on a terminal I/O.

Is the Natural program a RPC client or a server program ?

I connect to a mainframe in order to use Natural, usually using EntireX Connection’s Terminal program.

Right, but … is your Natural program

  • the SERVER, to which you are talking from the VB program

or

  • the CLIENT which talks to a VB server program ?

Ah . . . sorry about that. The program acts as the server.

I checked with our sys admin. We do not currently have the permissions to kill our own running processes. )-:

Thanks for the help anyway. Once I manage to convince them that we need to be able to do so, it’ll come in handy.

Is it possible to pass something to the server through your VB client that would tell it to stop?

Now that I know that I can’t kill the process, that is what I plan on doing.

If you are running a ‘Natural RPC Server’ from the terminal, just

  • open a 2nd Natural session,
  • logon to library SYSRPC, and, assuming the server is defined there,
  • go to XC (command execution) and
  • enter ‘TE’ (terminate) for the server to be stopped.

This will stop the server program and free up your terminal.

Actually, I can’t do that either. We’re only able to logon once to each natural environment that we have set up (test and production). That’s one more thing both myself and my boss would like to get changed. (-:

In that case your only bets are either asking a colleague to stop the server for you (using SYSRPC),
or, if you are allowed to do that,
stop it yourself using EntireX Broker Control Center or the System Management Hub (depending on the version of EntireX in use at your site).