Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
A file opened for I-O gets a 48,01 error when trying to WRITE. Problem: An indexed file is opened for I-O. The application can READ and REWRITE a record, but gets 48,01 when trying to WRITE a new record. 48,01 means that a file that is defined to be access mode sequential is open for I-O, or the file is open for INPUT only. Resolution: The problem is in the File Control paragraph FILE-CONTROL ACCESS MODE. In AcuBench, it defaults to “none”, which means sequential. The error message indicates that the runtime is trying to write to a file opened I-O, access sequential, which is not legal. Set ACCESS MODE to DYNAMIC and the problem is resolved. Incident Number: 2264513 Old KB# 14657
This article explains how to get more information about error message from sqlcode. Problem: When running a program, we received a number of SQLCODE = -2627 from an EXEC SQL INSERT statement. There does not appear to be much information about this and other SQLCODE values. How can it be resolved? Resolution: The SQLCODE -2627 is not a code which is returned by the Micro Focus OpenESQL run-time system. It is instead returned from the ODBC driver that you are using. The best way to get more information on these undocumented codes is to make sure that you include the following data item in your program: 01 MFSQLMESSAGETEXT pic x(256) When an error occurs, the actual error message text will be placed into this field so by displaying its contents you can find out the meaning of any ODBC error returned. You could also check the other fields in the SQLCA structure such as SQLSTATE to get more detailed information regarding the error that is occurring. In this c
This article explains what to do if this error occurs when starting the Rumba UNIX display client. Problem: We are receiving the message API already in use error when starting the Rumba UNIX display client. (this applies to all the different host types, not just UNIX) The error appears as a message box and clicking OK clears the message and the software starts. How is this resolved? Resolution: Check what is set under Options > API Options > Identification/Configuration/Rename DLLs. You will see that it is not set to the default <None> but to a letter somehow. This error actually stems from the fact that all session short names on the desktop must be unique. As noted in the help text "To use HLLAPI or DDE": This topic tells you how to configure your RUMBA display session for use with a HLLAPI or DDE application. From the Options menu, choose API. Specify whether you want to use this session with HLLAPI or DDE. To use EHLLAPI or WinHLLAPI Sele
This article describes how to configure SQuirreL SQL Client to test the JDBC driver provided with Relativity Data Server. Problem: The Relativity JDBC driver is shipped with the Relativity Data Server. Also, a small Java application, DBSample, is included to test the JDBC connection. However, DBSample provides only a small amount of information that may be obtained from a JDBC connection. Resolution: SQuirreL SQL Client is an open source tool available from SourceForge. A PDF document is available which describes the many uses of SQuirreL SQL Client. See Related Links at the right for more information. Follow these steps to configure SQuirreL SQL Client for a Relativity Data Server JDBC data source. Copy the Relativity JDBC driver, RelJDBC.jar, from the distribution media to a convenient location. Following the instructions found on SourceForge, download and install SQuirreL SQL Client. Start SQuirreL SQL Client. Click on the Drivers tab. A large list of drivers is displayed. C
This article provides instructions on programming numeric pad and – keys in VT Keyboard. Problem: When using VT320 terminal, the numeric pad does not map the "-" (minus) and " " (plus) sign correctly. The " " sign comes out as a "-" sign, and the "-" sign comes out as one of the Greek letters. How is this resolved? Resolution: Open a Rumba UNIX Display session and click on the Options > Keyboard menu. Select the Keyboard Strings option from the Function Keys drop down menu. Then press the Add button and it will open a new window. Press the – minus key in the Character to send field on the KB and press OK. Then click on the New button under Mapped To section and press Numeric Pad – sign on Rumba KB on the screen. Then press the Accept button and press OK. Press OK if you get the message to over write it. Repeat the above steps for the sign. This should allow you to send the numeric pad and – signs to the host when you type and – keys on the numeric pad.
This article explains how you can delete pages from the command line. Problem: From the command line, how can you delete one or more pages from an EnterpriseLink Repository? Resolution: In the same directory, you need to create two files on Windows, using the file names and contents from the attached document (attached to this article). Note that the value for ELINSTALL should be replaced with your EnterpriseLink installation directory. Old KB# 14629#Rumba#EnterpriseLink
This article explains how to delete one of more screens and their associated pages from the command line. Problem: From the command line, how can you delete one or more screens (and their associated pages) from an EnterpriseLink Repository? Resolution: In the same directory, create two files on Windows, using the file names and contents from the attached document. Note that the value for ELINSTALL should be replaced with your EnterpriseLink installation directory. Old KB# 14630#Rumba#EnterpriseLink
This article provides an external C subroutine that you can use to set the mouse cursor. Problem: The mouse “wait” cursor is useful for indicating to the user that a process is busy. However, there is no built-in method to change the mouse cursor to the “wait” icon. Resolution: The attached zip archive contains a Dynamic-link library (rmcursor.dll) that implements two C subroutines that will allow you to invoke the mouse “wait” cursor and return the mouse back to the original, arrow cursor. Below is the syntax for invoking the two subroutines. To set the mouse cursor to “wait”: CALL "RM_SetCursor_Wait" To set the mouse cursor to “arrow”: CALL "RM_SetCursor_Arrow" Also included in the zip archive is a sample program (testrmcursor) that demonstrates the use of the mouse cursor subroutines. Old KB# 14608
Created On: 12 January 2012 Problem: On 32-bit Windows systems, the default ODBC registry location that contains AcuXDBC information is HKEY_LOCAL_MACHINE\\SOFTWARE\\ODBC\\ODBC.INI (System Data Source Name Definition), HKEY_CURRENT_USER\\Software\\ODBC\\ODBC.INI (User Data Source Name Definition) and HKEY_LOCAL_MACHINE\\SOFTWARE\\ODBC\\ODBCINST.INI (Driver Definition). For 64-bit Windows systems, the default ODBC registry locations are also HKEY_LOCAL_MACHINE\\SOFTWARE\\ODBC\\ODBC.INI and HKEY_LOCAL_MACHINE\\SOFTWARE\\ODBC\\ODBCINST.INI, which are used by the 64-bit ODBC drivers for defining the System Data Source Name (DSN) and driver. For 32-bit ODBC drivers, there is a secondary ODBC registry location, HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\ODBC\\ODBC.INI and HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\ODBC\\ODBCINST.INI which holds the 32-bit system DSN and driver definition.The confusion can come with User DSN’s as both the 32-bit and 64-bit ODBC administra
This article provides a solution for the device name not displaying in the status bar of an OnWeb Web-to-Host 5.3.1 pro client session. Problem: The associated device name is not displayed in the status bar when an OnWeb Web-to-Host 5.3.1 pro client session is launched in the browser. How is this resolved? Resolution: An OnWeb Web-to-Host session can be configured to use a specific device name or a system variable from which a device name can be generated. This device name is then displayed in the status bar after the session is established with the host. However, an OnWeb Web-to-Host 5.3.1 pro client session does not display the device name in the status bar after the session is connected. This has been fixed in OnWeb Web-to-Host version 5.3.2. We recommend that customers upgrade to version 5.3.2 if they have a need to display the device name in the status bar. Note: The device name may also be referred to as an LU name, a session name, or a user locator name in y
This article explains how to specify a cataloged filename in extfh.cfg. Problem: How do you specify a cataloged filename in extfh.cfg? Resolution: Rather than map the physical filename, which may change from run to run, you can specify the unmapped filename in extfh.cfg using the internal keyword. To map SYSOUT for example: [internal:SYSOUT] INSERTNULL=OFF Old KB# 14579
GetOSInfo demo has been expanded to include Windows Vista, Windows 7, Windows 2008 and Windows 2008 R2 operating systems. Problem: The existing GetOSInfo demonstration illustrates older Windows versions such as 95, 98, NT, XP, 2000 and 2003. Is there a GetOSInfo demo available that illustrates the new Windows versions, for example Vista, 2008, 2008 R2 and Windows 7 operating systems? Resolution: The attached GetOSInfo.cbl demonstration file includes Vista, Windows 7, Windows 2008 and Windows 2008 R2 operating systems. Differences are marked with ‘mfsupp’ in that new source. This demonstration file was compiled under Net Express 5.1 WS3 and successfully tested against these operating systems. s. GetOSInfo.cbl attached GetOSInfo demo Vista, Windows 7, Windows 2008 Old KB# 14562
This article explains what to do if a dictionary invalid error occurs when compiling a large program. Problem: When compiling a large program with a simple cob –u we get the followiong error: 912-S Internal error - Dictionary invalid r/w MULTISCREEN@ Inform Technical Support. Resolution: Check that there is sufficient space in /tmp. If /tmp has lots of cob* files directories, delete those and then try again. Old KB# 14590
This article describes the steps to add a macro to the OnWeb Web-to-Host toolbar. Problem: Web-to-Host doesn’t have options to add a macro to the toolbar as Rumba does. How is this accomplished? Resolution: It is possible to add macros to the Web-to-Host toolbar. The trick is to add a button on the toolbar and assign a macro to it. The following are the steps to add a macro to the toolbar: On a Web-to-Host session click on View > Toolbars > Customize to open Customize window. Click the New button to display the New Toolbar window. Enter the desired name for the new toolbar and press OK. The Customize Toolbar window will appear Click the New button to bring up the Button properties window. Select Macro from the Button Type pull down. Click on the Browse button and navigate to the location where you saved your macro. Select the macro and press the Open button. You will notice that the macro path is entered for you. Enter the Description an
This article explains how you can write a COBOL .NET class that inherits from a C# .NET class. Problem: You need to create a COBOL .NET class that inherits from a C# .NET class. Resolution: You create a COBOL .NET class that inherits from a C# .NET class in the same way as you do it for a VB .NET class. The .zip file attached to this article includes a MS Visual Studio 2008 solution, CsharpAndCOBOLinherit.sln, that demonstrates how you can do that. The solution consists of the following 3 projects: ConsoleApplicationCsharp - a C# Console Application project ClassLibrarycSharp - a C# Class Library project ClassLibrary1Cobol - a COBOL Class Library project The C# Console Application, ConsoleApplicationCsharp, invokes the COBOL Class Library, ClassLibrary1Cobol, which inherits from the C# Class Library, ClassLibrarycSharp. Open the COBOL program, Class1.cbl, in the code editor and see that it defines the COBOL class, Class1. Class1: inherits from a C# class sets in its constructor
This article describes how you can write constructors with different signatures in COBOL .NET classes. Problem: You need to define different constructors in a COBOL .NET class that have different signatures. Resolution: The following code gives an example of a COBOL .NET class that has different constructors: class-id. Class1 as "ClassLibrary1Cobol.Class1". environment division. configuration section. repository. static. working-storage section. end static. object. working-storage section. method-id. NEW. procedure division. display "ClassLibraryCOBOL.Class1 Constructor()" goback. end method NEW. method-id. NEW. procedure division using aStr as String. display "ClassLibraryCOBOL.Class1 Constructor(String)" goback. end method NEW. method-id. NEW. proced
This article explains why a dialog box presents in the background rather than foreground. Problem: PC_PRINTER_OPEN will display a dialog box allowing the user to choose a printer. In some circumstances the dialog box is displayed behind another window. Why is this, and can it be forced to the foreground? Resolution: The PC_PRINTER_OPEN accepts a handle (HWND) that is made the parent of the dialog box. The box can be forced to the front by using the GetForegroundWindow API call to retrieve HWND of the current window and passing that to the PC_PRINTER_OPEN routine. Incident Number: 2353637 Old KB# 14573
This article explains why copybook names with trailing spaces receive message 8-S Unknown COPY file "xyz.cpy" specified. Problem: When a copy statement appears in quotes with trailing spaces, for example: Copy file "xyz.cpy ", the compiler issues an error "Unknown COPY file "xyz.cpy " specified. Once the trailing space is removed, the compile works fine. Because the spaces are within the quotes, the compiler assumes that the spaces are part of the copy file name. This did not occur in previous versions of Server Express, why is it happening now? Resolution: This was a bug in previous releases of Server Express. Compile should never have resolved to the file xyz.cpy. The correct behavior is for the space to be considered part of the file name. The defect has been corrected in Server Express version 5.0 and all future releases. Incident Number: Old KB# 14520
This article explains an archive library error when running a script on AIX. Problem: A script is employed to build an RTS executable using the cob –x command. The script runs successfully on HP/UX but fails on AIX. On AIX, an error appears saying archive library CLAIMCHK cannot be found. The same cob -x command is used in each case. The archive library is specified on the cob –x using the following syntax: -l:CLAIMCHK.a Resolution: The “-l” option is accepted by the cob command, but cob in turn passes this option to the system linker "ld". The “-l” option is actually a feature of the system linker. For information about the “-l” option, consult the HP/UX and AIX Operating System documentation, and in particular the man pages for "ld”. On HP/UX, the linker "ld" accepts the syntax: -l:library That is, “-l” followed by a colon (:) followed by a library name. The "ld" ma
This article explains why there is no Application Server license available at COBDIR when running an application with Java on an AIX platform. Problem: We have installed Server Express successfully and COBOL programs are running without any porblems. Java is installed correctly a Java program will run without any problems. However, when trying to do a combination of the two it throws up an error that there is no license available at the $COBDIR location even though it has been proofed that Java does run and COBOL runs as well. Why is this happening? Resolution: Check the user profile and especially 32-bit/64-bit paths as this has to be correct according to the type of license you have for your AIX machine. If you have a 64-bit license and a 64-bit AIX machine but somehow your user profile has a 32-bit path in there it will show the error that there is no license available at the $COBDIR location. Old KB# 14591
Setting the 'NO-TAB' property on a graphical control can be done using 'MODIFY' and this works properly. However, it is not clear if there is a way to reverse the 'NO-TAB' setting without exiting the screen. Problem: A screen has several entry fields and some fields need to be skipped based on information contained in other fields. The 'NO-TAB' property can be set on the desired fields using 'MODIFY' and this works properly. It is not clear if there is a 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 style from a control is to destroy the control and redisplay it without specifying the NO-TAB style. The same is true for the SECURE style available on an entry-field. A different option is to avoid the NO-TAB style and used the ENABLED property f
This article explains the method for running a COBOL program in the background of Windows. Problem: How do you run a COBOL program in the background when using Windows? Resolution: To run a COBOL program in the background use the –b runtime flag which inhibits the terminal initialization done by wrun32. This can be useful if the program is run in the background because terminal initialization can prevent normal use of the terminal by the operating system. If this flag is used, the behavior of ACCEPT and DISPLAY statements is undefined; therefore use this flag with caution. A program can examine the ACU-NO-TERMINAL field after an ACCEPT FROM TERMINAL-INFO statement to determine whether it was started with "-b". Incident Number: 2350874 Old KB# 14586
The F4-key does not generate an exception with a Combo Box control. Problem: Pressing <F4> while a combo box is active causes it to drop its drop-down list, and the COBOL program is not notified of an exception. Resolution: If the runtime configuration variable WIN_F4_DROPS_COMBOBOX is set to its default value of "1" (on, true, yes), then combo boxes use the standard Windows handling for the <F4> key. When this variable is set to "0" (off, false, no), pressing <F4> with a combo box active causes the COBOL program to get the exception, but the combo box does not drop its drop-down list. It is not possible to get both behaviors at the same time. Incident Number: 2191737 Old KB# 14526
This article explains how to configure the date-entry control to display dates prior to 1930. Problem: The date-entry control is set to the SHORT-DATE format. When the user enters a date prior to 1930 the year changes. For example the user enters 1929 and the control displays 2029. Resolution: When using the date-entry control’s SHORT-DATE format for displaying the date, the CENTURY-DATE style must also be applied. Old KB# 14543
This article explains how to generate XML header information when running in CGI mode. Problem: A COBOL program that runs in background mode must write to SYSOUT so that it will be shown in a web browser. The problem however is that the output must be in XML format instead of HTML. The error indicates that the content type needs to be XML. How can this be done this using AcuCOBOL? This is what has been suggested for php: header ("Content-type:text/xml") But this is not something that can be done in the XML file itself, but must be set as part of the header. How can this be accomplished with the AcuCOBOL-GT Runtime? Resolution: Set this variable in the runtime configuration file or environment: CGI_CONTENT_TYPE=text/xml. This will direct the runtime to provide the specified value for the Content-type header that the runtime automatically generates. The runtime can also be prevented from supplying _any_ HTTP headers automatically. To do this, s
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.