Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
Created On: 16 November 2012 Problem: Customer is using Net Express 5.1 and has the following question.Net Express has the instrinsic functions upper-case and lower-case. Is there a Function or Module that converts string fields into upper AND lowercase? For example: I would like to convert "JOHN DAVID SMITH" into "John David Smith". Resolution: There is no COBOL intrinsic function to do this mixed case conversion but here is a simple demo to show you how you can write one in COBOL. This example is also attached to this article as a zip file.The mixedcase function will capitalize all words in a string passed to it.Calling program: *----------------------------------------------------------------* * Test Case *  
Created On: 15 November 2012 Problem: Converting an RM fixed length indexed file using RM to MF Data Conversion sample produces an MF variable length IDXFORMAT(8). Resolution: The RM to MF Data Conversion sample is a "sample" program, and it should not be considered as an official Micro Focus conversion utility. The purpose of this sample program is to convert an RM indexed file into an MF variable length IDXFORMAT(8) file. If you wish to modify the sample to convert into an MF fixed length IDXFORMAT(8) file, you will need to change lines 541 and 542 of MigrationForm.xaml.cbl:set tmpStr to String::Concat(IntermedFile, ", """, outFile, """ /o:seq,ind /r:v", MinSizeStr, "-", MaxSizeStr, " /t:mf8 /k:", KeyStr::Trim()) to the following:set tmpStr to String::Concat(IntermedFile, ", """, outFile, """ /o:seq,ind /r:f",&
Created On: 15 November 2012 Problem: To run the RM/COBOL library routines provided in Visual COBOL, you set the DIALECT(RM) Compiler directive, which sets the required calling convention. To run the Visual COBOL library routines, you use the standard COBOL calling convention. If you have RM/COBOL compatible library routines and Visual COBOL library routines in the same program this can be a problem because of the different calling conventions. Resolution: If you have RM/COBOL compatible library routines and Visual COBOL library routines in the same program, do one of the following: • Set the DIALECT(RM) Compiler directive to enable the RM/COBOL library routines, then explicitly use the standard COBOL calling convention for the Visual COBOL library routines. For example : $SET DIALECT(RM) IDENTIFICATION DIVISION. PROGRAM-ID. CTEST2. ENVIRONMENT DIVISION. CONFIGURATION SECTION. SPECIAL-NAMES. CALL-CONVENTION 0 IS Microsoft
Created On: 10 December 2012 Problem: Program that uses an ActiveX control works Ok with Windows runtime version 9.1.2.1 when it runs standalone; but with thin client it crashes, the program works Ok with previous Thin Client versions. Resolution: The problem is due to the ECN-4159 introduced in version 9.1.2.1, while development still is investigating this problem, the solution is to turn off the runtime configuration variable ECN-4159, like this: ECN-4159 OFF Incident #2603362 Old KB# 36669
Created On: 14 December 2012 Problem: Customer is using a C# front end that calls a managed code COBOL class which in turn calls a native COBOL .dll. The C# program is creating a new instance of a RunUnit (MicroFocus.COBOL.RuntimeServices.RunUnit) and then calling the managed COBOL program by adding it to the RunUnit. Is it OK for the managed COBOL to call the native COBOL .dll when it is part of a RunUnit? Resolution: Yes, you can call native COBOL .dlls from managed COBOL when they are part of a RunUnit instance. The native runtime has a “one rununit” per process model, so in effect the native code will be shared between all the managed RunUnits. The native and managed RunUnit have no interaction with each other, so a CANCEL in managed code has no effect on the native RunUnit. The same goes for open files, they will not be shared between the two RunUnits. This in itself might not be a problem if the program is stateless or serialized… ie: local-storage based
Created On: 18 December 2012 Problem: It sometimes happens that in unit testing a message remains in the IMS MSQ queue. Is there a way other than deleting IMSMESGQ.DAT to delete single messages from MSG queue? Resolution: A new command has been added to the IMS functions that will allow you to delete the FIRST or ALL msgs queued for an IMS Transaction.Enter /DEQUEUE TRAN trxname FIRST or ALL where trxname is the name of the IMS transaction in the IMS Control panel in ESMAC.This command was added in Studio 6.0 SP2 WS2 and is available in Enterprise Developer v 2.1. Old KB# 36686#COBOL
Created On: 26 October 2012 Problem: Customer has Visual COBOL application which is using COBOL data files that are being assigned as follows:SELECT TEST-FILE ASSIGN TO "TEST.DAT"TEST.DAT resides in a folder called C:\\datafiles.The application is running in a folder called C:\\myproject\\myproject\\bin\\x86\\debugHow can he setup his application so that TEST.DAT will be found when it is opened? Resolution: You can include the full path to the filename in the ASSIGN clause like:SELECT TEST-FILE ASSIGN TO "C:\\datafiles\\TEST.DAT"You could also change your working folder to be:c:\\datafiles on the properties page-->Debug tab. There are many different optons to use including assigning to environment variables or to data items or using MFEXTMAP. Please look at the docs under the File Handler section here:http://documentation.microfocus.com/help/index.jsp?topic=/com.microfocus.eclipse.infocenter.visualcobol.vs/BKFHFHNAME.htmlOne other thing that you can try is to set the en
Created On: 14 November 2012 Problem: When installing Server 5.1 on Windows 7 and Windows Server 2008, Program Compatibility Assistant is reporting the following:This program might not have installed correctlyIf this program didn't install correctly, try reinstalling using settings that are compatible with this version of Windows. Program: Application Licensing Install Utility Publisher: Micro Focus Location: C:\\Users\\UserID\\AppData\\Local\\Temp\\Filename.exeWhere UserID is the currently logged on user ID and Filename.exe is either aslmpcsilent.exe, alsmpclocate.exe, or init2aslm.exe. Resolution: Although Program Compatibility Assistant reports that these programs did not install correctly, they are in fact installed properly. You may then safely click on "This program installed correctly" to close the prompt.This prompt could have been avoided by running the install as administrator, i.e right-click on the install SRP32
Created On: 26 October 2012 Problem: I am having trouble setting up my Visual COBOL Solutions and Projects so that I can make calls from programs residing in one project to programs residing in different projects. Is there a Tutorial available which will familiarize me with the steps neccessary to do this? Resolution: Attached to this article is a tutorial called Visual COBOL CALL - CCW Tutorial.pdf. There are a number of KB articles in this tutorial, one for each type of call:1. Native to native2. INT/GNT to INT/GNT2. Managed to managed3. Native to managed4. Managed to nativeThis article covers Native code to Managed code. Problems with Calling Programs Located in Different Projects Each project specifies an output folder into which its generated output files will be stored. The default name of this folder varies depending on the project CPU settings and which build type you are using such as DEBUG or RELEASE. The default location is
Created On: 26 October 2012 Problem: I am having trouble setting up my Visual COBOL Solutions and Projects so that I can make calls from programs residing in one project to programs residing in different projects. Is there a Tutorial available which will familiarize me with the steps neccessary to do this? Resolution: Attached to this article is a tutorial called Visual COBOL CALL - Native Tutorial.pdf.There are a number of KB articles in this tutorial, one for each type of call:1. Native to native2. INT/GNT to INT/GNT2. Managed to managed3. Native to managed4. Managed to native This article covers Native code to Native code.Problems with Calling Programs Located in Different Projects Each project specifies an output folder into which its generated output files will be stored. The default name of this folder varies depending on the project CPU settings and which build type you are using such as DEBUG or RELEASE. The default location is in a
Created On: 26 October 2012 Problem: I am having trouble setting up my Visual COBOL Solutions and Projects so that I can make calls from programs residing in one project to programs residing in different projects. Is there a Tutorial available which will familiarize me with the steps neccessary to do this? Resolution: Attached to this article is a tutorial called Visual COBOL CALL - Managed Tutorial.pdf. There are a number of KB articles in this tutorial, one for each type of call:1. Native to native2. INT/GNT to INT/GNT2. Managed to managed3. Native to managed4. Managed to nativeThis article covers Managed code to Managed code. Problems with Calling Programs Located in Different Projects Each project specifies an output folder into which its generated output files will be stored. The default name of this folder varies depending on the project CPU settings and which build type you are using such as DEBUG or RELEASE. The default location is
Created On: 26 October 2012 Problem: Customer has managed code Windows Form application that is doing a COBOL sort: SORT SORT-FILE ON ASCENDING KEY sort-key USING TMP-FILE GIVING TMP-FILEThe statement is being executed from within an object method.When the sort is executed the following exception occurs: "Index was outside the bounds of the array." Resolution: This was determined to be caused by using SORT with USING/GIVING directly within a managed code object method. The problem has been fixed by development and the fix will be available in a future release of Visual COBOL (after initial 2.1) A workaround is to move the SORT statement to a procedural COBOL program and call this program from within the method instead of doing the SORT directly in the method. Incident #2596409 Old KB# 36519#VisualCOBOL#COBOL#Enterprise#Ente
Created On: 06 November 2012 Problem: A customer would like to use an ADO.NET connection to their MS Access .mdb database file. How can they create a connection to the .mdb file using the Visual COBOL ADO.NET Connection editor? Resolution: Test Connection: Test connection: Old KB# 36591#COBOL
Created On: 08 November 2012 Problem: The main program calls by the data-item a module that is created into .DLL. This main program is generated with LITLINK . The error 173 is all times displayed . Resolution: The issue is with Net Express 5.1WS5 and has been fixed in Net Express 5.1WS6. Incident #2586639 Old KB# 36592#COBOL
Created On: 12 November 2012 Problem: Attempting to use the cursor option with the accept statement causes an error for example: accept memo-oms no beep cursor ws-memo-cursor 28207 update no beep cursor ws-memo-cursor 11-E Reserved word missing or incorrectly used Resolution: At present there are no plans to implement this functionality for either ACU or RM. The solution is not to use this syntax. Old KB# 36602#"compilererror"#ACCEPT#COBOL
Created On: 30 October 2012 Problem: Customer is running Visual COBOL 2.1, Visual Studio 2010 SP1 but also previously had Visual Studio 2012 installed on same computer. Customer has a native COBOL link library project consisting of a single resource file (myfile.rc). When the project is built the following error occurs: LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt How can this be fixed? Resolution: This problem does arise from having both Visual Studio 2010 and Visual Studio 2012 installed on the same system.Microsoft states that the problem can be resolved by installing Visual Studio 2010 SP1. Although this will fix the problem when using Microsoft languages it will not solve the problem when using Visual COBOL 2.1. This is because Visual COBOL provides a preSP1 version of the CVTRES.EXE utility in its bin folder and this is the one that is picked up when compiling resources in a Visual COBOL project. As
Created On: 26 October 2012 Problem: I am having trouble setting up my Visual COBOL Solutions and Projects so that I can make calls from programs residing in one project to programs residing in different projects. Is there a Tutorial available which will familiarize me with the steps neccessary to do this? Resolution: Attached to this article is a tutorial called Visual COBOL CALL - PInvoke Tutorial.pdf. There are a number of KB articles in this tutorial, one for each type of call:1. Native to native2. INT/GNT to INT/GNT2. Managed to managed3. Native to managed4. Managed to nativeThis article covers Managed code to Native code. Problems with Calling Programs Located in Different Projects Each project specifies an output folder into which its generated output files will be stored. The default name of this folder varies depending on the project CPU settings and which build type you are using such as DEBUG or RELEASE. The default location is i
Created On: 12 November 2012 Problem: The Visual COBOL file handler can be configured via a configuration file. The full details of the configuration file can be found in the Visual COBOL documentation.The purpose of this article is to discuss the behaviour of the file handler when the FOLDER tag configuration is used.The FOLDER tag has the format, for example, of:[FOLDER:C:\\\\files\\\\data]IDXFORMAT=21The documentation states that this instructs the file handler to read all files in c:\\files\\data as RM/COBOL indexed data files. Resolution: However it should be noted that this doesn't only apply to the c:\\files\\data folder but also to all sub folders too, for example c:\\files\\data\\sub1, c:\\files\\data\\sub2, c:\\files\\data\\sub1\\subZ etc.NB: There is a known problem with the FOLDER tag option in Visual COBOL 2.1 for Unix, in that it doesn't parse the folder path correctly. This is addressed in Visual COBOL 2.1 Hot Fi
Created On: 26 October 2012 Problem: Customer used the Visual COBOL Net Express import wizard to import a number of Net Express projects that existed in the same physical folder location. Some of the projects were .INT/GNT projects and some were .DLL projects.The DLL projects build fine and the INT/GNT projects build fine if they are built prior to any .DLL project being built. If the INT/GNT project is build after a DLL project that resides in the same folder then the following error occurs: "Could not copy the file "obj\\x86\\Debug\\Program1" because it was not found. Microsoft.Common.Targets line 3364. Why is this happening? Resolution: This problem is caused by using the same root folder for multiple projects that are imported where some projects are .dll projects and some are .int/.gnt.Because the projects are in the same folder they share a common obj\\x86\\debug folder which is where the build places the temporary .obj files when linking.The
Created On: 30 October 2012 Problem: Entered: cobsje -v -J /usr/java130 Received error message: Exception in thread "main" java.lang.UnsupportedClassVersionError: WhatJavaVersion (Unsupported major.minor version 48.0) Resolution: You need a Java Runtime Environment (JRE) on any machine that is going to execute Java applications. If you are going to develop mixed Java and COBOL applications, you also need a Java Development Kit (JDK). To add the Java support to the COBOL environment, you must run the cobsje script The cobsje script does several things including:1) Runs $JAVA_HOME/bin/java WhatJava to obtain the Java version 2) Checks that the version of Java is supported Your COBOL development system currently supports several Java versions. To find the version that is supported, read $COBDIR/docs/env.txt The UnsupportedClassVersionError will list what version of java it needs (note the example requires version 48) Major Class Versions of Java JDK--------------
Created On: 08 November 2012 Problem: A customer is converting from Net Express to Visual COBOL native and they have a manifest file that they would like to include in their .EXE. In Net Express they use an RC file included in the project that includes their own "app.exe.manifest" file. This is needed to enable common controls V6 that they need for their UI. Here is the contents of the manifest which works successfully with Net Express builds: This manifest isn't working with Visual COBOL. From looking at the verbose build output it can be seen that the link command is being called with the -manifest option. This causes an app.exe.manifest to be generated. Then further down there is an mt (Manifest Tool) command to insert the generated manifest file into the app.exe file. This is likely overriding the manifest they compiled in using the .rc file. How can they override this process to include their own manifest file into the
Created On: 26 October 2012 Problem: I am having trouble setting up my Visual COBOL Solutions and Projects so that I can make calls from programs residing in one project to programs residing in different projects. Is there a Tutorial available which will familiarize me with the steps neccessary to do this? Resolution: Attached to this article is a tutorial called Visual COBOL CALL - INT-GNT Tutorial.pdf. There are a number of KB articles in this tutorial, one for each type of call:1. Native to native2. INT/GNT to INT/GNT2. Managed to managed3. Native to managed4. Managed to nativeThis article covers INT/GNT code to INT/GNT code. Problems with Calling Programs Located in Different Projects Each project specifies an output folder into which its generated output files will be stored. The default name of this folder varies depending on the project CPU settings and which build type you are using such as DEBUG or RELEASE. The default lo
Created On: 05 November 2012 Problem: A customer was looking for a simple method of using a key to encrypt/decrypt string fields in COBOL so that they could be used to encrypt data in a file. Is there an example of doing this? Resolution: This is intended only to obscure a string from a casual prying eye. It is NOT intended to be a replacement for true encryption like 3DES and RSA encryption. Please do NOT assume this routine is in any way secure or uncrackable. Essentially, The code uses a variable length key to obscure the original string by iterating through the string you want obscured and adding the ASCII value of the character at each position of the original string with the ASCII value of a rotating “key character” in the key provided to generate a new ASCII value. This new ASCII value is then converted to a character and added to the newly encrypted string. The obscured string is further obscured by the fact that the original string is reversed prior to bein
Created On: 17 October 2012 Problem: We want to be able to activate our Cobol 2010 Runtime licenses via their Proxy Server but when doing so see the following error: Error: Unable to comunicate with Micro Focus ,The remote server returned an error: (407) Proxy Authentication Required. Resolution: Please note that this issue is resolved in Visual COBOL version 2.1, if you are using a previous version of this product please try the following: To allow for safe net license activation through a proxy server you can use the following CesAdminTool.exe.config file modification, this file is normally placed in the following folder: C:\\Program Files (x86)\\Common Files\\SafeNet Sentinel\\Sentinel RMS License Manager\\WINNT\\CesAdminTool.exe.config The proxy configuration will be set in internet explorer , for further info you could read http://msdn.microsoft.com/en-us/library/sa91de1e(v=VS.90).aspx To make it work, you should modify the file with: <>
Created On: 17 October 2012 Problem: If experiencing errors when using Visual COBOL for Eclipse you can see the errors in the Eclipse log file, it is not easy to see how these errors occur in realtime or when exactly they occurred, or know what Eclipse is doing at the time of the problem. Resolution: You can start the Eclipse IDE with the consolelog option, this will show you events/errors as they occur on a console, and this could help you understand which areas of the software are affected. > Open a Visual Cobol command prompt and type:> cd C:\\Program Files\\Micro Focus\\Visual COBOL\\eclipse\\ > press enter> then type:> eclipse.exe -consolelog > press enter You will see a console window open up and in there what Eclipse is loading/doing. NA. Old KB# 36446#COBOL
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.