Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
Customer is using Visual COBOL 2.1 to create a native application that uses embedded SQL and Oracles Pro*COBOL precompiler to generate the executable as an .EXE. This requires that the LITLINK compiler directive be used so that the calls to the Oracle libraries will be resolved at link time. When specifying the TESTCOVER directive in order to generate a test coverage report, the link step reports an unresolved external on _TESTCOVER. How can this problem be rectified? SOLUTIONI have attached a file TESTCOVER.LIB to this article.Add this file to the additional link libraries under Project Properties and you should be fine linking your Oracle Pro*COBOL application when also using the TESTCOVER directive.7536.testcover.zip
Hi everyone, could anybody please provide me with a tutorial about how to get EXEC SQL work with JVM/Native COBOL using VisualCOBOL for Eclipse and PLEASE DON'T TELL ME GO TO THE DOCUMENTATION, BECAUSE THE DOCUMENTATION IS NEVER A TUTORIAL FOR A BEGINNER BESIDES IT'S COMPLEX LIKE HELL!!! Best Regards#Eclipse#SQL#COBOL
Problem: In Version 8.0.0 of the ACUCOBOL-GT runtime a log file is created each time the runtime is executed. This may result in a large number of empty log files in the format of wrun32.process_id.log Resolution: The A_REMOVE_EMPTY_ERROR_FILE configuration variable can be used to remove these empty files. Use this variable to prevent the accumulation of 0 byte files when using format specifiers such as "%p" (to include the process id) in the error file name. When this variable is set to "1" (on, true, yes), the runtime deletes its error file if the runtime has never written to that file. Note that on some operating systems, if your error file is shared by multiple processes (i.e., the file name does not include the process id or some other unique session information), setting A_REMOVE_EMPTY_ERROR_FILE to "1" may cause error messages to be lost. For example, on UNIX if the error file is empty wh
Dear All, Could anyone please -be patient with m ;-) - help me in setting my JVM COBOL project to perform SQL statements ?? Best Regards#COBOL
OBJECTX® Thread Safety Summary This technical bulletin answers multi-threading questions about RUMBA OBJECTX, Pro controls. Thread Pooling Q: What is thread pooling? A: In an internet application, you may have thousands of users, each requiring access to their own host session. Creating hundreds of threads, let alone thousands, is not practical; Windows NT can't handle that many threads. Thread pooling creates a relatively small number of threads (tens of threads), typically based on the number of processors. Controls are distributed among the threads, with multiple controls being assigned to each thread. Building Applications Q: Is there any advantage to registering display controls with Microsoft Transaction Server ? A: No, display controls have no way of backing out data that has already been sent to the host. Q: Does this mean that the display controls cannot participate in a transaction? A: No, IIS 4.0 provides transacted ASPs. In the ASP’s OnTransactionAbort
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
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.