Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
Problem: Under AIX 5.2 (64bits) The command cobmode displays 64 I try with the Micro Focus example ( pi.cbl ) cob -x pi.cbl The following message is displayed << ld: 0711-736 ERROR: Input file /tmp/cobcp4xUa/%cob0.o: XCOFF64 object files are not allowed in in 32-bit mode. >> Resolution: This message is displayed if the environment variable LIBLIST is validated. The file defined in this variable is for 32bits mode. As this variable should not be used unless a Micro Focus Support representative asks you to, you must unset it . Old KB# 2184
Problem: If the output to STDOUT is redirected to a file or to another program, you won't see any DISPLAY or DISPLAY UPON CONSOLE in the user's terminal. This will also happen if you are running under a Application Server or Transaction manager like Micro Focus Enterprise Server or IBM TX-Series, etc... Resolution: A DISPLAY UPON CONSOLE just uses the standard i/o device. Please have a look at: http://support.microfocus.com/Documentation/books/sx50/sx50indx.htm Bookshelf > Program Development > 15. Device Handling for a list of devices that you can use with the UPON clause. If the standard output device is redirected externally, you might want to try using SYSERR instead, but that might also be redirected... cobrun myprog > standardoutputfile 2> standarderrorfile Old KB# 2227
Problem: By default the XML GENERATE statement converts data names to upper case to generate XML tags. The following: 01 myXML pic x(1000). 01 myItem1. 05 myItem2 pic x(10) value "my value". ... Xml generate myXML from myItem1 would generate "<MYITEM1><MYITEM2>my value</MYITEM2></MYITEM2>" in myXML Resolution: To preserve the case of data names when XML tags are generated with XML GENERATE it is necessary to use the PRESERVECASE compiler directive, i.e. $SET PRESERVECASE This directive is not documented in Server Express 5.0 but should be documented in Server Express 5.1. After setting PRESERVECASE, the contents of myXML in the example above would be: "<myItem1><myItem2>my value</myItem1></myItem2> Old KB# 2158
Problem: COBOL/Java/Oracle 9i application has failed with SQL abend code 1455 whenever COBOL with Oracle FETCH is executed multiple times from JAVA. Application logic that requires CONNECT function is based on a variable in Working-Storage that is set initially to "Y" and then reset to "N" after the CONNECT. During subsequent executions of the COBOL and Oracle program, the Working-Storage field is left as 'N" and it is unclear why. It is supposed to be a completed process after each run. Eliminating the JAVA interface permits the application to execute any number of times. So the inital value of the Working-Storage field is reinitialized each time the program runs outside the JAVA interface. Problem is two-fold: what is causing the SQL abend code and why isn't the JAVA interface clearing the process each time it completes? Resolution: SQL error 1455 was accurate. The reason was ther
Problem: On versions post 2.2 of Server Express this error may occur when trying to create an indexed file from a line sequential file maintaining the record format defined in the previous file. The loader is a C program which includes an FCD structure with the FCD3 format and a code which sets the value of the FCD field - all set to OPEN OUTPUT and DYNAMIC ACCESS MODE. If the not-ordered key is encountered, the following error is returned: write error: status = 2/1 So is it possible to create an Micro Focus indexed file from a sequential file containing the record including the keys but not in ascending order? Resolution: In earlier releases of the product the sequence checking was performed on the basis of the K switch. However, at some stage in the life-cycle of the product, it was changed so that this would have to be sent via a tunable. The value used in the access mode byte of the FCD specifies only that this FCD uses a file sta
Problem: This error may be encountered when attempting to create an indexed file from a line sequential file maintaining the record format defined in the previous file. The loader is a C program which includes an FCD structure with the FCD3 format and a code which sets the value of the FCD field. It is set to OPEN OUTPUT and DYNAMIC ACCESS MODE. This is a sample of the record to be loaded ; note that the records are not in ascending order. X98699ESTERO URSS, 000000000000000000000000000000000000000000 X98999ESTERO YU, GR, TR, SYR, R000000000000000000000000000000000000000000 X99099ESTERO USA, CDN, DOM, 000000000000000000000000000000000000000000 X99199ESTERO AMERICA LATINA, 000000000000000000000000000000000000000000 X99299ESTERO &nbs
Problem: Upgrading the operating system, is Server Express certified with this version? Resolution: Micro Focus supports a given version of a product on one specific hardware platform which is running a specifically identified operating system. This combination of Micro Focus product, Hardware platform, and Operating System is referred to as 'the reference environment'. In each Server Express installed product there is a file with environment information. This information is displayed during the execution of the installation script. It is found at: $COBDIR/docs/env.txt. This is an ASCII text file which lists the certified reference environment(s) for this version of the product. For each component, the certified version is listed followed by the command(s) used to find the information For example: This product is certified on the following reference environment: The command(s) used to gather the information is given following each entr
Problem: Try the following on HP-UX PA-RISC and HP-UX Itanium cd /usr/bin ls -l dig host kermit nroff You will see that these system utilities are approximately twice as large on Itanium. Resolution: HP have written an article about this which can be found at: http://h21007.www2.hp.com/dspp/files/unprotected/hpux/Itanium-Memory-Usage.pdf The PDF file is attached. Attachments: Itanium-Memory-Usage.pdf Old KB# 2118
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: SDE will either return a blank screen and you will get a call stack when he selects F4=Animate from the main menu and enters the program name Resolution: This is a known problem is Server Express v5.0 with a PRN ending in "9j.j3.50.02". This has been fixed in the latest fixpack. Solution is to download and install the latest fixpack. Old KB# 2219
Problem: Is there a way to insure that the "cob" compile command uses the xlc_r compiler with C code? It appears to be defaulting to xlc and causing compile issues with C code. Is it possible to override the cob default at a user and/or server level? xlc_r invokes the thread safe version of xlc. It should be used when any kind of multi-threaded code is being built. Resolution: When linking C code the -x,CC flags are required when using the cob command - this in combination with a C source file i.e. .C will invoke the xlC (C compiler) if the -t option is also used the xlC_r (reentrant C ) compiler will be used. cob -t -x,CC mypgm.C It is possible to configure the C and C compilers used by cob on a per session basis. To set the C compiler, set the environment variable CC, and for C use the environment variable CCOO. Assuming ksh, put the following in .prof
Problem: Using Server Express 4.0 SP2 on Linux cob -iav pi.cbl export COBSW= A $COBDIR/bin/rts32_t pi will not animate "jumps" to empty screen, ^C to exit. Displays error: Trace/BPT trap Resolution: The work around is not to use the threaded runtime (rts32_t) cobrun pi This is a know problem and it has been fixed in Server Express 5.0 Old KB# 2240
Problem: Application hangs on any OPEN statement Resolution: Are the files being open on an NFS mounted disk? If so ensire that the NFS locking daemons are running - rpc.statd and rpc.lockd Without the locking mechanism COBOL will not be able to OPEN a file. Old KB# 2207#RMCOBOL#AcuCobol#netexpress#COBOL#ServerExpress
Problem: Release 5.0: Which changes needed running ServerExpress 5.0 on SLES 10 x86_64? Resolution: $COBDIR/etc/cobopt from set GCC_LIB=/usr/lib/gcc-lib/i586-suse-linux/3.3.3 to set GCC_LIB=/usr/lib64/gcc//x86_64-suse-linux/4.1.2/32 also $COBDIR/etc/cobopt64 from set GCC_LIB=/usr/lib64/gcc-lib/x86_64-suse-linux/3.3.3 to set GCC_LIB=/usr/lib64/gcc/x86_64-suse-linux/4.1.2 Old KB# 2126
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: 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: Trying to compile into executable with "cob -x". Getting error message: "Can't open Z for reading: No such file or directory" Tried adding "-vDD" onto the "cob" command line, example: cob -x -vDD <file.cbl> This causes the "cob" command to become more verbose and to reveal everything it is doing behind the scenes. In this case it revealed that the error message was coming from the system assembler "as": Entry points defined in module: UNS500.o *UNS500 as Z DA1.1 -o /usr/unitest/tmp/cobAAAa00372/%cob0.o /usr/unitest/tmp/cobAAAa00372/%cob0.s Assembler messages: Can't open Z for reading: No such file or directory Z:0: Can't open DA1.1 for reading: No such file or directory Resolution: The user in this case had PATH set such that the assembler
Problem: The FaultFinder log files are missing ALL call stack entries for both COBOL and non-COBOL on AIX. Resolution: This appears to be a problem specific to AIX. To get the call stack entries into the FaultFinder log you need to set the LDR_CNTRL environment variable as follows: export LDR_CNTRL=USERREGS Specifying the USERREGS option will tell the system to save all general-purpose user registers across system calls made by an application. Old KB# 2103
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: Using cross-session animation in the correct way, i.e. starting "cobanimsrv" in one window, and starting the program with "cobrun" in another window (using the same working directory and the same userid), the Animator came up, and the user could Step, but if the user tried "Query" on a data item, the Animator crashed, briefly flashing error 114 then disappearing. Redirected stdout and stderr from the failing cobanimsrv session to capture the full text of the error 114 message. The 114 was being reported on file "cdi2", which is the COBOL system internal module responsible for loading ".idy" files. Resolution: Environment variable LD_PRELOAD was set. It was preloading a shared object built with "cob -z" containing Oracle client routines. This is a valid and recommended way of bringing Oracle client routines into the COBOL runtime system. Temporarily un-setting the LD_
Problem: filestat.c is missing from Server Express, how can file status values be customized. Resolution: The file named filestat.c file is not supplied in the Micro Focus Server Express product. There is a new mechanism in the Server Express product which will allow file status values to be converted to any desired value(s). The steps needed to enable the conversion from Micro Focus standard file status codes to other values are: Set the CONVERTSTATUS option in File Handler configuration file (extfh.cfg) for information on configuring the File Handler, see the chapter File Handler Configuration in File Handling documentation. The default filename for the File Handler configuration file is extfh.cfg however a different filename can be used and setting the EXTFH environment variable, for example: EXTFH=MYCONFIG.cfg The CONVERTSTATUS option specifies the name of a program that is ca
Problem: When reading a sequential file that contains tab characters( x'09' ASCII), Micro Focus COBOL is inserting multiple spaces and pushes the remaining characters out and they spill over and are read as a subsequent record. Is there a way to easily remove the tabs? Resolution: One way to get around this is to set the external file handler configuration option: EXPANDTAB=OFF in the extfh.cfg file. For how to set up the extfh.cfg file see the Server Express documentation for File Handling and look for Configuration File in the Table of Contents. Alternatively, if the tab characters are not needed for further processing of the file they can be removed permanently using the UNIX translate command. The tr command will translate strings of characters throughout a file. (See the UNIX "man" pages for tr) Here is an example: tr '\\011' '\\040\\' <filea >fileb The numbers are the O
Problem: Under Windows Operating Systems, text files have a record terminator of Carriage Return-Line Feed (hex'0D0A), under UNIX, the record terminator is only a Line Feed (hex'0A'). If you need to share these files between UNIX and Windows, you have to convert the record terminator after each transfer (or FTP the file as ASCII). What happens if the file needs to be shared simultaneously between the two environments via a shared network drive? Resolution: There is a file handler configuration option called 'LSRECDELIM' which allows you to specify what record delimiter to use for Line Sequential files. The default for Windows is LSRECDELIM=0D0A and LSRECDELIM=0A for UNIX. This is defined in the extfh.cfg file as follows: [XFH-DEFAULT] LSRECDELIM=0D0A If you want to configure this on a file-by-file basis, you can specify for which file as follows: [XFH-DEFAULT] BASENAME=ON [file1.dat] LSRECDELIM=0D0A [file2.dat] LSRECDELIM=0A The ext
Problem: Micro Focus supports several internal formats for indexed files, including: IDXFORMAT"1" IDXFORMAT"2" IDXFORMAT"3" IDXFORMAT"4" IDXFORMAT"8" An existing indexed file of unknown format can be examined by the "rebuild" command to determine its type. Use the "-n" flag of "rebuild" to report the file's properties without actually rebuilding the file, for example: rebuild -n <filename> In the output, rebuild indicates the IDXFORMAT in a field named "Format", but uses a different set of descriptions in place of: IDXFORMAT"1" IDXFORMAT"2" IDXFORMAT"3" IDXFORMAT"4" IDXFORMAT"8" Resolution: The shell script attached to this Knowledgebase article creates and then compiles a COBOL program, which in turn creates files of various IDX format, then the shell script runs "rebuild -n" for each file to show how rebuild behaves. Just download the script and run it like: sh doit.sh It reveals that rebuild report
Problem: What is the procedure to debug Non-Cobol shared object Resolution: When developing a mixed-language application and need to debug a non-COBOL shared object that dynamically loads another non-COBOL shared object, you might find that the system debugger will not allow the setting of any breakpoints in the callable shared object until it has been loaded. To debug the program in this circumstance, set a breakpoint on a function called mF_cso_loaded(); this enables viewing when the run-time system loads and unloads shared objects from memory. When the callable shared object has been loaded, breakpoints can now be set. The function mF_cso_loaded() is called whenever a callable shared object is loaded or unloaded. It has two arguments; the first is the name of the callable shared object being loaded or unloaded, while the second is set to zero for a load, non-zero for an unload. Old KB# 2112
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.