Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
Problem: Is the Runtime CLUSTER aware? Resolution: RM/COBOL is not coded to any specific hardware platform or operating system. Therefore, there are no real optimizations for clustered or multiprocessor computing environments. Both RM/COBOL and InfoExpress are coded as single-threaded processes. Any parallelism that exists in the code would have to be extracted through the operating system and/or hardware of the machine. Even then, InfoExpress would be faster running on one server, with a sufficiently fast CPU and I/O subsystem, than using NFS. InfoExpress's strength is in it's ability to manage files that are being accessed by many concurrent users. RM/COBOL does not handle any of the locking process, but asks the operating system for a lock to occur and let's the operating system handle the actual locking of the file. Unfortunately, this means we are unable to optimize the locking mechanism as it is out of our control. Old
Problem: What does the error "The system file is not suitable" mean? Resolution: If you get the following message during installation: "16-bit MS-DOS Subsystem C:\\Windows\\System32\\Autoexec.nt. The system file is not suitable for running MS-DOS and Microsoft Windows applications. Choose 'Close' to terminate the application" There is a well documented problem in Windows XP SP2 that sometimes causes the autoexec.nt file to disappear. When this happens, running 16-bit applications will generate this message. C:\\Windows\\repair should have a backup copy of this file. Old KB# 4673
Problem: How to check if Windows opportunistic locking or write behind are set? Resolution: In the SupportTools folder execute the "suptool1.exe rmccheck" from a command prompt. You can also execute "suptool1 contents" for a complete list of the Window tools available. Old KB# 4689
Problem: How can I fix 30, 64 errors on my Windows systems? Resolution: A 30, 64 error is an Microsoft Windows error. According to the Microsoft, it stands for "ERROR_NETNAME_DELETED" and means: "The specified network name is no longer available." Here are some suggestions that might help. 1. Turn off opportunistic locking on the data Server. In the SupportTools folder execute the "suptool1.exe rmccheck" from a command prompt. You can also execute "suptool1 contents" for a complete list of the Window tools available. 2. Turn off auto disconnect. See the following Microsoft Knowledge Base article: http://support.microsoft.com/default.aspx?scid=kb;en-us;138365 3. Update network card drivers to the latest version. 4. Read the following Microsoft Knowledge Base article on troubleshooting network problems: http://support.microsoft.com/default.aspx?scid=kb;[LN];325487 5. Some customers who have experienced 30,64 errors have been
Problem: How can I define decimal numbers with ODBCLink/SE and InstantSQL? Resolution: In order to get numbers with fractional parts (i.e. decimals) the SQL data type must be SQL_DECIMAL. The Image data types that convert to SQL_DECIMAL are: DECIMAL (Internal representation is packed decimal) Image Zoned (Z) Image Packed (P) Image I3 (48-bit integer) Image I4 (64-bit integer) It is certainly possible to have a BINARY (i.e. 32-bit integer physical storage) data item use a picture such as PIC 9(6)v99 -- at least this is possible in RM/COBOL, and is required by the COBOL standard. So this might be the case where the implementation is overloading an underlying integer data type with a decimal scale factor (the V99 part of the PIC) that is not known to the Image database per se. It would be interesting to find some capability of configuring the ODBC driver so that it will return SQL_DECIMAL for those Image fields that are described in COBOL
Problem: Does RM/COBOL take advantage of multiple processors? Resolution: Yes, provided there are enough users to cause the CPU to be a bottleneck. While the RM/COBOL runtime component uses a single processor thread for running the application instance, multiple application instances can use multiple processors simultaneously, both for the application code and the file i/o processing. So, if the CPU is a bottleneck is due to load from multiple users of the application(s), then the more processors the better. If the CPU is not the bottleneck, or a single user is alone saturating the CPU, then more processors will make no difference. Si, con tal que haya bastantes usuarios para hacer la CPU ser un embotellamiento. Mientras el componente RM/COBOL Runtime utiliza un procesador hilo (thread) para correr un caso de la aplicación, múltiples casos de aplicaciones pueden utilizar múltiple procesadores simultáneamente, para ambos el c
Problem: How can I change TERMCAP and TERMINFO entries to work with my program? Resolution: Terminal Interfaces The RM/COBOL runtime system uses two terminal interface mechanisms, TERMCAP and TERMINFO, to control cursor positioning, video display attributes, and function key mapping. TERMCAP and TERMINFO databases are supplied by the operating system manufacturer. However, these databases may not contain complete entries for the terminal you are using, and as a result, certain capabilities used by the RM/COBOL runtime will not operate properly. The RM/COBOL User's Guide documents the TERMCAP and TERMINFO capabilities used by the RM/COBOL runtime. This page includes sample TERMCAP and TERMINFO entries for some of the more popular terminals. (See below.) These sample entries are provided for your convenience as examples only. Liant assumes no responsibility for the accuracy or completeness of these sample entries. Although the Support staff can assist you with general q
Problem: How do I use the RM/COBOL LIKE condition? Resolution: The LIKE condition Using the LIKE condition is a relatively effortless way to match the content of any display data item against a pattern that can express just about any possible desired value. For example, suppose your program needs to verify that the user has entered a well-formed email address in a form field. Let's say a well-formed email address satisfies the following rules: 1. Leading and trailing spaces are ignored. 2. Preceding a single required "at sign" character ("@"), there are one or more characters from the set of "word" characters, (digits, uppercase and lowercase letters), plus the period, hyphen, and underscore characters. 3. After the "at sign", there are one or more "word" characters, plus the hyphen and underscore characters, followed by a period. 4. Rule 3 can be repeated one or more times. 5. Finally, two to four uppercase or l
Problem: How do I fix a "duplicate presentation sequence" error? Resolution: Chances are this error is coming from very old version of Relativity, since this problem was fixed in version 4.2. However, the cause may actually be in the catalog. If so, you will need to use the attached utility to fix it. If you are running an earlier version than 4.2 and still get this error after trying the utility, then you will need upgrade to the latest version of Relativity. To fix the catalog with the attached utility, follow these steps: 1. Close the datasource completely if it is open under the Relativity Designer or other ODBC access tool. 2. Double click on the reldbfix.exe icon. 3. Select the datasource containing the tables that generate the "Duplicate Presentation Sequence" error message. 4. Select "Repair sequence numbers" from the list of available actions. 5. Press the OK button. 6. Enter login information for the catalog. &
Problem: If the database connection criteria is being passed to Pro*COBOL via a compiler directive, is there a way to prevent this from being displayed on the console? Note the line: * CSQL-I-005: Passing userid=abcd/wxyz@INST1 to ORACLE Precompiler in the output of a compilation of an Oracle COBOL program.. Resolution: These messages are actually coming from the COBSQL portion of the COBOL compiler * CSQL-I-005: Passing userid=abcd/wxyz@INST1 to ORACLE Precompiler This message is only displayed if the CONFIRM directive is set. Removing the CONFIRM directive should resolve the problem. Old KB# 4517
Problem: A customer had a script called (say) ggg, and a program (say) ggg.cbl. The script was in a directory pointed at by PATH, and the program was in a directory pointed at by COBPATH. If he typed 'anim ggg', then Animator picked up the script, rather than the program. Why was this? Resolution: Animator can debug .int, .gnt, .so, executables, core files and running processes. So when you type anim nnn the animator will first check to see if 'nnn' is number and, if so, see if it can dynamically attach to a process with that pid. Next, it will search for exes, down $PATH. It that fails, it will search using the standard RTS rules (using $COBPATH and the program_search_order tunable, etc). Finally, it checks to see if it's been asked to debug a core file. In this case, as a script is an executable, it was be picked up first. The ideal solution is not to have s
Problem: How do you use the h2cpy utility to convert pstat.h to pstat.cpy Output is not aligned correctly with 64 bit application using the following command to create: h2cpy /usr/include/sys/pstat.h -I /usr/include -e lp64 h2cpy /usr/include/sys/pstat.h -I /usr/include -e ilp64 Resolution: The pstat_ functions is used to obtain system and process information. Create pstat.cpy with the following command: h2cpy /usr/include/sys/pstat.h -I /usr/include -D_PSTAT64 It will create pstat.cpy with the following: 01 pst-status is typedef. 02 pst-idx usage l-long. 02 pst-uid usage l-long. 02 pst-pid &n
Problem: Cobol program's being animated using COBSW= A set will not start up in the animator, but will just execute. Resolution: This problem can be caused by the environment variable DISPLAY being set. When the DISPLAY environment variable is set the Server Express product will try to create a new X-Term window for the Animator screen and user interface. If the user is not using an X-Windows session, this operation fails and the Animator screen is never displayed. Ensure that the environment varaible DISPLAY is not set. If DISPLAY is set, unset and then animate. example: echo $DISPLAY DISPLAY="information" unset DISPLAY Old KB# 4516
Problem: When trying to run a Unix script that invokes a Cobol program, it runs fine when manually running it from the shell. So you are able to run the script as the user from a menu. However, when running the script from a cron as the same user it won't work - the error "could not obtain latest contract from popen(3C): No such process" appears. Resolution: The problem here was the "popen" error message seemed to be a generic error message. This particular program had "display" in it - running it in the cron caused the above "popen" error - when commented the displays out the error no longer appeared. It was identified as a Solaris error and they can provide a fix for this. Old KB# 4526
Problem: A customer migrating from the mainframe found that some of his programs were failing with the above error during execution. This was due to PERFORM VARYING statements where the subscript either started at zero, or went past the highest value in a table (e.g. went to 11 when the OCCURS was 10). Whilst he appreciated that such programming practices might be considered unsatisfactory, it was important that the programs should run, unmodified, on the new UNIX platform. Resolution: The compiler directive NOBOUND stops the automatic checking of subscripts at runtime (the default is BOUND). If you are building to generated code, you should also look at the NOBOUNDOPT directve, though using this may impact performance. Old KB# 4538
Problem: Release 4.0: /usr/lib/libc unable to find socket.lib install error check disk space permissions and try again Resolution: If you get this message during the installation of Server Express 4, please make sure that the gcc is installed on your system. Old KB# 4550
Problem: How to increase filesizes with the use of IDXFORMAT-8 in a COBOL Program, rather then using rebuild. Also how to get file sizes for individual files rather than all of the files available in a program. Resolution: The program will look something like this: $SET IDXFORMAT"8" IDENTIFICATION DIVISION. PROGRAM-ID. P4010. .............. Etc.
Problem: Release 4.0: Server Express install breaks with message libc not found on a Linux System. Resolution: Please ensure that you have the gcc component installed because gcc is not a standard Package for the most Linux Systems and must be installed separately. Old KB# 4559
Problem: This error has been encountered when running Server Express 4.0 SP2 on AIX 5.3 (64 bit) with Websphere Queue Manager 6.0.1.1. Load error : file 'MQCONN' error code: 173, pc=0, call=1, seg=0 173 Called program file not found in drive/directory Resolution: It is infact a problem with the Technology Level package 5300-04 for AIX 5.3 causing Informix 4GL and SQL products to fail. When you apply Technology Level package 5300-04 on the AIX® 5.3 operating system, 64-bit versions of IBM® Informix® 4GL (and SQL) 7.32 will no longer work. Example $ fglgo -V Could not load program fglgo: $ truss fglgo -V execve("/usr/informix/4gl7
Problem: How can locks be ignored on files opened for Input? Resolution: Set the filehandler option IGNORELOCK in the extfh.cfg file. The IGNORELOCK option specifies whether to ignore locks on files open for Input. IGNORELOCK= {ON|OFF} Default: OFF Old KB# 4556
Problem: The command is cob -z prog.cbl . The Intermediate Code file and the object file are created . The Callable Shared Object file is not created . This message is also displayed if the command is cob -x prog.cbl Resolution: These messages are displayed when the environment variable LIBLIST is validated : If $LIBLIST is validated to a file that has a size to zero : the message is : "cob64: can not execute" If $LIBLIST is validated to a file that does not exist ,the message is : "cob64: error opening: name of the file " If $LIBLIST is validated to a file that exists ,the message is : "cob64: illegal format in name of the file" the file is displayed $LIBLIST specifies an alternative file for Cob to use; you should not use it unless a Micro Focus representative asks you to. Old KB# 4491
Problem: There are three ways to determine the number of records in an Indexed file. Resolution: Option 1 - The record count is at offset offset x"40" and is 8 bytes long in the Micro Focus indexed file formats 3,4 and 8, which contains the index. Micro Focus provides a special op code h"0003" to read the header into the record buffer. Refer to the documentation - File Handler, chapter 7.4 Operating Code. Option 2 - The rebuild utility options -n or -f will return the number of records in the file, if the information is present. Option 3 - Calculate the number of records in the Micro Focus ISAM file (format 0) - take the length of the file and divides by the overall record length. This is actually one byte longer than the data record. Old KB# 4558#AcuCobol#RMCOBOL#netexpress#ServerExpress#COBOL
Problem: On UNIX the file name default is file-base-name for the data portion aand file-base-name.idx for the index portion of a file. The following explains how to change these default naming converntions. Resolution: In the extfh.cfg configuration file you can specify the option IDXNAMETYPE. The IDXNAMETYPE option specifies the format of the filename type for both the data file and index file,present. if presnet. IDXNAMETYPE={0|1|2} where the parameters specify how the the name of the index file (if present) is derived from that of the data file: 0 By discarding any extension and adding the extension .idx 1 By simply adding the extension .idx 2 Like 1 except that the data file name is modified by adding the extension .dat For example, if the data file name presented to the File Handler is abc.def, the options shown above give the following data and index file names: 0 abc.def and abc.idx
Problem: Compile step receives I-O error:idy file renamed to .$dy extension Resolution: This error will occur: 1.When the user does not have write permissions on the directory the .idy files are to be written to. 2.If a .idy already exist in the current directory when compile is exeucted and and user does not have write permission and is attempting to create the idy again. Remove any files created from previous compile attempt. Old KB# 4544
Problem: Opening a file in a "MAIN" program and reading its records in another program "SUB" which is called by "MAIN" results in a file status=47 means: "A READ or START operation has been tried on a file not opened INPUT or I-O." Must the file be opened in each program? Resolution: NO! Please specify in the FD the EXTERNAL clause and add this FD to the SELECT in each program which uses the file. BTW: The variables of the FD are external variables and have the same value in each program where specified. The core of the attached 4 files: ------------------------------------ program-id. Sub. copy SEL. copy FD. display "read: " REC(1:20) read MyFile. display "read: " REC(1:20) ---------------------
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.