Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
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: 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: 14 March 2011 Problem: Windows Operating Systems allow User Names to be 20 characters long at maximum. These cannot be used as the "Client" or "Local User Name" in the Access User control panel of AcuConnect Thin Client. Is there a way to solve this issue? Resolution: The limit of 16 characters still exist in AcuConnect control panel for User Name, even with the release of extend 9.0. This is due to the fact that AcuConnect is designed for use on multiple operating systems some of which have such a limit. Windows has no such limit and those usernames longer than 16 characters can prevent connection. Incident #2503589 Old KB# 33668
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: 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: 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: 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: 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: 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: 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: 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
Created On: 25 February 2011 Problem: Inability to launch server application. Resolution: This error indicates a problem with the working directory on a UNIX server. The Change Directory command failed to execute. When the AcuRCL spawns a runtime, it changes to the directory specified as the working directory in the Alias entry. Ensure that the working directory exists that is specified for the Alias and that the correct permissions have been set. Old KB# 33535
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: 14 February 2011 Problem: What fixes are included in the InstantSQL v12.05 (Websync 1) Patch available on the Product Updates page of the SupportLine Web Portal? Resolution: The InstantSQL v12.05 (Websync 1) Patch specifically addresses RPI 1073475. The problem symptom was a crash that could happen almost anytime but usually happened when an InstantSQL statement specified a large number of parameters. Such statements are ones like the SQL BIND COLUMN or SQL BIND PARAMETER statements that bound a large number of columns or parameters. This patch is recommended for all users, whether or not, you are encountering the described behavior. Old KB# 33364
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: 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: 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: 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: 23 February 2011 Problem: A general question was asked regarding how to deploy an application to run under Server for COBOL on a server and configure the client machines to run the application in a multi-user environment. They needed to understand the general concept of deploying the application in a server/client configuration. Hence, they asked for a simple explanation of how to deploy the application on a server and configure the client machines to run the application. Resolution: Here are some general thoughts. Firstly, check the the online help. Open the Net Express development environment IDE and go to ‘Help’ and then ‘Help Topics’. Select the ‘Contents’ tab, then select ‘Micro Focus Server’ and look at the chapters on ‘Shipping Applications’ and ‘Deployment Licensing’. Probably the two most common ways of setting up a multi user environment would be: 1) Install Server for COBOL on the server and have each client map to the server across the network.
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: 23 February 2011 Problem: If you have a .Net string that is padded at the end with null (x"00") characters how can you remove these from the string ? Resolution: The .Net method TrimEnd from the System.String class allows you to do this. You need to supply an array of characters to the method that tells it what characters to strip.In Visual COBOL an example piece of code that does this is:- program-id. Program1 as "TrimNulls.Program1". data division. working-storage section. 01 ws-string-with-nulls. 03 filler pic x(4) value "Test". 03 filler pic x(16) value all x"00". 01 ws-string string. *> .Net String Type 01 ws-nulls character occurs 1 value (0). *> Array (1 element) of chars (null). procedure division. set ws-string to ws-string-with-nulls display ws-string " is of length " ws-string::Length *> Display length of string display "Trimming String ....." set ws-string to ws-string::TrimEn
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: 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: 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: 24 February 2011 Problem: When executing ‘cobrun A progname’ or ‘cobanim progname’ the program runs instead of passing to the animator. For example, let’s assume you’re attempting to use cobanim to animate the demo program ‘tictac’ from the $COBDIR/demo/tictac/ directory. You can activate ‘cobanim’ either directly or via the ‘cobrun A’ commands. For example the command 'cobanim tictac' or 'cobrun A tictac' runs the program (as if 'cobrun tictac' had been entered) instead of opening the animator. Resolution: When you run either of these commands, if you find that instead of activating the animator and allowing you to step through the code it runs the program exactly as if you had entered ‘cobrun tictac’, then one thing to look for is to make sure that you are not attempting to animate from the Server for COBOL (Application Server) runtime environment. You cannot animate programs from the runtime environment, you can only animate from
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.