Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
This article explains that a difference in Classic versus ANSI C runtime creates linking issues. Problem: We are experiencing linking issues after upgrading to advanced versions of C/C on HP-UX. Why is this? > aCC -V aCC: HP ANSI C B3910B A.03.37 C/C advanced versions requires libCsup_v2 & libstd_v2 ldd -r libcobccsupport.sl /usr/lib/libc.2 => /usr/lib/libc.2 /usr/lib/libdld.2 => /usr/lib/libdld.2 /usr/lib/libc.2 => /usr/lib/libc.2 /usr/lib/libcl.2 => /usr/lib/libcl.2 /usr/lib/libisamstub.1 => /usr/lib/libisamstub.1 /usr/lib/libdld.2 => /usr/lib/libdld.2 /usr/lib/libm.2 => /usr/lib/libm.2 /usr/lib/libCsup.2 => /usr/lib/libCsup.2 /usr/lib/libstream.2 =>  
This article explains what to do if a license database cannot be created and how to retrieve the correct installation with Net Express 4.0 Application Server. Problem: When removing Net Express 4.0 Application Server, and performing a manual clean of the Windows registry and installation folder, we reinstalled it onto the same server machine without typing in the serial number and license key while running the install. APPTRACK was used to complete the task, but we are receiving the message License database cannot be created. We checked that the license key fits the product. How do we get a correct installation? Check if the environment variable ASLMFNET was set erroneously, because it is intended to use ASLMFNET for local machines only, not for a networking license database on a server machine itself. Set the ASLMFNET environment variable to point to the location of the network license database, as follows: set ASLMFNET=r:\\license-db-dir Where: r: is the net
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 explains how to set a runtime switch when executing a program that calls a web service. Problem: If we are using the following to set a runtime switch when executing a program that does not call a web service, then how do you set the switch if you are running a web service? export COBSW=-F cobrun -F cobol-pgm-name Resolution: To set the switch for a program that calls a web service, in the Server Properties there is a box called Configuration Information. Enter the following: [ES-Environment] COBSW=-F Anything under the [ES-Environment] (case is important) will be set in the server's environment. Old KB# 14039
This article explains how to recover a corrupt Development (LMF) and Runtime (ASLMF) database. Problem: How do I recover corrupt Development (LMF) and Runtime (ASLMF) databases? I am getting the following error message: Micro Focus LMF - 002: The license database is corrupt. License Key database is corrupt. Resolution: You should refer to Recovering from a Corrupt Database in the chapter Installing and Administering Licenses in your Deployment Licensing Guide. With Server Express version 4.0 ServicePack1 onwards, there are utilities to assist with database recovery. For Deployment License Database (Application Server), if the license database is deleted or damaged, you can recover it using the utility aslmdbrecover and then reinstall the license. This utility deletes the license database and any system associated files and recreates the database. It starts the AppTrack utility and prompts you to reinstall the licenses. To recover from a corrupt database: Run th
This article explains that in SQL, character literals should be enclosed with single quotes, rather than double quotes. Problem: This SQL statement returned an ORA-00904 error (invalid column name): EXEC SQL SELECT COL1 INTO :HOSTVAR FROM TABLENAME WHERE COL2 = "VALUE" END-EXEC Resolution: In SQL, character literals should be enclosed within single quotes, rather than double quotes. The above statement should therefore be changed to read: EXEC SQL SELECT COL1 INTO :HOSTVAR FROM TABLENAME WHERE COL2 = 'VALUE' END-EXEC Old KB# 14045
This article explains what to do when invoking a series of Object COBOL classes is producing an apparent memory leak. Problem: We are running a mainline COBOL application which loops calling / invoking a series of Object COBOL classes is producing an apparent memory leak. What should we do? Resolution: The most common cause of memory management problems associated with classes is a failure to finalize objects before exiting the program. The cause of the performance problem is a memory leak, the amount of memory allocated to the running process grows continually and in small incements on every iteration of the processing loop. The memory leak is occuring because there is one (or more) object invoked that is not finalized or deleted. To test for this condition do the following: - Added the 'Behaviour class to the first class invoked i.e. Behavior is class "behavior" - Insert the following code j
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 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
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 explains how to share files in the same run unit using COBOL. Problem: My application is made with COBOL modules that open the same physical file and all modules are included in a same run unit. For some reason, the file status 9/065 is displayed during the running of some modules. Why is this? Resolution: This is happening because it is necessary to modify the values of options on the File Handler Configuration file. echo "[XFH-DEFAULT]" > my.cfg echo "RUNITLOCKDETECT=OFF" >> my.cfg echo "OPENINPUTSHARED=ON" >> my.cfg EXTFH=./my.cfg export EXTFH Old KB# 13988#COBOL#netexpress#AcuCobol#ServerExpress#RMCOBOL
This article provides a resolution to the RTS 164 error. Problem: RTS 164 load error file cobdirect64.so.2 error code 164 pc=0 seg=0 cobdirect64.so.2 resides in $COBDIR/lib COBMODE=64 LD_LIBRARY_PATH and LD_LIBRARY_PATH_64 set to $COBDIR/lib Resolution: Unset LD_LIBRARY_PATH_64 Old KB# 14033
This article explains that this error will occur if the PATH is set incorrectly in the environment file. Problem: An application comprises of ES/JCL/UDB for batch and TX series/ UDB/ MQ for the online part. The failing application is the TX series one. The RTS takes place when a transaction is triggered by the MQ monitor. The problem is the following results: Load error : file 'cobinterp.2.so' error code: 164, pc=0, call=1, seg=0 164 Run-Time subprogram not found Resolution: This error is the result of the way the PATH was set in the environment file: COBDIR=/opt/microfocus/cobol LIBPATH=$COBDIR/lib TXSeries does not expand the environment variables, therefore the RTS164 occurs. You need to expand the full environement variables, thus writing out the entire path names. Old KB# 13987
This article explains why the rebuild command is generating a 191 Terminal type not defined error. Problem: The rebuild command in Server Express is a tool that can validate, recover, or convert data files. For a quick start using rebuild, enter rebuild on the command line, with no parameters. It will display a usage screen that summarizes the options. However when we did this, the following error occured: Execution error : file 'ADIS' error code: 191, pc=0, call=1, seg=0 191 Terminal type not defined Why is this? Resolution: Rebuild uses the ADIS module for screen I/O. ADIS requires that the TERM environment variable be set to a valid terminfo entry. The solution is to set (and export) the TERM environment variable to a value such as "vt100" or "ansi" or "vt220" or "xterm", or to a value that best represents the terminal emulation of the terminal window currently in use. If you are
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
This article provides a possible solution if an error is received when running aslmfinstall from $COBDIR/aslmf. Problem: When trying to run aslmfinstall from $COBDIR/aslmf the following error messages were received: Installing AppTrack... exec(): 0509-036 Cannot load program ./aslmf/init2aslm because of the following errors: 0509-150 Dependent module libcobrts.2.so could not be loaded. 0509-022 Cannot load module libcobrts.2.so. 0509-026 System error: A file or directory in the path name does not exist. Apptrack installation complete Resolution: A suggestion may be to ensure the LIBPATH is set, as one user on AIX 5.3 kept getting this error because he was running as root. Although COBDIR was set (you must run the script from the $COBDIR directory) he had not set the LIBPATH. Once LIBPATH was set to $COBDIR/lib the
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 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
This article explains how to resolve the RTS 153 error. Problem: Given an Array which uses OCCURS depending on the value of a numeric variable to determine the size of the array. The current subscript value is far less than the value last moved to the variable which controls the number of occurrences. 01 BIG-ARRAY PIC X OCCURS 0 TO 1500000 DEPENDING ON OCCURS-NUMBER. 01 SUBSCRIPTING-VARIABLE PIC 9(8). 01 OCCURS-NUMBER PIC 9(6). MOVE 1000000 TO OCCURS-NUMBER. MOVE 1 TO SUBSCRIPTING-VARIABLE. (Program terminates with RTS 153, subscript out of range). Resolution: OCCURS-NUMBER is too small to hold its maximum possible value, which is a seven-digit number. The statement MOVE 1000000 TO OCCURS-NUMBER actually overflowed the variable and was truncated. Therefore, the value of OCCURS-NUMBER is zero, due to the truncation rules for the MOVE statement. The solution
This article explains an error that occurs when attempting to execute an application. Problem: When attempting to execute an application, the following error message was received: Dependent module libfhutil.2.0.a(shr.o) could not be loaded Resolution: The error libfhutil.so.2.0: open failed is normally due to the fact that this library file, used in the old file handling utility (fhutils), was dropped in OCDS 4.1.40 and support for it was removed in all successive versions of the product and all versions of Server Express. It was replaced by the Rebuild utility which is capable of the same functions with better performances and the ability to handle larger files. Having been replaced with the Rebuild utility, it will be necessary to recompile and relink all the object and executable files. This error message may indicate that there is an executable that was built using Object COBOL V4.1.xx and that you are attempting to run the executable using a Server Express
This article explains how to identify a problem statement in a program. Problem: When running a production program the following error occurs: execution error : file '/home/prd/bin/appgm.int' error code: 163, pc=328c, call=1, seg=0 163 Illegal character in numeric field Is there a way to identify the problem statement in the program? Resolution: To find the area in the program where the error is occurring make sure that the program has a corresponding .idy file. The .idy is produced at compile time when the -a flag is used for .int's or -g for all other formats (for example, .gnt, .o, -so, executable). To create a listing with a cross-reference showing the offsets run the cobfflst command for the COBOL program involved. To get this output go to the directory containing the .idy file for the program and run the cobfflst command. Syntax: cobfflst <infile>[.int] [<listfile>] For example if the program getting the error is test163.c
This article explains the various reasons why an RTS 115 Unexpected Signal (Signal n) might be generated. Problem: If the runtime system is not expecting the signal at this time, or never expects to catch the signal, then the default runtime system signal handler will produce the runtime error message (where n is the signal number): Execution error : file 'name' error code: 115, pc=p, call=c, seg=s 115 Unexpected Signal (Signal n) Resolution: The COBOL Runtime System posts signals handlers for various signals, including all signals whose Operating System default action is to cause the process to terminate. This allows us to clean up before the process terminates and allows us to achieve other COBOL functionality. When a signal is generated, it is processed using the list of prioritized posted signal handlers. If the Operating System default action is to cause the process to exit, t
This article explains why, on HP/UX when trying to compile an application, the following error appears: # cob64 myapp.cbl. Problem: An RTS 115 error is returned against odbcecm when compiling an OpenESQL application on HP/UX: # cob64 myapp.cbl Server Express Embedded HTML Preprocessor Version 4.492 Copyright (C) 1984-2006 Micro Focus (IP) Ltd. All rights reserved aCC runtime: Use of "-mt" must be consistent during both compilation and linking. Execution error : file 'odbcecm' error code: 115, pc=0, call=1, seg=0 115 Unexpected signal (Signal 6) cob64: error(s) in compilation: myapp.cbl Resolution: This is an Operating System issue, which can be resolved by installing a patch to the C run-time (PHSS_34041, or the latest recommended patch which supercedes PHSS_34041). Old KB# 14017
This article explains how to keep AppTrack from continually asking for a password. Problem: When running AppTrack for the first time, a password wasI established. Subsequently, AppTrack is asking for the password every time it is used. How can this be avoided? Resolution: With Server Express version 4.0 or higher, you can remove AppTrack and do a fresh install of the AppTrack system and the Application Server licenses. Before beginning, you should have your Application Server licenses available (both the serial numbers and the license keys) because you will need to re-enter them. This procedure can be completed easily within a few minutes. Log in as root. Set the COBDIR environment variable to the location where the COBOL product is installed, and make sure it is exported. Change directories to $COBDIR/aslmf: cd $COBDIR/aslmf Run the script "aslmdbrecover": ./aslmdbrecover At the end of this script, you will be taken into the AppTra
This article explains a resolution to an error during a sort operation. Problem: We are receiving an error with an application's internal SORT failing during execution. The error message is: Execution error : file 'extsm' error code: 114, pc=0, call=1, seg=0 114 Attempt to access item beyond bounds of memory (Signal 11) The COBOL syntax was SORT sort-file-name, USING data-file-name GIVING data-file-name. Resolution: In reviewing the application source code's SORT statement, there is a size difference between the USER-SORT-FILE and those of MY-FILEs. SORT USER-SORT-FILE ASCENDING KEY........ USING MY-FILE-IN, GIVING MY-FILE-OUT. The difference is that USER-SORT-FILE is 101 bytes and MY-FILEs are 105 bytes. This size difference is being trapped at runtime as the USING MY-FILE-IN is opened and it's data passed to the SORT record. This size difference causes an out-of-bounds error, a 114 abend, as it attempts to move it into the SORT record buffer. Acc
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.