Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
This article explains the error "ProgName fails with RTS 173". Problem: A program can be executed from anywhere if its location is added in the environment variable COBDIR (if it is in .INT or.GNT and executed with the RUN command) or PATH (if it is in .EXE). However, the animator cannot find it if it is to be animated from the command line as shown below: MFNETX /DEBUG:ProgName.Ext. Where ProgName is the name of the program and Ext is the extension (INT, GNT, or EXE). The above command fails with RTS 173, which means that the program cannot be located, unless the program is in the current directory. Note: Animating a program always requires its program source and its .idy files to be available. Resolution: The command line parameter ProgName should either be the full path of the program or a program name relative to the working directory. The following precision has been added to the documentation of Net Express 5.1 with WrapPack 2, which applies
This article explains how to move License Server from one PC to another without dongles. Problem: How do I move License Server from one PC to another without dongles? Resolution: Save the ls4.arc file and the licenseserver.mdb file. Remove the software from the old machine. Install the ls4 software on the new machine, install the lsf06l40.exe fixpack available from: http://supportline.microfocus.com/websync/ls40 Copy the ls4.arc file and the licenseserver.mdb file to the ls4 bin directory. Go to the administration pages. At this point every screen will display a message stating that the license file doesn’t belong to that machine. However, it will issue licenses for five days from that point. Set up the groups if you are using them. Then, on the administration page, click the fix hyperlink and generate a reset key. Visit the web licensing pages within the SupportLine web site at: http://supportline.microfocus.com/licensing/LicensingHome Follow the links to en
The AcuBench drag-and-drop paged list-box has the incorrect page-size set for it. Problem: After adding a paged list-box to a screen using AcuBench’s drag-and-drop mechanism the generated code does not work properly. At runtime the resulting list-box displays the data beginning with the second record. The first record is not seen until the list is paged down then paged up. Resolution: The first record is missing because the page-size for the control is incorrect. It is one record too large for the physical size of the control. Thus the first record scrolls off the top and isn’t seen until the user pages the control down then up. The page size generated by AcuBench for a drag-and-drop paged control (grid or list-box) is an approximation. This should only be considered a starting point. The programmer must verify and adjust the value in Working-Storage so the number of records is precise. Open the program’s working-storage section in AcuBench’s Working-Storage editor, locate the co
This article describes what you should do if the Liant installer fails on Windows with the error message "The application failed to initialize properly (0x0000005)". Problem: The Windows RM/COBOL installer (setup.exe) can fail and return the following error in a Windows message box: "The application failed to initialize properly (0x0000005). Click on OK to terminate the application." Resolution: There is no single cause to these types of system configuration issues, but here is some guidance as to how you can diagnose these types of problems: Disable any anti-virus software while performing the install. Delete all of the files in your Windows temporary directories. The following link provides information on how to determine where your temporary directories are located: http://consumerdocs.installshield.com/selfservice/viewContent.do?externalId=Q108334&sliceId=1 This might be an issue with Windows Data Execution Prevention: In your Control Panel, open the
This article explains why symbol errors occur with COBOL executables. Problem: The following errors were encountered during execution time: 0509-023 symbol XFH_CLOSE in [filename] is not defined 0509-023 symbol regetblk in [filename] is not defined 0509-026 system error: can not run a file that does not have a valid format Resolution: Verify the COBOL version (Product Reference Number) of the failing environment compared to the version (Product Reference Number) of the COBOL development system which was used to create the executable. The versions must be the same, executables built using older versions of the Development System will not execute under a mismatched run time environement. COBOL executables are built/linked using UNIX shared libraries. At execution time, the system dynamic loader verifies that all symbols present when the executable was built are still present in the same libraries used at compilation time. If symbols are removed or relocated
This article describes how to use OLE automation to interact with Excel from COBOL. Problem: Exporting data from COBOL and loading into Excel is possible by simply writing to a line sequential file with comma separated values and then performing a CALL “SYSTEM”. However, a more elegant and powerful solution is to use the OLE automation interface. Resolution: Please see the attached ACUCOBOL-GT v8.1 example included in the excel-ole.zip file. In essence you can do the following: 77 excel-app handle of application. 77 excel-doc handle of workbook. 77 excel-sheets handle of sheets. 77 excel-worksheet handle of worksheet. 77 excel-range handle of range. ****************************************************************** PROCEDURE DIVISION. Main Section. * Create the OLE interface create @Application of @Excel handle in excel-app.
This article explains how to find the line of code that matches the PC to an RTS error. Problem: When running a program, the following RTS error occurs and we would like to know how to find out the source line from pc=2007. Execution error : file 'mr01.int' error code: 166, pc=2007, call=218, seg=0 166 Recursive COBOL CALL is illegal Resolution: To find the line of code at address 2007, compile your program with -C REF and -C LIST"". Object COBOL Development Suite (OCDS) will put the addresses against the source lines, whereas Server Express will put a table of lines and addresses at the end of the listing. Note: This facility is not avaliable in some early versions of Server Express. Here's another example: Execution error : file '/home2/support/juj/tmp/mydem.int' error code: 153, pc=3D, call=1, seg=0 153 Subscript out of range tsron:/home2/support/juj/tmp > cob -C'ref list""' mydem.cbl t
This article explains what to do if an environment variable is set incorrectly. Problem: We are attempting to use Micro Focus COBOL and receiving the following error: fatal: libcobrts64.so.2: open failed: No such file or directory Resolution: If you have set LD_LIBRARY_PATH and have exported it then there is a chance you have set the LD_LIBRRY_PATH_64 environment variable. This environment variable takes priority over the LD_LIBRARY_PATH environment variable. To resolve this, either: Unset LD_LIBRARY_PATH_64 Use LD_LIBRARY_PATH_64 as you would LD_LIBRARY_PATH. That is, set LD_LIBRARY_PATH_64=$COBDIR/lib:<oracle-environment-variables>:...... Old KB# 14311
When running a UNIX script (for example acuxdcbs.sh) the user may encounter the “syntax error near unexpected token” error. Problem: When running a script in either a Linux or UNIX environment, the user may encounter the “syntax error near unexpected token” error. Example: $ acuxdbcs.sh -start /acucobol810/bin/acuxdbcs.sh: line 50: syntax error near unexpected token `' /acucobol810/bin/acuxdbcs.sh: line 50: `show_usage ()' Resolution: This is typically caused by editing the file on Windows, or if the file is transferred in binary mode rather than ASCII. Run the dos2unix command on the script and then rerun the script. Example. $dos2unix acuxdbcs.sh dos2unix: converting file acuxdbcs.sh to UNIX format ... Incident Number: 2277959 Old KB# 14294
This article descries how to change at runtime the title shown for each page on a Tab. Problem: Is there a way to dynamically change the title of each page defined as part of a Tab? Resolution: The solution is to reset the Tab and then add the new titles to be shown. Not resetting the Tab will just add pages and not rename the existing pages. Below is sample code based on a Tab called Screen1-Ta-1: modify Screen1-Ta-1, reset-TABs 1 modify Screen1-Ta-1, TAB-TO-add ("test1" , "test2") After this, the two pages on the Tab will have the titles changed to “test1” and “test2” with all their elements attached correctly. Incident Number: 99-043554 Old KB# 14351
Fileshare server is stopped immediately if started in background; this article explains what to do when this occurs. Problem: The fileshare configuration file fs.cfg contains the background switch -b. fs is submitted to the background with: fs > logfile 2>&1 & (The last "&" tells UNIX to put the program in the background.) However, fs reports "stopped" the next time a foreground command is entered or the Enter key is pressed. Resolution: Fileshare attempts to write a status message to the terminal screen as it interprets each line found in fs.cfg. The -b background swtich in the configuration file is seen only after the first console output is attempted. It is this attempt that causes fileshare to stop. The workaround is to start fileshare with: fs -b > logfile 2>&1 & Fileshare then sees the -b on the command line immediately and outputs nothing to the screen. (The -b switch in fs.cfg is
This article explains why a “Fail to open file: ncg.ops” error occurs in a Net Express project at link time, and what to do when this happens. Problem: A “Fail to open file: ncg.ops” error occurs when rebuilding a Net Express project. The Output window shows that the error occurs when Net Express invokes the CBLLINK command to link the program. Resolution: This problem occurs when the environment variable COBDIR is overridden in the project. Net Express uses COBDIR to find its own run-time files, so users have to be cautious when setting this environment variable in Net Express. Environment variables can be set in Net Express from the Project Properties under the IDE environment. The best practice is always to append a value to the existing value of COBDIR that can be represented by %COBDIR%. If users wish to append X:\\DIR to COBDIR, they should set COBDIR with the value: %COBDIR%;X:\\DIR Incident Number: 2278384
This article describes how to enable a disabled tab page at runtime. Problem: The tab control’s TabEnabled property controls whether an individual tab (page) on the tab control can be selected at runtime. Using the WOWGetProp and WOWSetProp functions allows the enabled state of the tab to be set or retrieved at runtime. Before getting or setting the TabEnabled property value, the CurTab property must be set to the zero-based index of the desired tab. However the CurTab property cannot be set to a disabled tab page so it’s not possible to enable a disabled tab page using the TabEnabled property. Resolution: You can use the WOWSetIndexProp function to set the TabEnabled property to true, for example: Call WowSetIndexProp Using Win-Return tab1 "tabenabled" win-true 1. Incident Number: 2278101 Old KB# 14344
This article describes how to add access to the Alfred editor from the AcuBench Tools menu. Problem: Alfred is an easy-to-use Vision File Editor. It used to be available in the “All Programs” Windows menu and from within the AcuBench Tools menu. Resolution: Since version 8.0, Alfred is no longer present in the AcuBench tools menu. To recreate the Alfred link in the AcuBench Tools menu, do the following: Open the Tools menu Click "Customize.." and open the "Tools" tab. Click the green cross icon "New(Ins)" or double click inside the "Menu contents" white area. Enter "Alfred". Fill in the remaining fields like this:Command: C:\\Program Files\\Acucorp\\Acucbl810\\AcuGT\\bin\\wrun32.exe Arguments: -c alfred.cfg alfred.acu Working Directory: C:\\Program Files\\Acucorp\\Acucbl810\\AcuGT\\tools Context menu: Alfred Open the Tools menu > Launch Tools . Alfred should
This article describes how to hide the cursor when using an ACCEPT OMITTED statement. Problem: Is it possible to hide the cursor in an ACCEPT statement? Resolution: The cursor may be hidden by using the runtime configuration variable: CURSOR_MODE This variable can assume one of these values: 1 (always visible) 2 (always invisible) 3 (invisible except during ACCEPT statements, then visible) The default value is 3. Note that this variable has a global effect over the whole application, so it is advisable to set it programmatically when needed. The program sample below shows how to do this and how to restore the default value. identification division. program-id. prog. author. claudio.contardi@microfocus.com. remarks. environment division. special-names. decimal-point is comma. input-output section. file-control. data division. file section. working-storage
This article explains an ASLM 1013 semaphore failure when attempting to run a COBOL program or when using Application Server without world writable permissions for /var/aslmfsem. Problem: Without world writable permissions for /var/aslmfsem, the following error gets displayed when running an application: ASLM: Semaphore failure. Rerun as root ASLM: Errno 1013 What is the file for, and is there a way to remove the world writable permissions and still have an application run? The same ASLM 1013 semaphore failure also happens when attempting to run a COBOL program. Resolution: The message is normally caused by the missing semaphore file in /var/aslmfsem or the permissions on the file are incorrect. The aslmfsem file has a zero length so it can be created by using the following command: touch /var/aslmfsem The file permission should be rw_rw_rw_ (or R/W) for all and should be owned by root. If the file is present with the correct permissions the check the permiss
This article explains how to configure EnterpriseLink to support multiple developers running EnterpriseLink Builder under Windows Terminal Server or Citrix. Problem: How do you configure EnterpriseLink to support multiple developers running EnterpriseLink Builder under Windows Terminal Server or Citrix and all working on the same project? Resolution: You can find configuration details on the EnterpriseLink Wiki page. Old KB# 14327#EnterpriseLink#Rumba
It's often a requirement to use arguments entered on the command line during the execution of a COBOL application; here’s a technique for capturing a varying number of arguments. Problem: How to capture a varying number of command-line arguments while executing a COBOL application. Resolution: ARGUMENT-NUMBER and ARGUMENT-VALUE are functions that can be defined in the SPECIAL-NAMES paragraph of a COBOL program. These functions can be used to retrieve the numbers and values of command-line arguments entered when the program is executed. The attached sample program demonstrates the use of these functions. These functions work in combination with the ACCEPT and DISPLAY COBOL verbs: DISPLAY UPON ARGUMENT-NUMBER establishes which argument should be manipulated, and ACCEPT FROM ARGUMENT-VALUE returns the contents of the command-line argument identified in ARGUMENT-NUMBER. ACCEPT VARIABLE FROM ARGUMENT-NUMBER returns the number of command-line a
This article explains why the RTS 153 error occurs when attempting to access a data item with an occurs clause. Problem: This error occurs when attempting to access a data item with an occurs clause. The subscript value at time of the error exceeds the defined maximum occurence value contained in the definition of the item. This application does not fail on the mainframe and fails after migration to a UNIX operating system. Resolution: Compile the program using the generator directive -N NOCHECK. The -N indicates that this is a directive that will be passed to the Micro Focus native code generator The CHECK directive turns on all run-time checks in generated code. The run-time checks include checks for: Divide-by-zero Calling invalid (that is NULL) procedure-pointers Recursion of non-recursive programs NOCHECK disables all run-time checks in generated code. The NOCHECK option sets
This articles describes several causes for an application that receives file status 35 on an OPEN OUPUT of a disk file. Problem: The application runs on a Windows XP client PC and occasionally receives file status 35 (File Not Found) on OPEN OUTPUT. The statement is creating a new disk file on a Windows 2003 Server which is accessed by the client via a mapped drive. The error happens unpredictably and is not reproducible at will. Resolution: There are many reasons why an OPEN OUTPUT of a new disk file may produce file status 35 (or 94,20 if you’re using 74 status codes). The following items may apply not only to Windows, but to any operating system. The SELECT uses a variable file name and the data item is blank when the OPEN OUTPUT is executed. The directory does not exist. Security settings are preventing the OPEN OUTPUT from creating the file. The file system is out of space. Antivirus, antispyware, or backup software is run
There are two options for installing RM/COBOL in a networked environment: 1. Perform a "Standard" or "Custom" installation of RM/COBOL on all of the PCs that will execute the COBOL application. 2. Perform an "Administrative" installation on a network share, then, perform a "Network" install on all of the desktop PCs. Below is an excerpt from page 54 of the RM/COBOL User's Guide in regards to the "Network" installation of RM/COBOL on client machines. This excerpt contains a short summary of the network installation process: ----------------------------------- Installation of RM/COBOL on Network Client Machines The RM/COBOL installation process for CodeWatch, Runtime, Recover1, and Compiler supports users who wish to install RM/COBOL on a network server machine and then install RM/COBOL on multiple client machines using the RM/COBOL installation on the server. First, install all of the RM/COBOL components that you need ont
This article explains that a Memory Allocation Error occurs during runtime when the SORTSPACE environment variable is too large. Problem: We received a Memory Allocation Error 105 while running a program containing an internal sort. Is the run-time system unable to allocate sufficient memory space to successfully carry out the attempted operation because of insufficient memory space? Resolution: This error occurred because the SORTSPACE environment variable was set to too large a value on the server. A larger value for SORTSPACE will generally result in a faster sort. However, if a value is specified that exceeds the capacity of main memory in the computer, such that the operating system has to page memory in and out, performance will be degraded and an error can occur. Old KB# 14322
This article explains the impact of -g on performance when creating animatable executables. Problem: In order to have the ability to animate executable object formats such as .gnt or .so or executable, the "-g" flag must have been specified on the "cob" command when the objects were created. However, will the "-g" flag cause objects to run more slowly? Can you place the executables into production on a busy server, and run most often without animating, still preserving the ability to animate if necessary? And will the performance be acceptable? Resolution: When the -g cob flag is specified during the generation of .gnt or shared library or executable files, the extra debugging information is saved in the separate ".idy" file. The resulting executable does not increase in size. In actual fact, there is a small increase that is not substantial. With the debugging information saved separ
This article describes how to get information about the Operating System when an ACUCOBOL-GT runtime is executed on a Linux server Problem: How to get information about the Operating System when an ACUCUBOL-GT runtime is executed on a Linux server. Resolution: Usually, you can use ACCEPT from SYSTEM-INFO on Windows environments, but this returns only "Unix" when the server is non-Windows. To get more information from a Linux server, use code like this: identification division.program-id. prog.author.remarks. environment division.input-output section.file-control. select myfile assign to "-p uname -a" organization line sequential file status fs. data division.file section.fd myfile.01 rec pic x(50). working-storage section.01 key-pressed pic 9(4) is special-names crt status.01 fs pic xx.procedure division.main-logic. open input myfile read myfile next at end continue end-read display rec accept omitted
This article resolves the message Load error: file 'lmfnewdb' when installing License Manager. Problem: When installing licence manager this error was displayed: Load error : file 'lmfnewdb' error code: 173, pc=0, call=1, seg=0 173 Called program file not found in drive/directory Resolution: The most likely cause for this error is that the environment variable COBPATH is set. Unset the COBPATH variable using the command unset COBPATH and run sh lmfinstall again. If this does not work, reinstall the License Manager database using lmfdbrecover. See the Development System Licensing Guide, Chapter 2, Recovering from corrupt Database. Old KB# 14317
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.