Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
Created On: 11 December 2012 Problem: Customer has a .NET Windows Form application written in Visual COBOL. The form has several textbox controls on it and it uses auto validation by setting their CausesValidation property to true.This works fine when a user leaves the field except when they click on a button that causes a FormClose event to fire, such as invoke self::Close or clicking on the Windows Close "X" box.The problem is that the Validating event occurs before the FormClosing event so the validation code will be executed when it really should be bypassed so that error messages are not displayed etc.How can this be programmed so that the validation code is bypassed if the form is closed? Resolution: There is a sample program attached that demonstrates how this can be done by checking the current stack for the form to see if the WmClose message is present before executing the validation logic.If WmClose is found then the logic will be bypassed and the
Created On: 30 April 2012 Problem: Failed to authorize the Authorization Code over the web. Even when using the Manual Authorization option, it says the license is installed but nothing was displayed on the 'Licenses' tab of the 'Micro Focus Licensing System Administration' window. Resolution: The license files, lservrc.stn and lservrc.net, are located in:C:\\ProgramData\\Micro Focus - for Windows Vista or Windows Server 2008 or Windows 7 C:\\Documents and Settings\\All Users\\Application Data\\Micro Focus - for Windows XP Follow these instructions:1. Create a copy of the lservrc.net and lservrc.stn files.2. If you see the word "STANDALONE" in the license strings, then open the lservrc.stn file using notepad or wordpad. If you see the word "NETWORK" in the license strings, then open the lservrc.net file.3. If the license fil
Created On: 30 November 2012 Problem: In the Net Express/Server Express documentation in the section under COBOL/Java Interoperability section for compatible data types here: it shows that the compatible COBOL data type for the Pointer class is PIC X(99).Does this mean that the maximum size of a string that can be passed to COBOL is 99 bytes? Resolution: The documentation example is not correct.PIC X(99) is shown as an example of what the data type could look like and not what it must look like.The documentation should really show the data type for the Pointer class as: PIC X(n) where n = 1 -> maximum length of string passed. Old KB# 36645#ServerExpress#netexpress#EnterpriseDeveloper#VisualCOBOL#COBOL#StudioEnterpriseEdition#Enterprise
Created On: 19 November 2012 Problem: When installing Visual Cobol 2.1 Products it will install the License manager using lmsetup64.msi , this will automatically create Firewall rules to allow for communication to licening servers. Is there a parameter to prevent firewall rules from being set during license manager installation? Resolution: You can use the following parameter when installing the license manager: > lmsetupx64.msi ENABLEFIREWALL.B770BEF9_6C75_468D_A6D3_B6B7856579C8=”FALSE”This will not create any Firewall rules when installing the license manager. NA Old KB# 36619#COBOL
Created On: 04 December 2012 Problem: Customer is converting a native code Net Express application that uses Oracle's Pro*COBOL precompiler to access Oracle databases, to use Visual COBOL .NET managed code using the Oracle Data Provider ODP.NET driver.OpenESQL supports dates that are in ISO format YYYY-MM-DD but the application is using the Oracle format of MM-DD-YYYY.How can they continue to use the Oracle formats so that they do not have to change their source code? Resolution: Starting with Visual COBOL 2.1 Hotfix 2, there is a new SQL directive called DATE=EXTERNAL.When this directive is set and the program is using the Oracle Data Provider for .NET (ODP.NET) then the date format used will be that set by the NLS_DATE_FORMAT and NLS_TIMESTAMP_FORMAT settings of Oracle or the NLS_DATE_FORMAT and NLS_TIMESTAMP_FORMAT environment variables if they are set.This only works with the ODP.NET and does not work with the Microsoft Oracle ADO driver.Here is an example program
Created On: 12 December 2012 Problem: It is possible to have multiple physical files that are, logically, the same file? In this scenario, it is useful to be able to combine the records from the different physical files into one Relativity table. Resolution: *The Relativity Designer Help file discusses this topic in detail. However, the following is a simple guide to setting it up. This guide assumes that you have created a new catalog and have imported the FDs of all the files you wish to use. **All files MUST have the same structure and data definition. If you wish to 'merge' data from files that have dissimilar structures, then create a table per file and merge the data in your ODBC enabled application using SQL JOIN. 1. Open each FD, right click, and select Add File Label. Ensure the name is unique for each FD. It helps to give the File Label the same name as the FD. 2. Create a table and drag all the fields (including the File Label field) from the first FD. 3. Clic
Created On: 21 November 2012 Problem: Opening an HTML file in Net Express fails with the following error after applying Net Express 5.1 WrapPack 7: Object Code error: file 'proplist'error code: 153, pc=0, call=1, seg=0153 Subscript out of range (in .\\PROPLIST.cbl, line 2366)The exact same error appears when creating ActiveX controls in a Dialog System screenset. Resolution: The problem has been addressed in RPI 1085782, and the fix will be included in Net Express 5.1 WrapPack 8, which will be released sometime in February 2013.The workaround is then to remove WrapPack 7 and remain with WrapPack 6. Incident #2602584 Old KB# 36623
Created On: 16 November 2012 Problem: With Visual COBOL for Visual Studio there is a sample solution called RMMFMigration. This solution assists in the conversion of RM/COBOL data files to the Micro Focus Visual COBOL data file format. Converting RM/COBOL data files to Micro Focus Visual COBOL Format is a two step process. The data file is first converted to an intermediate variable length sequential file by a conversion routine (ixconvert.cob) and is then passed to a Visual COBOL application (rebuild.exe) to convert the intermediate file into a Micro Focus Visual COBOL index file. However this isn't an Eclipse version of this solution. Resolution: The RMMFMigration project is really just a front end that then calls ixconvert that does the real work. Ixconvert is an RM/COBOL object and can be run using ‘runcobol’. It will produce a Micro Focus binary sequential file and will return several pieces of information to the caller including the key expres
Created On: 14 December 2012 Problem: Customer has an application that uses many indexed files that are opened for input so that the application can read records in each of the files.This processes OK when only a single instance of the application is running but when multiple instances of the application are running, the performance gets quite a bit worse and file locks begin to be returned to the applications.No application is updating the files. How can we improve the performance and get rid of the locking issues that are occurring when multiple instances of the application are running? Resolution: Try opening the files using the following statement: OPEN INPUT SHARING WITH READ ONLY filenameThis tells the file handler to only allow other applications to open the file for read-only so that it does not have to include all of the overhead checking to see if the files have been updated by another application since the last read took place.This can dra
Created On: 12 December 2012 Problem: It may be necessary to gather use count information for your RM/COBOL Runtime or Compiler. However, this information is not reported by the Runtime or Compiler products. Resolution: The RM/COBOL Use Count Utility(rmucutil) is used to check how many use count licenses are in use on the network. The RM/COBOL Use Count Utility(rmucutil) can be found in the RM/COBOL installation directory. Below is the usage information for the RM/COBOL Use Count Utility(rmucutil): rmucutil RegistrationNumber [COMPILER|RUNTIME] DETAILS *The Registration Number for your product can be found by running either of the following commands: "runcobol" or "rmcobol" In addition, the environment variable RM_UC_LOG_PATH can be set to a directory, so RM/COBOL will create a RMUSECNT.LOG file, which will contain similar diagnostic messages. For example, for Windows systems, setting RM_UC_LOG_PATH=C:\\TMP will cause RM/COBOL to create a
Created On: 27 November 2012 Problem: If you have enabled a trace in Fileshare what will you see in the trace if an application has issued a rollback of a transaction? Resolution: The Fileshare trace will log the file operations that are performed on a file. The file handler op code for a rollback is DD and it is a standard file operation you the full code you see is FA DD.An example log showing a rollback would look like:-07385680 FS163-I Input- FSADMIN FA8E C:\\MYFILES\\AFILE.DAT07385680 FS173-I Output- FSADMIN 2/307385680 FS163-I Input- FSADMIN FAF3 C:\\MYFILES\\AFILE.DAT07385682 FS173-I Output- FSADMIN 0/007391544 FS163-I Input- FSADMIN FADD07391546 FS173-I Output- FSADMIN 0/007391719 FS171-I Input- Logoff FSADMIN07391723 FS173-I Output- 00001 0/0You can see in the trace above that the FADD (Rollback) has been issued. Incident #2600954 Old KB# 36636#COBOL
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: 04 December 2012 Problem: Customer has developed a .NET Windows Forms application using Visual COBOL and now they wish to deploy it on a network server so that all workstations that are mapped to the server can run the application without installing the COBOL Server product locally on each workstation.Can this be done? Resolution: Yes, a .NET managed code application can be setup to run from a network server as long as the workstations that are accessing the server have the required permissions.If you also are using native code components in your application then you will need to setup the licensing as shown in KB article here:Here are the instructions for extracting the managed code assemblies from the COBOLServer21.exe installer so that they can be deployed on a network and shared by workstations. The following are instructions for installing the COBOL Server 2.1 managed code assemblies to use on a network. This assumes that you already have the COBOL Server
Created On: 10 December 2012 Problem: When compiling a COBOL program, AcuBench 9.1.2.1 crashes. Resolution: This is due to a correction made in 9.1.2 that removed memory leaks. There is a new ECN-WB915 that will be included in version 9.2.0, but there is already a patch available for AcuBench 9.1.2.1, which is patch 1357, that could be requested to SupportLine. Incident #2603766 Old KB# 36670
Created On: 04 December 2012 Problem: Customer has application in native code which loads another native .dll called "prog2.dll" which contains the program "subprog" using the following syntax:01 pp procedure-pointer.... set pp to entry "prog2" if pp not = null call "subprog" else display "load error" end-if.When executed from native code the set statement results in pp being set to the first ordinal in the .dll whether or not it has an entry point with the same name as the .dll. They are converting the main program to managed code and when they execute the same code to load the native "prog2.dll", the .dll is loaded correctly but the value of pp remains null so the test of null fails. Why? Resolution: When executing the set statement in managed code it will only set the value of pp to non-null if the .dll being loaded ha
Created On: 04 December 2012 Problem: Is it possible through AcuCobol to change the fonts or enlarge the pop-up menu? Resolution: This is not possible from COBOL. You would need to choose the size of menus by using the Windows Control Panel. And there is only minimal control there. Old KB# 36660#COBOL
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: 16 November 2012 Problem: Customer creates a line sequential file that has different record lengths in it depending on the user running the application. They would like to use a single file description in their COBOL application to create these files so that they do not need a different description for each file.The file name will be created dynamically and the records are different lengths. Also the records need to be padded out to the desired record length using spaces. How can this be done? Resolution: An example is attached to this article.Here is what the program looks like: *----------------------------------------------------------------* * TESTVARYING &nb
Created On: 12 December 2012 Problem: When a .Net control is local on the same computer where the Runtime is executing there is no error. But when the .Net control is on another computer and accessed remotely via either UNC notation or a mapped drive the version 9.1.1 Runtime crashes with a memory access violation. With 8.1.x runtime there is no crash - everything works as expected. Resolution: Version 9.1.1 implemented the .Net 4.0 framework, which has different security than previous versions of the .net framework. In particular, it won't default load an assembly on a remote machine (and in some cases, won't even load one that came from a remote machine, but is now local). Previous .Net versions did not have such a security restriction which is why earlier Runtime versions do not have a problem. To allow loading of remote assemblies requires the creation of a .Net configuration filenamed wrun32.exe.config in the same directory as wrun32.exe,
Created On: 03 December 2012 Problem: When building a Visual COBOL project the following error is produced: LINK : fatal error LNK1248: image size (D3B7A000) exceeds maximum allowable size (80000000) Resolution: This is a limit of Windows not the compiler. The Microsoft linker has determined that the size of the output file will exceed the largest possible size for a program image. The largest possible size for a program image is 2 GB.The solution is to reduce the size of the program image, for example this large array would cause the error, reducing the size of the occurs would resolve the problem. 01 library identified by "library". 05 book identified by "book" &nb
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: 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: 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: 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
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.