Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
Created On: 03 March 2011 Problem: Program is using a SQL Server ODBC connection and is receiving a sqlcode -207 error when executing the following singleton SELECT statement: EXEC SQL SELECT A.Dealer ,A.Name INTO :TEST-Dealer ,:TEST-Name:TEST-Name-NULL FROM TEST A WHERE (A.Dealer = TEST-Dealer) END-EXECsqlcode -207 means "Invalid Column Name TEST"Why is this being returned? Resolution: This error is caused by the missing colon character ":" in front of the host variable name TEST-Dealer in the WHERE clause.It should look like this instead: EXEC SQL
Created On: 10 March 2011 Problem: How do I create a custom owner drawn ToolTip for a Windows Form Control in Visual COBOL 2010? Resolution: A demonstration program is attached, testTooltip.zip which shows you how to create a customer owner drawn ToolTip for controls on a Windows Form (WinForm) in Visual COBOL.Unzip testTooltip.zip onto your C: drive retaining the directory structure in the zip file.Using Visual COBOL 2010 R3 or higher open up the solution in C:\\testTooltip\\testTooltip\\testTooltip.sln.The form has three buttons on it, each with its own type of Tooltip.Run the program by pressing F5.Hover the mouse over each of the buttons to see the Tooltip that is created for it.Button1 uses a 3-D look and feel, Button2 uses a painted Tooltip with custom font and Button3 will display an image file stored in LOGO.GIF.Look at the source code behind to see how each is being drawn. Attachments testTooltip.zip Old KB# 33650#WinForm#WindowsForms#tool
Created On: 09 March 2011 Problem: When installing RM/COBOL on a 64-bit distribution of Linux, the install.sh script can fail with a "floating point exception" error. Resolution: This is a known issue caused by the fact that it is not always possible to execute binaries built with a newer version of the Linux kernel on a older version of the kernel. Below is the kernel version information (uname –k) from the system that we use to build the 64-bit RM/COBOL Runtime: 2.6.18-53.1.13.el5From this output you can determine that the Linux kernel that the Runtime was built on is 2.6.18. If your Linux system is running an older kernel than 2.6.18, then, you might not be able to use the 64-bit port of RM/COBOL.If this is the case, then, you can try the 32-bit Linux port instead. RM/COBOL for 32-bit Linux is built on an older Linux kernel and, therefore, it might work on your machine.**Executing 32-bit binaries on a 64-bit Linux distribution might require addit
Created On: 10 March 2011 Problem: In C# one can use the following OR operator to do bitwise operations on flag fields.TextFormatFlags sf = TextFormatFlags.VerticalCenter | TextFormatFlags.HorizontalCenter | TextFormatFlags.NoFullWidthCharacterBreak;How does one do a similar thing in Visual COBOL? Resolution: The b-or operator can be used to achieve this effect as follows:In C#TextFormatFlags sf = TextFormatFlags.VerticalCenter | &n
Created On: 09 March 2011 Problem: In order to control the printer formatting directly using PCL codes, escape sequences, etc..., you need to bypass the Windows Printer driver. How do you do this? Resolution: You can bypass the Windows printer drivers and write directly to the printer from an RM/COBOL program by setting RAW MODE. There are three ways to do this:1. Registry configuration - Using rmconfig.exe, set the "Printer Enable Raw Mode" on the Control tab to True. 2. In a configuration file, change the Define-Device record for the printer by adding RAW=yes 3. Use the P$SetRawMode subprogram as outlined in the User's Guide. This sets raw mode only on the next printer opened, while it is open for output. If you close the print file and release the print job, the printer reverts back.**Keep in mind that using RAW MODE limits the P$ routines that you can use in the program. See the User's Guide for a list of these routines. Old KB# 33642#PCL#escapesequences
Created On: 04 March 2011 Problem: A client added a compiler directive (in this instance SPZERO) in their COBOL Environmental Variable file "CompileCob64.sh" on Server Express. But, when we tried to compile any program it returned the error - " Cobol Compiler Argument exceed 128 bytes limit". UNIX systems can restrict the maximum length of the operating system's command line, which can be as low as 128 bytes. Resolution: One way round this is to place system-wide cob parameters in a text file $COBDIR/etc/cobopt. If you do it this way it means all compiles will pick up that directive (plus any others set in $COBDIR/etc/cobopt). Setting it here means this is a global directive, therefore if some parts of the application must be compiled without this directive you would not put it here.The file $COBDIR/etc/cobopt should already exist and is just a text file. You’ll see that each directive is set on a separate line and so all you’d do is add
Created On: 11 February 2011 Problem: There is no uninstall script to remove the Server Express development product. How is this done? Resolution: Depending upon the version of the Server Express (SE) products, the default path to these subfolders could be different and also some of the earlier versions of Server Express does not have ESLM and MFDS components. - Logon as the ES Admin user and stop any running Enterprise Servers either via the ES Admin webpage or the "casstop" command: casstop -rESNAME or casstop /rESNAME where ESNAME is the name of the enterprise /to stop.- Logon as root and stop the License Manager, the "mflm_manager" process, by running the command: 
Created On: 04 March 2011 Problem: An issue arose when a client was migrating an application from an older version of COBOL to Server Express. They wanted to know why the behaviour changed in Server Express for numeric fields that had not been initialized. Take the following program as an example, where no initialization is applied:WORKING-STORAGE SECTION.*SET HOSTNUMCOMPARE 01 num-fld pic 9(01). Procedure Division. If num-fld = 0 Then Display "THEN num-fld-->["num-fld"]" Else Display "ELSE num-fld-->["num-fld"]"End-if.When they compiled the program to object code (i.e. .gnt, .so or executable) in Server Express, with the default compiler directives, the 'THEN' logical path was taken. This meant that the non-initialized numeric field was treated as equal to zero.But when they recompiled with the HOSTNUMCOMPARE compiler dir
Created On: 04 March 2011 Problem: You may receive the following error when attempting to access data in the LINKAGE SECTION in a called program: 114 Attempt to access item beyond bounds of memory (Signal 11)You will receive this error if you access LINKAGE data that has not been assigned correctly. For example, assume program Call1 calls program Call2. But the LINKAGE SECTION in Call2 is larger (i.e. has more characters defined) than the parameters being passed by Call1.Program Call1Working-Storage Section.01 Link-Param-1 Pic X(10).Procedure DivisionCall “Call2” Using Link-Param-1Program Call2Working-Storage Section.01 Work-Field-1 Pic x(20).Linkage Section.01 Link-Data. 05 Lnk-Data-1  
Created On: 11 February 2011 Problem: There are no uninstall scripts to remove the Application Server for Server Express or Server for COBOL products on any of the UNIX platforms. Resolution: Depending upon the version of the Application Server for Server Express (AS) or Server for COBOL products, the default path to these subfolders could be different. The earlier versions of the Server product was named Application Server for Server Express, however, the later versions have now been renamed as Server for COBOL. - Delete the $COBDIR product directory and its subdirectories. The default directory for the "cobol" installation varies between versions of Server products: From v1.0 to v2.2 SP1, the default COBOL directory is AIX: /usr/lpp/cobol
Created On: 23 February 2011 Problem: It's possible that when compiling a very large program you may receive the following error:Compilation error: Maximum number of data items exceeded.S* Compiling progname.cbl* 808-S ( 0)**** Maximum number of data items exceeded.cob32: error(s) in compilation: progname.cblCompilation incomplete Resolution: This is a restriction and therefore the only option is to reduce the number of data items – as stated in the error message produced:COBCH0808 Maximum number of data items exceededThe compiled program contains more than 64,000 data items.To resolve this, eeduce the number of data items then recompile your program. The most obvious way to reduce the number of data items is to create sub programs for code and data items that can be isolated and called separately. But of course this is never a simple task with
Created On: 25 February 2011 Problem: AcuRCL fails to start and performing "acurcl -v" returns the error "no entry for product acuRCL". Resolution: This error indicates a licensing problem. Ensure the correct product code and key were entered when using the Activator license utility. Ensure the Activator license utility has created the license file acurcl.alc. Verify that the version of AcuRCL on the server is the same version as Thin Client on the client PC. Old KB# 33538
Created On: 16 February 2011 Problem: After installing Net Express 5.1 WrapPack 5 a compiler error is displayed for a Dialog System application that used to compile without error.The error is:COBCH0666S Reserved word used as data name or unknown data description qualifier : and points to a copyfile (.cpb) which was generated by Dialog System that contains the following: 03 FUNCTION-DATA. 05 WINDOW-HANDLE PIC x(4) COMP-5. 05 OBJECT-REFERENCE OBJECT REFERENCE. *>Error points to this data item. 05 CALL-FUNCTION
Created On: 14 February 2011 Problem: What fixes are included in the XML Extensions v12.05 (Websync 1) Patch available on the Product Updates page of the SupportLine Web Portal? Resolution: The XML Extensions v12.05 (Websync 1) Patch provides a fix for RPI 1074421. The problem symptom was failure to fully export values when the source data structure being exported contained nested OCCURS clauses and the first item of the group in the OCCURS was “empty” (value of spaces for non-numeric or zero for numeric).This patch is recommended for all users, whether or not, you are encountering the described behavior. Old KB# 33365
Created On: 17 February 2011 Problem: The Visual COBOL product is governed by SafeNet licensing and, as such, the user of the product will have to insert an authorization code (issued on purchase of product) in order to license the product. If the machine, on which the product is installed, is not connected to the Internet, a license string has to be generated on the back of the authorization code and the ID of the machine in question, and inserted into the appropriate field in the License Management System tool. There appears to be an issue in that the Micro Focus license server generates a license string with empty lines between the various components of the product and an empty line after the last component. So, having applied the license string with these empty lines, the license administration tool within the product is unable to handle the license string. Resolution: Simply edit the license string (see attached LicenseString.txt file) by removing the empty lines betw
Created On: 15 February 2011 Problem: Say that XML GENERATE is being used to create XML for the following:01 XML-DATA. 03 XML-DATA-REC. 05 XML-DATA-DETAIL OCCURS 100. 07 XML-NUMBER PIC X(04). 07 XML-STRING PIC X(40).When only 3 rows are filled in the table and the following is used:XML GENERATE WS-XML-DATA FROM XML-DATACOUNT IN WS-XML-COUNTWITH XML-DECLARATIONYou will get the following result :0001TEST10002TEST20003TEST3 ...Can XML be generated without the empty fields from the table? Resolution: XML GENERATE General Rule 8 states:If a character value consists only of spaces, one space remains as the value after trimming is finished.In order to remove the blank tags you can use an Occurs Dependi
Created On: 21 February 2011 Problem: AcuXDBC is successfully installed and a system DSN is created. The first attempt at connecting gives the following error message:[ODBC Driver] DLLLOAD: acuxdbc04, could not find module. Resolution: It is possible that a permissions issue us preventing finding the right AcuXDBC libraries. Add AcuXDBC installation path (i.e.: C:\\Program Files\\Micro Focus\\Acucbl900\\AcuGT\\bin) to the PATH environment variable to solve this problem. Incident #2502867 Old KB# 33409
Created On: 23 February 2011 Problem: An issue was encountered when running Server Express on both HP-UX PA-RISC 11.11 and 11.23 whereby running the ‘anim’ command produced a core file. This error only occurred when COBMODE=32 was set. When this happened the core_on_error=1 configuration option had been set. Core_on_error had been set in order to produce a core file for a program that was abending when being started using the ‘cobrun’ command. As the program was genuinely faulty a core file was generated, as expected. However, with core_on_error=1 set they then attempted to animate a different program, which was a ‘clean’ program that did not abend. This program had previously run correctly to completion when activated using the ‘cobrun’ command and core file was produced. But, when they then tried to animate the program (anim progname), it instantly produced a core file, even though the program had previously run to completion. A core file ‘should’ only be created when yo
Created On: 25 February 2011 Problem: Inability to launch server application. Resolution: This error indicates a permissions problem on the working directory on a UNIX server. The Change Directory command failed to execute. Ensure that the Alias has Execute permissions on the working directory. Ensure that version of the runtime, AcuRCL and Acuthin are the same. Old KB# 33537
Created On: 25 February 2011 Problem: Inability to launch server application. Resolution: This error indicates the inability to launch server runtime on a UNIX server. Check the AcuRCL configuration file (acurcl.cfg) to ensure the correct path specification is set for SERVER-RUNTIME. This must be set if the remote runtime is installed in a different directory than AcuRCL. The permissions for the runtime should be executable. Old KB# 33536
Created On: 25 February 2011 Problem: Thin Client fails to launch server program and the error "connection failed, unable to start remote process" is displayed. Resolution: This error is caused by permissions, system resources and other reasons. Ensure that the working directory specified for the Alias exists and that the correct permissions are set. Check the AcuRCL configuration file (acurcl.cfg) to ensure the correct path specification is set for SERVER-RUNTIME. This must be set if the remote runtime is installed in a different directory than AcuRCL. Ensure that the remote runtime has a valid runtime license. If many instances of the server application are running successfully, this indicates a lack of resources on the server. Old KB# 33539
Created On: 24 February 2011 Problem: A client encountered RTS error code 163 in a program after writing an Indexed (VSAM/CISAM) record. The program was writing the record and then immediately trying to write a subsequent record, with the only change being a partial increment of the record key. The remainder of the data was to remain the same. However, they found that the data from previous record was not stored in the record buffer after the first WRITE operation of the record, even though they had not specified for the record buffer to be cleared. Based on their description of the problem it would be expected that setting the NOFDCLEAR compiler directive would fix problem. Resolution: The FDCLEAR directive ensures that the record buffer will be cleared after a WRITE operaqtion has been completed.But when they checked their compiler directives file, FDCLEAR was not specified.They then checked the documentation and found that NOFDCLEAR was the default, and so assumed the
Created On: 15 February 2011 Problem: Using XDBC I tried to retrieve and/or update data of a COBOL file and get, when the COBOL file is bigger than 4 gigabytes, this error on the SELECT statement: 17:21:19,995 ERROR [Application] ... scan, sqlState = 07000java.sql.SQLException: executeQuery exception: MFEXTFH: Cannot open 'FileNAme',No space in directory or directory does not exist at vortex.sql.vortexPreparedStatement.executeQuery(vortexPreparedStatement.java:154) at org.jboss.resource.adapter.jdbc.CachedPreparedStatement.executeQuery(CachedPreparedStatement.java:90) Resolution: You have to set the File Handler option FILEMAXSIZE=8 in an File Handler configuration fileand for convenience set an EXTFH environment variable pointing to the full pathname of the File Handler configuration file.(This is documented in Net Express like Server Express documentation)(File Handling->Chapter 6: File Handler Configuration)Content of File Ha
Created On: 18 January 2011 Problem: When running the 'cobjrun' command, get the following error message: Sorry unable to load libcobjvm_java2 If libcobjvm_java2 is on shared library PATH, then ensure 'libjava' and 'java' are found on the PATH/Shared Library PATH. Resolution: Run the command: cobsje -vCompare the values displayed by the 'cobsje -v' command with the values echoed from the environment variables such as COBJVM, JAVA_HOME, LD_LIBRARY_PATH, PATH, CLASSPATH, COBCPY, etc and see if the values are the same or not.E.g: echo $COBJVMto display the contains of what the environment variable is currently set to.Or run the 'env' command to obtain all the environment variable listings.If not the same as those shown via the 'cobsje' command, then use the 'export' command to manually change the environment variab
Created On: 21 February 2011 Problem: AcuSort external tool writes all execution information in a log text file called SYSOUT. Is it possible to prevent the creation of this file? Resolution: The only environment variable about SYSOUT file is "dd_SYSOUT". This setting allows changing the default name SYSOUT to a more personalized one.i.e.: set dd_SYSOUT=my-sysout-fileThis variable can be also used to redirect the AcuSort log information to a nul queue, thus avoiding the creation of an undesidered file.This is the syntax to use in any Windows environment: set dd_SYSOUT=nuland this on a Linux/UNIX platform:export dd_SYSOUT=/dev/nullThe dd_SYSOUT is an environment variable and is not recognized when set inside a runtime configuration file.If the AcuSort tool is used within a COBOL program and executed via C$SYSTEM, use this statement before the C$SYSTEM, instead:SET ENVIRONMENT "dd_SYSOUT" TO &quo
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.