Table Output Under VAX VMS
This is in response to your question about NONMEM under the VAX VMS operating system. The purpose of his endeavor is vague but I hope the following willprovide some help. Usually in VMS, the only time printing more than 132 characters on a line causesproblems is when the device used is a line printer. While writing to a file,RMS, Record Management System (the module that controls file I/O), will allowascii formatted records greater than 132 characters in length, I believe thedefault maximum length is 32k. In the past, I have printed into files, linesthat were in excess of 300 characters using a FORMAT statement that specified thelengths of the fields. However, when the number of fields that is to be printedexceeds the number specified in the FORMAT statement or the record length of thedevice, VMS will print the remaining variables on the next line using the sameformat over again or stop sending characters (depends on the device; disk,printer tape, screen, etc). I've encountered similar stack dumps or crashes with other programs the madeheavy use of ARRAYS as in NONMEM. These problems were traced to array accesserrors when an array index was a variable that was changed by the program. Ifthis is the problem then the array specifications of TEMP and TLAB in OUTPT andelsewhere may need changing (he has more fields and/or records than what thearrays can handle). I would need more information from Glaxo to be certain:specifically, the traceback of the crash (link the program using the "/TRACEBACK'option, run it until crash, save the screen dump), the NMTRAN statement used, thenumber of observations and fields in the table (the NONMEM output prior to thecrash), and the values of the array indexes from the OUTPT module during the run(may have to use the debugger or this one). AS far as the OPEN statement he inquired about. The RECORDTYPE='VARIABLE' willprefix each record with a count field containing the record length and will notappend any carriage control to it (this does not created a printable file, itwould need reformatting). I suggest using RECORDTYPE='STREAM' and addingFORM='FORMATTED' in the OPEN statement to obtain the results that I think hewants. The STREAM value allows variable length records and will add the carriagecontrol to the end of the records (adds the CR-LF characters). The FORMATTEDpart is to insure that RMS creates the proper file format (something to do withthe file header). I'm not sure but I don't think that any VMS control statements will help in thiscase. Also, any changes to FORTRAN's install-time defaults or to the run-timelibraries may affect the operations of other programs and should be approachedwith caution. In my opinion, changing the source code is probably the best option.Steve Hege