Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
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: cob not finding include files for cc, error 1506-296 (S) #include file <oci.h> The script which compiles a mixed language application, uses the syntax -CC -I /pathname to include c header files. Resolution: The cob command returns the error 1506-296 include file not found because there is a space between the -I and pathname. When the space is removed the cob command compiles the cobol and c programs without error. Old KB# 7171
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: NFSFILELOCK causes the file handler to apply a lock in such a way that the application will gain exclusive access to a file against other applications. It is not a good alternative to fileshare, since it provides no locking against applications not using NFSFILELOCK. Resolution: The functionality is available in all genesis products i.e. SX, NX and MFE. Old KB# 7169#COBOL#netexpress#RMCOBOL#AcuCobol#ServerExpress
Problem: Dialog System screensets are not found or loaded at run time Resolution: In order to use directories other than the directory containing the application program, the user needs to set COBDATA to point to the location containing the screensets - ie Dialog system treats the screenset files as data files to be read when the screenset is initialized. COPYFILES can be placed in other directories and the COBCPY variable is used to point to the locations to be searched by the COBOL compiler and Animator Old KB# 7164
Problem: Cannot load CMDLINE.SAV Resolution: If the COBDATA environment variable is set, this error can be resolved by unsetting COBDATA or adding a colon (:) to the end of the contents of the COBDATA variable. Old KB# 7182
Problem: Call x'91' function '69' HP Server Express implementation error, l-attributes Resolution: Not all functions of the X'91' call are supported on UNIX. Many of the functions available under x'91' on DOS/Windows are not appropriate for UNIX systems This information is from the Server Express File Handling manual: The only functions supported under Server Express are: x"91" function 46 Enables null insertion x"91" function 47 Disables null insertion x"91" function 48 Enables tab insertion x"91" function 49 Disables tab insertion x"91" function 52 Specifies use of two-byte record terminators x"91" function 53 Specifies use of one-byte record terminators Old KB# 7175
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: Error while trying to compile a COBOL program: Load Error 'cobcheck.1.so' Resolution: Set LIBPATH to include $COBDIR/lib Old KB# 7158
Problem: ** External Compiler Module message ** DB0009 MF DB2 Connect program reported error condition ' 1403'.This ** error prevents SQL processing from continuing - further EXEC SQL ** statements will be ignored. This error is produced when compiling a DB2 program under Server Express on AIX platform. The DB2 database resides on a different server than the one that it is being used to compile. Resolution: When you compile or run a DB2 program using Server Express DB2 compiler directive, it must first connect to the database. With a local DB2 server, DB2 will attempt to use the logon information you used to logon onto that server if you do not provide ID/PASSWORD. Generally, this works fine. However, if the ID/PASSWORD on a remote server is different or non-existent, then the compile will fail with the 1403 error.&n
Problem: Adis error messages are displayed at line 24 in Animator, Resolution: Issue caused by the fact that the Animator uses the MFDEBUG terminal description entry and this entry contains the definitions LINES=#24 this then limits the usable screen to 24 lines. This is not a defect and is documented as follows: Here is the information extracted from the Server Express documents; 2.2.6 Specifying Screen Size for Screen-swapping When Animator executes a program, the program might need to use the terminal for input and output. If you only have access to a single terminal, and both Animator and the executing program need access to it, Animator keeps a virtual image of the program's output in the background. This image is displayed, and Animator swapped to the background if you press F2=View, or if Animator itself displays the program's output (during Step or Zoom operations, for example). By default, the size of this virt
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: When a COBOL application in INT or GNT is executed in a shell from a Visual Basic program, it does not usually get the focus by simply doing the following: Shell "run MyPgm.gnt" Resolution: Here is the Shell function syntax: processID=Shell(pathname[, windowstyle]) In the scenario involved to run INT or GNT, use vbNormalFocus for windowstyle. Shell "run adsamp.gnt", vbNormalFocus Old KB# 7153
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
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: 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: 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: 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: The Animator is considered to be a COBOL development system utilities. The solution to this problem is to set COBDATA beginning with a colon. Resolution: The compiler and animator themselves are COBOL programs, and they need to open their own files just as any COBOL program would need to open files, but setting COBDATA interferes with this. The documentation, in Appendix A of the User's Guide, indicates: Setting COBDATA affects the compiler and other utilities. During compilation, for example, program source is regarded as a data file by the compiler. If you intend to use any COBOL development system utilities, we recommend that the COBDATA value starts with a colon (:). Old KB# 7165
Problem: Copy members and called subroutines not found after porting source of working Windows Cobol program to Unix. Resolution: Unix treats case as significant in file names. Use FOLDCOPYNAME and FOLDCALLNAME directives to assist resolution. Old KB# 7157
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: 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: 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: Earlier COBOL products for both Wiindows and Unix products contained a family of Call-by-number routines to read and write characters and attributes to and from the screen. These are not available in Server Express Resolution: A lot of the call-by-number routines were replaced by call-by-name routines many years ago, but the call-by-number routines were kept in the product to assist migration. They've now been removed entirely. The replacements for x'B7' and x'B8' are as follows: B7 0 cbl_read_scr_chars B7 1 cbl_write_scr_chars B7 2 cbl_read_scr_attrs B7 3 cbl_write_scr_chars B7 4 cbl_write_scr_n_char B7 5 cbl_write_scr_n_attr B8 0 cbl_read_scr_chattrs B8 1 cbl_write_scr_charrts Refer to the product documentation for full details of how to use these calls. Old KB# 7187
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
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.