Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 26 April 2012 Problem: A customer recently upgraded the AIX operating system or installed an AIX system patch. Now when compiling, they receive message 0711-552 SEVERE ERROR. Resolution: The problem affects clients running AIX operating system 5.3 /6.1/7.1 and using Server Express 5.0/5.1. The users receive the following error when they compile: ld: 0711-552 SEVERE ERROR: Object somename.o Csects with symbol numbers 200 and 180 overlap. IBM has been rolling out a patch to the AIX operating system that updates their system linker and causes it to flag an error when SX compiles an external .o file into an executable. The fix Development made a correction in Hotfix 3 for Server Express 5.1 WrapPack 6. It is also included in later Hotfixes and will be part of Server Express 5.1 WrapPack 7. Info These Hotfixes must be installed “over the top” of Server Express 5.1 WrapPack 6 Link Here is a link for Serve
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: When attempting to add a new record, or, update an existing record, the, WRITE fails with a COBOL I/O error 24, 02. Resolution: A COBOL 24, 02 error indicates that there is insufficient room left in the file for the operation. This behavior can occur when an index file has reached it's maximum size as defined by it's configured File Lock Limit. In order to have the affected file grow larger, you will need to modify the exiting file's configured File Lock Limit, and possibly the Index File Version, using the Define Indexed File (rmdefinx) Utility. If you would like all newly created files to be configured with a larger file limit, then, you will need to add the following keywords to your RM/COBOL Runtime Configuration file(*.cfg): RUN-FILES-ATTR LARGE-FILE-LOCK-LIMIT=nRUN-INDEX-FILES USE-LARGE-FILE-LOCK-LIMIT=YES **Where, n, is the File Lock Limit as expressed in gigabytes(GB). The default is
Created On: 27 April 2012 Problem: I would like to import data contained in Excel without the need to parse a CSV file, or, access an Excel ODBC data source. Resolution: Current versions of Microsoft Excel have the ability to save a spreadsheet in the form of an XML document. This is accomplished by using the 'XML Spreadsheet' option of the 'Save as type:'. The resulting XML document is quite rich in the detail saved for the spreadsheet, including formulae used to produce cells, as well as cell values. You may refer to the Microsoft web site for more information about this particular XML specification, named SpreadsheetML. There are also several books devoted to using XML in the Office suite. Using XML Extensions, one can import virtually any detail of the resulting spreadsheet. The attached example demonstrates the most common requirement: importing the actual data values from the sheet. The example XSLT (XML translating stylesheet) assumes that the first row contains col
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.