Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
This article describes how to avoid DB0108 and SQL0088N errors by fully qualifying host variables. Problem: Compiling an SQL program from Net Express or Server Express using the DB2(QUALFIX) directive could result in a DB0108 error using DB2 UDB Version 8 or an SQL0088N error using DB2 LUW when the same variable is defined in more than one structure in a program. For example, compiling the following program under DB2 UDB Version 8 results in an error: $set db2(db=sample udb-version=8 QUALFIX) 01 ws-structure-1. 05 ws-var-1 PIC X(10). 01 ws-structure-2. 05 ws-var-1 PIC X(10). procedure division. MOVE 5 TO ws-var-1 OF ws-structure-1 *> this works MOVE 5 TO ws-var-1 OF ws-structure-2 *> this works too EXEC SQL SELECT EMPNO INTO :ws-var-1 FROM EMP WHERE EMPNO = '200010' END-EXEC goback . > * Micro Focus
This article explains how to recover a corrupt LMF database prior to Server Express 2.2 Service Pack 2. Problem: Prior to Server Express 2.2 Service Pack 2, the recovery utility lmfdbrecover was not available. How do you recover a corrupt LMF database if you get the following message: Micro Focus LMF - 002: The license database is corrupt. The License Manager detected corruption in the license database. The license database may have been tampered with. Therefore, the License Management Facility terminated execution of the licensed product. Resolution:For Server Express 2.2 Service Pack 2 onwards, you can use $COBDIR/lmf/lmfdbrecover. Refer to the Development System Licensing Guide, Chapter 2, Administering the License Management Facility, Recovering from a Corrupt License Database. For older products, you will have to reinstall the License Manager component to reinstate the database with the correct structure. The steps are: Determine where the live license
This article explains how to recover a corrupt aslmf database prior to Server Express 2.2 Service Pack. Problem: Prior to Server Express 2.2 Service Pack 2, the recovery utility aslmdbrecover was not available. How do you recover a corrupt aslmf database if you get the following message: Error Message: License Key database is corrupt The License Manager detected corruption in the license database. The license database may have been tampered with. Therefore, the License Management Facility terminated execution of the licensed product. Resolution: For Server Express 2.2 Service Pack2 onwards, you can use $COBDIR/aslmf/aslmfdbrecover. Refer to the Deployment License Management Guide, Chapter 2. Installing and Administering Micro Focus Server Licenses, Recovering from a Corrupt License Database. As aslmf uses cached data you need not stop anything. Remove or rename the /var/mfaslmf directory Go to $COBDIR su to root and run ./aslmf/aslmfinstall ( the tail end of th
This article addresses the use of "down-level licensing" for Micro Focus products, which is the practice of running applications compiled with earlier versions of software such as Net Express, on earlier versions of Application Server, but using a license for the current version of each. Problem: Does the Net Express 5.1 Application Server License support down-level licensing? For example, if a Net Express 5.1 Application Server (Server for COBOL 5.1) license is installed on a machine, is it possible to run applications compiled with Net Express 4.0 using the 4.0 Application Server running on the 5.1 Application Server License? Resolution: The Micro Focus support policy regarding the Development tool (Net Express), Application Server (Server for COBOL) and licensing is that all three must always be synchronized by release number; for example, Net Express 4.0 applications run on Application Server 4.0 with 4.0 licensing. Micro Focus does not support down
This article explains that the RTS 173 on _mF7801 error is due a change in the control routine support library. Problem: After an upgrade from Application Server for Server Express 2.0.11 to Micro Focus Server 5.0, generated code gives the following error message: Load error : file '_mF7801' error code: 173, pc=0, call=1, seg=0 173 Called program file not found in drive/directory Resolution: The RTS173 on _mF7801 is due a change in the control routine support library between two versions of Server Express. GNT code created with Server Express 2.0.11 or earlier will not work with Server 5.0. The solution is to either deploy intermediate code (INT) created with the older version of Server Express or upgrade Server Express and regenerate the GNT code using the new version. Old KB# 14038
This article explains how to resolve a License Server error indicating that the License Server is unable to load a license DLL. Problem: The License Server returns an error stating that it is unable to load license DLL. When you try to rectify the LS4.arc file, you are directed to a page stating that the LS4.arc file does not exist. Resolution: Windows Security patches might cause a License Server DLL to become corrupt. Running the repair tool from "Programs and Features" or "Add or Remove Programs" should restore all original DLL files. Incident Number: 2257534 Old KB# 14099#Licensing#MainframeExpressandMFE#Enterprise
This article explains the error message "LMF 010: Unable to contact License Manager". Problem: The message "LMF 010: Unable to contact License Manager" is returned when Server Express is unable to contact the License Manager. Then the License Management Facility terminates execution of the licensed product. Why is this error occurring? Resolution: Normally the License Manager runs continuously and does not require any manual intervention. It communicates through the console, reporting status and activity, and is a free-standing process which runs as a daemon. If for some reason this process terminates, you will encounter this particular error. To confirm that the License Manager is running: Log in as root. Go to the directory in which License Management Facility is installed (by default it /usr/lib/mflmf or /opt/lib/mflmf depending on the operating system. Enter the command: ./lmfgetpv In this scenario, the License Manager is probably not running (hence the error) so it is necess
This article explains an error that occurs on AIX systems, with Server Express running in 64-bit mode. Problem: When running a COBOL program compiled to .gnt or executable, the following error occurred on an AIX system, with Server Express running in 64-bit mode: Symptom: error 114 in module "mFFH" when running a COBOL program compiled to .gnt or executable. The error 114 occurred while running an end-user application program, but could be reproduced using nearly any COBOL program, including the demonstration program pi.cbl provided with Server Express, for example: mkdir /tmp/testcd $COBDIR/demo/debugcp pi.cbl /tmp/testcd /tmp/testcob -x pi.cbl./pi The symptom did not occur when running .int code. Also, it occurred only in 64-bit mode, not 32-bit mode. Note: The mode in which Server Express is currently operating can be revealed using the cobmode command. Additionally, when attempting to debug using Animator, or using system debuggers such as "
This article explains the correct Language C to resolve an error 114 message. Problem: What is the message Error 114 encountered during finalization when the main module is writen in Language C and calls COBOL modules? Resolution:One reason this error is displayed is because cobinit function is used and cobtidy() is not used. The Language C must be as follows: main( int argc , char *argv[]) { .. cobinit(); ........... cobtidy(); } Old KB# 14057
This article describes how to work around the fact that Microsoft Windows doesn't allow more than 68 runtime sessions at a time. Problem: acurcl appears to "hang" when users attempt to start more than 68 runtime processes at the same time using Micro Focus Thin Client version 7.2.2 on Windows 2000. Resolution: Investigation revealed that this problem is the result of a Microsoft Windows limitation. A Microsoft Knowledge Base article, #814802, describes this issue. The article provides information about modifying the registry to allow more runtimes to run. However, this modification may adversely affect other services running on a server, so we strongly suggest that users read and understand that article before attempting to modify the registry entry. The registry entry to modify is HKEY_LOCAL_MACHINE\\System\\CurrentControlSet\\Control\\Session Manager\\SubSystems and the value to modify is "Windows". The default value
Environment Server ExpressServer for COBOLApplication Server for ServerExpressApplication Server for NetExpress Situation When running ./lmfgetpv or ./mflmman the following message is displayed: [root@servername lmf]# ./mflmman MF-LMF:Tue Mar 15 15:56:17 2022: LMF Starting MF-LMF:Tue Mar 15 15:56:17 2022: Unable to open License Key database MF-LMF:Tue Mar 15 15:56:17 2022: LMF Closing Down [root@servername lmf]# Cause Corrupted license database. Resolution Log in as root and try the operation again.If it does not work, the license database will need to be reset.Development License DB:/lmfdbrecover located in opt/microfocus/mflmf.Re-start License Manager../mflmman  
This article explains how to use shared objects on UNIX. Problem: I would like to know more about using shared objects on UNIX. Do you have any information toward this? Resolution: Callable shared objects (CSO), self-contained callable shared objects (scCSO), COBOL shared libraries, shared libraries are all examples of what UNIX thinks of as shared objects. There is no architectural difference between a shared object and shared library[1]. There are simply different conventions about their naming and use. Most third party code, for example Oracle, is supplied as one or more shared objects. Only one copy of the text (code) of a shared object is present in memory, no matter how many processes and executables reference it. This code sharing makes shared objects efficient and attractive. Shared objects save disc space, as there is only one copy of the code on disc. Shared objects also allow old programs to pick up fixes without the need for recompilation or relinking.
This article explains the Pipe Create Error and how to resolve it when starting License Manager. Problem: We are receiving the following error message when attempting to start the License Manager and we don't understand Pipe Create Error: Starting MFLM License Manager MF-LMF:Thu Aug 14 08:58:35 2008: LMF Starting MF-LMF:Thu Aug 14 08:58:35 2008: Pipe Create Error MF-LMF:Thu Aug 14 08:58:35 2008: ENOENT(2): No such file or directory MF-LMF:Thu Aug 14 08:58:35 2008: LMF Closing Down Resolution: License Manager uses named pipes as temporary files and creates them in the location defined by the UNIX operating system setting of P_tmpdir. This is typically /tmp. You might want to relocate the named pipes. When License Manager is launched it creates one long-lived named pipe, called LMF-common, which exists until License Manager is closed down. While it is running, it also creates a number of transient named pipes that exist only for a short time. You might wa
This article explains that unresolved references in the call subroutine may result in this error. Problem: Our application uses subroutines located in callable shared objects (.so) extension. An RTS 198 abend occurs when calling the subroutine. Why is this? Resolution: The most comon cause of this error is that there are unresolved references in the call subroutine. Compile the callable shared object using the -U option. Calls to genuine unresolved symbols will cause RTS 173 errors to be reported. Old KB# 14052
This article explains how to identify installed licenses and serial numbers. Problem: I am trying to identify which licenses and serial numbers are installed. How can this be done? Resolution: To find the serial numbers and the license keys installed on a machine for Server Express Developer Licenses, take the following steps: Go to the installation location for the LMF License Manager. If the location is unknown it can be found using one of several methods. Execute the command $COBDIR/lmf/lmfgetpv and if the License Manager is running its location will be reported. From Server Express 4.0 ServicePack 2 and later, execute the command $COBDIR/bin/mflicense, which is a utility that allows you to use the LMF administration tools, assuming that you possess Super User privileges. Execute the command: find / -name mflmfdb\\* -print. The results of the find command should point to the proper location. To identify the Server Express Developer key
The AcuThin client must be installed on the Windows client PC, but it is not available on the installation CD. Problem: The UNIX server products were installed from an archive downloaded from production. To install the AcuThin client piece, you need access to the atcinst.exe file. This file should be located on your Micro Focus installation CD in the Redist directory; however the file is not there. Resolution: Download the attached atcinst.zip file, extract atcinst.exe, and execute it on your target client PC. This installs AcuThin Version 8.1.0. atcinst.exe Date: Click here to enter a date.Name: Description of change: Date: Click here to enter a date.Name: Description of change: Jean FarnsworthOld KB# 14096
This article is specific to ACUCOBOL-GT and describes how to deal with an Error 35 on Suse 9.1 - kernel 2.6.5. Problem: An OPEN OUTPUT statement produces an error 35, even if PATH and permissions are correctly set. The error mainly happens on the Operating System Suse 9.1 - kernel 2.6.5 (IBM POWER PC). Resolution: The error is the result of a known bug in the Suse Operating System. The provider suggests upgrading the Operating System to SLES9 Service Pack (SP) 1 or upgrading the kernel to version 2.6.9-rc4. Incident Number: 2260365 Old KB# 14107
This article describes how to use F11 or F12 on a Windows application. Problem: You want to configure the runtime so you can recover the keystrokes F11 or F12 from your keyboard on your Windows graphical application. Resolution: Set the KEYSTROKE runtime variable in the configuration file to return the exception expected for those keys. This is done by adding the EXCEPTION keyword to this variable and setting its value. For example: KEYSTROKE EXCEPTION=11 U1KEYSTROKE EXCEPTION=12 U2 In this example, F11 returns exception value 11 and F12 returns exception value 12 when used. Your next step is to write the code to use those two values. The KEYSTROKE variable (including its keyword options) is described in detail in section 4.3.2.2 of your ACUCOBOL-GT User's Guide. Incident Number: 2180699 Old KB# 14104
This article explains why an RTS 114 error occurs when running Animator file=dispatch.gnt. Problem: We are receiving the following RTS error: Execution error : file '/opt/microfocus/cobol/dynload/animchr.lbr/dispatch.gnt' error code: 114, pc=0, call=1, seg=0 114 Attempt to access item beyond bounds of memory (Signal 11) Resolution: At this time the Animator under Server Express will not work if the machine has been started with the SMP kernel, it will only work with the normal kernel. Check the kernel with 'uname -a' . You will know that it's been started with the SMP kernel if the result looks like $ uname -a Linux cds-entw 2.4.21-32.ELsmp #1 SMP Fri Apr 15 21:17:59 EDT 2005 i686 i686 i386 GNU/Linux It should work okay if it looks like: $ uname -a Linux cds-entw 2.4.21-32.EL #1 Fri Apr 15 21:29:19 EDT 2005
This article explains that increasing the kernel parameters for the HP/UX operating system will resolve the Animator load failure. Problem: When using Q C [Query Cursor] or Q E [Query Enter variable] the Animator window closes and the application receives the error Unable to load program: Load error: file 'XXXXXX' error code: 177 pc=0 call=1 seg=0 177 attempt to cancel active program This error occurred on a HP/UX UNIX platform. Why is this? Resolution: The issue regarding Animator load failure can be resolved by increasing the kernel parameters for the HP/UX operating system. A large executable which includes many database access modules might develop a large memory footprint, not only because of the large file I/O but because the database access routines are linked into the executable (even when the database is not accessed). Review the settings for data size and stack size. Configure t
This article explains what happens when COBDIR/aslmf/apptrack option 6 is entered. Problem:Using AppTrack to reinitialize the COBOL AppServer with option 6, are there some files being overwritten or created? If so, what file(s) get updated or created when COBDIR/aslmf/apptrack option 6 is entered? Resolution: No files are reinitialized by $COBDIR/aslmf/apptrack option 6. Instead, the shared memory segments that are used by AppTrack are reinitialized based on the database/var/mfaslmf/mfasdb To view the memory seqments used by AppTrack use 'ipcs -mob'. Look at the shared memory segments that are 6 bytes in size. These are aslmf segments (they will have segment keys commencing 0x741cc1... ) The NATTCH column shows how many processes are holding are holding aslmf licenses. Each attach represents one license unit. These segments are reinitialized automatically when you add or remove a license. Old KB# 14018#COBOL#ServerExpress#Licensing#netexpress
This article explains an unexpected Signal 4 Error RTS 115 when running a COBOL/SQL application. Problem: When running a COBOL/SQL application which uses Oracle 10G and Server Express, we are intermittantly receiving RTS 115 unexpected Signal Error. Why is this? Resolution: Animating the application revealed that the error occured in a SQL statement. Analysis of the core dump using dbx stack trace indicates the error occurred in SQLBEX, an Oracle api routine. Upgrading the Oracle Client to the exact level to match the Oracle server corrected the error. Note: For instructions on using the dbx trace refer to knowledgebase article 23886. Old KB# 13996
This article explains how to analyze intermittent Signal 115 errors when using Oracle. Problem: How do you analyze intermittent unexpected Signal 115 errors when using Oracle? Resolution: Analysis of the core dump using dbx stack trace will indicate where the error is occuring. The steps taken to analyze the RTS 115 error using a core dump are as follows: The default action of the COBOL RTS is to catch the signal and report a 115 error to highlight an unexpected signal. When the core_on_error=2 runtime tunable is set in cob.cfg file, then the RTS does not catch the signal and a core file is produced instead. Create a cob.cfg file and enter: set core_on_error=2 export COBCONFIG=$Home/cob.cfg The core file is of no use without the original executable and all the shared objects it has loaded, so it must be analyzed on the same system and with the same environment variables under which the core file was produced. For example, if the application is compiled to
For MF COBOL to work across NFS-mounted file systems, NFS must be configured to handle locks correctly. This C program tests the NFS configuration. Problem: NFS-mounted file systems may cause file access errors when used with MF COBOL. Problems may occur, not only at runtime involving indexed files and data files, but also when compiling or using the Animator. When opening a file, even a flat ASCII file such as a COBOL source file (.cbl), Micro Focus uses the UNIX system call fcntl() to establish a file lock. This is to prevent other processes or programs from opening the file for "exclusive" access. NFS-mounted file systems are sometimes configured such that the UNIX system call fcntl() does not work. This is not the fault of COBOL, though it can result in a hang or an error reported by the COBOL system. Resolution: The following C program tests whether an NFS-mounted file system is configured to handle the UNIX system call fcntl() correctly. The progr
This article explains that the thread model used on AIX systems has changed and can create a dynamic linker error. Problem: Programs compiled on an AIX 5.2 system and then deployed on a production system running AIX 5.3 fail with the dynamic linker error: 0712-001 Symbol not found _pth_init Resolution: The thread model used on AIX systems has changed in AIX 5.3. AIX uses the thread model M:N. This makes programs compiled with earlier versions of the operating system incompatible. In order to deploy executables to an AIX 5.3 system the application must be compiled on AIX 5.3. Old KB# 14013
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.