Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
Created On: 18 May 2012 Problem: I know that I can export Visual COBOL ADO connections into an XML file using the ADO Connection Editor. Is there a way to automate the import process on the production computers so that we don't have to start ADO Connection Editor on each one in order to import the connection information? Resolution: There is a tool to automate the import of ADO connections onto production computers in Visual COBOL 2.0 and COBOL Server 2.0 called mfimportconn.MFIMPORTCONN: Enables you to import connection settings previously exported from the ADO.NET Connection Editor. Important: You must run this command from a 32-bit or a 64-bit Visual COBOL command prompt, available from Start > All Programs > Micro Focus Visual COBOL. Syntax{MFImportConn32_v2 | MFImportConn32_v4 | MFImportConn64_v2 | MFImportConn64_v4} path:\\exportedXMLfile {System | User} {32BIT | 64BIT} Important: Use the executable that fits the type of connection
Created On: 18 May 2012 Problem: An ADO database connection was defined using the Visual COBOL ADO Connection Editor on the development machine. We moved the application to a production machine on which COBOL Server 2.0 is installed. When the customer runs the application on this production computer they get an error in the CONNECT statement.Are these ADO connection settings automatically exported along with the .EXE? Do we have to define those connections on each client machine? Resolution: The connections created by the ADO Connection Editor for managed code are not automatically brought over with you application but they can be exported on the development computer and then imported on the COBOL Server machine. Open up the ADO Connection Editor on the development computer and click the Export tab. Here you can select the connections that you wish to export to an xml file. Bring this file to your Server computer and start ADO Connecti
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
Created On: 18 May 2012 Problem: How do I write to a printer on Windows when my text includes embedded Printer Control Codes (PCL) and ESC sequences?I have tried using the run-time tunable printer_redirection=TRUE to redirect output to the Windows Print Spooler but when I use these ESC sequences they are being stripped out and I am not getting the formatting that I expect.How can I write to a Windows printer that is not attached to LPT1 and have the printer recognize my PCL codes? Resolution: There is a new run-time tunable introduced in Visual COBOL 2.0 that provides for this capability in managed code .NET programs.It is called printer_raw_redirection and it can be used in conjunction with printer_redirection to allow you to write directly to a Windows printer and still use your embedded PCL codes.See the attached example program called testprintraw.Here is the description of this example: TESTPRINTRAW This sample program demonstrates the capability of printi
Created On: 25 May 2012 Problem: When using the XML GENERATE statement in my COBOL program datanames are all being converted to upper-case when they appear in the XML as tags.Is there a way to get it to retain the case that is specified for the datanames in the program?Example:01 Customer. 05 CustName pic x(20) value "Mike". 05 CustCompany pic x(20) value "Micro Focus".01 xml-doc pic x(100). XML GENERATE xml-doc from Customer results in:MikeMicro Focus Resolution: You can retain the mixed case used in the datanames by using the compiler directive:$set preservecaseExample:01 Customer.05 CustName pic x(20) value "Mike".05 CustCompany pic x(20) value "Micro Focus".01 xml-doc pic x(100).XML GENERATE xml-do
Created On: 15 May 2012 Problem: When converting an application from a Net Express native Windows project to a Visual COBOL managed .NET project the run-time tunable settings stored in the file COBCONFIG.CFG which is pointed to by the COBCONFIG environment variable are not being picked up when the application is run. Why is this? Resolution: Although the COBCONFIG environment variable/COBCONFIG.CFG file is still used in Visual COBOL native projects it is not used by Visual COBOL managed code .NET projects.To set tunables in a managed code .NET project you need to do so by using an app.config file in your project.To add an application configuration file, the project needs to be one that will output a main program (.EXE).Right click on the project name in Solution Explorer and select Add-->New-->Application Configuration file.Then double-click on the app.config file in your project to open it in the XML editor.Tunables are set as follows: Old KB# 359
Created On: 29 May 2012 Problem: I have a native code COBOL application that sends data records to a specific printer under Windows. These data records have Printer Control Language escape codes embedded in them.I know that there is new functionality in Visual COBOL 2.0 to allow for managed code .NET programs to send a file to a printer in RAW format but how do I do this in a native code program? Resolution: The native code program can call a managed code program by using COM Interop functionality of .NET. Attached is a Visual Studio Solution that demonstrates how this can be done.The description of this example is as follows:VCPRINTRAWThis example program demonstrates how a file containing Printer Control codes (PCL) can be sent to a printer as RAW data so that the esc sequences will not be stripped out by the Windows print driver. Starting in Visual COBOL 2.0, two methods of accomplishing this task have been added for managed code .NET programs
Created On: 15 May 2012 Problem: How can I retrieve a list of dataset names from the catalog, using asterisk wildcards? Resolution: The utility program MVSGETCT can be used to scan the Enterprise Server catalog, using the Start and Get Next function codes. Although there is no direct support within MVSGETCT for a browse function, or the use of wildcards, these features can be emulated by writing an interface layer between applications and MVSGETCT. The attached zip file contains an example of how dataset names can be retrieved using trailing asterisk or double asterisk notation to specify the pattern matching criteria. A single trailing asterisk retrieves all names that match the dataset prefix (the part of the name before the asterisk), but do not have any extra nodes in their name. Double trailing asterisks retrieves all names that match the dataset prefix, regardless of any extra nodes that may be present in their name. For example:- MFSLV.TEST* -> M
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: 23 May 2012 Problem: Creating an installation package with the tool OnWeb Web-to-Host pro MSI packager and the installation on a client machine via the file .msi is successful, but an error occurs when launching the file .html:Error message : 1900 An error occurred when downloading one of several componants Pro Client on your computer. This error can be linked to a certain number of issue, including an electricity failure or the end of you network activity. The installation has been canceled and the session won’t be run. In order to get technical assistance and solve this issue please contact your system administrator. Resolution: Error 1900 is a generic error message so here it means there is somehow a mismatch between the html file created and the components selected in the msi packager to install on the client machine.You will need to select the components in the msi packager that are actually used in the html file.For example, there will be a problem (and t
Created On: 23 May 2012 Problem: In Rumba there are quite a lot of different file extensions for example: *.csf, *.cbr, *.mnc. What do these file extensions represent? Resolution: This list may not include all possible file extensions available but it will have covered most of them:RDPS (Desktop Profiles) RSDA (AS/400 display Session Profiles) RSDM (Mainframe display Session Profiles) RSDU (UNIX/VAX display Session Profiles) RSDH (HP display Session Profiles) RSPA (AS/400 printer Session Profiles) RSPM (Mainframe printer Session Profiles) MAP (keyboard map files) RMC (macro files) MNC (menu configuration files) HSP (hotspot files) SNC (synchronization files)CSF (Scripting language files)CBR (Customised toolbar files) Old KB# 35966#Rumba
Created On: 15 May 2012 Problem: Visual COBOL 2.0 introduced a new run-time tunable called printer_raw_redirection which causes output sent to a file defined as: select file-name assign to PRINTERto be redirected to the Windows print spooler as raw data when running in a managed code .NET application.This enables you to send Printer Control Language (PCL) escape sequences directly with your print data. When setting this tunable in the .NET app.config file, however I get a file status of 9/004 returned when the file is opened for output. Why is this? Resolution: In order to use the printer_raw_redirection tunable you must also set the printer_redirection tunable on first in your app.config file.You can set this up in your app.config file as follows: Old KB# 35950
Created On: 31 May 2012 Problem: Is it possible to pass a Java String array to COBOL in a manner so that the COBOL program can receive this as a COBOL table in the linkage section as if it were being called by another COBOL program? Resolution: Yes, it is possible to pass a Java String array to a COBOL subprogram through it's linkage section using the COBOL type Pointer defined in it's Java support classes.An example Net Express 5.1 project is attached to this article. The following is the description of this project: PASSARRAY This example program shows how a simple Java string array can be passed between Java and COBOL using the COBOL support
Created On: 04 May 2012 Problem: When creating a new project in Net Express and trying to animate a program only a command text box is displayed and the animator never displays the actual source code. What could be wrong? Resolution: The problem can be caused by having the incorrect local working directory specified under Animate > Settings.If you create a new Net Express project by copying an existing projects .APP file into a new location you might run into this issue as the local working directory may be set to the location of the previous projects file.If you are using a template project then you should specify a directory like .\\ which means current directory instead of hard coding the name of the folder.Look under Animate > Settings an make sure that the local working directory is set to the correct project folder. Incident #2572077 Old KB# 35932
Created On: 26 April 2012 Problem: Converting a native Net Express Dialog System application to Visual COBOL.Visual COBOL application uses a managed main program which does a platform invoke call to a native Dialog System program using the Dialog System Addpack.The Dialog System screenset contains an ActiveX control which has a control program.The managed program calls the native program fine but when the screenset is being initialized and the control program for the ActiveX control is being executed an error occurs in Create-ActiveX-Instance section on: invoke wsEventManager "initializeOLE" The error states that OLE has already been initialized using a different threading model.Why is this ocurring? Resolution: When mixing .NET managed and native/ActiveX the customer will need to understand how COM threading models work. .NET uses MTA threads as the default, whereas ActiveX requires STA. When using .NET as the main program this needs to be marke
Created On: 24 April 2012 Problem: The default behavior on a screen form is to type data in the form using lower-case and upper-case text at the same time. In some cases, it is necessary to force the use of upper-case (or lower-case) only. Resolution: Adding the UPPER (or LOWER) property to the definition of a screen control is one method of accomplishing this. However, this requires the program to be recompiled. An alternative solution that does not require compiling is to configure some environment variables. For character screens, use this environment variable: KEYBOARD case=lowerorKEYBOARD case=upper For graphical screens, the KEYSTROKE environment variable allows you to remap lower-case to upper-case, or vice versa. For example:KEYSTROKE data=65 97 <- this will transform the edited 'a' in 'A'KEYSTROKE data=66 98 <- this will transform the edited 'b' in 'B'KEYSTROKE data=67 99 &
Created On: 24 April 2012 Problem: Using AcuConnect Thin Client 9.1.0 or 9.1.1 and your focus is on a cell of a grid and you press a hot-key to call another program, when the called program is closed you could get a MAV (memory access violation). Resolution: This is a bug which now is been fixed with ECN-4163. The correction will be available in next release 9.1.2. Incident #2566228 Old KB# 35868
Created On: 24 April 2012 Problem: A Java program calls a cobol program using CVM.jar. It gets this java exception:Initializing logging.CVM: begin loadCVM: runtime library successfully loaded.CVM: exception caught in constructorCVM: Exception caught loading CVM: nullCVM: end load Exception caught loading CVM: null java.lang.NullPointerException at com.acucorp.acucobolgt.CVM.getCommandLineArray() (Unknown Source) at com.acucorp.acucobolgt.CVM.initialize() (Unknown Source) at test.main(java.lang.String[]) (Unknown Source) Resolution: Check to make sure the environment is setup correctly, taking care about existing values for previous installations. For example, this command line was used to setup environment variables: export CLASSPATH=$CLASSPATH:/usr/acucobol/tools/CVM.jar:. export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/acucobol/lib export PAT
Created On: 23 April 2012 Problem: Is there a web service available if you wish to interface with your COBOL for extend application? Resolution: In order to access a published web service, your COBOL program will need to be able to execute HTTP requests, and, manage XML documents. To address these two requirements, Micro Focus provides RMNet and XML Extensions for extend. The RMNet subprogram library ships for free with extend v9.0.0 . RMNet is an HTTP client for the extend Runtime, and, it allows your COBOL program to make HTTP requests. The XML Extensions subprogram library, also, ships for free with extend v9.0.0 . This product will allow you to create XML SOAP requests and import XML SOAP responses. Attached to this Knowledge Base Article is a zip archive, RMNetTutorial.zip, that contains a tutorial that describes how to use RMNet and XML Extensions to consume a web service. Attachments RMNetTutorial.zip Old KB
Created On: 23 April 2012 Problem: Xcentrisity BIS for Windows fails to generate a response with a "server too busy" error message. Resolution: Xcentrisity BIS uses a system resource called a "Thread" to render pages. For efficiency, BIS maintains an internal pool of threads, and when a request for a BIS page arrives, a thread from the pool is dispatched to serve the page. If there are no available threads in the pool, the request must wait for a thread to become available. A request will wait for some period of time (normally about 60 seconds) before being denied with a “server too busy” error page. The BIS_MAX_THREADS environment variable may be used to increase (or decrease) the size of the thread pool. The syntax is: BIS_MAX_THREADS=n Where, n, is an integer value that specifies the number of threads that will be used by BIS to service requests. The default value for n is 5. Old KB# 35860#COBOL#XBIS#AcuCobol#RMCOBOL#Servertoobusy#BIS#IIS
Created On: 30 April 2012 Problem: Is it possible to pass command-line parameters to a Visual COBOL main program using a linkage section item? Resolution: Yes, it is possible to pass command-line parameters to a Visual COBOL native linked .EXE by using the run-time tunable command_line_linkage.Program should receive parameters as follows:linkage section.01 CommandLine. 05 CommandLineLen pic 9(4) comp. 05 CommandLineParams pic x(256).procedure division using CommandLine.You must create a text file (called cobconfig.cfg in this example) containing the following line:set command_line_linkage=TRUEand then set the environment variable COBCONFIG to point to the file:SET COBCONFIG=c:\\myapp\\cobconfig.cfgThen when you start the app by passing it parameters on the command-line, e.g. myapp.exe "This is a test"then the length of the command line, 16 in this ca
Created On: 23 April 2012 Problem: An RMNet HTTPS request fails with an SSL certificate verification error. Resolution: The ca-bundle.crt file that ships with RMNet contains PEM format certificates for the Certificate Authorities that are used to verify valid SSL certificates. This bundle is not guaranteed to be up-to-date, however, and might not contain the Certificate Authority that generated your SSL certificate. You can obtain an updated CA Bundle file from this website: http://curl.haxx.se/docs/caextract.html Old KB# 35859#AcuCobol#RMNet#COBOL#SSL#RMCOBOL#Certificates
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.