Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
Problem: INSERT/UPDATE/DELETE statements return SQLCODE of 0, though the changes have not been applied to the database. Why are the INSERT/UPDATE/DELETE statements not working? Resolution: The default behavior will be to rollback. You should either code an explicit EXEC SQL COMMIT statement, or with OpenESQL applications, compile with the SQL(AUTOCOMMIT) compiler directive. Old KB# 7009
Problem: Where is find on field option in Net Express Data File Editor Resolution: Steps for finding a value assoicated with a specific field in a datafile: 1. open the datafile - select file > open 2. open the associated structure (str) - select file > data tools > load record layout 3. from the record layout (structure) click on the field name containing the value to be searched 4. select search > data tools > data file find and replace, a find dialog box is displayed 5. in the dialog box - check hex option 6. after checking hex, Use field option will be available for checking - check Use field note: This will automatically check Within Offsets option displaying the proper value for Left and Right based on field position in record and field length. Left and Right can be changed to isolate a particular range within the specified field if nece
Problem: Microsoft have implemented security on MAPI based applications so counter virus threats on desktop applications. MS Oulook when used with MAPI based applications now prompt when an external application attempts to send email. An application may not want this level of security. Using SMTP as a medium for send email may work better for the application. Resolution: There are 2 demoes attached. One is a .Net solutoin that uses .Net classes to send an email. Also there is a Win32 based Net Express demo that shows how to use CDO for Windows2000 ( available with Windows2000/XP/2003). Attachments: cdo.zip Old KB# 7018
Problem: RTS114 error returned on call to Oracle procedure from OpenESQL application COBES0100S Incorrect SQL statement syntax near begin Resolution: When converting Pro*COBOL applications to execute using OpenESQL, note that the syntax for calling Oracle procedures may differ. Specifically : o PL/SQL cannot be used with OpenESQL applications. o Parameters should be followed by the parameter type, i.e. IN, INPUT, INOUT, OUT, OUTPUT. If no type is specified, INPUT is assumed. Whereas under Pro*COBOL, you would code : EXEC SQL EXECUTE BEGIN mySchema.myProc( :param1,
Problem: Calling Microsoft SQL Server Stored Procedures from OpenESQL Resolution: The attached program illustrates various methods of invoking SQL Server stored procedures. The procedures are very simplistic but demonstrate the mechanism for creating and calling stored procedures with SQL Server. Solution: The stored procedure 'mfexecsptest' has two input parameters and one output parameter. The procedure adds the two input parameters together to produce the output value. It is invoked in the first and second examples through an embedded sql CALL statement. Example 1 demonstrates invoking the procedure with positional values, that is, the physical order of the input data in the CALL is associated, in order, with the stored procedure parameters as defined in the Create Procedure statement. This is referred to as 'passing by position'. Example 2 demonstrates invoking the stored procedure and passing the data by reference. The name of each st
Problem: The same CGI (or any CGI's) runs with previous versions of IIS, but when it is executed on IIS 6.0 of Windows 2003, IIS returns error 404. Resolution: This error is expected, as the default behavior in IIS 6.0 is to prevent any CGI's and ISAPI's applications being executed. Users will have to register each CGI or each ISAPI in IIS to allow it to be executed. To register a CGI or an ISAPI: 1. Start IIS Manager from Administrative Tools 2. Expand (local computer) 3. Click on "Web Service Extensions" 4. Follow the instructions on the right hand pane on how to add a new web service extension Old KB# 7029
Problem: Use PANELS2 functions or Class library reference's methods. In the code pasted below, the Entry field's handle is set in the data EFhandle of the data-block through the use of the Dialog system function MOVE-OBJECT-HANDLE The MOVE-OBJECT-HANDLE function lets you save the handle of an object in a numeric data item in the Data Block. This ensures the same objects are being referenced by both the Panels V2 and the Dialog System parts of your application. As an example: MOVE-OBJECT-HANDLE RENAME-PB PB-HAND MOVE-OBJECT-HANDLE RENAME-WIN WIND-HAND Resolution: class-control. EntryField is class "txtentry". DATA DIVISION. WORKING-STORAGE SECTION. 78 dialog-system &
Problem: Does an XML schema need to be present for a Net Express program to read an XML document? Resolution: The schema file does not need to be present in order for a Net Express program to read the XML document. The schema file must be present only in the generation of the COBOL XML-enabled copyfile when using the CBL2XML tool. CBL2XML creates the COBOL copybooks by using the data type and length information that are defined for the XML document within the schema file. In this way an element described as "type=xsd:integer" in the document will be read into a numeric COBOL field etc. CBL2XML does not have to be used to generate the copybooks. It is the most convenient and easiest method, but a programmer can code the entire XML record description by hand if they wish to. However, they still must know the names and description of the elements within the file, or there will be no mea
Problem: What are the maximum file limits when using FILEMAXSIZE=8. Resolution: The large file support is as follows: 1) By default, shared files can be up to 1GB, unless you use LOCKTYPE=2. In the latter case, the file size is limited by whether duplicate key compression is used: 4GB if it is not and 2GB if it is. 2) If you want to go beyond this then you can use IDXFORMAT(8) which allows 256TB for the default 48bit pointer form. 3) Some OSs (e.g. 95) will not allow files greater than 2GB and such cases you can use STRIPING which has a maximum of 512GB (256 x 2GB). Please take note of issues with FAT format and mixing environments when using large files on Windows. Old KB# 7063#ServerExpress#AcuCobol#RMCOBOL#COBOL#netexpress
Problem: Would like to use CBL2XML to generate the copybook for an XML document that has multiple record definitions at the element level, depending on the value in a contained attribute. Resolution: The CBL2XML tool has a restriction on this type of construct. It will only generate the record description for the first record type specified in the schema. It will ignore any multiple record types or redefinitions of elements. This is a restriction in CBL2XML only, and not in the XML support provided by Net Express. The XML syntax support does provide for this type of redefinition in two different ways. Both ways are documented, with example code, in the Net Express On-Line Help. The first method is to use variables as tag names and values so that you can read any type of XML layout, and receive the names of the tags that are found, along with the corresponding data. This allows you to read an XML document with
Problem: After installing Net Express .NET enhancement you can not start the .NET IDE also the NetX4.0 IDE because there is a hint that the file dte.olb fails. Resolution: You should try to re-register this Microsoft file via regsvr32 from command-line, probably it was unregistered during the installation procedure. This file can be found in ..\\common files\\Microsoft Shared\\MSEnv. Old KB# 7015
Problem: Is there a way of stopping MFDEBUG.LOG being generated or changing its location. Resolution: There is no way to specify an alternate location for the MFDEBUG.LOG file. However, you can affect its generation by trying the following: 1) Create a "read-only" dummy mfdebug.log file in the folder. This should stop any new versions of the file being created. 2) Another option would be to set the runtime tunable called: signal_regime (see online documentation for full details). You would need to set this option to signal 11 with a value of 2. 3) Alternatively (and probably the best option) is to identify the reason for the exception and to fix it within your application. Old KB# 7061
Problem: ODBC interface to DB2 Trying to resolve blocking/locking problem for multi-user situation: Trying With NOLOCK on declare cursor statement is producing invalid sql statement on open cursor (sqlcode=-104). WITH NOLOCK it works fine for SQL Server. Resolution: NOLOCK is not an ansi standard option, and is supported by SQL Server, but not by DB2. Use the FOR READ ONLY clause in the declare statement. The IBM docs indicate if you do not explictly state FOR READ ONLY the cursor is assumed to be updateable. In addition, compile with sql(thread=isolate) With THREAD set to ISOLATE, all connections, cursors and so on are local to the thread that creates them. With THREAD=ISOLATE, each thread gets its own connection. RESOLUTION: Setting compiler directive sql(thread=isolate) and adding the FOR READ ONLY clause on declare cursor resolved the blocking problem with DB2. Old KB# 7058#COBOL#netexpress#RMCOBOL#Se
Problem: How to to generate a copyfile for an XML document for which only a Document Type Definition (DTD) file is being used to describe the data elements in the document. Resolution: The CBL2XML tool cannot use a .DTD file in the production of a copybook. The Document Type Definition (DTD) file needs to be converted to a schema in order to be usable with CBL2XML. There are many 3rd party tools that can do this automatically, including a product called Stylus Studio. If you use Stylus Studio, and click on File>Document Wizards, you can select "DTD to XML Schema". Load your DTD and it will be converted to a corresponding XSD schema file. A DTD file does not allow for different data types and lengths to be specified for elements and attributes within a document, so the Schema that is generated will have all elements defined as a string type with an unbounded length. Add the following line to the beginning of the
Problem: How to call ORACLE stored procedures and functions using the ODBC interface in Net Express . Resolution: The attached program 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. The
Problem: When trying to change a value in animate mode with the examine monitor, the window is completely greyed out, and value(s) cannot be changed. Resolution: The file VALUEEDITNX.OCX was on the server machine, but had not been copied over to the client machines. You can copy this file from the server to the client, and register this file with the REGSVR32. Old KB# 7047
Problem: Error 107 "Operation not implemented in this Run-Time System" when creating a thread using the START verb. Resolution: The error occurs if you are using the single-threaded runtime when creating a thread. If you get this when animating or running .int code, you must specify the multi-threaded runtime in the "Animate...Settings" menu, "Use multi-threaded runtime" checkbox. Old KB# 7034
Problem: How to finalize an instance of a .NET class ? Resolution: The .Net CLR runtime will Garbage Collect at various points. It will clear objects that cannot be reached. In COBOL you could set and object reference to null (or to another object). The object would not be reachable and therefore Garbage Collected. Old KB# 6975
Problem: Can you retain breakpoints using CBL_DEBUGBREAK outside the Net Express project, especially in a IBM TX Series CICS environment? Resolution: In Net Express IDE the breakpoints are held in the project, so it's not possible to retain them when using CBL_DEBUGBREAK. Furthermore, there's no way of retaining breakpoints outside of Net Express projects, using CBL_DEBUGBREAK in an CICS environment. Old KB# 7003
Problem: My program does not find the MFEXTMAP.DAT-file Resolution: 1. See handbook: Example of using the External File Mapper 2. Remember: the environment-variable MFEXTMAP points to a directory, rather than to the file itself 3. Try to use the dynamic runtime system 4. Try to read the environment variable MFEXTMAP, e.g. 01 actual-value pic x(60). display "MFEXTMAP" upon Environment-name accept actual-value from Environment-value display "Value of MFEXTMAP = " actual-value Old KB# 6988
Problem: How do you make "bookmarks" in Net Express 4.0 Help? Resolution: Locate your topic in Contents, Index or Search and Display the topic. Click the Favorites tab. The name of your topic should be displayed in "Current topic". Click Add (button) to add your topic to your list of Favorites. Old KB# 6983
Problem: Executing an OpenESQL application under .NET can return RTS173 against SQLASTRT when attempting to connect. Resolution: This is with .NET and needs the ODBCRW32.DLL added as a reference to the project. Old KB# 6996
Problem: Even with Oracle include set, doesn't pick up sqlca.cob from Oracle directory Resolution: By default, the compiler will not pick up copy files with an extension of .cob. You should therefore use the COPYEXT compiler directive to ensure that the compiler searches for files with this extension, for example COPYEXT(cob,cpy,cbl) In addition, you should either set the COBCPY environment variable to include the Oracle directory containing sqlca.cob, or copy sqlca.cob into the current project directory. Old KB# 6945
Problem: AutoUpdate utility will not display available fixpacks for Net Express v4.0 Resolution: For Net Express v4.0 It is noted on the SupportLine web site, http://supportline.microfocus.com NOTE: Net Express 4.0 users - AutoUpdate no longer supports Net Express 4.0. To obtain updates please use the All WebSync WrapPack. Old KB# 6966
Problem: WrapPack will fail or freeze when getting to the Runtime portion of the WrapPack Resolution: Prior to running the installation of the Net Express 4.0 All WebSync WrapPack, ensure that all Net Express applications are shut down. This also includes components of Net Express such as Enterprise Server, Fileshare, Net Express command prompts, Net Express for .NET, Net Express Help files and the Net Express IDE itself. To stop any Enterprise Servers that may be running on your development system, from the Net Express IDE click on "Tools > Enterprise Server Administration" to launch the Enterprise Server Administration Home page and for each Server which currently displays "Started" under the Current Status column, press the Details button directly under the status and then at the bottom of the Details page click on the "Stop Server" button Old KB# 6961
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.