Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
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: When trying to install a Server Express Fixpack, the user was getting the following error: --------------------------------------------------------- | | | Micro Focus Self Extracting Archive | | &
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: 24 July 2012 Problem: Customer would like to use the Enter key as a Tab key when entering data in a Windows Presentation Foundation application. How can I trap the Enter key and make it behave as if a Tab were pressed instead? Resolution: You can capture the KeyDown event on the WPF Window class or on a specific control like a TextBox and check if the Enter key was pressed.If it was then you can fire a new KeyDown event for the Tab key every time the Enter key is pressed.Example program swapkeyWPF is attached.Code looks like: *----------------------------------------------------------------------------------------------------** SWAPKEYWPF  
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
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: 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: What is supported when you have AcuXDBC Client and Server differences of 64 bit and 32 bit? Resolution: The rule is that all client/server products which use sockets for communication do not care about 32bit and 64bit mixing of client and server. For instance, you can use a 32bit SQL Server client with a 64bit SQL Server, ditto for Oracle. You can use a 32bit runtime to talk to a 64bit AcuServer. Old KB# 36127#COBOL
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: 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: 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: 18 July 2012 Problem: Customer has RM/COBOL application and data files that they are converting to Visual COBOL.They used the Sample conversion program RMMFDataMigration to convert an indexed file from RM format to Visual COBOL format. When attempting to open the file in a Visual COBOL program it returned a file status value of "39" which means that a fixed file attribute conflict had occurred.This means that the description of the file in the program did not match the physical attributes specified in the file itself. What could be the problem? Resolution: You should run the Visual COBOL Rebuild.exe command against the file to see what the physical attributes are for the file. You can then modify the COBOL source to match the physical attributes.From a Visual COBOL command prompt run:rebuild filename.dat /nWhere filename.dat should be replaced by the actual name of your file.Check that the key position and lengths match up.Record length is als
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: 13 July 2012 Problem: The current documentation does not explain how to create an IMS segment Layout file (.slf) which is used to display the fields and values when editing an IMS database. Resolution: From the Windows menu section go to Studio - Compatibility Tools - Net Express Create a new project and add the DBD’s and Cobol programs that use the databases Gen the DBD files to create ACB files Select File -> New - Segment Layout To create a new one Select the database and press the Create button Select the .IDY file of your program that uses the database Drag the 01 level or the IO area of the segment to the righthand panel Select the segment name that corresponds to the IO area and press Next To create a default layout (the easiest) just press the Next button and then Finish. This will create a layout just for this segment To add more segments for the database just repeat from the drag and drop step for each segment After all
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: 12 June 2012 Problem: When in AcuBench’s Screen Designer, a screen has an entry field named, as a sample, SCREEN-EF-FIELD1 that is defined in the properties to be displayed at line 5 and position 20. If by chance the control was setup with a line variable called SCREEN-EF-FIELD1-LINE but this variable is not referenced in the source program the generate sets this line variable to some other value than '5' as expected so the field ends up displaying at a different line number. Resolution: Delete the line variable from the control properties in the Screen Designer so that the control displays in the correct location. Users don't want to define line or column variables in the control properties if they don't plan to use them in the program. Incident #2573925 Old KB# 36010
Created On: 31 May 2012 Problem: The Net Express 5.1 documentation includes a section on how to use Web Services with the Microsoft SOAP Toolkit. This is found under Help > Contents > Programminmg > Web Services > Chapter 3: COBOL Web Services using the Microsoft SOAP Toolkit.The example in the documentation is no longer valid. Can you please give me a new example of how to use the SOAP Toolkit? Resolution: Microsoft's Soap Toolkit has not been supported by Microsoft since 2005. Microsoft now recommends that you use Visual Studio .NET to create Web Services or to create Web Service clients. The creation of COBOL web service clients in .NET is fully supported in Net Express .NET running under Visual Studio or in Visual COBOL. The Microsoft Toolkit 3.0 still seems to work OK but the sample in the NX 5.1 docs is now invalid as the Toolkit registry name has changed as well as the example web service no longer exists. The following is an updated ve
Created On: 08 June 2012 Problem: A customer is using Net Express 5.1 and the Interface Mapping Toolkit (IMTK) Client Generation Tool to create a Web Service client program in COBOL from a 3rd party WSDL file. The Web Service uses SSL so the Net Express 5.1 Security Addpack has been installed and configured. When the customer runs the Web Service client it returns a 0008 Communications Error which normally means that the SSL is not setup correctly on the workstation. How can the customer test his computer to ensure that SSL security is setup correctly outside of running the Net Express client program? Resolution: There is a program called openssl.exe which is installed as part of the Net Express Security Addpack that resides in the C:\\Program Files\\Micro Focus\\DemoCA folder. This is an open source implementation of an application that can be used to test if security is working correctly on your workstation.From a net express 32-bit command prompt make
Created On: 05 July 2012 Problem: How can I retrieve the individual columns of data that are selected in a ListView control in a Visual COBOL Windows Forms application? Resolution: The following is an example which populates a 3 column listview with data and then sets the 2nd row to be the selected row and then when a button is clicked it will extract the columns from the first selected row into appropriate data items which in this simple case are strings.class-id testlistview.Form1 is partial inherits type System.Windows.Forms.Form.working-storage section.method-id NEW.01 row type ListViewItem.procedure division. invoke self::InitializeComponent set row to new ListViewItem("R1Column1 Data") invoke row::SubItems::Add("R1Column2 Data") invoke row::SubItems::Add("R1Column3 Data") invoke listView1::Items::Add(row) set row to new
Created On: 31 May 2012 Problem: I have many TextBox controls on my Windows Form and I would like the focus to automatically jump to the next control when the TextBox control is filled with text. How do I do this? Resolution: There is an example attached to this article that demonstrates one method of accomplishing an autotab functionaility for TextBox controls on a Windows Form.Example Description: TESTAUTOTABThis example program demonstrates one method of implementing an autotab function to move between controls when a TextBox field is filled to iots maximum length. There are 4 TextBox controls on the form and each has its maxlength property set to 3. Everytime a character is entered into one of the TextBox controls a TextChange event is triggered. Each of the TextBox controls has the method check_TextChanged set as its event handler. The eve
Created On: 03 July 2012 Problem: How can I print the contents of an image file like a .BMP or .GIF to the default printer at a specified location on the page using Visual COBOL and the .NET Framework? Resolution: The following example will do exactly that. There are two sets of code that can be used to either print an image residing in a file on disk or an image that resides in a resource file that is part of the project.The entire solution is attached. When unzipping the file please do so to your C:\\ drive retaining the folder structure that is in the .zip file. $set ilusing"System.Drawing.Printing"$set ilusing"printimagevc.Properties" class-id printimagevc.Form1 is partial inherits type System.Windows.Forms.Form.working-storage section.method-id NEW.procedure division. invoke self::InitializeComponent goback.end method. method-id button1_Click final private.01 pd type PrintDocument.procedure divis
Created On: 26 June 2012 Problem: Does Micro Focus certify ACUCOBOL-GT Extend for use with Windows Small Business Server 2011? http://en.wikipedia.org/wiki/Windows_Small_Business_Server Resolution: Micro Focus doesn’t support officially Windows Small Business Server (of any version).Some issues have been solved in the past changing the security settings on the SBS platform itself, to match the Standard or Enterprise editions of Windows. In case of more relevant issues, Micro Focus asks users to reproduce the problem to a standard Windows Server version.If the issue is reproducible on a standard installation, it may be furthermore analized by the MF Technical Staff. If the issue is NOT reproducible on a standard installation, it can be referenced to the limitations within Windows SBS itself and Micro Focus cannot do anything to work around this situation. The only possible solution is to upgrade user's server to a standard Windows edition. Incident #2580195 Old KB# 36
Created On: 08 June 2012 Problem: Customer has installed Server 5.1 on a network server and is attempting to run the application from a workstation that is setup to use the network Server 5.1 install.They have created a batch file that sets environment variables and then starts application.When they run it it they get a Semaphore error displayed and a message that most likely ASLMFNET is set incorrectly.The batch file looks like:SET ASLMFNET=\\\\compname\\mfaslmf SET COBDIR=\\\\compname\\serverbinSET PATH=\\\\compname\\serverbin;%PATH%where \\\\compname\\mfaslmf is a share pointing to C:\\mfaslmf folder on server and \\\\compname\\serverbin is a share pointing to C:\\Program Files\\Micro Focus\\Server 5.1\\bin folder on server.It appears to be correct, what could the problem be? Resolution: When opening up a command prompt on the workstation and setting the environment variables manually, the application ran successfully which pointed to something being wrong with the
Created On: 03 July 2012 Problem: Customer has a fairly complex COBOL routine to perform business logic that they want to call from Java. The COBOL routine uses parameter blocks which are defined as COBOL group item records. They have successfully created Micro Focus COBOL "Custom Record Interface" objects for these parameter blocks and have successfully called and passed this info into and out of the COBOL routine from Java. Thus far, each "custom record" has only had to describe COBOL elementary group items. However, to complete the set of interfaces, they need to be able to handle COBOL record definitions that include an array (OCCURS). The "custom record" documentation and other "calling COBOL from Java" documentation does not give examples or suggestions on how to handle these more complex COBOL record structures. Does anyone have any examples or know of any more detailed documentation? Resolution: The customrecord i
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.