Operating System - OpenVMS
Showing results for 
Search instead for 
Did you mean: 

Trying to use .Com job (Running on OpenVMS 7.3-2) to Automate DBMS reports (IDX/GE) –

Occasional Visitor

Trying to use .Com job (Running on OpenVMS 7.3-2) to Automate DBMS reports (IDX/GE) –

I can't figure out how to find out what M routine(s) we would need to call to run any DBMS reports. Once we knew that, we could figure out what parameters we were allowed to pass into the routines. I would assume that the parameters do not include passing in the data we need to change every month for some queries, but we might be able to figure out a way to pass that in (for instance, by defining these reports as user reports since those use variables instead of data for information that changes from month to month
The bottom line is I don't know what routine(s) we should call to run the DBMS reports. Then we would need to determine if there is a way to pass in parameters for each query that change from query run to query run and whether the routine(s) allow us to pass in information about outputting the reports.

Hein van den Heuvel
Honored Contributor

Re: Trying to use .Com job (Running on OpenVMS 7.3-2) to Automate DBMS reports (IDX/GE) –

Wow, that's a lot of words, but they don't mean much to me, and quit possible make other readers skip this in a rush.

We all recognize the "OpenVMS 7.3-2" part, but beyond that... ?!?

IDX/GE is a healthcare application. Right?

RDBMS is a shorthand for "our database" which possibly is "Cache". Correct?
(Or is it the Oracle RDBMS Codasyl database?)

"M routines" are application / Mumps routines?

Is all the data you need readily available in the database, and can it be extracted with native database calls, or do you neeed application service routines to make sense out of the data?

You mention automate. So it would seem you know how to generate a single report manually. How?

'Green-screen' (vt100) data entry + request?

If so, then even without any application knowledge you might be able to code up an 'expect' or 'kermit' style automated screen interaction.
Staying within OpenVMS you may want to google for: +openvms +"pseudo terminal"

This will guide you to 'PDT' function which allow you to have a program control pseudo screen access. Stick that in a self re-submitting batch job and presto.

You may also want to re-try your query in a newsgroup:

Or maybe find some potential names of folks who speak this language using Google for : "M routines" idx

Good luck!
Hein van den Heuvel
John Gillings
Honored Contributor

Re: Trying to use .Com job (Running on OpenVMS 7.3-2) to Automate DBMS reports (IDX/GE) –


I think you're asking for a way to pass variables as input into a program.

Normally data input to a program is fixed, so in the procedure:


program MYPROG will see 3 lines of data. If I have 3 symbols containing the data I want to feed into the program, it may be tempting to write:

$ sym1="data1"
$ sym2="data2"
$ sym3="data3"

but this won't work! MYPROG will see "'sym1'" etc...

You can write the data into a temporary file and feed it in like this:

$ OPEN/WRITE tmp 'tmp'
$ WRITE tmp sym1
$ WRITE tmp sym2
$ WRITE tmp sym3
$ CLOSE tmp
$ DELETE 'tmp'

or you can pipe the input line this:

$ PIPE (send sym1 ; send sym2 ; send sym3) | -
A crucible of informative mistakes

Re: Trying to use .Com job (Running on OpenVMS 7.3-2) to Automate DBMS reports (IDX/GE) –

We have found that the easiest way to automate the DBMS queries is to set up a "Special" user account as a batch user in IDX.

All DBMS jobs are then run through batch. This allows using |F10| for an F10 key and skips pass the output file request window and uses the older logic where it just asks for the filename and file options. Most of the special keys can be put in the commnad file with the "|" on either side.

We have automated a number of our daily reports and writeoffs and run them through the night.
Bob Davidson
Loyola University Physician Foundation
Tom O'Toole
Respected Contributor

Re: Trying to use .Com job (Running on OpenVMS 7.3-2) to Automate DBMS reports (IDX/GE) –

I think the "DBMS" the OP is referring to is a set of routines within the IDX application.

This question would be best answered by the IDX documentation, or an experienced IDX application programmer, and they would have to be given much more specific info. I do know that these types of routines can be and are called all the time non-interactively.

Normally a routine is called in "programmer mode" and the expected user input is provided inline in the command procedure, for example (using the cache database system):

Can you imagine if we used PCs to manage our enterprise systems? ... oops.