Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
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: 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: 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: 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: 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: Are there any demos showing how to create an ActiveX list box? Resolution: We would suggest you look at: 1) On our web site under the support demos section you can find: actxsamp.zip cbl2vbx.zip 2) In Net Express there are a number of demos under: \\Net Express\\Base\\DEMO\\OLEDEMOS 3) You may also want to look at Dialog System as this may provide the functionality your customer requires. Old KB# 6950
Problem: Differences between Net Express 4.0 University Edition and Net Express 4.0 commercial edition Resolution: The main diffenences are 1) cobol programs are limited to 2200 lines of code. 2) applications can not be deployed to another machine. 3) University Edition cannot be used for any commercial use, while the commercial edition can. Old KB# 6948
Problem: Running a .NET WebService on a Windows 2000 Server, that requires the machines system registry to be accessed, fails with en error message: fail 0000000099 Resolution: To access the system registry from a web service, you must ensure that the correct permissions are set: 1) If using IIS, check that the user iuser_machinename (where machinename is the name given to the machine) belongs to the Administrator's group. 2) Ensure that the ASP.Net user has the correct Admin permissions set. Old KB# 6969
Problem: We have programs which have one name for the .CBL filename and a different name for the Program-Id field. Can we compile and Animate them in Micro Focus? Resolution: There is a directive, Prog-Id-Int-Name, which allows one to use something like this: Files named A1.Cbl, A2.Cbl, A3.Cbl Program Id's are X1, X2, X3 The CALLing sequence is X1 CALLs X2 which then CALLs X3 By passing the Prog-Id-Int-Name directive, we create INT & IDY files named X1, X2, X3, but the Animator will use the .Cbl files for displaying the source. Old KB# 6985
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
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: 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: PC_PRINTER_OPEN PC_PRINTER_SET_DEFAULT PC_PRINTER_INFO PC_PRINTER_GET_FONT PC_PRINTER_SET_FONT PC_PRINTER_WRITE PC_PRINTER_CONTROL PC_PRINTER_CLOSE You may wish to know which API's are called from the PC_ routines... Resolution: To see the API's used, drop to a Net Express command prompt and change directory to the Net Express\\base\\bin folder and run the command LINK -DUMP -IMPORTS CBLPRNT.DLL Old KB# 6986
Problem: "ERROR: (10) Requested main program entry point not found" when trying to compile a program that has a names larger than 30 bytes. Resolution: This is a limitation that is documented: Limits on Names, Literals and PICTURE Character Strings Language elements are limited to the following sizes: Language Element Maximum Size Alphanumeric literal values 2048 bytes PICTURE character string 30 characters PICTURE replication (for example, n in PIC X(n)) 256,000,000 Program-Id name 30 characters Entry point names 30 characters Programmer defined words 30 characters External filenames (for program source and object files, copyfiles, data files) 261 characters for the filename, 256 characters for the basename and extension together Dynamically loadable program names 261 characters for the filename, 256 characters for the basename and extension together. The first 30 characters must be uniq
Problem: The following statement has caused a compiler error "Operand TALLY is not declared": DIVIDE WS-VALUE1 BY WS-VALUE2 GIVING TALLY REMAINDER WS-VALUE3 Resolution: The TALLY special register is a syntax that is not standard COBOL but is part of IBM Syntax. To use this you need to enable it using either the OSVS or VSC2 compiler directives. If you use either of these then your program will compile cleanly. Old KB# 6991
Problem: FETCH PREVIOUS and FETCH PRIOR not working using Oracle OCI If you attempt to do the scrolloption static and the declare mycursor static If you set the following directives; sql(usecurlib=ifneeded) and sql(usecurlib=yes) when a scrolloption static you get a sql error on the open The fetch prior will give the next record not previous. Resolution: OpenESQL does not support use of scrollable cursors with Oracle OCI, i.e. when the application is compiled with the SQL(TARGETDB=ORACLEOCI) directive. The Database Access manual lists OpenESQL functionality which isn't supported with Oracle OCI. Old KB# 6956
Problem: Which compiler directive initializes all the variables in a source? Resolution: DEFAULTBYTE Initializes each otherwise undefined byte of the Data Division to the character given. Syntax: >>-.----.--DEFAULTBYTE--"integer"----------->< -/- Parameters: integer ASCII code of the character, in decimal. Properties: Default: DEFAULTBYTE"00" ( Dialect ) Phase: Syntax check $SET: Initial Dependencies: Set to DEFAULTBYTE"32" immediately by CHARSET"ASCII". Set to DEFAULTBYTE"00" immediately by CHARSET"EBCDIC", MS, IBM-MS or PC1. Comments: integer is a decimal value. For example, if you want to specify an EBCDIC space use DEFAULTBYTE"64"; to specify an ASCII space use DEFAULTBYTE"32". Old KB# 6982
Problem: how do you put a quote in the middle of text that you want to print? Resolution: Use 3 quotes. For example: if you want to use the string "the "special" item" define it as "the """special""" item" Old KB# 6995
Problem: On rebuilding - after upgrading Net Express from 3.1 to 4.0 - our web-project (FKWEB3.1) we get this error message. Do you have a hint?? Resolution: Net Express 4.0: You should check in your Net Express environment this: Project Build Settings -> Link -> Category 'Advanced' It could be that you have included at this point under 'Link with these OBJs' the 'FKWEB3.1_RTECFG.OBJ' more than once. Please ensure to have this OBJ only 1 time to build your application. Old KB# 6962
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.