Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
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: 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: 09 July 2012 Problem: The AcuBench manual contains no documentation on the command line option to generate only. Where is this? Resolution: The command line option to generate only was added in AcuBench version 9.0.0, however the manual has not been updated. Beginning in version 9.0.0 the syntax for generating a workspace using the command-line interface is as follows: [acupath]\\acubench90.exe /generate [projectdir]\\[workspace.pjt] For example, if you have AcuBench installed in the default directory, and you would like to generate a workspace called "Project1", use the following command: c:\\Program Files\\Micro Focus\\Acucbl9xx\\acubench\\acubench90.exe /generate C:\\path to project\\project1.pjt (on 64-bit Windows it is "Program Files (x86)") AcuBench regenerates the code but does not build the programs. This is the same behavior that you get when you execute a Regenerate Workspace command from the AcuBench Build menu. To Regen
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: 12 June 2012 Problem: [ISQL]ERROR: Could not SQLConnect, when using unixODBC on a Linux 64bit server with AcuXDBC. Resolution: To connect acuXDBC with unixODBC on a 64bit machine, you need to install unixODBC version 2.2.12 or later, at this point the version available in www.unixodbc.org is 2.3.1, install this version. Set the following variable in your environment to compile the isql executable as 64bit object: setenv CFLAGS -m64 or export CFLAGS=-m64 depending upon your shell Follow the instructions in the AcuXDBC User's Guide; Chapter 5:Installing AcuXDBC > 5.2 Installing AcuXDBC/AcuXDBC Server > 5.2.2 UNIX/Linux Installations, but you need to execute the following commands “asroot”, this is because a regular user doesn’t have permissions over the /usr/local/etc directory and the unixODBC process accesses this directory: Type "configure" and wait while features on your system are being checked. Type "make" and wait for the pack
Created On: 14 June 2012 Problem: When running a large Visual COBOL managed code application, a .NET exception of type Stack Overflow occurs. What is the cause of this exception and how can I diagnose a solution to it? Resolution: Stack Overflow Exceptions in COBOL for .NET Overview A stack overflow exception is thrown when an application consumes too much stack space. In .NET, an exception of type System.StackOverflowException will be thrown when this occurs. Typically, this is caused by too many nested method calls or unchecked recursion. Usually a coding change can circumvent the issue. It’s worth understanding how this issue can occur, what impact COBOL compiled for .NET may have, and how to diagnose and resolve the problem. Defining the Stack Size The initial allocation of the sta
Created On: 09 July 2012 Problem: Issuing an AcuBench command line to rebuild a workspace does not work. There are no errors reported but there is no log file created and nothing happens to the project files. They are not modified in any way. The command line is: c:\\Program Files\\Micro Focus\\Acucbl8xx\\acubench\\acubench90.exe /build C:\\My Projects\\project1\\project1.pjt Resolution: The problem is that AcuBench cannot handle spaces in the project path. The resolution is to remove the spaces in the path; rename “My Projects” folder to “MyProjects”. Or you can map a drive to the spacey part of the path and use that mapped drive in the AcuBench command. In the above example we can map Z: to C:\\My Projects, and then we use Z:\\project1\\project1.pjt in the AcuBench command line. N/A Old KB# 36068
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: 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: 31 May 2012 Problem: Is it possible to explicitly cause the focus to move to a desired TextBox on a Windows Form depending on a condition that is met in the program? Resolution: Yes, this can be done by using the Focus method of the Control class. There is an example program attached to this article. The description of this program is as follows: TESTFOCUSThis example program demonstrates how to explicitly set focus to a specific control on a form depending on some contition in the program by using the Focus method of the control class. This form has on it three TextBox controls and a radiobutton group. The focus will be set to one of the three TextBox controls depending on which radio button is selected. The CheckChanged event is fired on a radio button whenever that state of the button is c
Created On: 03 July 2012 Problem: A ListView control has been defined in a Windows Forms application under Visual COBOL.The ListView has multiple columns defined.When using the Add method of the Items property the first column can be populated with data as follows: invoke listView1::Items::Add(myString) How can each individual column be populated with a data field separately? Resolution: There are several ways to do this, including binding to a list or other object but the following is a real simple method. You need to create a ListViewItem and then add the subitems to it. The first item is the first column and each subitem is the next column etc. method-id button1_Click final private.01 row type ListViewItem.procedure division using by value sender as object e as type System.EventArgs. set row to new ListViewItem("Column1 Data") invoke row::SubItems::Add("Column2 Data")  
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: 03 July 2012 Problem: Application is using its own error handler routine which is set using CBL_ERROR_PROC library function. Within this procedure a call to CBL_FFND_REPORT is made in order to create a fault finder report under certain conditions. One of these conditions is when a RTS 173 error occurs (or some other specific RTS error).How can the error procedure find out which RTS error number it is currently processing so that it knows whether or not to call fault finder? Resolution: When the error procedure is called a RTS error message is passed to it as a parameter. You could parse this parameter to look for the exact RTS error that occurred: Parameter Passed to the Error Procedure When an installed error procedure is called, the characters containing the relevant RTS error message is passed as a parameter. You should define this parameter in the Linkage Section as PIC X(325), and include it in the USING phrase of the
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: 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: 18 May 2012 Problem: When debugging a program in Net Express is there a functionality which allows you to stop running the debugger when the contents of a data item is changed? Resolution: Yes, this is called a Break on Data Change and is available for data items displayed in the Watch List. There is a STOP icon at the right of the Watch List control that enables/disables Break on Data Change. If you "Examine" a data item it is diplayed in an Examine List dialog box and you can "Add to List" to add it to the Watch List and from there you can toggle the Break on Data Change for the data item. Incident #2573041 Old KB# 35954
Created On: 09 May 2012 Problem: A customer is still running Net Express 4.0 to support some older versions of their software. We mistakenly applied WebSync 4.0.008 and this is causing some problems because we need to be at the 4.0.004 level instead. Is there a way for us to go back to websync 4.0.004 without doing a complete uninstall/revoke and reinstall of Net Express 4.0? Resolution: In Net Express 4.0 you can uninstall the WebSync and leave the base product release still installed by going to Control Panel > Add Remove programs and then click on the Change/Remove button. Select All WebSync WrapPack in the list of components and click uninstall. It will then be back at the base release and you can install any other WebSync level that you like. Incident #2572964 Old KB# 35941
Created On: 31 May 2012 Problem: How can I pass a Java String array between Java and COBOL and manipulate it's contents in both languages? Resolution: Please see the attached example project that was written using Net Express 5.1. Here is the description of the project: READARRAY This example shows how a Java String array can be passed between a COBOL program and a java program and how each can manipulate its contents using native methods. COBOL program ReadArray will instantiate Java class arraydemo. It will then call method getStringArray which will create a new java string array and return it b
Created On: 31 May 2012 Problem: When attempting to compile a COBOL program within Server Express, the following error is returned:Micro Focus LMF - 010: Unable to contact license manager Resolution: There are several reasons why this error may be returned. Perhaps the License Manager is not running. In which case, do the following:- Log in as root. - Go to the directory in which License Management Facility is installed (by default it is /usr/lib/mflmf or /opt/lib/mflmf depending on the operating system). - Enter the command: ./lmfgetpv- If the License Manager is not running you will need to manually start the process using the command: sh mflmmanWhen you start up the License Manager, the file /tmp/LMF-common is created. If this file does not have the correct read/write permissions, then the LMF 010 error will not be resolved. So you must ensure that this pipe file has sufficient permissions.If the error still persists, kill the
Created On: 18 May 2012 Problem: How can I retrieve parameters when running a PL/1 program in native Windows? Resolution: If the program is being run under the Enterprise Server / Enterprise Developer JES environment, then accessing the parameter string works exactly the same way as under mainframe batch execution, receiving the parameter contents into a CHAR VARYING field named on the PROC statement. However, if the program is linked as a .exe, and is being run under native Windows, this may not work as expected. The section of the documentation that describes how to retrieve parameters when executing under native Windows can be found on our documentation website in the topic titled Open PL/I User's Guide > Using Open PL/I > Running a Program > Accessing Command-Line Arguments in Open PL/I Programs. In the attached zip file is an example of using this technique to access individual command line arguments, as well as the entire command line argument string, in
Created On: 29 May 2012 Problem: I have an application that is calling the Micro Focus File Handler directly by coding calls to EXTFH. I wish to read a record in an indexed file as if the following COBOL statement was being executed:READ test-file IGNORE LOCKSo that it will return the record to the program even if the record is currently locked by another process.There does not seem to be an opcode documented that will do a READ IGNORE LOCK operation although the phrase is available within COBOL syntax. How do I accomplish this? Resolution: The IGNORE LOCK functionality is turned on using a bit setting in the FCD description for the file. To turn this on set the appropriate bit on and then use a READ RANDOM operation code, for example FAF6.Look at the fcd-config-flags - bit 0.fcd-config-flags pic x comp-x• Bit 7 - WRITETHRU • Bit 6 - Use relative byte address • Bit 5 - Update current record pointer • Bit 4 - For FCD2 use fcd-reladdr-big for relative byte addre
Created On: 29 May 2012 Problem: In Visual COBOL for Visual Studio I have a WPF Form on which I am specifying binding between several TextBox controls and properties specified in a COBOL class. When the form is initially loaded the binding works correctly and the value of the specified binding properties are correctly displayed in the appropriate TextBox controls.But when the values of the properties in the binding object are updated, the form itself is not being updated automatically as it still shows the previous values when displayed. How can I bind to a COBOL object and have the updated properties automatically reflected when the form is displayed? Resolution: In order for a bound control to automatically pick up changes to the values of it's bound properties you must implement the INotifyPropertyChanges interface within your object.An example program is attached to this article.Here is the description of this example program: WPFBINDTEXTThis examp
Created On: 31 May 2012 Problem: There are several different operation codes available with the EXTFH file handler for doing random reads on an indexed file. 8E READ (random) WITH NO LOCK R I DA READ (random) WITH LOCK R I DB READ (random) WITH KEPT LOCK R I F6 READ (random) R IWhat is the difference between F6 READ (random) and 8E READ (random ) WITH NO LOCK? Resolution: The difference comes down to the lock mode that is set on for the file.FhOp-Read-Random-No-Lock value x'8E' will always read a record without obtaining a lock for it, regardless of the lock mode used.FhOp-Read-Random value x'F6' will either lock a record when read or not lock a record when read depending on the lock mode used in the open.If lock mode automatic is set, then FhOp-Read-Random will lock the record.If lock mode manual is set, then FhOp-Read-Random will not lock the record.fcd-lock-mode pic x comp-x Lock mode flags for shareable files: Bit 7 - Lock on multiple records Bit 6 - WRITELOCK di
Created On: 05 February 2012 Problem: Our COBOL source files use the extension ".cl2".When I bring these files into Visual COBOL Eclipse and edit them they do not appear with the same editor colorization or background parsing as when I use the a standard extension like .cbl.Is there a way to modify Eclipse so that it recognizes my extension as being a COBOL source program? Resolution: Here are the instructions for adding a new extension as a COBOL content type in Eclipse so that your files are recognised as COBOL programs throughout the IDE: (in this example we are adding .cl2) 1. Navigate to Window->Preferences2. Navigate to General->Content Types3. Open up Text and then Micro Focus COBOL Project Types4. Click on COBOL Source File5. You should now see the default list of file extensions we recognize for the COBOL source content type6. Click the Add... button7. Enter the extension you desire (in this case, *.cl2)8.&n
Created On: 17 May 2012 Problem: Application was originally developed as native code using Oracle's Pro*COBOL and Net Express using the COBSQL directive.The following statement was used to change the format of DATE columns so that they would be returned in MM-DD-YYYY format.EXEC SQL ALTER SESSION SET NLS_DATE_FORMAT = 'MM-DD-YYYY' END-EXEC.This worked correctly under Net Express and Pro*COBOL. After converting the application to Visual COBOL managed .NET code using the OpenESQL preprocessor the date columns are no longer being returned in the format specified in the set NLS_DATE_FORMAT statement.They are instead being returned as YYYY-MM-DD format. Resolution: This is a compatibility issue with DATE formats between Pro*COBOL and OpenESQL.In OpenESQL columns defined as DATE will always be returned in YYYY-MM-DD format regardless of the setting of NLS_DATE_FORMAT.To get around this you must use the TO_CHAR function on the DATE column so that the data will be retu
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.