Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
Problem: An stack overflow error or a stackOverflowException can be easily corrected by increasing the size of the stack. Knowledge base article 19007 - "STACK OVERFLOW, EXCEPTION_STACK_OVERFLOW <- increase stack's size of the process" describes how can you set up an environment variable to define a specific stack size when the executable is being created when linking. This article describes how you can increase the size of an executable once it has already being created. This affects to any kind of executable, even a .NET executable. Resolution: There is an SDK utility called editbin that allows you to change the stack size for an executable (amongst other things). Open a command prompt and cd to the directory where your application executable is, and then run: editbin /stack:nnn application.exe where application.exe is the name of the executable of your application and nnn is the number of bytes in siz
Problem: When dragging the mouse from a location to another in the Net Express editor, the lines are selected, not by columns. Resolution: The default behavior is to select line blocks. This can be changed to select column blocks from the Edit options: click Options from the menu click Edit... click on the Blocks / Clipboard tab select "Select column blocks when dragging, except when in the prefix area" Old KB# 6981
Problem: Launch the Run method of the COM WORD application component. in the COBOL sample pasted below, the cobol program opens a file test.doc ( located on the current directory ) which contains a macro named MaMacro which receives a String parameter: Sub MaMacro(machaine As String) MsgBox machaine End Sub Resolution: *> This is required for OLE applications $set ooctrl( P) program-id. worddemo. class-control. *> OLE automation classes wordapp is class "$OLE$word.application" . working-storage section.
Problem: A program contians some DOS LineDraw characters which can be seen correctly in Net Express but which cannot be printed with Windows. Not even using various PC_PRINTER routines will solve the problemt. The characters can be printed correctly in DOS on port LPT1 but are treated differently when using a deskjet or laser printer via the USB port. Resolution: The issue lies with the DOS LineDraw characters which are part of the OEM character set. The problems is that Windows Fonts are based on the ANSI code page. In the Net Express IDE you can edit in an OEM font by using Options/Edit/Dos Compatability. If you switch to OEM then you should see that characters correctly in the editor. However when printing you get this problem. What some customers have done in the past is to install and use a font that supports the OEM Line Draw characters. Microsoft used to ship a font "MS LineDraw" for this which can be found at: http://www
Problem: How is a cross reference listing created using Net Express 4.0? Resolution: Use a "Cobol.dir" file (a text file consisting of compiler directives, one directive per line) with the following directives, to create a basic compiler listing file with Data Map and Cross Reference listings appended to the end of the source file listing. ....show-dir.......... - Shows the content of directives files in the source listing. ....setting"col3"..... - Includes a list of the directive settings, three directives per line in columns. ....confirm........... - Echos all subsequent directives to the screen. ....list().............. - Causes the listing file to be named "source-name.lst", where "source-name" ....................... - is the basename of the program being compiled. ....xref............... - Makes the Compiler produce a cross-reference listing. ....datamap......... - Causes the Compiler to output information o
Problem: The program, calling a sub program multiple times, runs successfully with the return code=0 before stop run. However, the error level check in bat file returns 3. Resolution: You need to use the "returning" keyword on the goback, or stop run statement, to ensure the return-code is appropriately passed : For example: IF RETURN-CODE = 0 GOBACK RETURNING 0 or: STOP RUN RETURNING RETURN-CODE Old KB# 7006
Problem: Animation fails with 114, using a Net Express 3.1 project which has been migrated to Net Express 4.0 Resolution: When migrating a Net Express project, transfer only the project directory files. Do not include the DEBUG and RELEASE directories. Old KB# 6984
Problem: When installing to a machine that doesn't have a c:\\ drive you may see the message appear: "Cannot write to silent script log file. Unable to continue install" Resolution: The setup process attempts to create a log file on the c:\\ drive by default, and if you don't have a c:\\ drive, it can't write the log. To avoid this problem, you can redirect the log file elsewhere by supplying a parameter to the setup command: From a command prompt, change directory to the location of the setup.exe (let's assume this is on D:\\) and type the command: D:\\setup\\setup.exe /ini=d:\\setup\\nxsetup.ini /logfile=x:\\thelogfile.txt This will run the setup.exe from your D:\\ drive and write the logfile to your x:\\ drive. Old KB# 6993
Problem: There are various ways of installing Application Server for Net Express on client machines. Sometimes, given that client machines may be spread over large territories, it is not always practical to install locally. NB. there is a slight name change between versions. In 4.0 and previous versions the runtime is called Application Server for NetExpress whilst in 5.0 onwards the runtime is simply called Server for NetExpress. The procedure descibed below remains the same regardless. Resolution: Install Application Server and software application (executable) on the server machine, after ensuring that Net Express (development environment) is not installed. Install the license key details on the server machine, ensuring the license key adequately covers the aniticpated number of users. Then, on each client machine, change the path settings of the environment variables PATH, COB
Problem: Is it possible to link to existing btrieve module in net Express with .Net? Resolution: Making calls to the Btrieve entry point "_BTRV" cannot be done directly from a .NET managed code program because the Windows 32-bit Btrieve library WBTRV32.DLL is, itself, an unmanaged Windows .DLL. In order for a .NET COBOL program to call an unmanaged .DLL, it must use the PInvoke functionality. In this case, you cannot use the _btrv.gnt file as only Windows .DLLs can be added as references to a .NET project. Use the following steps: 1. In the Net Express\\base\\lib directory their is a file called _btrv.obj. Create a Net Express 4.0 project which packages this file as MFBTRV.dll (or any name) and under Link options the entry point name should be "_BTRV". 2. In your .NET project, right click on the References folder and select "Add Reference". Use the Browse
Problem: RTS 173 error on CHECKFIL Resolution: Recompile program with initcall"utils.lbr" to resolve the issue. utils.lbr contains the module and with the above directive that library is opened at the start of the module. Old KB# 6947
Problem: A simple example of mult-threading in COBOL. Resolution: Net Express 4.0 comes supplied with a multi-threading demo in: \\Net Express\\Base\\DEMO\\MTHREAD In addition, the following code sample may be of interest. The demo has two threads: 1) The first thread simply increments a counter and displays the result on the screen. 2) The second thread displays the date and time on the screen. All this goes on whilst the parent updates its own counter. The demo is simple but it does show how to create a thread and to terminate them. Full details can be found in the multi-threading manual. Please note, ADIS (Display/Accept) will interrupt threading so that support should be used with caution. Also, you may find you get "funny" results inside the animator as debugging multiple threads seems tricky. It is always a good idea to run any example from the comm
Problem: Net Express 3.1 is certified on Windows 95 (Windows 98 recommended), Windows NT V4.0 (Windows NT Service Pack #5 or later), Windows 2000, or Windows XP Professional. Net Express 4.0 is certified on Windows 98, Windows NT 4.0 (Windows NT Service Pack #6a or later), Windows 2000, Windows Server 2003 or Windows XP Professional. Net Express 5.0 is certified on Windows 98, Windows NT 4.0 (Windows NT Service Pack #6a or later), Windows 2000, Windows Server 2003 or Windows XP Professional and Windows Vista. NetExpress 5.1 is certified on Windows Server 2008, Windows Vista, Windows Server 2003, Windows XP or Windows 2000 Resolution: Net Express 4.0, 5.0 and 5.1 are certified on Windows Server 2003. Old KB# 6960
Problem: 114 on 'acccgi' when running a COBOL CGI Application under Windows 2003 / IIS6 Resolution: This problem has been fixed in the runtime fixpack for Net Express 3.1 and 4.0. Old KB# 6952
Problem: Sometimes it is a requirement to distribute an application in only one .exe file. How do you do this with an application that uses Dialog System for its user interface and therefore, contains its screensets in many .gs files that can not be linked? Resolution: It is not possible to include screensets (.gs files) within a .exe. If what you want is to distribute everything within one file, your only alternative is to create a .lbr library file. In the earlier COBOL systems (Workbench), you could distribute an application as .int or .gnt files and any other read-only files packaged in .lbr files. You would have to include a small additional .exe file, called a trigger, to start the application. In Workbench you would use the Build utility to create this trigger, but this utility has not been included in Net Express. In Net Express, you distribute applications linked into .exe and .dll files. .int and .gnt files are only used for running within the ID
Problem: Net Express doesn't appear to integrate with Seapine Surround source control, how do I make that relationship. Resolution: You can use any SCCS that conforms to the Microsoft Common SCC Interface spec. The Net Express Source Control module will use the SCCS interface specified in the registry under MyComputer\\HKEY_LOCAL_MACHINE\\SOFTWARE\\SourceCodeControlProvider\\ProviderRegKey. The last SCCS to be installed should be register itself here, so the last SCCS installed on the machine will be the one used by the Net Express Source Control module. Make sure that Net Express is not up when software is installed, Net Express only looks for a Source Code Control System when it is first opened. Opening Net Express after the installation will show SourceControl in the menu bar. Old KB# 6955
Problem: When using an extfh.cfg file to access a file >6GB that is located using a physical path, often the physical path is mistakenly configured as: [\\\\TESTING\\\\DATA\\\\TF.DAT] IDXFORMAT=8 FILEMAXSIZE=8 Resolution: To configure a physical path in an extfh.cfg file, you need to enure that an extra set of \\\\ characters are at the begining of the path, so in this instance it should read: [\\\\\\\\TESTING\\\\DATA\\\\TF.DAT] IDXFORMAT=8 FILEMAXSIZE=8 Old KB# 6971#RMCOBOL#COBOL#netexpress#ServerExpress#AcuCobol
Problem: The error was encountered when running Net Express from a DOS prompt. The error refers to the runtime, and the compiler starts without any problems. Resolution: This occurs when there are other software products installed in the same path as the Net Express installation. In this case, some old DLL files of a previous version of Net Express were found on the path of the new Net Express installation. Removing these DLL files the problem no longer occurs. Ensure that path where you install Net Express is free of any existing Net Express installations, or other software products. Old KB# 6977
Problem: The Type keyword has been replaced in VB.NET to Structure. Resolution: You would define a Type in VB: Type CustFullName LastName As String * 20 '20 characters FirstName As String * 10 '10 characters End Type In VB.NET, it will have to be defined as follows: <StructLayout(LayoutKind.Sequential)> Structure CustFullName <MarshalAs(UnmanagedType.ByValTStr, SizeConst:=20)> Public LastName As String '20 characters <MarshalAs(UnmanagedType.ByValTStr, SizeConst:=10)> Public FirstName As String '10 characters End Structure Old KB# 6967
Problem: When executing a program from command-line, and you need to pass the program a parameter, use: "accept dataname from command-line" which gathers the parameter following the program name typed at the prompt. Resolution: When you execute your program from a command prompt like this: C:\\MYAPPS\\SYS4044B.EXE DAILY SUMMARY define this variable in working-storage (the actual name isn't critical): 77 runTimeParameter pic x(255). and use this statement in your procedure to collect the parameter: accept runTimeParameter from COMMAND-LINE If you were to display runTimeParameter you would see this output: DAILY SUMMARY KB19232 6/30/2004 Old KB# 7007
Problem: A Java application is trying to call a COBOL program, which does nothing except throw out some displays. The code in the Java is extracted from the MF examples: private void callInterface() { int retcode; Object[] params = {record}; try { retcode = runtime.cobcall("TESTCALL", params); } catch (Exception e) { e.printStackTrace(); } } "record" implements "DataType" as required. When executing this (as a JUnit test within Eclipse), this gives a CobolException - program not found.&
Problem: Is it possible to add version information to a COBOL .dll or .exe? Resolution: It is possible to add your own version details to an .exe or .dll. First of all, you need to create an .RC file. Create the .RC file using a text editor - an example of the contents and parameters of the .RC file are below: 1 VERSIONINFO FILEVERSION 1,1,1,1 &nbs
Problem: Received an error when trying to open a file. The file status returned is '9 '. What does this mean? Resolution: There are several different file status code values that can be returned from an I/O operation. The default file status codes for this version of COBOL is ANSI'85 (Please read the documentation on the ANS85 compiler directive in the on-line help). The values returned from an I/O operation are in the range '00' through to '49'. The values are returned into a 2 character field. However, the Micro Focus file system also has an extended version of file status codes. To activate these, the NOANS85 compiler directive must be set. The values returned from an I/O operation are returned into a field where the first character is defined as pic x, and the second is defined as pic x comp-x (i.e. hex storage). When an I/O operation fails the first field will always be 9 and
Problem: SQL Server 2000 - global tables work, but need to use local temporary table and those are not working. Resolution: You need to use dynamic SQL and the EXECUTE IMMEDIATE statement to create the temporary table. Use something like the following: declared a string- 01 preptmp pic x(100). move create statement into the string string 'Create table #empbas2 (emp_id char(10), ' ' name varchar(30))' INTO preptmp end-string. used dynamic sql to execute the statement
Problem: This document details what is needed to configure and use the Micro Focus External File Handler, File Tracing. When problems occur while using Micro Focus indexed files, such as data and/or index corruption, you may be asked to enable File Tracing in your application, in order to assist Micro Focus SupportLine personnel in resolving the file issues. After enabling File Tracing, you would run your application in the normal manner with the goal of reproducing the reported error within the indexed files. File Tracing will cause each file handling I-O operation, including data, to be written to the trace file. Micro Focus personnel can then use a special debugging tool to replay the trace file step-by-step using a "before" image of the files being traced. This allows us to locate the particular I-O operation which may have caused the files to become corrupt. For more general information on how to configure the External File Handler and a
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.