Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
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
This article describes how to resolve a vision file error 98,20. Problem: Vision files are portable, but if they are transferred in ASCII mode you will receive a 98,20 error when the program is run. Example: $runcbl custrpt.acu File error 98,20 on custfile.dat COBOL error at 000016 in custrpt.acu <Ok> File Status 98:Indexed file corrupt. An internal error has been detected in the indexed file. The secondary status code contains the internal error number 20 Non-zero key prefix on first key in node Resolution: Switch the transfer mode to binary and re-transfer the files. Old KB# 14296
This article describes the method for applying a license to an installed Liant product, without, requiring a reinstall of the product. Problem: To apply a new license on your system, you will need to use the License Utility, which installs the new license into the existing license vault. This utility program, licverifyall, is located in the SupportTools subdirectory of the installation directory. Resolution: Note: You may apply a new license while users continue to use the application. Note, however, that for all the changes to take effect, you will either need to restart the application or, for some server-based applications, restart the service or reboot the machine. To apply a new license, follow these steps: Locate the product installation directory. Place the new license, *.lic, into the SupportTools subdirectory and rename it to liant.lic. Execute the licverifyallprogram located in SupportTools, with no parameters. The program will find the new license and the exist
This article explains how to associate an ACUFH configuration file with a NetExpress project. Problem: Database Connectors uses an ACUFH configuration file; how can I associate this configuration file with my NetExpress project so that when the project runs, the ACUFH configuration file is picked up? Resolution: You can use the A_CONFIG environment variable to identify a personal ACUFH configuration file. For example: SET A_CONFIG=directory name\\file name. You can set this environment variable within the NetExpress IDE by following this process: Select Project > Properties. Click IDE. Add the environment variable A_CONFIG, and set its value to the location of your configuration file. Incident Number: 2259200 Old KB# 14283
This articles describes how to remove the NO-TAB graphical control property. Problem: When a screen has several entry fields and the user needs to skip some fields. The program can set the 'NO-TAB' property on the desired fields using 'MODIFY' and it works properly. However, there is no way to reverse the 'NO-TAB' setting without exiting the screen. There is not an ON/OFF or TRUE/FALSE setting for the NO-TAB property. Resolution: The only way to remove the NO-TAB property from a control is to destroy the control and redisplay it without specifying the NO-TAB style. Also, if the purpose is to avoid stopping in an specific control, users can use the ENABLE property. Turning off this property will do the trick. This property can be turned on at runtime with the MODIFY verb. Incident Number: 2221196 Old KB# 14262
Error 1904: failed to register NMSecComParams.dll file Problem: Error 1904.Module C:\\Program Files\\NetManage\\rss\\NMSecComParams.dll failed to register. HRESULT -2147221164. Contact your support personnel Resolution: Disable Data Execution Prevention (DEP) using the steps below: Login as an Administrator on your PC. Go to Start > Control Panel then double click on the System icon. Select the Advanced tab and, under the Startup and Recovery section, click on the Settings button. Click Edit. This will open the Boot.ini file in Notepad. Note: Make a backup of this file before you make any changes. Search for the line that contains the following string: /NoExecute= Change this string to: /NoExecute=AlwaysOff Save the file and reboot the PC. Re-install RUMBA. It should install without the Error 1904 messages. Restore Boot.ini back to its original state. Old KB# 14203#Rumba
This article describes how to set multiple values for Source Code Control options of the ACUCOBOL-GT compiler. Problem: Is it possible to use multiple patterns with –Si and –Sx compiler options? Resolution: To use multiple values, you can repeat the option: Ccbl32 –Si value1 –Si value2 –Si value3 program.cbl Or separate all the values with a semi colon: Ccbl32 –Si value1;value2;value3 program.cbl Incident Number: 2279382 Old KB# 14282
This article explains what you can do when you get this error. Problem: When compiling to ".exe" and attempting to link the new Database Connector EXTFH module, ACUFH.dll, this error is seen: unresolved external symbol _ACUFH. Resolution: The initial release of Database Connectors did not come with a way to link to the ACUFH.dll. Future versions will include ACUFH.lib, the import library for ACUFH.dll, allowing COBOL programs to be linked. In the meantime, use "int" or "gnt" level code for execution. It is also possible to create your own ACUFH.lib by creating a dummy ACUFH.dll with Visual Studio and having a single export (ACUFH). Incident Number: 2279117 Old KB# 14286
Fileshare server cannot be started. The error message is “A CCINAMPU listen call failed, please re-try with fewer active connections.” Problem: The Fileshare Server cannot be started. The following error message appears: FS148-I CCI return-code (function 07) = 00000009CCINAMPU-0030E A CCINAMPU listen call failed, please re-try with fewer active connections. This error occurs only when using the “named pipes” communication protocol, that is, ccinampu. The error does not occur when using the ccitcp communication protocol. Resolution: For named pipes protocol (-cm ccinampu), Fileshare will create a FIFO in /usr/spool/uucppublic/.CCI named .servername (where .servername is the name specified when starting Fileshare). It is necessary for the directory /usr/spool/uucppublic to exist. If this directory does not exist, the error will occur. Some UNIX or Linux machines do not include a directory named /usr/spool/uucppublic. If this directory does n
This KB article demonstrates how to replace trailing spaces in an alphanumeric variable with low-values or other characters. Problem: You have an alphanumeric variable with trailing spaces and you want to change them to low-values or to another character. Resolution: Simply use the following syntax from the INSPECT verb: INSPECT WS-ITEM REPLACING TRAILING SPACES BY LOW-VALUES. Old KB# 14260
This article describes how to translate French Characters between a Windows UI screen Character set and the Oracle Database Character Set. Problem: Using a graphical interface on Windows, the data you recover is not stored properly on your Oracle database using ProCOBOL, and you are losing special characters like "éàù". Resolution: Set up the following environmental variable before executing the runtime: Export NLS_LANG=FRENCH_FRANCE.WE8MSWIN1252 This tells the PROCOBOL code you have in your application that the IO with the COBOL program will be made with this Character set and that the data should be transformed before being stored on the database (to whichever Character set the database is set at). Your UI will now handle the standard Windows French characters properly and translate them when communicating with the Database. Old KB# 14259
This article discusses a case that causes a checker error and provides a method to work around the error. Problem: Compiling a program with the CREATEXFD compiler directive that uses the VAR_LENGTH XFD directive on a file description results in the following compiler error (once for each time the source includes the VAR_LENGTH directive): COBCH1508E Unknown XFD directive: '' : "test.cbl"(63,21) However, the section Using XFD Directives in your Database Connectors User's Guide states that VAR_LENGTH is a supported directive. Resolution: Install Net Express or Server Express 5.1 WS2 HF 4 or later when it becomes available. Until this version is available, however, you can use the following work-around: Change the underscore character in VAR_LENGTH to a hyphen: VAR-LENGTH. Incident Number: 2266175 Old KB# 14265
This article describes the cause of this compile time warning message and what you can do to resolve the problem. Problem: Compiling a COBOL program using the CREATEXFD directive can result in the generation of the compile time warning message “Field xxx causes duplicate database data.” The condition that causes this compile time warning to be generated is described in the Database Connectors User’s Guide, section "Performance and Troubleshooting." This warning can occur when you compile with the CREATEXFD directive. The XFD will be built and the Connector will operate correctly. However, the warning informs you of a special database situation that is not advisable. This warning means that your record definition should be restructured. Your current definition is set up in such a way that both of the following are true: You have overlapping key fields Both keys must be represented in the database as separate items Data
This article describes how to modify AcuXDBC table ownership with the provided batch files. Problem: Some ODBC front-end applications have trouble with the "public.tablename" format that is the default for AcuXDBC when it adds table information to the system catalog. Frequently, when using Microsoft Access for example, an application cannot interpret the owner.tablename syntax, so an application error results. Removing the "public" owner from the table specification is necessary for the desktop application.The AcuXDBC manual (section 5.3.1) indicates to use the -o "<space>" option of the XDBCUTIL script. An example of how to automate the process when using script, demo.bat is provided below. Resolution: Here is a quick way to use the batch files provided with the software to make this change. In the bin directory, locate addfile.bat and open it in a text editor. There are two lines, which need to be edit
This article explains how to bind a compiled application with a DB2 collection ID of greater than eight characters without truncating the collection ID. Problem: Bind fails for a compiled application, and the collection ID truncates at eight characters. For example: SQL0061W The binder is in progress. SQL30104N Error in BIND or PRECOMPILE option "LANGLEVEL " with value "". SQLSTATE=56095 SQL0082C An error has occurred which has terminated processing.SQL0092N No package was created because of previous errors. SQL0091N Binding was ended with "3" errors and "0" warnings. Resolution: Compile and bind your application as follows: At a UNIX command prompt, enter the following to compile the application using the DB2(UDB-VERSION) compiler directive: DB2(UDB-VERSION=version) Where version is one of the following: Version Description V8 DB2 version 8.x V9 DB2 version 9.1 V95 DB2 version 9.5
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.