Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
Problem: It is not possible with Version 8 just to copy the RT, it must be installed. Resolution: There is a workaround: The Manifest file has to be copied as well. Installation should really not be required. But some manifest files are also necessary. If you rename the attached file (it is a zip file, just alter the extension) and unzip it into the target directory, it should be okay. Attachments: vc80.zip.removethis Old KB# 2733
Problem: When a program is executed stand-alone, it is possible to change the focus of the cursor with no problems; but if this same program is called by another one, the called program loses focus. Resolution: This problem is caused by having a floating window on top of a standard graphical window, and in the event procedure of an entry field raising a message box. Upon return from the message box, it would be sent back to the original entry field, regardless of the event handler coding in the program to go to another entry field. This problem has been fixed with the ecn3763, and will be part of the 8.1.0 version. The workaround is to use an exception procedure instead an event procedure. Old KB# 2701
Problem: The execution of COBOL programs incorporating ActiveX controls results in a memory access violation when compiled with the version 8.0.0 compiler and specifying the "-Z61" (or earlier) compiler flag. Resolution: Install ACUCOBOL-GT Dev System version 8.1 when available or compile COBOL programs with version 7.2.2 or earlier compiler. Old KB# 2692
Problem: An XML file was submitted to the xml2fd utility and the resulting FD stops after the 01 level. The XML file, test.xml contains: <company> <name>Acucorp</name> <address>8515 Miralani Drive</address> <city>San Diego</city> <state>CA</state> <ZIP>92126</ZIP> <remarks>COBOL tools</remarks> </company> using "xml2fd -p cust- test.xml" the resulting FD contains only: * .\\test.fd - Generated by xml2fd from test.xml on 2008/01/18 fd cust-company. $XFD NAME = name 01 cust-name & nbsp; pic x(7). Resolution: The XML inside test.xml is interpreted by x
Problem: Using an 8.x (8.0.0, 8.0.1, 8.1.0 alpha) compiler with the AddPercent sample program (attached) the compiler encounters and "internal error 45". Using the 7.2.x and earlier compilers the program compiles cleanly Resolution: This is fixed in 8.1 WebSync 3 by ECN-3788. A work around of not using the USE/END-USE construct can be used as well, since the cause of the problem is using a USE/END-USE construct with an ActiveX control to set multiple properties. Old KB# 2725
Problem: C$REGEXP library routine does not find the searched string when the program accepts the argument through an entry-field, if the argument is harcoded then it works ok. Resolution: The problem is that the regular expressions must be NULL-terminated because trailing spaces are allowed in regular expressions. It is necessary to use the following coding style when parsing: INSPECT regular-expression REPLACING TRAILING SPACES BY LOW-VALUES before to make the call to C$REGEXP library routine. Old KB# 2704
Problem: What are the differences between event procedures and exception procedures? When is it best to use event procedure and when to use exception procedure? Resolution: The key differences between Event Procedures and Exception Procedures are: Event Procedure does not terminate the Accept; Exception Procedure does. Event Procedure does not automatically update working-storage; Exception Procedure does. There are mechanisms which allow you to terminate an ACCEPT from within an Event Procedure -( Set Event-Action-Terminate to true )- and mechanisms that allow you to update working storage from within an Event Procedure -( Inquire [control] [property] in [working-storage-variable])-. These must be done programmatically, in an Event Procedure, where they are handled automatically in an Exception Procedure. Use an exception procedure when you want to break out of an ACCEPT, use an event procedure when you don't.
Problem: Executing the JavaCallingCobol sample program it generates an error on UNIX using the standard, statically linked, ACUCOBOL-GT runtime. Resolution: In order to call COBOL from Java the shared object version of the ACUCOBOL-GT runtime must be used. It is important to note that a shared object version of the runtime does not exist for all UNIX platforms, e.g.: VAX VMS HP3000 SCO OpenServer TRUE64 Old KB# 2706
Problem: The print file is opened to do some write statements to print part of the report then use this code to get the write-cursor's current position: INITIALIZE WPRTDATA-DRAW. MOVE WPRTUNITS-PIXELS TO WPRTDATA-DRAW-UNITS. MOVE 1 TO WPRTDATA-DRAW-SHAPE. CALL "WIN$PRINTER" USING WINPRINT-SET -CURSOR, WINPRINT-DAT A &nb
Problem: Is there any sample code that demonstrate how to obtain the number of records in a Vision file? Resolution: *Use the "filesys.def" copy file, which is included with the *ACUCOBOL-GT product distribution. Working-Storage Section. 01 the-filename pic x(15). 01 the-filename-full pic x(250). 01 num-recs-in-file pic 9(9). 01 the-file-handle usage is pointer. copy "filesys.def". Procedure Division. move "my_file.dat" to the-filename. move 500 to max-rec-size. move 500 to min-rec-size. move 3 to num-keys. * Use runtime logic to find the full path of the fi
Problem: Sometimes the runtime process is orphaned on the server and has to be removed manually. Is there any alternate way to clean or prevent this? Resolution: 6.3.1.16 TC_CHECK_ALIVE_INTERVAL Use the TC_CHECK_ALIVE_INTERVAL configuration variable to set a time interval in seconds (a value between 1 and 32767) during which the server runtime checks for client activity. This activity can be either regular client user interaction or, if the user interface is inactive, two "ping" messages sent by the client during the defined interval. If no client activity of any kind occurs during a particular interval, the server runtime process exits. Setting this variable to "0" disables the client activity check feature. The default value is "300" (5 minutes). 6.3.1.42 TC_SERVER_TIMEOUT This variable lets you determine how many seconds (from 0 to 32767) the client waits for a response from the server. If the client receives n
Problem: We want to have a Hint-Pop-up appearing when the user moves the mouse cursor over a Bitmap Push Button. Resolution: Usually the property 'Title' for push buttons allows us to indicate the text that we are going to show on the button. On the case we have a bitmap button, there is no text shown but a bitmap, and then using this 'Title' property we set up the text that we will have on the Hint Pop-Up for the push button. This is specially useful if you have buttons on a ToolBar. You have two variables that can affect the hints : HINTS_OFF, HINTS_ON. On version 8, we can only put hints on bitmap buttons. Old KB# 2711
Problem: During a program run, the error message Perform Stack Overflow occurred. Resolution: This error message normally indicates that an AcuCOBOL-GT program exceeded the number of levels PERFORM statements can be nested within paragraphs or sections. A PERFORM statement is nested if the statement contains a PERFORM statement against another paragraph/section. This error can occur if a PERFORM statement did not exit properly. By default, the amount of nesting allowed by the runtime is set to 128. That is, 128 PERFORM againstg a paragraph/section that contains a PERFORM statement against another paragraph/section. This value can be increased by setting the runtime variable PERFORM_STACK to a higher value in the configuration file. If a paragraph/section is not exited correctly, the perform stack will not clear down properly. Normally the end of a section is marked by the EXIT verb and the end of a paragraph is marked by another paragraph name (for exampl
Problem: Is there a way to initialize the fields of Working-Storage at compile time? Resolution: To initialize Working-Storage at compile time, use this option: -Di This option causes the compiler to initialize Working-Storage. Normally, the compiler will initialize all data items to spaces or the value specified with the "-Dv" option, except for those items given a VALUE clause. If this option is specified, data items are initialized according to their type: Alphabetic, alphanumeric, alphanumeric edited, and numeric edited items are initialized to spaces. Numeric items are initialized to zero. Pointer items are initialized to null. Index items are initialized to the value 1. Automatic initialization applies only to Working-Storage and does not apply to any item that (a) is given a VALUE clause, (b) is EXTERNAL, or (c) is subordinate to a REDEFINES phrase. Old KB# 2718
Problem: Is there a way to get the same functionality on Windows that can be had using the -o option on UNIX? The documentation specifically states it has no effect on Windows, but output redirection on Windows is necessary to have the programs continue to work when migrating off UNIX to Windows. [Documentation excerpt] -o This option must be followed by the name of a file that will take the display output from the program. This is similar to output redirection on UNIX systems. If " o" is used instead, then the output is appended to the named file. Remote name notation is not allowed for this option. This option has no effect on Windows platforms. [End Documentation excerpt] Resolution: As noted this is a documented restriction on Windows; however there is a way to get this type of functionality working on Windows. Compile the program(s) with the -Ca compiler option, after that it is possible to use the -o option with
Problem: Where to find .def copy to interoperate with Word, Outlook, Crystal Report? Resolution: You can create your own .def copy using ACUCOBOL-GT utility axdefgen.exe located in the BIN directory of AcuGT installation. Under Components you can find a list of all COM installed into your computer. Under Libraries all ActiveX are listed. Old KB# 2721
Problem: Commenting out the NO_SOCKETS variable in the config85.c and then relinking the runtime the Acu the products no longer function as they cannot communicate with the AcuShare license manager. Resolution: In version 7.0 and later when making changes to the config85.c do not make changes to the NO_SOCKETS section. Acushare needs the sockets to communicate so if the sockets are remove the products will no longer function. /* If you set NO_SOCKETS to 1, then the runtime will not need to link */ /* with any sockets libraries. Note that CLIENT and ACUCONNECT both */ /* require sockets, so setting this to 1 will automatically imply */ /* NO_ACUCONNECT and NO_CLIENT. &nbsp ; &
Problem: On one Windows XP PC, AcuBench version 7.2.2 gets an error when using Microsoft Mask Edit Control version 6.0. It shows up in ActiveX control Components fine and can be chosen. However when the control is placed on the screen the following error is received: Design-time license for OCX.MaskEdBox control missing. Loading control with place hold only. In an effort to load the Design Time license the ActiveX controls were loaded from the VB5 CD, with no luck. On other PC's the control is does not encounter the design time license issue and is working fine. Resolution: Resolved by registering the MaskEdBox ActiveX control for development by running the VBCTRLS.REG from the Visual Studio CD. Old KB# 2653
Problem: In configuration section of a COBOL program, a computer name may specified following the OBJECT-COMPUTER phrase. With the 8.0 compiler, the following forms of the OBJECT-COMPUTER statement cause the compiler to hang and consume excessive cpu resources. The compiler must be terminated by a control-C (command-line) or via the Windows Task Manager: OBJECT-COMPUTER. OBJECT-COMPUTER. multiple words separated by spaces. The first form generates a compiler error in 7.2, as it is invalid syntax without the "computer-name" argument. But in 8.0 it just hangs the compiler. The second form is explicitly described as acceptable syntax in the docs (RM 4.2.2). In all cases above where "8.0 hangs", it occurs on both Windows and Unix. In addition, AcuBench hangs when trying to parse the source for copybooks
Problem: Doing a rebuild of the project workspace and AcuBench just hangs and has to be killed with Windows Task Manager. Is there a way to debug this? Resolution: There is a Version 7 Compiler problem where a specific syntax error caused the Compiler to loop and repeatedly report the same error until it aborted. Somehow the looping problem caused AcuBench to hang. That problem is fixed in version 8.0 and AcuBench will not hang because the compiler no longer spins out. Upgrading to version 8 will resolve the problem. To find out what caused AcuBench Version 7 to hang, repeat the build, then when it hangs examine the AcuBench Output window and note the last program it was compiling. That program likely contains an error. The last line in the Output window should be something like: --------- Compiling programname.cbl ---------- Then compile that program from a command prompt outside of AcuBench. Somet
Problem: When trying to run an ACUCOBOL-GT application with Version 8 or even do a "wrun32 -v" version check "The system cannot execute the specified program" error occurs. The problem occurs when the ACUCOBOL-GT Runtime was not installed on the Windows machine where it is attempting to execute. It could be that the bin directory was copied from another Windows machine (ISVs often deploy their applications this way), or in a network environment where client PCs map to the ACUCOBOL-GT bin directory on a server. The underlying cause is that Version 8 is built with Visual Studio 2005 which not only binds the Runtime to new Microsoft dlls (MFC80 vs MFC71, etc) but to specific versions of those dlls. When the ACUCOBOL-GT Runtime Version 8 is installed on a given Windows machine the installer detects whether those dlls are present and installs those that are missing. When the bin directory is copi
Problem: Does AcuGT have a similiar routine to RM/COBOL's C$SCRD routine? Resolution: For screen captures, use: W$BITMAP Routine This routine is a collection of related operations that handle bitmap (BMP and JPG) images. Only Windows machines can actually display bitmaps. On all other machines, this routine returns an error code. Usage CALL "W$BITMAP" USING WBITMAP-CAPTURE-DESKTOP , parameters, GIVING BITMAP-HANDLE Refer to the ACUCOBOL-GT Appendices manual, Appendix I, for details on this routine's operation codes and parameters. Old KB# 2719
Problem: If you want to work on a HP-UX 11.23 (for exemple) and you have an emulator from Ordina Denkard that emulates and MPUX (HP3000) environment, you need to relink the runtime to be able to work with the emulator and with KSAM files. Here I am just going to point out the steps you need to follow to make it work. Resolution: To do this we are going to recreate a new runtime. We do this in the lib folder. You should keep one original copy of this folder or, at least, of the files you are going to modify. First of all we are going to modify "filetbl.c" . Look for the following lines : #ifndef USE_MPE #define USE_MPE 0 #endif /* USE_MPE */ And modify them to have the following : #ifndef USE_MPE #define USE_MPE 1 #endif /* USE_MPE */ Then save the file. Now we are going to modify "Makefile". On this file we have several lines to modify, but first we are going to add one. At the begi
Problem: If acushare is shutdown ungracefully either by issuing a "kill -9" or other catastrophic event that causes the system to shutdown unexpectedly, acushare may be left in a state in which it cannot be restarted without intervention. Users may experience the following message: "Shared memory and license manager (acushare) is not running" or "Acushare: Time out waiting for reply" However, attempts to restart acushare fail despite the following message: "acushare: already running" or "Acushare: Time out waiting for reply" may be repeated Resolution: Version 7.x and higher Should acushare terminate unexpectedly, its master shared memory segment may be left behind. Before restarting acushare, execute the "acushare -clean" command to remove the stranded memory segment. Version 6.x and earlier Before restarting acushare, it will be necessary to manually clean up shared
Problem: When executing STOP RUN statement, the application error occurs. Our investigation shows the causes appears to be a combination of the length of the filename as well as double byte characters in the filename. Resolution: This problem is resolved in version 8.1.0 by Engineering Change Notice (ECN) 3775: SUBJECT: Too long filename with DBC causes MAV at exit Change Number: ECN-3775 Status: Complete Type of Change: Correction Priority: Medium Incidents: 2178343 RPI Number: 1061056 Date: 2008-02-05 Product: ACUCOBOL-GT Module: runtime New Version: 8.1.0 Machines Affected: All Known Versions Affected: At least 4.3.1 and later DESCRIPTION of problem or enhancement: When us
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.