Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
Problem: Assuming that an Indexed datafile exists that you want to be able to look at without having to write a COBOL program read and display all the fields. This file may also include compressed fields etc. Resolution: Net Express has a tool called the Data File Editor which will allow you to look at such things as indexed files in a text editor style format. It also displays compressed fields in numeric display format. Firstly, for the Data File Editor to be able to read an indexed file it needs to have a file that specifies the layout of the file so it can mask the data. The obvious thing it uses to create this is the FD as specified in your program. To create this file do the following: Open a project with a program that you know has the file you want to read specified in the FD. Compile the program if it's not already compiled. In the left hand pane of the project (i.e. Project View) right click on the program name .cbl (ie progname.
Problem: Release 4.0 above: Installation - Install NetExpress on Microsoft Terminal Server and/or Citrix Resolution: To use Netexpress on a Terminal Server or with Citrix you have to ensure the following things: This file system.dat in ..\\documents and settings\\all users\\application data\\micro focus\\netexpress\\4.0 must have normal user rights. The user needs to have read access to HKEY_CLASSES_ROOT and HKEY_LOCAL_MACHINE. They also need write access over HKEY_CURRENT_USER/Software/Micro Focus for Net Express. Old KB# 4275
Problem: If you animate and double clicking on a variable that has a NULL value, the examine box comes up. When the Change button is clicked it might be expected that a 'box' is displayed as the ASCII representation of the NULL value. Instead it might only display spaces for the NULL values Resolution: Changing the Examine Results Font to 'Courier New' displays a 'box' for the ASCII representation of NULL values. The customer was using the 'Terminal' font. Click on Options | Customize. On the Fonts tab select Examine Results, click 'Change' and select the appropriate Font. Old KB# 4273
Problem: Having created html web pages using Form Designer and have then used the Internet Application Wizard to create a CGI program, there will be .cpy and .cpf copyfiles that relate to the fields on the web page form. Modifying the html in Form Designer by adding fields, these copyfiles should be regenerated with the new fields included. An incident had been reported that saving the page in Form Designer would not regenerate the copyfiles. Resolution: The Net Express 4.0 Websync WrapPack in use was all07n40.exe (wrappack 4.0.007). If encountering this problem, to ensure that Net Express 4.0 WrapPack all08n40.exe to be installed. Old KB# 4336
Problem: A blank page displays when viewing the documentation for Net Express, Mainframe Express or Revolve, when using Internet Explorer 7. This happens after clicking on the name of a section in a chapter in the Table of Contents (TOC). Resolution: Instead of clicking on the name of the section in a chapter, click on the chapter name in the TOC and scroll down to view the information in the section. This problem is fixed in the latest WebSync for Mainframe Express, and will be available in the WebSync2 for Net Express 5.0, and the first WebSync for Revolve 7.0. Old KB# 4333
Problem: This program demonstrates how to create a Windows 32-bit .DLL from a COBOL program which can be called by a Microsoft Visual C program. Resolution: The .DLL will be loaded by the C executable CALLER.EXE. The entry points will be made public and then GETSTR1 will be called to get the first string to display and GETSTR2 will be called to get the second string to display. Both of these strings will then be output in the Window which is created and maintained by CALLER.EXE. This program was tested using Microsoft Visual C/C V6.0. SOURCE FILES: ========== Program Files Description --------------------- --------------------------------------------------------- WINDLL.CBL Program which is built into WINDLL.DLL and is called by CALLER.EXE WINDLL.DEF Definitions file created by the Net Express build. CALLER.C &
Problem: Creating COM objects has always been done using a COBOL class. However did you know you can expose a .NET managed COBOL program as a COM object? How? Basically, you add a couple of class-attributes to any COBOL program that is compiled with the ILOBJECTIFY directive (which is the default in Net Express 5). Resolution: Here is a sample that shows how to expose a .NET managed "Hello World" COBOL program as a COM object. The sample comprises: helloworld.cbl - the COBOL program blddeliver.bat - builds the program as an assembly bld.bat - puts the program in the Global Assembly Cache (GAC) usehw.cbl - the test harness to try out the program helloworld.cbl: $set sourceformat"free" program-id. Program1 as "HelloWorld". environment division. &
Problem: What option can we use in the rebuild to pad with spaces when converting a line sequential file to a fixed length record sequential file. It appears that the records in the record sequential file are filled with low-values instead of spaces. rebuild command: REBUILD file1.txt, file2.dat /o:lseq,seq /r:f80 Resolution: There is an optional padding character suboption for the /r option that designates the padding character used to fill the fixed length record. If you use /r:f80pd32 for the output file then this tells Rebuild to create a file with fixed length records of 80 bytes and to space fill the record. i.e. the padding character is specified as a decimal value (32) which represents the ASCII space character " ". This is documented in the Net Express Help ( Help>Contents>Programming>File Handling>Reference>Rebuild>Options )under the /r option you w
Problem: using the following mfsort instructions gave the error SORT(EXTSM) failed - sort engine status = 39: INREC FIELDS=(0001:0021,0020, 0021:1970,0008) * SORT FIELDS=(0001,0020,CH,A) SUM FIELDS=(0021,0008,PD) use d:\\input.dat org SQ record (f 5940) give d:\\output.dat org SQ record (f 28) Resolution: Problem was due to the SORT state
Problem: Using the ASP.NET Website Admin Tool and the Login Control Resolution: ASP.NET 2.0 provides a website admin tool that allows you to view and manage your websites configuration. The attached .zip file contains a WORD document (ASP.NET_Website_Config.doc), which has step by step instructions for using the Website Admin Tool to create and manage users, roles, and access permissions. For more information on this tool take a look at the following link: http://msdn2.microsoft.com/en-us/library/ms228053.aspx Also included in the .zip file is a demo website, Login, which uses the Login control that is new to ASP.NET 2.0. The demo also uses the HttpContext class to get the name of the user for the current HTTP request. For more information on this class take a look at the following link: http://msdn2.microsoft.com/en-us/library/system.web.httpcontext.aspx Attachments: Website_Config_and_Login.zip
Problem: This demonstration works fine on Net Express and on Server Express. The aim of this demonstration is to simulate a functionality which exists on the transation manager TDS of GCOS7 which launches x transactions ( == PROCESSES ) launching x TPRs ( == x COBOL programs ) under TDS, when a transaction has overpassed a TimeLimit, TDS stops the transaction.... Resolution: The multithreaded launcher named ctrlbythread gets the command-line retrives the firts parameter of the command line ( which is the program to be called ) sets a new command-line with the parameters after the firts one == program to be called ( see KB 21920: http://supportline.microfocus.com/mf_kb_display.asp?kbnumber=21920) se
Problem: A potential memory leak has been encountered in Net Express. This was first encountered by a client running a Net Express 4.0 application that uses OpenESQL embedded SQL support to access a SQL2000 database. They could connect to the database ok. However, when they did a large amount of accessing they eventually received the following error: Communication Link Failure. Testing showed memory usage increase (in Windows task manager) as repeated calls to the database were made until they eventually ran out of memory - subsequently causing the error above. This only occurred in their production environment. Resolution: A lot of time was spent looking for leaks in the database, ODBC driver and OS etc. and making certain patch levels for these were correct. However, it was found that a simple CALL "CBL_DEBUGBREAK" had been inadvertantly left in the COBOL program that was called for each database access. Testing showed that each time this r
Problem: It is possible to create a virtual file handler that can replace EXTFH. This is accessed from a program via the CALLFH directive. However, this applies globally to a program. How can it be made to apply to only certain files? Resolution: As stated above, there is a restriction that means the CALLFH directive applies to all files defined within a program. Here are a couple of suggested solutions to this issue: 1) Separate programs. There is a need to place all the file handling that requires EXTFH in one program and the user defined filehandler in another. The advantage is that this is easy to implement and maintain but may make the coding of programs more complex. 2) Add intelligence to the user defined filehandler. To add logic to your own filehandler to determine the file currently being used. Thi
Problem: Applies to Visual Studio 2003 and 2005 COBOL .NET project contains serveral source files. How to compile just one of those source files? Resolution: In Solution Explorer, for each source file that you do NOT want to compile, right click on it and select Properties. In the Properties window set Build Action to 'none'. By default it is set to 'Compile'. Old KB# 4314
Problem: How to compile and to link a project from the command line? Resolution: Yes. There is a utility called PROJMAKE Goto Net Express ->Help Click on Index tab in Help type in projmake select Projmake and click on Display this help shows the following: (options , file and build type are clickable to see what to enter) Projmake Command Line >>-projmake---- options----- file----.------------.---->< - build type- s. Examples for more details Old KB# 4313
Problem: This pertains to Net Express 5.0 with Visual Studio .NET 2005: Using Open File and Save File dialog boxes in .NET. The 2 WinForms classes used to create dialog boxes for Open and Save are System.Windows.Forms.OpenFileDialog and System.Windows.Forms.SaveFileDialog. For more details about the properties and methods of these classes, do an index search through the Visual Studio 2005 Help or go to http://msdn.microsoft.com/library where you can search the classes by their full names (namespace and class). Resolution: To use an Open File dialog box, double-click OpenFileDialog from the Dialogs section of the Toolbox in the Visual Studio .NET 2005 IDE. An icon of the object will not appear on your form, but you will see it below the form on the Form Design window. Click on it to see and set it's properties in the Properties window. The OpenFileDialog object has a ShowDialog method which makes it appear to the user. If a single file is c
Problem: Is the data stored in a COBOL file stored as portable data? That is, if copying a COBOL file to little or high endian systems, will still be able to access the data? Resolution: The answer is no, but there are workarounds. Defining data within programs as COMP-5, the local bit ordering will be used and therefore it will vary within different platforms. Obviously this is the type needed to define if passing this data to C programs that the define it as int, long.... But Micro Focus COBOL allows to define data as COMP-X which is a platform portable data type. COMP-X has the same bit ordering as COMP-5 in some platforms but it differs in others. So the solution would be to store data in files as COMP-X, but if doing a lot of mixed language programming, ensure to move COMP-X to COMP-5 data items to be used as parameters for the call. Old KB# 4302
Problem: This demo accepts an amount (Canadian Dollar) to calculate taxes and converts the total amount in US Dollar Resolution: SOURCE FILES: ========== Program Files Description ---------------- ----------------------------------------------------------- Cbl2VBx.app NetExpress project file QcCalc.cbl COBOL source code QcTax.dll Visual Basic ActiveX DLL QcTax.vbp Visual Basic project file Tax.cls Visual Basic class code Copy Files: ---------------- ----------------------------------------------------------- QcCalc.cpb &
Problem: CreateProcess Windows API does not start a Process. The CreateProcess was being used to start an EXE. However this was returning the value 0. A zero from the API denotes failure to start the process. How can you find out why the process could not be started ? Resolution: The CreateProcess API will return 0 when it does not start a process. However if you get an error (zero) retrurned you can call the GetLastError API to retrieve more infomation. Code such as: 01 ws-retval DWORD. call winapi "GetLastError" retrurning ws-retval will allow you retieve the reason for the error. In the case if the customer problem a 2 was returned from GetLastError. A return code of 2 is:- "The system cannot find the file specified." This was caused because the EXE that had to be run was not on the PATH. Windows will search down PATH for EXE file. Ensurin
Problem: I have copied CBLCORED.EXE to the application directory on the customer's machine, and have then used a command line to run CBLCORED. I select "Enabled" but the CBLCORE dump itself is NOT created anywhere on the hard drive when the program fails. I have also tried using the Net Express CBLCORE functionality, by setting error debugging to "Core Dump" in the "Animate" settings, but the CBLCORE file is still not created. Why is this? Resolution: This wasn't working because the application hadn't been compiled and linked for debugging. Linking the application using -BFD (cbllink -BFD myapp) builds a static exe with the animation functionality built in. If you run this, you will find that the coredump is created when the application fails. Old KB# 4284
Problem: Since applying SP2 to Windows XP our CGI programs run fine but they cannot be debugged/animated within Net Express. Resolution: We suggest you try the following: 1) Log on to Microsoft's Windows Update and ensure your installation of XP is fully updated. 2) Disable the XP's internal Firewall. 3) Execute CBLCORED -I from within a Net Express Command Prompt. This CBLCORED option implements a number of security tweaks that Microsoft recommend. It is only active for the duration of the user being logged on to the machine i.e. a reboot or logging of the XP box will require the command to be executed again. 4) Enable CGI debugging from within IIS 5.5. Please contact Micro Focus SupportLine if you still have problems. Old KB# 4260
Problem: If the following MOVE-OBJECT-HANDLE causes strange behaviour, e.g. for a ListBox: SCREENSET-INITIALIZED ... MOVE-OBJECT-HANDLE WIN-01 SM-HANDLE(1) Resolution: The object WIN-01 is not available at SCREENSET-INITIALIZED. So its handle cannot be moved. Move this code fragment to the WINDOWS-INITIALIZED dialog of WIN-01 and the handle of WIN-01 can be received. Old KB# 4248
Problem: This demo shows how you can use the SetParent Windows API to dynamically change the parent of a Dialog System window. Resolution: INTRODUCTION ========== This demo shows how you can use the SetParent Windows API to dynamically change the parent of a Dialog System window. SOURCE FILES: ========== Program Files Description ------------------- ----------------------------------------------------------- SetParent.app Mainprog.cbl Copy Files ------------------- ----------------------------------------------------------- screenset1.cpb Screenset Files ------------------- ----------------------------------------------------------- screenset1.gs ========================================================== Keywords: demonstration, sample, example, demo, Dialog System, setparent.zip demo.ex demo.ne
Problem: Linkage parameters are not passed in a project with other CICS programs Resolution: Please check if you have the following directive in your project properties: CICSECM(). This directive should only be used with CICS programs. If the programs where you have this problem are not CICS programs, you should remove the CICSECM() directive when you compile them. CICS uses the linkage in a very particular way. In a CICS program you access to linkage using special CICS calls... so in this case your linkage parameters are there but you would need to use a CICS sentence to access to them. Old KB# 4271
Problem: This demo demonstrate how to invoke some of the basics functions of Microsoft HTML Help via API calls. Resolution: INTRODUCTION ========== This demo demonstrate how to invoke some of the basics functions of Microsoft HTML Help via API calls. SOURCE FILES: ========== Program Files Description ------------------- ----------------------------------------------------------- HTMLDemo.CBL Dialog System/Cobol program DSHTML.CBL COBOL programs using HTMLHelp API calls Copy Files: ------------------- ----------------------------------------------------------- HTMLDemo.CPB Dialog System screen
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.