Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
Problem: What is the best size of the block factor for VISION files? Resolution: The blocking factor specifies the size of the blocks to be used by the file. Blocks are sized in 512 byte increments. Vision 5 files support blocking factors from 1 to 16 (16 = 8192 bytes). Vision 2, 3, and 4 files support blocking factors from 1 to 2. When rebuilding a file, if the file is very large, or has a tree height of more than five, or key lengths in excess of 40 bytes, it is suggested to try larger blocking factors and perform some benchmarking to determine which larger block size improves performance. Old KB# 2703
Problem: At times it is desirable to execute more than one print job at a time. Resolution: Getting Started with ACUCOBOL-GT Version 8.0 Chapter 2: Windows Installation > 2.5 Printing and Spooler Issues > 2.5.3 Printing Multiple Jobs Simultaneously If it is desirable to print multiple jobs at the same time, multiple File Descriptors must be opened that point to "-P SPOOLER" or "-P SPOOLER-DIRECT" simultaneously. For example, there may be two simultaneous print jobs: SELECT FIRST-FILE ASSIGN TO PRINTER "-P SPOOLER". SELECT SECOND-FILE ASSIGN TO PRINTER "-P SPOOLER". ..PROCEDURE DIVISION. .. OPEN OUTPUT FIRST-FILE. OPEN OUTPUT SECOND-FILE. and both will print to the default Windows printer without interf
Problem: Programs that have been running under AIX and handle all the printer settings including forms feed using escape sequences, have been moved to a Windows platform. Is there anything special that needs to be done to enable form feeds with Windows printers? Resolution: To control the format of the printout using embedded control codes, simply assign the print file to "-P SPOOLER-DIRECT" or to "-Q <printername>" using the "DIRECT=ON" option. For example, to assign the print job "PRINTER1" to the spooler and retain direct control over formatting, enter the following line in the COBOL configuration file ("CBLCONFI"): PRINTER1 -P SPOOLER-DIRECT Or, use the following command to assign PRINTER1 to the spooler for printing to a specific printer while retaining direct formatting control: PRINTER1 -Q printername;DIRECT=ON Both of these methods cause the print job
Problem: The following resolution describes how to assign values to Ctrl C, Ctrl X, and Ctrl V in order to copy, cut and paste text from controls in graphical user interface COBOL programs and send output to the Windows API. Resolution: To use the ctrl-key combinations, it is possible to programmatically assign any value to these functions by using format 13 of the SET verb. So, for example, you wanted to assign the keys for copy, cut and paste to be Ctrl C, Ctrl X and CTRL V the following code would be needed in the program: SET EXCEPTION VALUE 3 TO COPY-SELECTION. SET EXCEPTION VALUE 24 TO CUT-SELECTION. SET EXCEPTION VALUE 22 TO PASTE-SELECTION. The exception values here are the default values assigned to Ctrl C, Ctrl X and Ctrl V. It is also possible to assign different values to these keys through the configuration file because the value returned for Ctrl C (3) is by default the same if a user pressed Function Key 3.
Problem: We are doing a conversion from HP COBOL to ACUCOBOL-GT. We have code in the copylib file like below: 001400 01 [1]LOCN-M. LOCNM 001500 05 [1]LOCN-ID &nbsp ; PIC X(6). LOCNM 001600 05 [1]DESCRIPTION P IC X(30) LOCNM 001700 05 [1]LOCN-TYPE &nb sp; PIC X(4). LOCNM 001800 05 [1]REP-DRD. LOCNM 001900 10 [1]REP-DIVISION. LOCNM 002000 15 [1]REP-DIVISION-1B
Problem: What does this entry, seen in the runtime trace file, mean? Using SAFE mode for file access Resolution: On Windows systems, the speed of file access to Vision files located on a shared drive can vary. The cause of this variability is attributed to interaction between the way Windows handles file locks and the way it caches shared files on the local system. In Version 4.3.1, to overcome that variability and improve performance, the method used to open Vision files on Windows shared drives was changed. Subsequently, although most users experienced good performance and no problems, some users experienced sporadic file corruption problems (file status 98). To minimize the possibility of these errors, in Version 5.2.1 ACUCOBOL-GT reverted to the pre-4.3.1 method of opening files which is noted in the runtime trace as 'safe mode'. Although this method can
Problem: How to invoke WORD and show it on the screen. Resolution: There are many things we can do with WORD but usualy we will want to invoke it, show it on the screen and open a file and start working with it, this is easily done following these steps. Create a WORD.DEF file using the utility axdefgen. Use the following word sample code : IDENTIFICATION &nbs p; DIVISION. PROGRAM-ID. TestWord. ENVIRONMENT & nbsp; DIVISION. CONFIGURATION &nbsp ; SECTION. SPECIAL-NAMES.  
Problem: The runtime fails with a "Memory alignment error". How can this be resolved? Resolution: A "Memory alignment error" occurs in response to a Bus Error signal. This signal is generated on some UNIX machines (but not all) when a multi-byte data item is accessed on an inappropriate memory boundary. These machines require that integers and long data items be aligned on a certain byte boundary and involves how the CPU fetches data and the optimizations present in the machine's instruction set. For example, if a program accesses a 4-byte long data item that is not aligned on a memory address that is divisible by 4, a memory alignment error would occur. Data correctly aligned: data 1 = a|a|a|a| data 2 = b|b|b|b| Data misaligned: (data 2 doesn't begin at the start of the 4-byte address) data 1 = a|a|b|b| data 2 = b|b| | | COMPILE SWITCHES TO USE The most common solution to memory alignment err
Problem: After upgrade from 7.0 to 8.0 problems with signed numeric fields that have a value of zero have been encountered. Here is the situation: A numeric field is defined as PIC S9(7) TRAILING SEPARATE. In this particular data file the value is zero, when viewing this field in the debugger in hex it's value is 30303030 30303030 The program has this statement: IF NUM-FIELD NOT = ZEROS In version 7 the above statement is not true because the value of that field is zeros. Now compile the program using version 8 and run with version 8 runtime the above statement is true. This is causing programs to break. Example: 01 NUM-FIELD PIC S9(7) TRAILING SEPARATE. (hex value 30303030 30303030) Here is an example of how version 8 reacts to these statements compared to version 7. IF NUM-FIELD = ZEROS (version 7 says YES, version 8 says YES) IF NUM-FIELD NOT = ZEROS (version 7
Problem: Acucobol-GT runtime reports "Inadequate memory available" when attempting to execute a program. Resolution: Cobol object file is corrupt. Most common cause of the corruption is that the file was transferred via FTP using ASCII mode. Cobol object files must be transferred via FTP in BINARY mode. Old KB# 2688
Problem: For some reports it is desirable to directly control the format of the printout using embedded control codes from a printer control language (PCL) or page description language (PDL). Resolution: Getting Started with ACUCOBOL-GT Version 8.0 Chapter 2: Windows Installation > 2.5 Printing and Spooler Issues > 2.5.2 Direct Control If it is desirable to control the format of the printout by directly using embedded control codes, simply assign the print file to "-P SPOOLER-DIRECT" or to "-Q <printername>" using the "DIRECT=ON" option. For example, to assign the print job "PRINTER1" to the spooler and retain direct control over formatting, enter the following line in your COBOL configuration file ("CBLCONFI"): PRINTER1 -P SPOOLER-DIRECT Or, use the following command to assign PRINTER1 to the spooler for printing to a specific printer while retaining
Problem: Does Acucorp provide support to users who have upgraded to SQL 2005? Are there known issues with ACUCOBOL-GT Version 7.2 and SQL Server 2005? When does Acucorp plan to support the new SQL 2005 features? Resolution: Q) Does Acucorp provide support to users who have upgraded to SQL 2005? A) Support will be provided for customers who upgrade to Microsoft SQL Server 2005 and are using ACUCOBOL-GT Version 7.2.2 or later. Q) Are there known issues with ACUCOBOL-GT Version 7.2.2 and SQL Server 2005? A) SQL Server 2005 client software no longer provides the "ntwdblib.dll" on which both Acucorp's AcuSQL® for MSSQL and Acu4GL® for MSSQL rely. To work around this, there are two options: · Use the SQL Server 2000 client software. · Use the SQL 2005 client software as long as the "ntwdblib.dll" from the SQL 2000 client software has been
Problem: In Version 8.0 when a check of the compiler version is done, ccbl -v, the following message is returned: "./acusql: No such file or directory". What does this mean? Resolution: (Note that on some operating systems only "./acusql: No such file or directory" will be displayed and on others "./acusql: not found".) The version check mechanism is outputting this message which simply means acusql is not present. The message is harmless and will not affect the ability to use the compiler normally. If the intent is to use the AcuSQL precompiler and acusql is missing, reinstall and follow the instructions in the AcuSQL manual. Old KB# 2698
Problem: Customer inadvertently closed the screen component toolbox in AcuBench by clicking on the small "x" in the upper right corner of the toolbox and is unable to get it to display again using the View\\Screen Component toolbox menu item or the Component toolbox push-button. Resolution: A search of the registry for CASEMAKER shows that entries for AcuBench appear in: HKEY_CURRENT_USER\\Software\\CASEMaker\\AcuBench720 This includes a sub-key of Component Toolbox. Once the AcuBench720 key was deleted and AcuBench restarted the screen component toolbox now appears correctly. Old KB# 2647
Problem: In the ACUCOBOL-GT User's Guide Version 7, Chapter 2.1.13, Miscellaneous Options, it states that -Zz can be used to convert spaces to numeric in the excerpt below. Does the -Zz option convert embedded spaces and trailing spaces as well as leading spaces in a USAGE DISPLAY numeric item to zeros? -Zz This option causes spaces in a USAGE DISPLAY numeric item to be treated as the value zero, and non-numeric data to be treated as numeric. It does this by treating the high-value half of each byte as "3" so as to bring all bytes in the variable within the range of 30 to 3F. Resolution: The following test program below demostrates that leading, trailing, and embedded spaces are all converted by utilizing the -Zz compiler option. The program was executed three times using the version 8.0.1 compiler and runtime. The following is a table that contains the inputs for each iteration and the corresponding outputs.
Problem: The following steps can be done if an "Unexpected Acushare Error" occurs: Resolution: The error "Unexpected Acushare error" is caused by the runtime starting and finding a message in the Acushare queue, sometimes as a result of an ungraceful exit by a previous runtime. When the runtime starts, it sends a message to Acushare, and if it finds a message in the queue, it returns the "unexpected" message. Our Development Department advises that this is a known problem and has been difficult to determine the cause. The Developers have some suggestions about how to minimize the number of occurrences of this error: 1) Set the kernel parameters according to our "OS Kernel Parameter Settings" document attached to this KB Item. 2) Stop and start Acushare periodically. Several customers have found relief by stopping and restarting Acushare, some as an overnight kron job. 3) Use t
Problem: The documentation is unclear on what other steps need to be taken to delete a record from a grid control other than using the "RECORD-TO-DELETE" clause. Specifying this always deletes the first record, starting with the header row. Resolution: The secret is using the cursor-x and cursor-y properties of the grid control. Below is an example of the code necessary for deleting a specific record in a grid: delete-record. inquire grid-1, cursor-x in grid-x, cursor-y in grid-y. modify Grid-1, RECORD-TO-DELETE grid-y. This example assumes the record where the cursor resides in the grid is the one that is to be removed from the grid: Attached is a zip archive containing a sample program, and its accompanying copybooks, that demonstrates this code usage. When running the program, after clicking on a cell, press the [Delete] push-button. Regardless of the c
Problem: Is there a way verify the version of the runtime that is installed and/or being used? Resolution: The runtime has three command line options that will display differing levels of information regarding its version, serial number, number of users allowed and patches applied: -v Prints the current version number of runcbl, the serial number, and the maximum number of users licensed to use the runtime simultaneously. No program is run. -vv (double "v") Prints the current version number of runcbl, along with extended information. No program is run. -vvv (triple "v") This option is valid on UNIX systems and causes runcbl to display additional configuration information about the UNIX port. The information displayed varies depending on the UNIX system and is subject to change without notice. No program is run. Old KB# 2689
Problem: According to the documentation ACCEPT OMITTED should cause the program to pause at the displayed screen and the user is required to enter a termination key. Resolution: RM COBOL does not have the concept of OMITTED in the ACCEPT statement. Due to this, when in RM compatability mode OMITTED has no affect and the program does not stop. The resolution for this problem is to not use -Cr compiler option, or, if that is not possible, change the ACCEPT OMITTED to an ACCEPT of a dummy variable defined in working-storage. Old KB# 2678
Problem: If you are using an Entry-Field with a variable defined pic 9(2) and when the person is typing "03" you want it to show "03" instead of "3" on Acubench. What do you do? Resolution: The solution is a trick. On the FORMAT PICTURE field for that entry field you have to enter the following format : 99B This will make sure that the data entered will be the data shown. Fast an easy, once than we know it... Old KB# 2656
Problem: On some systems it may be desirable to have more than one version of the Acucorp product suite operating concurrently. However, doing so may cause concerns about compatibility in license management using multiple versions of the acushare utility concurrently. Resolution: In version 7.0, the acushare utility, which provides shared memory and licensing management, has been rewritten to use network sockets (rather than the previous IPC message queues). Due to this change, old and new versions of acushare may run simultaneously on the same system. However, acushare versions 6.x and earlier cannot be used with extend7 or extend8 products. Conversely, acushare versions 7.x and 8.x cannot be used with pre-extend7 products. Each version of acushare must be installed in and started from separate directories. Example: /opt/acucorp/610/bin/acushare -start /opt/acucorp/700/bin/acushare -start Note in the example below that the IPC key has cha
Problem: With Version 8.0.0 when a COBOL program calls a function in a DLL from two different locations in the COBOL program, the second call will fail with a MAV. Resolution: Version 8.1.0 resolves this issue. This change is also available for version 8.0.0 in a patch which is attached to this article. If the 8.0.0 Runtime in use is already patched with other Engineering Change Notices (ECN) contact Supportline to determine whether this patch is appropriate. "wrun32 -v" will return "ACUCOBOL-GT runtime version 8.0.0" if it has not been patched. To apply this patch download the archive, back up the current 8.0.0 bin directory, then extract the two files to that directory. "wrun32 -v" should then report "ACUCOBOL-GT runtime version 8.0.0.943". Update: 8.0.0 WS1 is available and contains the fix. You can download it from http://supportline.microfocus.
Problem: Runtime receives an error that NTWDBLIB.DLL is not found when attempting to access an Microsoft SQL Server database using Acu4GL for MSSQL. Resolution: NTWDBLIB.DLL is part of the Microsoft SQL Server client software that is required by Acu4GL for MSSQL version 7.x and earlier. There are 2 possible reasons why this error is being generated: 1) AcuSQL for MSSQL has been installed, rather than Acu4GL for MSSQL; 2) Acu4GL for MSSQL Server is installed, but the Client Communication software from Microsoft SQL Server has not. The resolution(s) to this error are to either: 1) install the Microsoft SQL Server 2000 client software on the machine 2) copy the ntwdblib.dll from a machine with an existing Microsoft SQL Server 2000 client installation, placing the copied DLL into the bin directory with the ACUCOBOL-GT runtime and Acu4GL for MSSQL. Note that for the second resolution to work Microsoft Data Access Component's (MDAC) need
Problem: How can you detect if a printer is on or off when running a COBOL program on a Windows platform? Resolution: This can be done using the WIN$PRINTER routine and specifying the WINPRINT-GET-PRINTER-STATUS op-code. There is a sample program called prndemox.cbl that demonstrates the use of the WIN$PRINTER routine. It can be found the Sample sub-directory where ACUCOBOL-GT is installed, e.g.: C:\\Program Files\\Acucorp\\Acucbl800\\AcuGT\\sample\\prndemox.cbl It requires 4 copybooks: acugui.def winprint.def fonts.def crtvars.def It is also attached to this KB Item. Attachments: prndemox.zip Old KB# 2693
Problem: how many Vision files are opened by runtime? Resolution: There's no acu function that can say how many vision files the runtime has opened in a certain moment. This is possible only using AcuServer -info. Old KB# 2720
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.