Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
Problem: What is the 'mfdebug' terminal setting? Resolution: When running under the control of the Animator any screen output is cached in memory. If you swap to the user screen (i.e. by pressing F2 or by executing an ACCEPT), the contents of the cached screen are displayed. The program has no terminal of its own because it's under the control of the animator. So, when the program writes to the terminal, it is actually passing terminal sequences to the animator to be decoded and cached. The Animator uses a generic terminal definition called 'mfdebug', which defines all the capabilities required. Because of this it is not recommended that the screen-swap Animator be used if a non-COBOL sub-program is performing a lot of screen I/O. A better solution is to use cross-session animation. This is documented in the Debugging Handbook. Old KB# 7173
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: 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: Byte stream I/O routine CBL_OPEN_FILE failes with error 194 when the file is large Resolution: Setting ACCESS-MODE = 65 corrects the problem - the call will fail if the underlying operating system does not support large files Byte Stream IO calls work with files up to 4 Gb, Over 4 Gb there is a requirement to set 1 of 2 flags to get the open to work: - bit h"40" of the open-mode field (second parameter) or; - bit h"10" of the sharing mode field (third parameter). Using method 1 you will get an error if the open is attempted on a system which does not support 64 bit file systems (e.g. Windows 95). Method 2 will give you a successful open in all operating systems, but tells the run-time that no locking calls will be attempted on the file. Any call to e.g. CBL_GET_LOCK will result in an error if the file has been opened with this bit set. Old KB# 7184#netexpress#RMCOBOL#ServerExpress#COBOL#AcuCobol
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
Problem: What is the minimum hardware specification for our UNIX products? Resolution: The minimum required disk space to install the COBOL product is approximately Object COBOL: Development System: 40Mb Application Server: 20Mb Server Express: Development System: 50Mb without ODBC, 80Mb-100Mb with ODBC drivers Application Server: 40Mb There is no required minimum for physical memory, any system capable of running the UNIX operating system provides the minimum required memory for the COBOL product to execute. The minimum required memory for user applications really depends on the size of those applications and how they are used. It takes more memory to edit a 20,000 line program than it does to edit a 1,000 line program, for example. Applications that use INT and GNT code will take more memory than those using callable shared objects or executables because INT and GNT code is not shared between users. Large FD's and working-storage tables will als
Problem: Using either cob -ivt db2test.cbl -C "DB2(DB==SAMPLE)" or cob32 -C nolist -ivt db2test.cbl -C DB2(DB==SAMPLE) results in * Micro Focus Server Express V2.2 revision 000 Compiler * Copyright (C) 1984-2003 Micro Focus International Ltd. URN RXCAI/AA0/00000 * Accepted - verbose * Accepted - reentrant * Accepted - nolist * Rejected - DB2(DB=SAMPLE) * 155-U 155 Illegal command line Resolution: One may see this error if 1. the DB2 ECM is not present- that means that the product does not support the precompiler on the specified platform. UDB isn't available on all UNIX platforms. Therefore, we only provide the DB2 ECM module on platforms where UDB is available, and IBM supports precompiling COBOL. Check to make sure that the platform supports UDB. 2. If the LIBPATH is not set correctly. Che
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: If you are linking a Cobsql application with the Cobsql CSTOP option specified, the following error will be returned : ld: 0711-317 ERROR: Undefined symbol: .oraprot Resolution: The CSTART and CSTOP Cobsql directives are not supported on UNIX. More recent versions of Server Express will reject these options at compile-time. Old KB# 7204
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: A programmer uses the REMOVE compiler directive to take a reserved word out of action, and they do this generally (for all programs), but in one certain program, they would like to restore this reserved word. How can this be done? Resolution: Use the ADDRSV compiler directive, and put it in a $SET statement in the source code of the program in question. Even though the REMOVE directive is specified on the "cob" command line, $SET statements override settings made elsewhere, so $SET ADDRSV will restore the reserved word. Here is an example: --------------------- driving shell script --------------------------------- # compile the program with the reserved word SUBTRACT # removed from being a reserved word (compilation should # fail because the program uses SUBTRACT) cob -C REMOVE\\"SUBTRACT\\" -v addrsv_not_there.cbl echo; echo; # Now try a
Problem: When trying to update the Net Express product it states that the DSY (Dialog System) Websync cannot be run because Dialog System is not installed. Resolution: During the initial install of Net Express if "Custom install" was not choosen, then the Dialog System option does not install. The installation CD can be reinserted and run again - choose custom and it will determine which components have not been installed and let you choose them. After installation is complete the websync can be run again. Old KB# 7146
Problem: When selecting "open" files in the IDE - showing the list alphabetized backwards. Resolution: Net Express displays listing topics the same way as it is set in Windows. Go to Windows Explorer, then go to the same directory as you are listing in the IDE. Click on the "name" title bar - this will sort - if it sorts backwards then click again until it is in the desired alphabetic order. Go to tools - folder options - view tab - click on button that reads "set like current folder" and click ok - get out - close Net Express and then reopen Net Express. Old KB# 7147
Problem: You get the following message on Sun Sparc Solaris with Server Express: /tmp/cobAAAmZaaPD/%cob0.s: Assembler messages: /tmp/cobAAAmZaaPD/%cob0.s:36: Error: Unknown segment type /tmp/cobAAAmZaaPD/%cob0.s:36: Warning: rest of line ignored; first ignored character is '"' cob32: error(s) in assembling /tmp/cobAAAmZaaPD/%cob0.s Resolution: Solution is copy the GNU Versions to another name like cp /usr/local/bin/as /usr/local/bin/as.gnu cp /usr/local/bin/ld /usr/local/bin/ld.gnu cp /usr/local/bin/make /usr/local/bin/make.gnu Then the cob command get the assembler of the Sun C Compiler Old KB# 7211
Problem: In the course of Cobol program execution, it would be desirable to issue a command to the Unix shell for processing and to work with the command's output. Is it possible. Resolution: The procedure division statement is: CALL 'SYSTEM' USING MY-COMMAND. where MY-COMMAND is: 01 MY-COMMAND. 10 MY-COMMAND-LINE PIC X(2048). 10 FILLER PIC X VALUE LOW-VALUES. MY-COMMAND-LINE may contain any valid system command line, e.g. ls -l > lsout.txt It is recommended that command output be redirected to a file if the Cobol program needs a
Problem: When executing a database client application, an error about libpthread, or thread-local storage appears, such as : * /usr/lib/dld.sl: Can't shl_load() a library containing Thread Local Storage: * OpenESQL Error: You must execute your application using the threaded COBOL run-time. * RTS198 (load failure) Resolution: Recent versions of database software are built using threaded C libraries. It's therefore imperative that user applications are compiled and executed with the threaded run-time, i.e. : * Compile, generate, and link the application using the -t cob flag * Ensure that you execute the app using cobrun_t, rather than cobrun On some Operating Systems, such as HP-UX PA-RISC, if you attempt to execute a database application with the non-threaded COBOL run-time, you will see an error from the dynamic loader : > cobrun myapp /usr/lib/dld.sl: Can't shl_loa
Problem: Compiler errors reported becuase of * in first 6 columns of the source program Resolution: An asterick in column is treated as a comment compile using the directive NOMFCOMMENT Old KB# 7160
Problem: COBOL program with huge tables. The compiler is returning an error 16 "Data space too large". Is there anything directive they can set? Resolution: The application program has exceeded the limit of the data division. Old KB# 7178
Problem: Example of Status Codes returned by byte-streams routines: 14605 = Hex 390D = 9 013 = File not found. The sample pasted below "retrieves" the extended file-status code from the status-code returned by the byte-stream routine. Resolution: copy "cblproto.cpy". program-id. MYMAIN. working-storage section. 01 . 05 file-details cblt-fileexist-buf. 01 status-code pic xx comp-5. 01 status-codeX pic xx comp-x. 01 lgind-status redefines status-codeX . &n
Problem: Net Express Release 4.0: The XML-Wizard may generate a data structure like: 04 xml-act identified by "act" count in xml-act-count. 05 xml-MyName PIC X(90) identified by "MyName" . .......... 05 xml-more identified by "more". 06 xml-MyName PIC X(90) identified by "MyName". When coding MOVE "Harry" to xml-MyName of xml-act. The following compiler error message is returned: COBCH0005S User-name XML-MyName not unique Resolution: The identifier xml-MyName at the 05-level cannot be used in the COBOL-program, because there is no way for a proper qualification of thi
Problem: NOT SEEING PARAMETERS ON INPUT FILE defined as STDIN Resolution: set command_line_accept=true in the cobconfig file, which is a run-time configuration file. The run-time configuration file is a text file, which you can edit with your standard text editor. It is an optional file (no error will be issued if it does not exist) with the default name $COBDIR/etc/cobconfig. You can specify a filename for the configuration file by setting the environment variable COBCONFIG; for example: COBCONFIG=$HOME/myconfig export COBCONFIG command_line_accept Syntax: set command_line_accept={TRUE|FALSE} Value: TRUE or FALSE If TRUE, the first ACCEPT or READ from STDIN takes the input from the command line. Default: FALSE. The first ACCEPT or READ from STDIN takes the input from the user. This provides direct ANSI conformance. You should set this if you want to execute a program that has been generated from convert3 or convert5. Old KB# 717
Problem: Why don't the keys ALT CTRL work when pressing them? Resolution: Unfortunately most UNIX terminals, by default, simply do not send a key sequence when the Alt or Ctrl key is pressed. You can see that no key sequence is sent from the ALT key by trying the following: > cat > test Then try pressing ALT, you will see that nothing appears in test, then try pressing ESC and you will see the key sequence ^[ being shown as this is what is sent when the ESC key is pressed. As nothing is sent when the ALT key is pressed then there is nothing for Server Express to respond to, therefore this is not a Server Express software issue, but a keyboard/Unix issue. In order to get around this to use our software, we recommend using /a for alt and /c for ctrl. To get a full list of key mappings you can use /m or see the COBOL User's Guide Appendix for Unix key usage chart Otherwise maybe
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: The only reason a process would continue to run when a terminal session is ended is when the terminal session is not shut down correctly, for example if a client machine is switched off unexpectadly or the network connection is lost. When a telnet session is 'killed' i.e. not shut down cleanly, it does not send any signal back to any child processes (cobol, C or vi for example) and therefore the child processes have no reason to die and they continue running. Resolution: The best option is to always close the Cobol application cleanly. The other option is to use the exec command so that the cobol process is not a child process. When you don't use "exec" you effectively have two processes running, the first one is the shell invoked from the telnet session the second is "cobrun xxxx". If you then switch off the PC or the connection is lost, only the shell is ki
Problem: cob64: bad magic number error when linking application cob32: bad magic number error when linking application Resolution: When using COBOL in conjunction with third party software, ensure that the COBOL working mode matches the environment settings for the third party software. For example, Oracle installations on UNIX typically provide both 32-bit and 64-bit shared objects in $ORACLE_HOME/lib and $ORACLE_HOME/lib64 . You would therefore need to ensure that LIBPATH/LD_LIBRARY_PATH/SHLIB_PATH was set correctly. See Knowledge Base article #22062 for further details. Old KB# 7183
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.