Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
Problem: You can reference an external MS VB.NET DLL from a solution or project. Resolution: The MS VB.NET DLL must be added as reference in the solution by following the steps below: 1. right-click on References, which is in his Solution Explorer 2. select Add Reference 3. click on Browse button to get the DLL 4. click on the Open button 5. click on the OK button. Old KB# 6932
Problem: After adding an external reference (e.g. Microsoft Visual Basic . NET DLL), you might want to find out what classes, structures, properties, or methods are available in that external component. Resolution: Use the Object Browser. You will need to do few things before you can actually see the details about the external component since it will not be shown automatically: 1. click on the Customize that is just next to the Browse drop-down list 2. click on the Add button 3. click on the Browse button to find the component 4. click on the Open button 5. click on the OK button Old KB# 6934
Problem: Performance problems occuring due to locking issue. Resolution: 1. Do not use the compiler directive set(ansi92entry) with SQL Server 7.0 Using ansi92entry sets the transaction isolation level to serialization from the default of read committed. Add COMMIT statements to programs to release locks 2 .SET exec sql set concurrency readonly end-exec exec sql set scrolloption forward end-exec immediately after connection or aternatively, just declare cursors to be forward and read only unless otherwise required, as in exec sql declare x forward readonly cursor for ... end-exec (note default concurrency is lock) Old KB# 6877
Problem: Does the SET OPTION QUERYTIME option affect all queries executed on a connection or only those in the same COBOL module? What is the minimum value that can be used? Resolution: If SET OPTION QUERYTIME is specified, it is used for all subsequent SQL operations within that thread, hence any subprograms will effectively inherit that setting. This is also true if you have multiple connections within a single application thread. The option passed to QUERYTIME specifies the number of seconds that the program waits for a response to an OpenESQL statement. According to SQL Server documentation, the minimum value is 0, which means no timeout, but the lowest timeout is 1 second. Old KB# 6919
Problem: If a cookie (e.g. mycookie pic x(6)) is placed in a HTML page, Net Express's Form Designer will generate a copybook for the web application as follows: ... 03 gmycookie. 05 pmycookie pic x(5). 05 mycookie pic x(06). 05 smycookie pic xx. 03 hmycookie redefines gmycookie pic x(13). &nb
Problem: How to get more information if the application gets back a run time error similar: 17, 25, 1? Resolution: You can find additional information within copybooks pan2link.cpy and pan2err.cpy based in the Net Express ...\\base\\source folder. For example: 17, 25, 1 25 -> pan2link.cpy -> 'GetWindowData' and 1 -> pan2err.cpy -> 'Window-Doesnt-Exist' Old KB# 6943
Problem: PCB-S-00106, Unable to open INCLUDE file returned during precompile of Pro*COBOL application. Resolution: Ensure that the directory containing the copybook is specified within the setting of the Pro*COBOL INCLUDE option. Refer to the Oracle documentation for further details. Alternatively, if using the Cobsql precompiler, specify the p(cp) compiler directive, and ensure that the directory containing the copybook is specified within the COBCPY environment variable setting. Old KB# 6908
Problem: Using Net Express Version 40 OpenESQL interface: What to do to get locked records similar to COBOL's locked records using ISAM files? Resolution: Firstly, you should turn on the SQL(DBMAN=ODBC) compiler directive: IDE: Project -> Properties -> SQL Directives... This ODBC interface has a wide range regarding the use of relational databases, if you are using Microsoft's SQL SERVER you should add the TARGETDB=MSSQLSERVER option as well. To control a CURSOR behavior you should set the SET CONCURRENCY LOCKCC option to get locked rows after a FETCH. This option should be set by default unless the ESQLVERSION option is set to 2.0, then the default should be set to OPTCC (optimistic). Old KB# 6892
Problem: When using the Help screens, clicking on a link may get the error An Error Has Occurred in the Script on This Page Error: Object doesn't support this property or method This is a Microsoft error. Resolution: Go into Regedit and go to HKEY_LOCAL_MACHINE SOFTWARE Microsoft Internet Explorer ActiveX Compatibility and delete the key labeled {ADB880A6-D8FF-11CF-9377-00AA003B7A11} Close down Help, start up Help, and the links will now likely work. Old KB# 6895
Problem: You may set the EXTFH environment variable to a specific .cfg file to determine certain behaviour for the file handler on specific files. However, it may be that the settings in the config file specified seem to be ignored. eg: set EXTFH=D:\\Test\\Big File\\extfhbig.cfg testextfg.cfg may contain the lines: [XFH-DEFAULT] FILEMAXSIZE=8 Resolution: If the path to the filename has spaces it must be enclosed by quotes. For example: set EXTFH="D:\\Test\\Big File\\extfhbig.cfg" In the instance above the file should now adhere to the FILEMAXSIZE specified Old KB# 6922#ServerExpress#AcuCobol#RMCOBOL#COBOL#netexpress
Problem: Using an ISAM file you get a run time error 9/018 for .exe or .lbr: 'Read part record error: EOF before EOR or file open in wrong mode' for a READ NEXT statement after OPEN I-O successfully. What should I do to avoid this because as an .int or .gnt the application does run as well? Resolution: This ISAM file was built using data compression, you should take a look at DATACOMPRESS compiler directive first. There are two values regarding a data compression environment supported at run time: 1 or 3. Using value 1 you have to link additional CBLDC001.obj from ..\\base\\lib into .exe otherwise using value 3 you have to link CBLDC003.obj. Old KB# 6893
Problem: The z'string' is used in place of 'string' & x'00' to create a Null terminated character string. Resolution: A null-terminated string can be created by specifying Z'string' and can be used anywhere a nonnumeric literal is permitted. The resultant literal is equivalent to concatenating X'00' (a null byte) to the end of the specified string. In other words, the two following lines are equivalent: Move z"my-literal" to an-item Move "my-literal" & X"00" to an-item In the following example, the Picture declaration has an extra byte reserved for the zero (null) byte: 01 my-name Pic X(5) Value Z"Jane". The MOVE for this would be coded as: Move z"Jane" to my-name Old KB# 6878
Problem: Can you connect to a database using ODBC without configuring a Data Source Name (DSN) ? Can I connect to SQL Server without using a DSN? Can I connect to Oracle without using a DSN? How do you use ODBC connection strings? Using an ODBC connection string, a -19703 error occurs on the CONNECT statement. Resolution: Yes, by using a connection string, this doesn't require a datasource name (DSN) to be set up on the target workstation. The connection string and parameters differ for each driver. For the driver name, use the name that appears in the left-most column of the drivers tab in the ODBC control panel. For other connect string options, look up "SQLDriverConnect" or "Connection String" in the help file for the driver. You access the help file by starting to set up a DSN and then clicking the help button. There may be other options tha you set up through the configuration of a data source that yo
Problem: Don't want to silently install the base release but have the latest service pack installed in the process. Resolution: Currently the only way would be to put the following steps in a bat file, need to create the runtime files to be copied, easiest way is to install lastest service pack on a machine and use this as the basis for files which need to be copied. 1. copy runtime files and set path (when running a deployed application, will have to ensure that path is set to point to these runtime files) 2. set up a new license database a. Create a directory to contain the new license database, if necessary. b. Copy into that directory the files prodfile and semfile from application server folder c. Run the aslmpclocate utility as follows: aslmpclocate license-db
Problem: Here are few notes from documentations about migration from old Dialog System to Net Express Resolution: Chapter 8: Dialog System V2.5 This chapter lists some points to note if you're moving to the Dialog System in Net Express compared to Dialog System V2.5. If you've come from 32-bit graphical Dialog System V2.5 on Windows 95 or Windows NT, you should have no migration problems. There is just one minor incompatible change - see the section DSRUN below. The non-graphical versions and some little-used tools have been omitted. Source code templates are provided to enable you to use the new Class Library support for spin buttons, status bars, OCX controls, and a tree view control. You access the definition software from the Tools menu in the IDE. For advice on moving from 16-bit to 32-bit, and from other operating systems such as OS/2, see the chapter Same Screen, Different Platform in the online book Dialog System Guide . DSRUN The Gr
Problem: Install This page explains how to install Net Express, Net Express with .NET and Net Express Professional Edition, and the other software on the CD. If you want to create applications (using Microsoft Visual Studio .NET) to run in the Microsoft .NET framework, then follow the instructions for installing Net Express with .NET. If you want to create Windows applications that do not run in the .NET framework, or if you want to create applications to run on UNIX, then follow the instructions for installing Net Express 4.0. Warnings: If you install Net Express with .NET and either Net Express Professional or Net Express 4.0, you may be asked to reboot when Net Express Professional/Net Express 4.0 has completed installing, but before Net Express with .NET has started installing. Do not choose to reboot your machine until the Net Express with .NET install has completed. You may need to minimize the Setup window to see the dialog box for the install of Net Expr
Problem: The sample program below illustrates various methods of invoking an Oracle stored procedures and functions. This COBOL program illustrates invoking these procedures and functions with positional values, that is the physical order of the input data in the CALL is associated, in order, with the stored procedure and functions parameters as defined in the CREATE statement. This sample program also demonstrates the use of an Oracle package. An Oracle package is just a logical way of grouping objects together. It consists of a specification which identifies the interface to each object (stored procedure and function) and the body, which implements the procedural logic. The procedures and functions are very simplistic but demonstrate the mechanism for creating and calling ORACLE stored procedures and functions through the ODBC interface in Net Express. Resolution: The package GETCOUNT contains a stored procedure 'gcount_sproc&
Problem: How do you specify location of copybooks and include files using Oracle ? Resolution: There are two ways to resolve the location and expansion of copybooks. One is through the use of Oracle's Pro*COBOL INCLUDE option and the other is by using the CP pre-processor along with setting COBOL's COBCPY environment variable. The assumption being made is that the copybooks contain either embedded SQL statements or the declaration of host variables used in embedded SQL statements and the copybooks are not located in the source/default directory. (1) Using Oracle's Pro*COBOL INCLUDE option. This solution only works if the copybooks are included with the EXEC SQL INCLUDE statement. (and extension is cob). This is the easiest solution since Pro*COBOL automatically expands files included through the EXEC SQL INCLUDE statement if they can be located. In order to specify the location, use Pro*COBOL INCLUDE option for
Problem: How exactly do you setup Net Express and Visual Studio 6.0 to debug a Visual C/C 6.0 DLL from within Net Express? Cobol is calling the 'C' DLL. This is one of those situations where you must accept Microsoft Win32 limitations and adopt an approach that is less intuitive. Under Microsoft Win32, only one debugger can be running at any time. You need both the Net Express development system and the Visual Studio system installed on the same machine. You need to make certain the Dynamic checkbox is checked in your Build Settings for your COBOL program(s). Merge your COBOL project into the 'C' project directory structure where the 'C' DLL project is located. Both directory structures have a Debug directory. Your COBOL application file (*.APP) and your COBOL source files are in the same directory as the 'C' source programs and workspace files. The Debug directory should be subordinate to this project directory.
Problem: When the following warning messages are issued when compiling a SQL application : 801-W External Compiler Module message ES1000 Use of EXEC SQL INCLUDE SQLCA END-EXEC. 12 05 SQLCABC PIC S9(9) COMP-5 VALUE 136. *1209-I COMP-5 is machine specific format. (future occurrences not indicated) Resolution: The warning messages appear when compiling with the WARNINGS"3" compiler directive: 801-W External Compiler Module message ES1000 Use of EXEC SQL INCLUDE SQLCA END-EXEC. This warning message is required for ANSI certification. 12 05 SQLCABC PIC S9(9) COMP-5 VALUE 136. *1209-I COMP-5 is machine specific format. (future occurrences not indicated) This message is due to the SQLCA structure contain
Problem: Release: 3.1 How to improve the performance of COM objects. Resolution: Check the following: 1) The COBOL programs should be compiled with the following directives: SQL(THREAD=ISOLATE) REENTRANT(2) and be using appartment threading. 2) OpenESQL uses dynamic and lock cursors by default. For most applications this is overkill. Immediately after conneting they should execute: exec sql set concurrency read only end-exec. exec sql set scrolloption forward end-exec. 3) It is probably worth experimenting with connection pooling. There are two options: SQL(CONNECTIONPOOL=DRIVER) or SQL(CONNECTIONPOOL=ENVIRONMENT) This may improve performance although experiments have had mixed results. Connection pooling can make a dramatic
Problem: Error on COMPILE on a 88 level item defined as USAGE COMP SYNC in DECLARE SECTION using Oracle Pro*COBOL 1.8. Resolution: The COMP SYNC is being converted to COMP-5 SYNC within the DECLARE SECTION. This will work if the host variable is defined within a SQL INCLUDE file, but not when it is defined within the main program. This can be resolved by specifying the Pro*COBOL directive COMP5=NO. Old KB# 6907
Problem: Is it possible to have more than 1 list view control in a Dialog window? Resolution: This is a Net Express 4.0 Dialog System project. A Dialog System Window is created with 2 (two) List View controls. These steps were taken to create this example: 1) Start Net Express. 2) Click File (menu), New (button). 3) Click Dialog System Screenset in New dialog. 4) Click OK (button). 5) Click Yes (button). 6) Click Browse (button) and navigate to the directory where you want to work. 7) Type a project name into text entry field 2 and click Create (button). 8) Click Next (button) through the Wizard. You want all of the defaults. Click Finish (button). 9) Click anywhere on the default dialog window to bring it into focus. Drag this window downward so that none of it is hidden by the Dialog System menus and
Problem: What is 4DOS and is it supported on Net Express? Resolution: Basically it has never been officially certified on Net Express and is, therefore, not supported. 4DOS will run on Windows 95, 98, or ME, and the associated MS-DOS versions (7.0 and above). The equivalent for Windows NT, 2000 and XP is a product called 4NT. Here's a description of what it is and can do. By adding a wide array of features that DOS omitted, 4DOS makes the command line easy to use, giving you more power and flexibility than you ever imagined. 4DOS replaces the DOS command processor, COMMAND.COM - the brains behind your "C:\\>" prompt. 4DOS adds features such as shorthand "aliases" for commonly used commands, a pop-up directory history window, and the ability to copy, move, delete, or list multiple files with a single command. Simple command-line editing, history, and recall eliminates extra keystrokes, and the FFIND command can quic
Problem: When converting a CGI executable program created with Net Express to an ISAPI .DLL to run as an IIS extension, you may receive an IIS Server 500 error response when the HTML action calls a program. Resolution: When converting a CGI executable to an ISAPI .DLL you must ensure that the main program being called is compiled with the directives $SET WEBSERVER(ISAPI) CASE REENTRANT"2" and this program must be linked with the Shared Multi-threaded run-time system. If this main .DLL calls any other COBOL subprograms or .DLLs then they must all be compiled with the REENTRANT"2" directive and they must also be linked with the same Shared Multi-threaded run-time system. Since an ISAPI application must be multi-threaded, the entire application must be multi-threaded. An IIS Server 500 error is seen because some of the subprograms within a .DLL being called by the main program were not compiled with REENTRANT"2" and they were li
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.