Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
Problem: When is the best time to commit a fixpack? If 2 fixpacks are installed, can the first be committed after 2nd is installed? Resolution: Fixpack administration can be entered by logging-on a root and entering: sh $COBDIR/bin/mfadminfp This will present you with the following screen: Pack Administration 1) Uninstall a Pack 2) Commit a Pack q) quit COBDIR is set to /home/products/SX50GA Select option (1,2,q): 1 When uninstalling a fixpack you can only install the last installed (uncommited) fixpack. However if you have several installed, uncommitted fixpacks you could run the uninstall several times to take-out many fixpacks. When committing a fixpack, all earlier fixpacks are also committed, however it is possible to commit an earlier fixpack after installing a later one. Example screen: Commit a Pack The following Packs are currently i
Problem: An entry has been added to the exgfh.cfg entry to resolve a particular problem but the parameter is not being picked up. Resolution: The entry in the extfh.cfg file was incorrect. The extfh.cfg file entry was: SET EXPANDTAB=OFF Changed this to: EXPANDTAB=OFF "SET" is not valid for this parameter. See the File Handling reference manual for correct syntax for the External File Handler configuration file options. Old KB# 2093#AcuCobol#ServerExpress#netexpress#COBOL#RMCOBOL
Problem: When linking a application under Server Express which has been precompiled with the Sybase precompiler, cobpre, the following error was returned: ld: fatal: libcobrts.a: open failed: No such file or directory This did not occur with Object COBOL Developer Suite. Resolution: The makefile being used was written to work with Object COBOL Developer Suite (OCDS). Under Server Express, a number of the modules, including the COBOL run-time, have been repackaged. Whereas under OCDS, the COBOL runtime was shipped as libcobrts.a, under Server Express, it is provided as a shared object. After updating the makefile to remove the hardcoded reference to the archive, the application linked cleanly. Old KB# 2144
Problem: Debian is a free operating system which uses the Linux kernel (the core of the operating system), but most of the basic operating system tools come from the GNU project. http://www.debian.org/ So are Micro Focus Linux / UNIX products certified on Debian? Resolution: Micro Focus products are not supported on Debian. Micro Focus only supports the Enterprise editions of SuSE and Red Hat Linux. While it may be possible to install and run Server Express on other Linux distributions, the amount of support we would be able to offer will be limited. This is because each UNIX product is built on a platform made up of a combination of operating system, C and C compiler, assembler, and system linker each with a particular version. In addition to this there may be specific patches required and on certain Server Express platforms there are also JVM/JDK components required. This combination is referred to as the product 'referenc
Problem: How to set the record delimiter on UNIX like it is on Windows so that it behaves the same when displaying CRLF. Resolution: LSRECDELIM can be used to set the record delimiter on UNIX to CRLF as it is on a PC. Old KB# 2192
Problem: Intermediate level code code (int) is portable between Windows and UNIX. Can you take an int module and that uses DB2 and run it on UNIX? Resolution: Although int level code is portable this is not true where database access is required, as database precompilers generate different COBOL code across platforms (and also between 32-bit and 64-bit platforms). COBOL applications that use databases need to be precompiled on the target platform. Old KB# 2104
Problem: When this error is encountered on AIX systems it is generally due to the fact that the LIBPATH environment variable is not set up correctly. exec(): 0509-036 Cannot load program /usr/lib/cobol/bin/rts32_t because of the following errors: 0509-150 Dependent module libcobrts_t.2.so could not be loaded. 0509-022 Cannot load module libcobrts_t.2.so. 0509-026 System error: A file or directory in the path name does not exist. cob32: error(s) in compilation: /diapason/diap524/tst/source/FMMOV005.cob Resolution: Make sure that the LIBPATH environmental variable points to $COBDIR/lib set LIBPATH=$COBDIR/lib:$LIBPATH this should solve the problem. Old KB# 2101
Problem: This is the scenario Server 1 Local CCITCP2 or mfds running CCITCP2 environment variable set to point to local CCITCP2 Fileshare running registered against local CCITCP2 Server 2 Local CCITCP2 or mfds running CCITCP2 environment variable set to point to local CCITCP2 Fileshare running registered against local CCITCP2 In this scenario, on some versions of Server Express, if a client running in Server 1 tries to open a file under the remote Fileshare running in Server 2, it will fail with a 9/124 error. The same viceversa. If both Fileshare register against the same CCITCP2, that is the CCITCP2 environment variable has the same value when they start, this problem doesn't occur, but with this setting, the server that is running the only CCITCP2 can not be down, otherwise servers won't be able to access to any file, local or remote. Resolution: This is due to a problem in CCITCP2 / mfds that is fixed in Server Express 5.0 WS3 in the platfo
Problem: Compilation and program executuion fail for some user and not for others Resolution: Check to see if there is a problem with user permissions in the directories being used. Check the UNIX profile for the failing users. In some cases system administrators have used the 'trap' instruction in order to prevent users from breaking out of applications. The trap command intercepts UNIX signals, many of these signals are used/required by the COBOL product, intercepting these signals may break the scheme used by the COBOL product. Old KB# 2206
Problem: Cannot proceed with installation according to the instructions. Instructions say to run "setup.sh" but no file by that name appears. Instead it appears as "SETUP.SH;1" with a semicolon one at the end. Resolution: This is caused by the way the CD is mounted. Refer to the pamphlet included with the media for mounting instructions for the appropriate operating system Old KB# 2241
Problem: Customer gets syntax error 1238-S "Conflict with REENTRANT Directive" when using Oracle makefiles to compile .pco source code. Adding "-P -C settings" to COBFLAGS in the makefile creates a .lst file. REENTRANT"1" is indeed specified in the settings. Resolution: Experimentation shows that REENTRANT"1" gets turned on when the "-t" cob flag is specified. The -t flag should be specified when compiling for database access -- and Oracle's makefiles do specify it. Regarding conflict with REENTRANT, the Server Express Documentation in the area of "Multi-threaded Programming", "Considerations When Creating Reentrant Programs", says: > > Use of some COBOL features will preclude reentrant > > compilation; most of these COBOL features are obsolete or > > archaic in ANSI Standard COBOL and their use should be >
Problem: There is known defect where in some cases the results of a COMPUTE statement may be incorrect when executing in machine native code on Intel x86 platforms. Resolution: This error can be avoided by using the -g flag when compiling the machine native code executable. The error is introduced by a incorrect assumption in the code optimization routine used by the compiler. The -g flag alters the optimization routines used by the compiler so that the error is avoided. A permanent correction for this error will be released in a Fixpack for Server Express V4.0 SP3. Old KB# 2157
Problem: Can IDXFORMAT"8" files be variable length? Resolution: The following program demonstrates that it is generally possible to create an IDX8 file having variable length records: 000001$set idxformat"8" 000002 select file1 assign to "file1" 000003 organization indexed 000004 access dynamic 000005 record key file1-key1. 000006 000007 fd file1 000008 record contains 30 to 50 characters 000009 recording mode v. 000010 01 file1-rec1. 000011 05 file1-key1 pic x(10). 000012 05 file1-data pic x(20). 000013 01 file1-rec2. 000014 05 file1-key2 pic x(10). 000015 05 file1-data pic x(40). 000016 000017  
Problem: Program defined with ASSIGN TO PRINTER is not sending output to the printer Resolution: Printing from an application in Unix is usually done via unix pipes (dd_). set up dd_ environment variables so commands will be executed by the operating system shell. The shell used is that defined in the environment variable SHELL or, if this has not been set, /bin/sh is used. The ASSIGN TO PRINTER clause does not send output to a printer; it sends it to a file named LPT1. To send output to a physical printer, you must use the dd_LPT1 environment variable or, if your system supports the lp printer spooler, you should use: dd_LPT1=">lp";export dd_LPT1 - Or you can just write in a normal sequential file and print it at the end: working-storage section. 01 myfile-fid pic x(20). 01 my-print-call pic x(30). procedure division. ...... close myfile string &
Problem: Specifying a 'CODE' clause in the RD (Report Descriptor). This allows multiple reports to be included within a single report file... The two(2) report 'code' characters that are included in the final report output, at the beginning of each line is problematic. Resolution: The CODE clause is not required to write more than one report to a file. This can be done without the CODE clause. select my-file assign to "a.pnt". file section. fd my-file report report-1 report-2. report section. rd report-1. 1 my-detail type detail column 1 line plus
Problem: If an rts error occurs COBCONFIG can be used to invoke the animator at the point where the rts error occurs. It is also possible to invoke the system debugger. Resolution: This article assumes the user has a working knowledge of the operating system debugger. If not, consult the operating system man pages or vendor. First, download attached script sysdebug. It may be necessary to modify this script to include the correct debugger for the operating system. Install this script in a directory which is on the PATH. In this directory run chmod x sysdebug Then create the file /tmp/debug.cfg with the following lines: set debug_on_error=1 set debugger_command="sysdebug" and set and export the COBCONFIG environment variable. For example in ksh use: export COBCONFIG=/tmp/debug.cfg If already using COBCONFIG, simply append these
Problem: I see that the file $COBDIR/docs/env.txt shows the versions of Java that are supported for my version of Server Express. These are all "Sun" versions of Java. I would like to use IBM Java version 2.1.4. Can I still use this with Server Express? Resolution: Strictly speaking, the versions of Java listed in $COBDIR/docs/env.txt are the only ones supported. But this does not mean it is impossible to use other versions of Java. Java versions from other vendors such as IBM are often "rebadged" Sun versions (derived from the same code base and maintaining the same version numbering). These are sometimes functionally compatible with the Sun versions. What Micro Focus means by "supported" is that, for customers with active maintenance, Micro Focus Supportline will always be willing to talk on the phone and answer technical questions and provide assistance, but if a b
Problem: Java Objects Leak when being used from COBOL. When using many Java objects from COBOL it was found that the Java Objects were not garbage collected by the Java runtime. Resolution: In order for the Java runtime (JVM) to reclaim objects created from COBOL then COBOL needs to finalize the object reference. For Example:- class myjava is "$java$myjavaclass" 01 myjava object reference. invoke myjava "new" returning myjava invoke myjava "aMethod" invoke myjava "finalize" returning myjava The "finalize" call is required to prevent any Java object leaks. Old KB# 2102
Problem: rebuild myfile -p -d receives error Too many records with duplicate keys Error on output file - status 22 - records read = xxxxxxx Resolution: An output filename must be specified on the rebuild command if the -p (in place) option is specified. Make sure enough space is in the directory or give it a directory path/outfilename where there is enough space. The -p option instructs Rebuild to rebuild an IDXFORMAT"8" file in place. The rebuild uses less disk space, but if it fails the file is lost. You must back up the file before you attempt a rebuild with this option. Old KB# 2128#ServerExpress#RMCOBOL#COBOL#netexpress#AcuCobol
Problem: Is there any tuning parameters for rebuild that might help performance? Resolution: During processing Rebuild sorts a temporary file which it generated when it loaded the indexes (the file is created in the system temporary directory) and then uses the results of the sort to update the indexed file. There is an environment variable - SORTSPACE which specifies the amount of memory to be allocated to internal workspace for SORT operations The setting for SORTSPACE when performing a rebuild should be based on key size rather than record size (as it would be when using MFSORT). As a rule of thumb the value of SORTSPACE should be the larger of the following values rounded up to a suitable megabyte: a) SORTSPACE = (number of records * (size of the largest key 16)) Or b) SORTSPACE = (number of records * ((number of keys with duplicates * 4) 16)) Old KB# 2214#AcuCobol#COBOL#netexpress#ServerExpress#RMCOBOL
Problem: Printing is not stopping at the end of the page additional lines are printed on the next page. Resolution: Use the compiler directive RWHARDPAGE This directive causes the Report Writer control module to execute a form feed after the last item has been printed on a page, instead of the usual multiple blank lines. This ensures that the paper is positioned correctly ready for a new page. Old KB# 2095
Problem: I need to call a C subroutine from COBOL and pass a null pointer as one of the arguments. How can I pass a NULL pointer. Example - CALL "routine" USING ARG-1, NULL, ARG-3 Resolution: Attached to this Knowledgebase article is a tar file containing a working demonstration of how to pass a NULL pointer from COBOL to C. Un-tar and then just enter "make", and the demo will run. Note that the COBOL program is only two lines but will compile and run successfully. In the CALL statement in COBOL, the trick is to declare the parameter as "by value 0 size 4". Attachments: NULL_pointer_demo.tar Old KB# 2215
Problem: A copy of the Readme file is attached to this article. Resolution: Attachments: Server Express v5 WS03 AIX.zip Old KB# 2195
Problem: After having used a file (modified it, rewritten it, deleted keys, etc), the structure of the file becomes disconnected and less effective. Rebuilding the file, that is, reorganising the make-up of the file, spaces and empty records are deleted. To this end the area taken up by the keys is reduced (sometimes dramatically). This behaviour is quite normal and should be expected. Resolution: The following information helps in explaining what happens when a file is reorganized and why you may want to rebuild a file. The format of the command line for reorganizing a file is: rebuild in-file,out-file [-c] [-d] [-i] [-k] [-n] [-p] [-s] [-v] [-x] As indexed files are updated by adding, deleting and altering records, the index and data structures become disjointed, making processing less efficient. In addition, space left by deleted records is not always reused, making the file bigger than it needs
Problem: What is a Zoned Decimal and how is it represented in COBOL? Resolution: A zoned decimal is a USAGE DISPLAY item where every digit is represented using one byte character, the corresponding ASCII or EBCDIC character is used for each digit. If a zoned decimal is Signed and the SIGN clause is not specified (nor the NUMERIC SIGN special-names clause is specified), then the sign is stored in the second part of the last byte together with the last digit, using "C" for postive values or "D" for negative values. This behaviour can be changed by adding the SIGN clause, ie: 05 my-zoned-decimal PIC 9(5) USAGE DISPLAY SIGN TRAILING SEPARATE. The general format is SIGN [IS] {TRAILING | LEADING} [SEPARATE [CHARACTER]] Old KB# 2231
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.