Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
Created On: 28 April 2010 Problem: Although compiler directives can usually be specified in the file $COBDIR/etc/cobopt, in some circumstances, directives specified in that file might not take effect. Resolution: The explanation is that, when operating in 64-bit mode, a person must modify the file: $COBDIR/etc/cobopt64 instead of the file: $COBDIR/etc/cobopt To solve the problem, first verify the operative bit-mode using the “cobmode” command, then make modifications to the corresponding “cobopt” file. Old KB# 30849
Problem: When compiling, an error message appears: "Ignored - nestcall". What exactly is the NESTCALL directive, and what can be done to make the compilation error go away? Resolution: Nested program syntax is where a COBOL program is defined inside another COBOL program, for example, in the following 18 lines of code: 000001 identification division. 000002 program-id. main-prog. 000003 working-storage section. 000004 01 data-item-1 pic x(5) is global. 000005 procedure division. 000006 move "hello" to data-item-1. 000007 call "sub-prog-1". 000008 stop run. 000009 000010 identification division. 000011 program-id. sub-prog-1. 000012 environment division. 000013
Problem: RTS114 error on call to Oracle SQLGLM API Resolution: Refer to Knowledge Base article #3957 for byte-ordering concerns on Intel-based platforms Oracle document SQLGLM here: Getting the Full Text of Error Messages Regardless of the setting of MODE, you can use SQLGLM to get the full text of error messages if you have explicitly declared SQLCODE and not included SQLCA. The SQLCA can accommodate error messages up to 70 characters long. To get the full text of longer (or nested) error messages, you need the SQLGLM subroutine. If connected to a database, you can call SQLGLM using the syntax CALL "SQLGLM" USING MSG-TEXT, MAX-SIZE, MSG-LENGTH where the parameters are: ParameterDatatypeParameter Definition MSG-TEXT PIC X(n) The field in which to store the error message. (Oracle9i blank-pads to the end of this field.) MAX-SIZE PIC S9(9) COMP An integer that specifies the maximum size of the MSG-TEXT field in bytes. MSG-LENGTH PIC S9(9) COMP An in
Problem: How do I build Pro*COBOL applications on UNIX? Why, when executing my application, do I receive an RTS173 against SQLADR or SQLBEX? Why, when executing my application, do I receive an RTS114 against SQLBEX? Why, when executing my application, do I receive an RTS114 at program termination. Why, on HP-UX platforms do I receive an RTS118 at execution-time? Why, when executing my application with rtsora or rtsora32, do I can get an invalid magic number error against libwtc9.so? How do I call a Pro*COBOL application from Java ? Why, when compiling my application, do I get a procob not found error? Why, when compiling my application, do I get a procob18 not found error? Why, when relinking rtsora, do I get a "library could not be found" error? Why, when compiling my Oracle application, do I get an RTS114 against token ? Resolution: Summary Background Oracle Environment Resolution Summary When using Pro*COBOL -- or the Cobsql preprocessor -- to precompile Pro*COBOL applic
Problem: Execution of my Pro*COBOL application fails with RTS173 against ORASQL8 Execution of my Pro*COBOL application fails with RTS173 against SQLADR Resolution: For information regarding byte ordering issues on Intel-based platforms, refer to Knowledge Base Article #3957. The Oracle COBOL precompiler, Pro*COBOL, embeds a call to ORASQL8 into your application when your host program contains a SQL CONNECT statement. Using Pro*COBOL from the command-line -- as documented by Oracle -- you should link the application to executable, pulling in ORASQLx.LIB , where x is the Oracle version number (8, 9, 10). This library resolves the ORASQL8 function, and the application will run. NOTE: Per the batch file makeit.bat provided by Oracle for building their COBOL samples under precomp\\demo\\procob2 you must compile/generate your COBOL application with the LITLINK directive. Using Cobsql however, you will be able to execute the user application in intermediate
This article addresses the use of COBSQL/Pro*COBOL on Intel-/Alpha-based chips. Problem: What are the byte ordering requirements for Pro*COBOL applications? How should I compile a Pro*COBOL which also interacts with CICS? Executing my Pro*COBOL application on Linux returns RTS114 against SQLBEX. Executing my Pro*COBOL application on Windows returns RTS114 against SQLBEX. How does the COBSQL MAKESYN option work? How should I use the Pro*COBOL COMP5 option? Resolution: Note: For more background on building Pro*COBOL applications on UNIX platforms, please refer to this KB article: https://community.microfocus.com/microfocus/cobol/net_express__server_express/w/wiki/20446.building-and-executing-pro-cobol-applications-on-unix.aspx Pro*COBOL and Byte Ordering The Oracle client expects host variables along with parameters to Oracle API calls -- as generated by Pro*COBOL in the same byte order, or endianness, of the operating system that it is running on. Machines that store the integer valu
Problem: I get a 9/037 when performing a SORT operation. Resolution: The file status 9/037 can be displayed during a sort if the sort is trying to create a file and access is being denied by the operating system.Check the permissions for the directory where the output file is to be written to. Check the permissions where temporary files are written to. This is pointed to by the environment variable TMPDIR on UNIX and TMP or TEMP on Windows. Old KB# 3135#AcuCobol#ServerExpress#RMCOBOL#COBOL#netexpress
Created On: 31 January 2013 Problem: How to setup AcuRuntime to work with Oracle pro*cobol pre-processor on a linux platform? Is a relink of the runtime necessary?Any possible attempt to relink AcuRuntime 9.1 returns errors such as:"direct.c:158: error: redefinition of 'LIBDIRECT'direct.c:109: error: previous definition of 'LIBDIRECT' was here"Any attempt to launch AcuRuntime without relink returns an error such as:"program missing or inaccessible" Resolution: To have the AcuRuntime operating with pro*cobol, there's no need to relink the runtime. Two solutions are available: 1.set LD_LIBARY_PATH in the environment to the LIB directory path of the Oracle installation i.e.: /opt/oracle/OracleBase/product/11gR1/client/libThen preload the library using the -y runtime switch.i.e.: runcbl -y libclntsh.so.11.1 -c .... prog 2.add the following variables in the /ect/cblconfi file:SHARED_LIBRARY_PREFIX /opt/oracle/OracleBase/product/11gR1/client/libSHARED_L
Created On: 07 February 2013 Problem: Customer was trying to add the TESTCOVER environment variable in the Project Properties-->Micro Focus COBOL-->Run-time Configuration-->Environment Variables in the Eclipse IDE but it was not being picked up at run-time.Where should environment variables be set in the Eclipse IDE? The following failed: Resolution: The customer has stumbled on to an annoying ‘feature’ in the Eclipse IDE. When setting the env vars in the Project Properties/MF Cobol/RT Config page as shown, a .gcf file will be created with the values in it.This file is read by the run-time system and contains the values you have set.This file is created when the run launch configuration is created (usually when you first run the program). The settings are then remembered by the launch configuration. Changing the .gcf on disk will not reload them into the run/debug launch configuration. There is a also feature where the .gcf file is
Created On: 04 February 2013 Problem: A customer had set the LMFCOMM environment variable indicating a custom location for the LMF long-lived named pipe, as described in the documentation in the section "Relocating the Long-lived Named Pipe" in the Development System Licensing Guide Chapter 2, Administering the License Management Facility. The customer had set this environment variable in each user's .profile, as well as setting it in /etc/mflmrcscript, so each time the machine booted, and the LMF license manager was started, the named pipe would be created in the location specified by LMFCOMM, but they sometimes still received the error LMF - 010: Unable to contact license manager. But if the LMF manager stopped, and they manually re-started it using the command "mflmman" from the operative LMF directory, then the error message occurred again, because LMFCOMM had not been set prior to the execution of, or inside, the "mflmman" script. Resolution: The solution was t
Created On: 30 January 2013 Problem: Customer has a Windows Forms application that uses a dataGridView control. They would like to use the key to behave like the key but the key currently moves down the grid rather than across. How can the Enter key be used as a tab key in order to navigate through the columns of the dataGridView? Resolution: The best way to get the Enter key to behave like the Tab key is to subclass the dataGridView class and override the methods ProcessDialogKey and ProcessDataGridViewKey so that the Enter key can be trapped and processed as a Tab. In the following example there is a second class near the bottom called CustomDataGridView which inherits from dataGridView and then overrides the two methods. When this is compiled a new control called CustomDataGridView will appear in the Windows Forms Toolbox and then it can be selected and pasted to the form just like the standard dataGridView only the Enter key will behave like a Tab key. T
Created On: 30 January 2013 Problem: Is it possible to trap if a function key has been pressed while the user is on a Windows Form? Resolution: Yes, it is possible to trap function key values by using the KeyDown event on the form. Example: method-id Form1_KeyDown final private. procedure division using by value sender as object e as type System.Windows.Forms.KeyEventArgs. if e::KeyCode = type Keys::F1 invoke type MessageBox::Show("F1 was pressed") set e::Handled to true end-if end method. Old KB# 36770
Created On: 04 February 2012 Problem: Customer has a Windows Forms application which is comprised of a C# WinForm project and a COBOL class library project. Several text boxes are entered on a C# form which then calls a COBOL program to do the validation.The C# project has a reference to the COBOL project so that it can create an instance of the COBOL program before calling it. There are several ways to pass the text box values to the COBOL program. 1. Pass them in linkage, including use of smart linkage (can use smart linkage if the COBOL program is not a class).2. Declaring properties in the COBOL program and setting them from the C# program before calling it.3. Passing the Windows form object to the COBOL program and using its Controls collection to get the Text properties of each text box that needs to be validated. What is the best method to making the textbox data available to the COBOL program? Resolution: What you suggest here in point 3 breaks all
Created On: 31 January 2013 Problem: When using the PuTTY terminal emulator in its VT100 emulation mode, and when setting the TERM environment variable on Linux/UNIX to TERM=vt220, emulation is generally good but function keys F5 and higher do not work. Resolution: Attached to this Knowledgebase article is a file named "vt220_src.txt". This is a terminfo source file with improved function key entries. It is identical to the file originally supplied with the COBOL product: $COBDIR/terminfo/vt220.src except that the kf5 through kf10 entries have been updated to values the PuTTY terminal emulator expects for these function keys, when operating in VT100 emulation mode. To install this new terminfo entry: (1) Download the attachment "vt220_src.txt" (2) Transfer it to the Linux/UNIX machine where it will be used (3) Log in with root credentials (4) Change directories to where MF COBOL is installed, then set these environment variables: export COBDIR=
Created On: 04 February 2013 Problem: Customer is using the Enter key to traverse through a Windows Form with a number of controls on it.When the Enter key is pressed, the application needs to find out which control on the form the user was in. They have tried using the TabIndex property like: if self::TabIndex = 0 invoke self::processEmployeeNumber() exit methodend-if But it always seems to return the same value.How can this be done? Resolution: The following code should work for you. A new method called GetFocusedControl has been created which is called in the Keydown method. This will return null if no control has focus or will contain the control that has focus. This control can then be tested with an evaluate statement. method-id Form1_KeyDown final private.01 mycontrol type Control.procedure division using by value sender as object e as type System.Windows.Forms.KeyEventArgs. set mycontrol to
Created On: 31 January 2013 Problem: AcuRuntime 9.1.2.1 may have introduced a bug in the way Paged Grid behaves.Here is an example of the behavior:A Paged Grid control shows a list of records: 01, 02, 03, 04 in the first page05, 06, 07, 08 in the second pageIn the first page, click on the Previous Record button.Then click on the Next Page button:records will be displayed as:04, 05, 09, 13The expected sequence should be:05, 06, 07, 08. Resolution: The bug has been corrected in next release 9.2 by ECN-4208:SUBJECT: Incorrect EVENT-DATA-2 for some PAGE-NEXT-PAGE eventsChange Number: ECN-4208Status: CompleteType of Change: CorrectionPriority: HighIncidents: 2609120RPI Number: 1087460 Date: 2013-01-22Product: ACUCOBOL-GTModule: runtime, acuthinNew Version:
Created On: 31 January 2013 Problem: AcuRuntime 9.1.2.1 is the first release certified for Windows 8. A CALL "C$SYSTEM" is executed always in asyncronous mode when run on this platform. Resolution: A possible workaround is to add the flag CSYS-SHELL to the CALL "C$SYSTEM".In future release 9.2.0, this behavior will be fixed in ECN-4210.This is the description of the fix:SUBJECT: On Windows 8, C$SYSTEM fails to wait for a console-mode programChange Number: ECN-4210Status: CompleteType of Change: CorrectionPriority: MediumIncidents: 2608782RPI Number: 1087447 Date: 2013-01-28Product: ACUCOBOL-GTModule: runtimeNew Version: 9.2.0 Machines Affected: Windows 8Known Versions Affected: All DESCRIPTION of problem or enhancement: When running on Windows 8
Created On: 04 February 2013 Problem: In late versions (9.0 though 9.1.2.1) querying a set of files you noticed a hit performance, either using asql or from a desktop software like Excel or Crystal Reports, compared with 8.1.2 or previous the performance decreased dramatically. Resolution: This is due to an enhancement introduced in version 9.0.0 that can be avoid by doing the following: If the query is executed from asql: Go int asql and type this command: SQL (/? for help) ==> set option mkeyop off; and then run your query again, If the query is executed from a desktop software Right click on the "Computer" icon and select properties. Click "Advanced system settings" Click "Environment Variables..." User "System variables" (just to be safe) click "New" Add a variable "GENESIS_INITSQL" and set it to point to a
Created On: 30 January 2013 Problem: Is it possible to set the background color of any given cell in a Windows Form dataGridView control to one other than the default? Resolution: Yes, you can set the background color of the individual cells in the same place where you set the ReadOnly property. This should be placed in the Form_Shown event handler in order for it to take effect immediately. Example: set dataGridView1::Rows[sub-1]::Cells["Amount"]::ReadOnly to true set dataGridView1::Rows[sub-1]::Cells["Amount"]::Style::BackColor to type Color::Red Old KB# 36768
Created On: 07 January 2013 Problem: Is it possible to generate a WSDL file in WS-I standard 1.1 in Net Express 5.1? Resolution: Even though Net Express 5.1 indicates that it is creating a WSDL file in 1.0 standard, our generated WSDL is 1.1-compliant (although not fully 1.2-compliant). You should have no problems using the WSDL file if your require it to be in 1.1 standard. Incident #2601114 Old KB# 36715
Created On: 11 January 2013 Problem: Customer is using Visual COBOL for Visual Studio 2012 2.1 and when trying to display Help either from the Start Menu-->All Programs-->Micro Focus Visual COBOL for Visual Studio 2012-->Documentation or by selecting Help directly within Visual Studio 2012 the help content is displayed using raw HTML tags instead of rendering the help properly.Customer is running under Windows 2008 Server R2. How can this be fixed? Resolution: This is a problem with the security settings for Internet Explorer. The link below gives the fix. By turning off IE ESC for administrators the Micro Focus help could be displayed properly.Displaying the help through Firefox also works correctly. See this link for more details. Incident #2608460 Old KB# 36727#Enterprise#VisualCOBOL#EnterpriseDeveloper#COBOL
Created On: 21 December 2012 Problem: SQL Server 2005 introduces the varbinary(max) column type for storage of large blocks of data. OpenESQL currently has a column size limit of 65K. The article will detail how you can store data in these columns even with the 65K limit. Resolution: SQL Server has a "write" function that allows you to write data to offsets in a table column. This works well with the varbinary(max) column to enable applications to store large documents or binary objects in SQL Server.Attached to this article is a example showing how to use the write function from COBOL. Incident #2597799 Attachments Varbinarymax.zip Old KB# 36694#varbinarymaxvarchar#Enterprise#COBOL
Created On: 18 January 2013 Problem: Errors are shown during the execution of the tar command to extract the Server Express installation tar file. For example:tar: 0511-188 Cannot create bin/caspcrd32: The file access permissions do not allow the specified action." Resolution: This problem occurs because you've attempted to extract the Server Express installation tar file without first becoming root. To resolve: 1) Log in as root2) Delete any contents that were created in the folder that was the intended extraction location (by default, this would be /opt/microfocus/cobol)3) Retry the operation to extract the tar file Incident #2600283 Old KB# 36749
Created On: 15 January 2013 Problem: An executable that is built with Net Express 5.1 WrapPack 6 (5.106.0079) or Net Express 5.1 WrapPack 7 (5.107.0047) fails to run on Server 5.1 with the following error message:"Entry point _codeset could not be located in the dynamic link library cblrtss.dll" Resolution: This error usually occurs when running an executable that was built with Net Express 5.1 WrapPack 6 or Net Express 5.1 WrapPack 7 on Server 5.1 that does not have the same or more recent WrapPack level.You will need to upgrade your Server 5.1 to the same wrappack level that was used to compile the executable. Incidents #2603841, 2606944, 2613106 Old KB# 36737#_codesetcblrtss.dllwrappack5.1
Created On: 20 December 2012 Problem: Acubench 9.1 returns "license file not found". Which are the correct licenses to use? Resolution: Acubench 9.1 used to have an issue with the license file. As a matter of fact, extend 9.1.0 and 9.1.1 contains AcuBench 9.0.1. You must expand the AcuBench license code and key with a 9.0.1 activator. For these releases, there is a 9.0.1 activator included in the AcuBench directory. The related acubench.alc file must contain:# Product........: AcuBench# Version........: 9.0.0 and usually is located inside this directory:%allusersprofile%\\Micro Focus\\extend\\9.0.1\\x86 This issue is now fixed in 9.1.2.1. So, this release and later need a 9.1.2.1 license which must contain:# Product........: AcuBench# Version........: 9.1.0 This acubench license file is located in this Windows directory:%allusersprofile%\\Micro Focus\\extend\\9.1.2\\x86 Incidents #2605858, 2602885 Attachments acubench-license-not-
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.