Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
Problem: When using Rebuild, you may get the following error: Error during sort operation: 9/007 Resolution: The error code 9/007 is an extended file handler error code informing you that the disk space was exhausted during the build. Rebuild uses a series of temporary files during the process, the exact number of which is determined by the complexity of the index. The error you received is simply stating that you have run out of room on that particular drive. What you can do is use the TMPDIR environment variable to specify another location with sufficient space as the work area for temporary files. Old KB# 7237#RMCOBOL#AcuCobol#ServerExpress#netexpress#COBOL
Problem: You may encounter a File Status error 9/068 (record locked) on reads of records in an INDEXED file that you know are being read by other processes but you are certain are NOT being LOCKed. For example, assume several processes are all running the same program. The program has LOCK MODE MANUAL set in the SELECT clause. It opens the file I-O, sets the record pointer using START NOT LESS THAN and then READ's NEXT through the file with out any locking on the reads. Provided there is not a different program accessing that file there should NOT be any record locking take place, but it can. Resolution: Specify the NODETECTLOCK compiler directive. NOTE: This error does not occur if the file is opened INPUT This did not behave in this manner in Object COBOL Developer Suite The lock
Problem: Micro Focus run time system error 114 - attempt to access item beyond the bounds of memory - can be one of the most difficult problems to troubleshoot. However, there are only a few common reasons for the error and Server Express offers more debugging options than previous Micro Focus products. Occasionally, the problem will be obscure and difficult to find, but those instances are relatively rare. This article will discuss how to approach diagnosing RTS 114 errors within the Server Express and Application Server environment. Resolution: The most common reason for RTS 114 errors reported on UNIX systems came into being with the ability to create and use callable shared objects. On hardware which has the capability, Server Express can compile your COBOL source to either 32 bit or 64 bit code. However, the UNIX operating system cannot handle a mixture of 32 and 64 bit code in the same application. Whe
Problem: A customer encountered this error when trying to open a relative file. There was an open on an I/O relative file and then in a subsequent subprogram a further open on it which results in it being already locked hence the 9/065 (or 9A). The customer then pointed out that this worked without problems in OCDS so why not in Server Express? Resolution: File locking in OCDS did not take into account the fact that you might have two opens on the same file and so did not handle locks between the two opens. Under Server Express this is correctly handled. However, you can put the incorrect OCDS locking back in. For compatibility with OCDS you can use the same_proc_excl_detection tunable. same_proc_excl_detection The same_proc_excl_detection tunable has been superseded by the intra_process_record_locking tunable. However, it can still be used for backward compatibility purposes. Note that we recommend that you
Problem: In designing a transaction-oriented application that emulates a mainframe legacy system, it would be helpful to be able to restore all COBOL modules to their initial state, as though the entire run-unit had exited and had been re-started, but without the overhead of actually exiting and re-starting. The function CBL_SUBSYSTEM is supposed to have this capability, but how to call CBL_SUBSYSTEM from C? Resolution: Attached to this Knowledge Base article is a tar file containing an example demonstration. Included are C and COBOL source files, a script showing how to compile, and a "readme.txt" with information and instructions. Attachments: subsystem_demo.tar Old KB# 7220
Problem: A program encounters file status 9/007 (which means "disk space exhaused") on a record sequential file open for output. At the point of error, the file size is 512 bytes beyond 1 GB that is, 1073741312 bytes. Resolution: This file size limitation is not imposed by Micro Focus. It is probably imposed by the UNIX system. The default ulimit on AIX 5.2 is 2097151, as can be seen by entering the following command: ulimit This amount 2097151 is specified in units of 512-byte blocks. In bytes the value is 2097151 * 512 = 1073741312. That's one block short of exactly one gig. 2^30 = 1073741824 = 1 gig So, the default AIX ulimit is 1 GB even on 64-bit systems. This seems low by today's standards. This default 2097151 might even be the "hard" limit, and if so, root privi
Problem: BAD MAGIC NUMBER WITH C PGM INCLUDING COBOL Resolution: There is no way to mix 32-bit and 64-bit objects in the same executable. Using the -q64 option of "cc" invariably creates 64-bit objects, but this COBOL product application consists of 32-bit objects, and the two object types cannot be linked. Old KB# 7181
Problem: Using "cob -x" to rebuild an application that includes some C source code, a customer was getting error "cannot access cc". Resolution: The "cob -x" command, when given C source code (.c) as an argument, invokes the C compiler that comes with the UNIX operating system. In the case of Solaris, this is the Forte product from Sun. If the C compiler is not installed, or if the PATH environment variable is set such that the "cc" command cannot be found, then this error appears. The solution is to purchase and install the C compiler, or to update the PATH environment variable so the "cc" command can be found. Old KB# 7203
Problem: Load error 164 on cobdirect.so.2 Resolution: Set COBMODE=64. Old KB# 7176
Problem: When compiling, you get the following error message: cob32: can not execute CC Resolution: Use the command "which cc" or "which CC" to find out whether there's a "cc" or "CC" command on the path and if found, what directory is it in. Also try the command "CC -V" or "cc -V" to give you some version information about your C or C compiler (respectively). If those commands cannot find it, then the "cob" command won't find it either. It is possible that the system has no C (or C compiler) installed, which would obviously cause the "CC" command to fail The least likely, but another possible cause, is that the "CC" (or "cc") command is present in a directory specified on PATH, but the user lacks permission to run it. Old KB# 7163
Problem: The following demo shows the use of 'initialize' on a group field. It returns a value of 'wwxxyy' whilst you may have expected a return of spaces. working-storage section. 01 aa. 03 bb. 05 filler pic xx occurs 10. 03 cc pic x(10) value "wwxxyy". procedure division. move "ppqqrrss" to bb initialize aa &nbs
Problem: In Server Express, enter sde, for development environment. Press F3=compile, compile options are not displayed Resolution: If function keys do not appear to work as expected, enter the meta character / before the number of the function key. For example F3 would be /3 and the compile options would be displayed properly. From within sde enter /m for Keyboard Mapping Help for current mapped key assignments. Old KB# 7188
Problem: The Net Express project file (.APP) is several MBytes large. Is there a possibility to get it smaller? Resolution: The Project file (.APP) is formatted as an ISAM IDXFORMAT"8"-file. Therefore, the Net Express ISAM-rebuild command-line can be used: REBUILD.EXE INFILE.APP, OUTFILE.APP to delete unused records from the APP-file within. Old KB# 7145#RMCOBOL#COBOL#AcuCobol#netexpress#ServerExpress
Problem: Undefined Symbols messages are telling you that your code contains references to entry points which the generator is not able to resolve at link time. As the generator will create direct references to these entry points they need to be resolved at link time. Resolution: The options are: 1. Link in the code which contains the missing entry points into the executable. 2. Tell cob that the entry points will be dynamically loaded at run-time by adding: "-d entrypointname" option to the cob line. 3. Let cob work out they need to be dynamically loaded at run-time by adding "-U" to the cob line. Old KB# 7198
Problem: During compilation is there a way to route .gnt output files to a specific location? The default is to write the file in the current directory. Resolution: Use the -Ngnt flag then specify the file location for the output file. cob -u -Ngnt="/tmp/testxx/tictac.gnt" tictac.cbl This example causes the tictac.gnt file to be written to the /tmp/testxx directory. Old KB# 7186
Problem: tar command reports a error while trying to extract COBOL product components: Resolution: This error occurred due to a lack of space in the target install directory. create a new, larger file partition and the problem is solved. Attachments: Relativity launch error 2009-02-19.doc Old KB# 7156
Problem: You can create the same behaviour as using a @mylist.lnk with Net Express with Server Express by using a cat command as part of your cob command. The cob command includes a 'cat filename' where filename contains a list of files to be submitted to the cob command, seperated by spaces. Resolution: echo tictac.cbl > list.lnk You can then submit tictac.cbl to the cob command by simply typing cob 'cat list.lnk' tictac.cbl gets compiled. So if you have a file which contains a list of files to be submitted to the cob command you could use this method. NB. the cat command needs to be contained between backquotes. Old KB# 7191
Problem: If you would like the exact attribute/colour combinations to be saved and restored using cbl_read_scr_chattrs and cbl_write_chattrs Resolution: You need to either: 1. Set-up the colours in the current palette. A simple way of doing this (and achieving consistent results on Windows and Unix platforms) is to add the following call to the start of the program: CALL "CBL_SCR_SET_PC_ATTRIBUTES" 2. Use the alternative set of calls, CBL_SCR_SAVE and CBL_SCR_RESTORE, which were designed to overcome all the issues described above. These are documented in the Creating UIs manual. Old KB# 7180
Problem: 198 load Failure with MQ Series Programs Resolution: Need to create a non-threaded verion of the MQ series module using the command: cob -z -e "" -Q -bE:mq.exp pgm.cbl -lpthread -L/usr/lpp/mqm/lib -lmqmcb to create a callable shared object for MQ series. Old KB# 7161
Problem: How to specify a different ADISCTRL file Resolution: User has two custom ADISCTRL files with different default configurations. The dd_ADISCTRL environment variable can be used to point to the appropriate ADISCTRL file Old KB# 7174
Problem: High watermark for monitoring Application Server licenses does not seem to be taking effect. Resolution: The high watermark file used to monitor Application Server licenses must be defined in upper case letters in $COBDIR/WATERMARK. If the file is defined in lower case it is ignored. Old KB# 7205
Problem: Debugging C language modules called by COBOL Resolution: Compile the C modules for DEBUG ie using the C compiler specifiy -g then link the .o's with the COBOL - now when starting the application start it through the C language debugger ie dbx applicationname then set breakpoints in the C functions that need debugging Old KB# 7166
Problem: Occurs when "cob" or "cobrun" command is issued to Server Express on a machine which has or had Object Cobol Developer Suite installed. Resolution: There are "cob" and/or "cobrun" triggers from an older version of a Micro Focus product in a directory which is on PATH ahead of the directory where the current triggers were installed. Run command "which cob" and "which cobrun" to find and remove unnecessary triggers. Attachments: 10897223.gif Old KB# 7154
Problem: How to setup environment variable to point to location of file from within a program. Resolution: Search in the net express 4.0 help for EMBEDDED ENVIRONMENT VARIABLES and will find the following : Embedded Environment Variables You can include an environment variable in the name of a file you want to open. It should have been previously given a value using the operating system SET command. The file specification is of the form: $env-name\\filename.ext Example $test\\app.dat where you have issued the command: set test=c:\\appdir;d:\\appdir\\appsub; env-name will only be recognized as an environment variable if it is enclosed within dollar ($) and backslash (\\) characters; thus if you simply specify an environment variable by itself it will not be expanded. The environment variable env-name can contain a list of one or more paths, separated by a semicolon (;). The open mode of the file determines the pa
Problem: During batch compiles a 197 error is returned - The file referenced is inoc.gnt. Resolution: This error originates from the license manager trying to display "no licenses available" with no tty devices available for output. User can utilize the LMFWAIT environment variable in order allow for licenses to properly checked back in to the license manager See the Development System Licensing Guide, Chapter 2. Administering the License Management Facility for more details. Old KB# 7170
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.