Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
Created On: 14 August 2012 Problem: Users are asked to save the profile when exiting the Rumba program. The setting "Do not save profile on exit" in the Rumba options would only work if one user logs on to one PC but if you have several users on one PC it will ask the question again per user, each user who logs in has to change the setting within the software to not ask to save upon exiting. Is a registry fix or a config file that can be edited so that it does not prompt to save, for all users who log into the PC? Resolution: After a Rumba install, there is a config file located in \\system called: RumbaPage.exe.config and in this file the default setting is AskToSave:AskToSave After the first activation of Rumba by the user, this file is copied to his local data file folder: %localappdata%\\ Micro Focus\\Rumba and saved under the name:Rumba.configThere you can change the value to DoNotSave, and you are all good:DoNotSave Old KB# 36218#Rumba
Created On: 16 August 2012 Problem: Customer has a managed code .NET solution in Visual COBOL where many of the programs to be called actually reside in managed code class library assemblies, (.DLLs) that reside on a network share called \\\\compname\\myprograms.When I try to call one of these programs I get the following error: Could not load file or assembly 'file://\\\\compname\\myprograms\\ManagedCustomer.dll' or one of its dependencies. Operation is not supported. (Exception from HRESULT: 0x80131515)If I move the programs to a folder on the local drive it works correctly.How can I configure this to load my programs from a network share? Resolution: This error occurs because of the User Access Control Trust issues associated with .NET assemblies. Assemblies downloaded from the Internet or that reside on a network drive are not trusted by default.To allow for these assemblies to be loaded you can add the following highlighted section
Created On: 16 August 2012 Problem: When using Dialog System Addpack in Visual COBOL can I use project types x64 or anyCPU? Resolution: Dialog System is provided as a 32-bit native .DLL and therefore it can only be called by a 32-bit project. Although it may appear to work correctly when using calling Dialog System from a project defined as anyCPU when run on a 32-bit computer it will fail if the same application is moved to a 64-bit computer.All projects that contain programs that call Dialog System should be defined as "x86" Platform. Old KB# 36228
Created On: 16 August 2012 Problem: I have a managed code application that has a main project (.EXE) that calls programs in other projects (.DLLs) When the call is made to some of the programs in these other projects I get the following error: Inner Exception: BadImageFormatException Could not load file or assembly 'file:///X:\\PLK\\LXXO000.dll' or one of its dependencies. An attempt was made to load a program with an incorrect format. What is causing this error? Resolution: This error means that most likely you have a mismatch between project types in regards to bitism such as a project defined as x64 or anyCPU is trying to call a program in a project defined as x86.When calling between projects, you must ensure that the project types all match so that 32-bit calls 32-bit and 64-bit calls 64-bit, etc.When you are using anyCPU it may work correctly when calling x86 or x64 projects on one computer and then fail when run on a different computer where the bitism is different.
Created On: 27 July 2012 Problem: I have a managed code COBOL project in Visual COBOL for Visual Studio that contains multiple COBOL programs that I need to call from a C# main program. I am using the ilsmartlinkage compiler directive so that the COBOL compiler will generate a .NET class for the linkage section group items that are being used as parameters to the COBOL programs.Each COBOL program has the same linkage section parameters defined by using a common copybook.This works fine if there is only one program in the COBOL project but as soon as I add a second program, I get compile errors because it is trying to generate a duplicate class name for the linkage section group.How do I get around this? Resolution: You can get around this by using the ilsmartnest directive in conjunction with ilsmartlinkage.When specifying the ilsmartnest directive the compiler will generate a unique class for each of the parameter groups by qualifying its name with the program name that i
Created On: 14 August 2012 Problem: Application is a .NET Windows Forms application written in Visual COBOL. Is it possible to share the working-storage data in the main form with other subforms without the requirement to pass the data in the linkage section? Resolution: Attached is an example of how the EXTERNAL clause may be used to share data between programs. Form1 and Form2 both have defined in working-storage a data record defined as: 01 company-record external. 05 contact pic x(30). 05 company pic x(30). 05 phone pic x(20). Because it is defined as external in both programs it actually refers to the same data item so changes made to the data in one program are automatically reflected in the other. There are other ways of sharing data between programs such as creating a class containing properties defined with the static attribute. T
Created On: 15 August 2012 Problem: I am trying to uninstall Web-to-Host version 6.3 and the error: "Win64 not supported" appears. Resolution: This only happens when both 32bit and 64bit versions of Java installed prior the installation of Web-to-Host 6.3. In such case, in order to properly uninstall W2H, use the installer (thus as if you were going to install the product again) and choose 'Modify an existing instance' option. Then the product will be uninstalled. Old KB# 36220#Rumba#Web-to-Host
Created On: 23 August 2012 Problem: When an ACUCOBOL-GT runtime terminates, all dynamically allocated memory is released. There are two situations where this is not true: CALL PROGRAM "program" using and CHAIN "program" using ....... Both terminate the current runtime but do NOT release dynamically allocated memory. This has been found to cause various problems including "Illegal Operation" errors and other unexpected results. For this reason, if you are using CALL PROGRAM or CHAIN, be sure to DESTROY all bitmaps, fonts (except those accepted from "standard object") and menus which have been created by that run unit. The exception here is any of these whose handles you may be passing in the USING section which you want to use in the called program. A second area which can cause problems is the situation where a subroutine is called several times, and each time it allocates memory by one or more of the above means. If prior to the EXIT PROGRAM you have not DESTROYED these i
Created On: 26 July 2012 Problem: Entering the command "acurcl -info" gives Socker Error: 10035. Resolution: While /etc/hosts had the server name defined correctly /etc/sysconfig/network did not. This must have changed a few days ago when we installed a new piece of software on the server which messed up the server name in /etc/sysconfig/network. As soon as I corrected this the socket error stopped appearing. Incident #2575420 Old KB# 36152#acurclsocket10035
Created On: 26 July 2012 Problem: Running FSSERVICE -i to install Fileshare as a service fails with the following error:"FSS005-S Fileshare Service failed to install." Resolution: User Account Control in Windows Vista, Windows 7, and Windows Server 2008 extends to the Command Prompt and prevents users (even those with administrator privileges) to run a command to install a program as a service. You need to open a Command Prompt that is run as administrator to install a program, such as FSSERVICE, as a service. To run FSSERVICE command from the Command Prompt:1. Right-click on the Command Prompt shortcut2. Click on Run as Administrator3. Issue the FSSERVICE command You should then get the following message: "FSS004-I Fileshare Service installed successfully." Incident #2584419 Old KB# 36153#netexpress#EnterpriseServer#Enterprise#EnterpriseDeveloper#COBOL#StudioEnterpriseEdition#VisualCOBOL
Created On: 20 August 2012 Problem: Microsoft documents that in a .NET managed code applications all shared assemblies that are used by the application must either be installed in the Global Assembly Cache (GAC) or they must be made located in the same folder as the startup program. They specifically state that the PATH environment variable will not be searched when attempting to locate assemblies that are called.I have a need during development for my application to load different versions of assemblies, in different stages of development, under various conditions. How can I configure my application to find the correct assembly if PATH cannot be used? Resolution: The .NET COBOL runtime does its best to provide the same level of searching as our native runtime does, so it has similar search loaders, this includes a searcher that does use the PATH environment variable. If the .DLL assemblies are located within the PATH they will be found and loaded. This was something
Created On: 09 July 2012 Problem: The customer was using a script to build a program, and got an error stating “symbol _tmc7901b not found” . Resolution: We did a cd to $COBDIR/lib and ran this command: for file in *; do echo $file; nm $file|grep -i _tMc7901b; done It showed that the symbol _tMc7901b is defined in the COBOL runtime system libraries, meaning it should be found as long as the environment variable LD_LIBRARY_PATH is set. Further research proved that the script to build the program was using a callable shared object (.so file) that was created with an older version of COBOL. Once the .so file was replaced with one created with the current version, the error no longer occurred. Incident #2580447 Old KB# 36072
Created On: 20 July 2012 Problem: When trying to install a Server Express Fixpack, the user was getting the following error: --------------------------------------------------------- | | | Micro Focus Self Extracting Archive | | &
Created On: 20 July 2012 Problem: Customer had 130 licences with only 90 currently being used. They got intermittent connection refused error messages and it looks as if it's directly related to the number of users connected. Resolution: In this case the Acurcl service was started using the System account and it was only allowing 100 iterations of wrun32.exe to be launched. By changing the Acurcl service to use a local user account instead of the system account, the 100 limit did not apply. Incident #2549090 Old KB# 36128#COBOL#UsersConnected
Created On: 25 July 2012 Problem: Compiling with the native compiler option --intel caused an immediate runtime MAV. Why is this? Resolution: After investigation by our development team it appears the problem on Windows when running programs compiled with –n or --intel is caused by Windows machines that have Data Execution Protection (DEP) enabled for all processes. Please set the following runtime configuration variable: - USE_EXECUTABLE_MEMORY TRUE When set to "TRUE", this variable enables a COBOL program compiled for Native Code (-n compiler option) to run on a Windows machine that has Data Execution Protection (DEP) enabled for all processes. The default value is "FALSE". Incident #2552337 Old KB# 36149
Created On: 25 July 2012 Problem: The calculation is coded as follows: COMPUTE BEN-ER-PER-COMMUTED ROUNDED = (BEN-ER-CASH-LSUM-COMMUTED / COMM-FACT) / BEN-ER-FULL-ANNUAL * 100 The values loaded into COMM-FACT and BEN-ER-FULL-ANNUAL are zero. If the value inserted into BEN-ER-CASH-LSUM-COMMUTED is 63, the result is 300.00 It would seem as though where a value is loaded into the last integer digit the result is returned with a value other than zero. Resolution: In normal circumstances you cannot divide by zero and the SIZE ERROR option should be used. However, AcuCobol has the following configuration file setting A_CHECKDIV. This variable allows you to specify an alternate runtime response to a divide by zero condition when the statement does not include a SIZE ERROR clause. In COBOL, a division by zero produces a size error condition. The SIZE ERROR clause allows the programmer to specify actions to take when this condition occurs. If there is no SIZE ERROR clause,
Created On: 19 July 2012 Problem: How can I create a new Excel spreadsheet, populate it with data, prompt the user for a filename to save it under and then save it using that filename, all automated from within a Net Express or Visual COBOL native program? Resolution: This can be done by using the COM Automation client support for native COBOL within both Net Express and Visual COBOL programs. The following is a modified version of the EXCELdemo that is supplied with Net Express.It uses the getSaveAsFilename method to prompt the user for a filename and then uses the SaveAs method to actually save the file.This demo also shows how to use the named parameter support in COM method calls in order to pass parameters by name rather than by order. *------------------------------------------------------------------------- * &
Created On: 13 July 2012 Problem: Although a full permission (i.e. Administrator) is granted, the following command line to install COBOL Server 2.0 on a network drive fails:COBOLServer20.exe /q /componentargs "Micro Focus COBOL Server":"INSTALLDIR=S:\\COBOLsrv20" The install aborts with the following error message:"The installer has insufficient privileges to access this directory: S:\\COBOLsrv20. The installer cannot continue. Logon as an administrator or contact your system administrator." %TMP%\\COBOLServerx86_install_log.txt reports the following error:-----Product: Micro Focus COBOL Server -- Error 1327. Invalid Drive: S:\\ Error 1327. Invalid Drive: S:\\----- Resolution: This is an issue with Microsoft Installer not allowing to install a software on the network mapped drive. To workaround the problem, you may use instead the actual UNC behind the mapped drive. Given the UNC behind S drive is \\\\machine-name\\share\\, the command
Created On: 20 July 2012 Problem: Can I display a graphical Message Box in a Visual COBOL console application or some other non-Forms based project type?An error message appears about class not being found. Resolution: You can use the MessageBox class in a console application but you will have to add the proper assembly to the project. In the Visual COBOL Help search for MessageBox. The Help will list a number of items because there are a couple different MessageBox classes depending on the technology you are using such as Windows Forms or WPF. Assuming you are using Windows Forms, click on the entry for MessageBox Class in System.Windows.Forms. The docs will tell you that the assembly name where this class resides is called System.Windows.Forms. In Solution Explorer, right click on References under the project name in which you wish to display the message and then select Add Reference.From the .NET tab scroll to find System.Windows.Forms for the .NET Framework versi
Created On: 20 July 2012 Problem: Customer converted most of their Net Express code to Visual COBOL 2.0 native code. The application is compiled as a set of COBOL .DLLs which are called from a Visual Basic GUI front end.In their VB application they changed options so that the COBOL directory points at where these dlls are located. However, when the application is started they get the error message, "The procedure entry point _mFerr3 could not be located in the dynamic link library cblrtsm.dll."What does this message mean? Resolution: The error message about the entry point _mFerr3 not being found means that your application is picking up the wrong version of the COBOL run-time system, cblrtsm.dll, most likely the one from Net Express. Search your system to see if you have multiple versions of cblrtsm.dll on your drive and ensure that only the one from the Visual COBOL\\bin folder is being found. You should link your native applicati
Created On: 13 July 2012 Problem: There appears to be a problem when attempting to run an application that executes back to back SQL SELECT statements where arrays are being used when using OpenESQL and Oracle's 11g ODBC driver.The same program runs fine when using Oracle's 10g ODBC driver. The problem is that a Run-time error 114 occurs when executing the second SELECT.Here is the program: identification division.program-id. Program1.data division.working-storage section.EXEC SQL INCLUDE SQLCA END-EXEC.EXEC SQL BEGIN DECLARE SECTION END-EXEC.01 MY-ARRAY-FIELDS. 05 ARRAY-FIELD1 PIC X(02) OCCURS 80. 05 ARRAY-FIELD2 PIC X(02) OCCURS 80.EXEC SQL END DECLARE SECTION END-EXEC.procedure division. EXEC SQL CONNECT TO "oraconnect" USER "SCOTT/TIGER" END-EXEC. DISPLAY "SQLCODE IS " SQLCODE.* First SQL statement EXEC SQL S
Created On: 17 July 2012 Problem: On the mainframe an unsigned data item with usage COMP-3, containing a sign byte of either 0F or 0C would pass the if zero condition test. In Net Express or Visual COBOL only the field ending in 0F passes a compare test to zero.Example: program-id. packzero. Data Division. Working-storage section. 01 num-x pic X(3) value x'00000c'. 01 num redefines num-x pic 99V99 COMP-3. procedure division. main. if num = zero display 'Value is Zero' else
Created On: 13 July 2012 Problem: Created an application using Visual COBOL R3 that used the EXEC ADO GET CURSOR statement to retrieve a dataset object from a SQL SELECT CURSOR in order to bind the object to a DataGridView Control.This worked fine in Visual COBOL R3.When runnimng the same application in Visual COBOL 2.0 an error now occurs on the EXEC SQL GET CURSOR statement.The sqlcode is 19501 and the error is "Invalid Cursor State"The following demo was used.The demo uses 32-bit ADO connection mapped to the Northwind database.It has a form with a datagridView control on it which is bound to a table within an ADO.NET dataset object.The dataset object is returned using: EXEC SQL DECLARE drcursor scroll CURSOR FOR SELECT A.CustomerID ,A.CompanyName
Created On: 13 July 2012 Problem: When user clicks a button on a main form I want to display a login form where the user can enter username and password information and then return back to the main form.How can I return these login parameters back to the main form?This is a .NET Windows Forms application. Resolution: For the example given here, displaying a login form and then getting username and password back to the main form could be handled as follows: 1. Make the username and password properties of the login form.2. Display the login form using ShowDialog method3. If OK is pressed on login form then set the properties with username and password and return DialogResult::OK to the main form.4. If Cancel is pressed on login form then return DialogResult::Cancel to the main form.5. When main form gets control it can read the properties from LoginForm and process them if OK was pressed.An example project has been attached and appears below:MainForm:*-------------
Created On: 23 July 2012 Problem: If you’ve ever tried to copy/paste something from the help viewer that is part of Visual COBOL / EDTE (essentially Visual Studio help) you might have found it difficult or impossible if you try Right clicking and then clicking “Copy” from the context menu. Normally you can select text (e.g. sample code), right click and then “Copy” when working with web pages, text, PDF, etc. When you right click in the Help Viewer after selecting some text, for some reason Copy is not there. If you then try using Ctrl-C to copy it doesn’t work either. Resolution: Select the text you want to Copy (make sure you don’t Right click if that is what you normally do). Press Ctrl-C to COPY (If you right click first, this will not work). You can then paste it where you need to. This is Microsoft known issue. Old KB# 36133
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.