Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
Problem: Receiving sqlcode -19514 on DELETE statements, when re-submitted it then works. Using Net Express 4.0 and Oracle ODBC Resolution: This was an issue that was corrected in all08n40 all websync wrappack o The OpenESQL run time was updated to resolve an issue with searched DELETE statements that were incorrectly returning a "19514 Cursor is not prepared" error. Old KB# 1410
Problem: Does Net Express 4.0 IDE support Windows XP Pro 64 bit? Resolution: Net Express 4.0 is a 32-bit application, and 64-bit operating system are supposed to be able to run both 32-bit and 64-bit software. l Net Express 4.0 can be installed on a 64-bit operating system . Information about operating system support can be found in the Net Express readme (click on Start | All Programs | Micro Focus Net Express version | Readme, double-click on Installation Notes under Contents, and click on Hardware and Software) Installation instructions are as follows: This only applies to NX development not .NET To be able to install Net Express v4.0 on an x64 or Itanium environment you need to follow the provided set of instructions. 1) Copy the entire Net Express v4.0 CD to a temporary folder on your workstation. For example, NX40 2) Because of the 32-bit compatibility mode, the default installdir location contains "(x86)" which is not allo
Problem: Can Visual Studio 2005 WinForms display a pic 9(7)v99 value with decimal points? Resolution: A masked text box can be used. Right-click on the masked text box and select Properties. e.g. #,###,###.## has to be used as mask The masked text box can be filled e.g. by 01 Field pic 9(7)v99 value 1234567.89. set maskedTextBox1::"Text" to Field When the property Cutlure is English (USA) - 1,234,567.89 is displayed. When the property Culture is German (Germany) - 1.234.567,89 is displayed. When the property Culture is German (Swiss) - 1'234'567,89 is displayed. ... Old KB# 1524
Problem: When trying to run the demo ...\\Net Express 5.0\\Examples\\Visual Studio Integration\\Pinvoke on a 64 bit operating system, the demo does not run through the unmanaged call. Resolution: When using a 64 bit operating system, Visual Studio generates managed code for the 64 bit environment while the precompiled SUB.DLL is still 32 bits. The given SUB.cbl has to be recompiled to a 64 bit DLL, e.g. in a 64 bit Net Express CMD prompt e.g. by the command CBLLINK -d sub.cbl The DLL has to be copied to the bin\\debug directory. Starting the Visual Studio now from the Start-Menu still results in a failing call to the unmanaged code because the unmanaged runtime system set by PATH is still the 32 bit one. When the 64 bit Net Express CMD prompt is used to start Visual Studio, e.g. by typing the solution's name, here: PInvoke.sln, then Visual Studio gets the correct environment to run the demo or debug the managed code p
Problem: It seems that animating a CGI with IIS version that comes with Windows XP does not work. It just runs through. Resolution: It seems there is a difference between IIS 5.0 that comes with Windows 2000 and IIS 5.1 that comes with Windows XP. The security in 5.1 is much tighter than in v5.0. There is no problem to animate a CGI in any versions of Net Express with IIS 5.0 of Windows 2000, and nothing additional has to be set. Please bear in mind that IIS is running as a service, and Net Express is a desktop application! Anonymous access or any other user id that were used to run the CGI must then have the proper permission to run a desktop application. This was not the case with IIS 5.0, but this is now enforced in IIS 5.1. Here are the steps to animate a CGI in Net Express with IIS 5.1 (it would be likely the same for any later versions): 1. Create a virtual directory (e.g. cgi-bin) for the Net Express project's DEBUG subfolder 2. Set Read an
Problem: External file mapper (mfextmap) seems not to work in a managed (.NET) application). Resolution: 1. MFEXTMAP is not supported in .NET 2. Use app.config (i.e. set environment variables) instead to avoid having multiple configuration files as in using external file mapping 3. It may be overwhelming to think of setting each one of the dd names as an environment variable in the project settings, but this can be done outside of Visual Studio. You may want to build your own program or script to import your MFEXTMAP.DAT file into the app.config file Here is a content of an app.config file: ----- <?xml version="1.0" encoding="utf-8"?> <configuration> <configSections> <!--The following code declares a section group for application configuration --> <sectionGroup name="MicroFocus.COBOL.Application"> &nbs
Problem: Under .Net you can use COBOL rununits to isolate COBOL working storage between concurrently running sessions such as under ASP.Net and other multi threaded environments. Under rununits you can also use COBOL .Net classes and use static data. Static data can be delared as:- class-id. Class1 as "CLASSTEST.Class1". environment division. configuration section. repository. static. data division. working-storage section. 01 WS-STATIC-DATA PIC X(100). When this class is added to a rununit is static data isolated to the rununit ? Resolution: No it
Problem: The time returned from an ACCEPT statment is only accurate to the hundredth of a second, is there a way to retrieve the time to milliseconds. Resolution: There is a demo out on the supportline website that uses the win api GetSystemTime which returns time to milliseconds. The sample is called gst.zip and can be downloaded from http://supportline.microfocus.com/examplesandutilities/nesamp.asp#Win32API There is another win api function that can be used called GetSystemTimeAsFileTime which returns the time in 100 nanosecond increments. This function returns the time in a FILETIME structure which can be declared in COBOL as: 01 FILETIME. 05 lowOrderDateTime pic x(4) comp-5. 05 highOrderDateTime pic x(4) comp-5. 01 redefines FILETIME.  
Problem: You may have a requirement to store data and retrieve data in EBCDIC format on Windows using Net Express. Resolution: By default data is stored in ASCII format in Net Express but it can be stored and processed in EBCDIC. However there is a difference in the way signed numeric data is stored and displayed between ASCII and EBCDIC. Subsequently, this data may not be displayed as expected in reports, especially signed decimal fields. ASCII will store and display the value 24 as that - 24, where EBDIC will store it in EBCDIC format and display it as 2D. Negative 24 would be displayed as 2t in ASCII and 2M in EBCDIC. To change this behavior, set the CHARSET"EBCDIC" compiler directive. Attached is a sample program to illustrate how this works. Create a project for this and run the program. Comment out or uncomment CHARSET"EBCDIC" to change the behaviour. Also, have a look at the actual data file written out (eg via Wordpad
Problem: The following error may occur if you are trying to invoke a C function from COBOL with NetExpress 5.0 and Visual Studio .Net 2005 (C) installed. "Runtime Error! Program C:\\NetExpress5.0\\BAse\\Bin\\RUN.EXE R6034 An Application has made an attempt to load the C runtime library incorrectly. Please contact the application's support team for more information". This error occurs when trying to set the entry point in the COBOL program as it tries to invoke an (exported) function of the DLL. The C DLL is built from .obj files, linked together with link (v8 link). The .obj files are built , from the VS2005 command line, using cl.exe. The problem occurs only when /MD is specified in the command line of cl.exe. The problem does not occur on when running NetExpress 4.0 and Visual C Studio .NET 2003. Resolution: Consider the following commands being run from the VS2005 command prompt: cobol caller.cbl,,,, GNT(&q
Problem: This KB and demonstration joined was tested with Net Express Websync3 and Server Express 5.0 Websync 3 on AIX ( Server Express 5.0 WS3 PRN: RXCAM/AAI:9l.N6.50.03) ................................... How to set Environment Variables in COBOL and retrieve them to a shell ( .bat | .sh ) ? This is quite a common question asked more times to MF Supportline ................................... When you use the syntax working-storage section. 01 ENV-value pic x(200). 01 ENV-name pic x(200) . Procedure division *> SetEnvtVar. *--> set the value of environment name &nb
Problem: The documentation for COBOL XML Syntax show that you can parse XML where the actual element names are unknown. How can you extend this through more levels of XML hierarchy ? Resolution: You need to build more levels on depth into the XD definitions. An example of extension to a lower depth based on the documented example:- $set sourceformat"variable" preprocess(prexml) o(foo.pp) warn endp select doc assign to "MYXML.XML" *>address of mybuf organization is xml &nb
Problem: Do you know why DB2 distributed would not like this statement? 01 WS-TIMESTAMP PIC X(26) VALUE SPACES. EXEC SQL SET: WS-TIMESTAMP = CURRENT TIMESTAMP END-EXEC It worked fine in XDB. Resolution: It will work in MFE and Net Express using XDB and will work in MFE using HCO (Host Connectivity Option) because HCO passes code to DB2 to allow this to work. This will not work in Net Express using UDB. SET :HV = CURRENT TIMESTAMP is not supported in native DB2 UDB and since HCO is not a part of Net Express this statement will not work. Old KB# 1467
Problem: How do I find the cursor postion while animating? Resolution: Via View->Where in the menu or pressing the key command strg w. Old KB# 1366
Problem: If a COBOL Application is called from a C DLL in a multithreaded environment then the C needs to call cobthreadtidy() when it will no longer call any COBOL from that thread. This will allow the COBOL runtime to free any Thread Local Storage that has been allocation and hence stop any memory leaks from occuring. In some applications it is difficult to determine when to call cobthreadtidy. Resolution: In the C DLL that called COBOL you could call cobthreadtidy() from DLLMAIN on DLL_THREAD_DETACH. This would alleviate the need for any logic to determine when that last COBOL Call had taken place. DLL_THREAD_DETACH in DLLMAIN will be called then the thread is exiting cleanly and it is called on the thread that is terminating. Please see the Microsoft Platform SDK for more information on DLLMAIN. Old KB# 1363
Problem: This error may be encountered when trying to use Dialog System within Net Express and is usually due to incorrect path settings during installation. Resolution: The simplest and fastest way to overcome this problem is to uninstall the NetExpress product via the Control Panel (including fixpacks) and then reinstall cleanly from scratch. Old KB# 1338
Problem: Release 4.0 / 5.0: Is there a tool available to get back version numbers from Net Express Applications installed on both development also Application Server environment? Resolution: Yes, this tool named MFSupportInfo is available as a .zip file for downloading here: http://supportline.microfocus.com/examplesandutilities/nesamp.asp#Utilities Up to Net Express V5.0 MFSupportInfo is part of the Micro Focus product delivery, to find under: (1) ..\\base\\bin installation directory for Net Express development environment (2) ..\\Server 5.0\\bin installation directory for Net Express Application Server Be aware, running this MFSupportInfo utility needs Administrator rights for the underlying Operating System because of reading the Windows registry. Old KB# 1357
Problem: FD VAR-LENGTH-REC-FILE LABEL RECORDS ARE STANDARD. 01 REC1 PIC X(10). 01 REC2 PIC X(20). 01 REC3 PIC X(30). but when it gets written all records are 30 bytes long. Resolution: Adding RECORDING MODE V corrected the problem. Old KB# 1328
Problem: You can use Snippits to help you complete repository entries in .Net COBOL. Resolution: In the repository section if you type "class" then TAB it will run a Visual Studio "Snippit" to help you complete your repository entry for the class. Old KB# 1379
Problem: Programs compiled in NT, are going to Windows 2003 and having a problem. error is cannot find entrypoint 'cbl_get_file_info ' in cblrtss Resolution: recompile and link with the dynamically bound runtime on cbllink -Rs would be required Old KB# 1323
Problem: Using an XP machine with the Regional Language settings set to Japanese. receiving the following syntax error .... * 230-S************************************************ ** PICTURE string has illegal precedence or illegal character 1875 15 WPRTL-PRINT-AMOUNT2 PIC $$$$9.99. * 230-S************************************************ This line of code, compiles fine on an XP machine with the regional language settings set to English. Resolution: Setting the compiler directive to CURRENCY-SIGN"36" corrects the problem. Old KB# 1370
Problem: When CBL_DEBUGBREAK is included in code containing threads running at the same time, the first thread that hits it causes Animator to start, but the other threads execute through with no animation. Resolution: CBL_DEBUGBREAK tries to start a copy of the debugger, but as only one debugger is allowed per process (Microsoft limitation), the call to CBL_DEBUGBREAK made by the second, third and fourth thread, etc.. fails. Displaying the return-code straight after the CBL_DEBUGBREAK call, and seeing that is 0 the first time but it isn't on subsequent calls. A solution would be to lock the call to CBL_DEBUGBREAK, so the first thread that gets there it, and all the others wait until the first one unlocks it. That would give you the chance to start Animator and once Animator is up to swap from one thread to the other using "Animate / Threads...". You can Freeze threads, Thaw them, set one as active, and so on...
Problem: Have a machine that still uses Microsoft DOS V 6.2 and using IBM's bi-synchroneous communications app that is on the old machine. How to get this running? Resolution: This is not possible because Net Express character-based applications are not DOS programs. They are actually 32-bit Windows console programs that require Windows 98 or higher to run. Only our very old 16-bit Workbench products would create applications that could run under DOS. Old KB# 1329
Problem: Net Express 4.0 Recompilation/rebuild of an existing project fails with error: Rebuilding F:\\.......\\FILENAME.CBL Error during generation of INT-code Rebuild complete with errors. A new .int file is not created. COBOL programs that are modified may recompile cleanly. Resolution: Close the project and the Net Express IDE. Delete the debug directory for the project. Restart Net Express, open the project and rebuild. Old KB# 1265
Problem: When a deadlock between 2 processes occured it was found that a SQLCODE was being returned with 100 (row not found) rather than a -1205 SQLCODE. Resolution: This issue has been fixed. Please download and apply the latest Net Express 4 patch to resolve the problem. Old KB# 1358
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.