Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
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: 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: What is Unicode, UTF-8, ContentType and such? Resolution: Before you do anything at all with the web, or try to figure out Unicode, you should read this article: http://www.joelonsoftware.com/articles/Unicode.html Old KB# 4672
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 use JDBC with Relativity on Windows XP? Resolution: The JDBC client application needs to communicate with a server, so you must be running Relativity Data Server, not Relativity Data Manager, on Windows XP. JDBC clients have no mechanism to connect to Relativity Data Manager other than the use of a JDBC-to-ODBC bridge, which is not recommended. Old KB# 4645
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: Are there any Runtime performance considerations? Resolution: Taking the default settings will give the most consistant performance ratings. Be careful not to increase buffer size to the size that the OS has to consider increased swapping, or the Runtime will lose performance. It has been found that the defaults allow the file I/O to execute at optimum levels. Old KB# 4659
Problem: How can I assign a file name when printing to Adobe Acrobat PDF Writer? Resolution: Define the name of the file to print in the SELECT statement as ACROBAT. In the Windows Runtime configuration file, (runcobol.cfg), define the new device: DEFINE-DEVICE DEVICE=ACROBAT PATH=" Adobe PDF". In the program, use the "P$SetDocumentName" and assign a name that is incremented each time you print. Disable the property for the printer that asks for the name of the file to print. The attached example uses a free PDF file creator : Cute PDF Attachments: pdf.zip Old KB# 4685
Problem: How can you change the columns and rows for the runtime display? Resolution: You can use a configuration file and setup a TERM-ATTR configuration record and define the COLUMNS and ROWS which will be displayed on the terminal screen. A sample configuration file is in the installation folder, called WINDOWS.CFG. Old KB# 4660
Problem: Can my COBOL program call a Windows DLL? Resolution: Yes, it can - if you construct a COBOL-callable DLL that in turn calls the non-COBOL DLL. The CodeBridge capability that comes with the RM/COBOL development system makes that task very easy in most cases. Little or no DLL programming is required if CodeBridge can be used. Old KB# 4643
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: 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 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 do I highlight / select all the text in an edit box automatically? Resolution: Simple, use... Call SendMessage Using Win-Return edit2-H Em-SetSel 0 -1. See the attached example. Attachments: 27236.zip Old KB# 4652
Problem: What can cause runtime error LOC 829 on UNIX/Linux systems? Resolution: This error occurs when the RMdaemonR or RMdaemonC is not able to start successfully, or dies for some unknown reason. Typically, a regular user is not able to execute the Runtime or the Compiler, but root can. This error can be caused by security monitoring software detecting the daemon doing a setuid 0 (so it can run as root) and killing it. In one reported instance, a third party security package called eTrust was in use. Since software initiated by a regular user gaining root privileges is considered a security issue, the monitor was killing the process silently. It needed to be modified to allow the daemon to proceed. Old KB# 4694
Problem: How can I print on Custom Forms without depending on a particular printer? Resolution: Each printer starts printing at a different physical position on the paper. This can cause issues when using a Custom Form and different printers. The program must take the physical offset into account when you calculate the X/Y positions. There is a way for an RM/Cobol program to print to an X/Y Position and allow for this physical offset. First, use P$GetDeviceCapabilities to retrieve the physical offset value for the printer. Then use P$TextOut instead of the Cobol WRITE statement to print text. Attached is an example program. The P$GetDeviceCapabilities call returns values in pixels. You must convert those pixels to inches, if you prefer inches (you have a choice). The example program does the math in inches. There is another example program in the samples folder of the RM/Cobol Development system called PDEVICE.CBL. You can compile this and run it to see t
Problem: Do you have a Cobol program to count records in an index file? Resolution: The attached zip file contains a utility that allows you to get a record count for an index file. The utility is called RMRECX. An example COBOL program, TSTRMREC.CBL, is included that demonstrates the proper use of this utility. The index file must be closed in the run unit that calls RMRECX, because it has to open the file as a binary sequential file to get the number of records in it. A conflict occurs when the file is currently open as an index file. It can't open it both ways at the same time. When the index file is open in the run unit at the time RMRECX is called, the file manager has a physical file descriptor indicating it is an index file. Thus, the binary sequential open fails as an organization mismatch. If the file is not open, the file manager doesn't know that it is an index file and the open succeeds. In the attached RMRECX utility, the error status returned from t
Problem: How can I recover from "Lock file lock error 13: Permission denied"? Resolution: If you get an "unauthorized use of runtime error", or an Loc 801, 802, 804, 806, or 807 error on a UNIX/Linux system, run the command: rmucutil <serial number with use count > runtime details where <serial number with use count > is the registration number with the use count as displayed by the runtime banner. If this returns: "Lock file lock error 13: Permission denied", try deleting the lock file: 32-bit runtime: rm -rf /tmp/.RmCobolUC32 64-bit runtime: rm -rf /tmp/.RmCobolUC64 If you still get the error, try the following recommendations: Clear the RM/COBOL shared memory Check the license.vlt file permissions, and, ensure that all users/groups have read, and write, access. Reboot the affected system. #RMCOBOL#RMCobol#TipfromSupport
Problem: How do I resolve "Error invoking unauthorized copy... (Loc 508)" on Windows Vista, and above? Resolution: On Windows Vista, and above, the RM/COBOL runtime and compiler require that the Use Count service be installed and started in order to execute properly. If the Use Count service is not present, the runtime will terminate with the following messages: Error invoking unauthorized copy of runtime. Windows function error (Loc 508). On Windows systems, this problem usually occurs when the RM/COBOL files are copied to the affected system from another machine, or, when executing the RM/COBOL Runtime from a mapped network drive without first performing a network installation. If a full install onto the Windows machine or a "network" install (using a network file server) is done, then the installation process properly installs and starts the Use Count service and there is no problem. Please see the Solution on running the Use Count Service on Vist
Problem: Are there any problems with using Windows Vista as a file server? Resolution: There is a problem when you try to use RM indexed files and Microsoft Vista as a file server: record locks do not function properly. The problem is a Microsoft defect and it is fixed with a Microsoft SP1 release for Vista. Since this is a Microsoft scheduled release, we have no date when it will be available. There appears to be at least four choices to get around this problem at the moment. We will include the information about the Microsoft hotfix and how to disable SMB2 in the registry, but the Vista SP1 is the safest route. There might be some risk in taking the hotfix and/or the registry modification. Solutions: Don't do Vista-Vista file sharing, or Wait for Vista SP1, or Apply the Microsoft hotfix, or Disable SMB2 in the registry. The following hotfix is available form Microsoft. "Access may stop responding when you open a remote database" ( http://suppor
Problem: How can I remove Data Manager DSNs? Resolution: If you've already removed the Relativity Data Manager from the system, and the MS ODBC Administrator refuses to delete the corresponding User DSNs because it can no longer find the driver, you can delete the entries from the registry manually: HKEY_CURRENT_USER\\Software\\ODBC\\ODBC.INI Old KB# 4656
Problem: What does a 93, 02 error mean when running recover1? Resolution: When running recover1, seeing a 93,02 error means that another user has the file open. You can copy the file to another name or location and then run recover1 on the copy, but you cannot run recover1 while it is being used by another program. Old KB# 4670
Problem: Developing multi-threaded Java application that need to call COBOL programs, then we need the COP Framework. Where can we find the Java COP Jar file, COPClient.jar Best regards, Norton Resolution: The COP framework was never part of Server Express It was a Net Express feature only. 'What is the COP framework'? The COP framework is an add on to Net Express Service pack 1. We have full EJB support in Server Express to interoperate with java, not by using the COP framework. That was created as a temporary measure on Windows until incorporated Enterprise Server and it's EJB support . SX 4.0 and up have the full J2EE support. Since we have released Net Express 4.0 and Enterprise Server we recommend making use of the J2EE interoperability provided by those products. It fully supports the standards and provide an effective contained environment for COBOL to execu
Problem: Is there a place in a .int file where it shows the compiler directives used? Resolution: There is no direct way to retrieve directives from a .int file. If the .int was compiled with a listing output (.lst file) and the SETTINGS directive was used, the .lst file will contain the directives. The time stamps (ls -l) on the .lst and .int files will be identical or very close in time. That permits the user to infer the directive settings shown in the .lst file were the ones used to compile the .int. Example: cd cp $COBDIR/demo/tictac/tictac.cbl ./ cob -P tictac.cbl -C SETTINGS ls -l tictac.* -rw-r--r-- 1 username usergrp 8739 2006-08-09 15:05 tictac.cbl -rw-r--r-- 1 username usergrp 51968 2006-08-09 15:06 tictac.idy -rw-r--r-- 1 username usergrp 3840 2006-08-09 15:06 tictac.int -rw-r--r-- 1 username usergrp&n
Problem: Compiling a program and/or running cob -V from the command line, and getting an error similar to the following: cob32: invalid symbol __iob in sidefile /opt/cobol/lib/cobisym Resolution: Make certain your $PATH environment variable is set correctly. Old KB# 4549
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.