Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
This articles explains how to configure Apache so the CGI runtimes find the appropriate configuration file. Problem: You are using a CGI application, but do not know how to set up a configuration file correctly. Resolution: The configuration file for Apache is the httpd.conf file. Add the following line into the file: SetEnv A_CONFIG c:\\tmp\\cblconfig Once you have done this restart the Apache server and you are set, the CGI runtimes started by the Apache server will look for this configuration file. Old KB# 14185
This article describes what to do if you get a syntax error when executing a query containing a CASE expression. Problem: Executing a query containing a CASE expression with AcuXDBC Version 8.0.0 results in a syntax error. Does AcuXDBC support CASE? Resolution: AcuXDBC Version 8.1 added support for CASE. For versions prior to 8.1, you may use DECODE to obtain the same results. For example, the following two queries are equivalent: select patient_name, decode (animal_type, 'Cat', 'MEOW', 'Dog', 'WOOF', 'Bird', 'TWEET', 'whatever') as SOUND from pets; select patient_name, case animal_type when 'Cat' then 'MEOW' when 'Dog' then 'WOOF' when 'Bird' then 'TWEET' else 'whatever' end as SOUND from pets; With Version 8.1.0, executing either query against the sample database (created by demo.bat) will return: PATIENT_NAME SO
Executing the ACUCOBOL-GT application gives the error "Thread did not ask for message after accept terminated by one". Problem: When running the ACUCOBOL-GT application, after an indeterminate period of time, the Runtime halts with the following error: "Thread did not ask for message after accept terminated by one" Resolution: Generally this message is due to a coding error. When coding "SEND message to all threads" there must be an "ACCEPT... allowing messages..." coded in every thread, along with "if crt-status = 95 then RECEIVE message...". If the RECEIVE is missing, the message queue will become full, because of the SEND to all threads. That's when this error can be seen. If this message is seen in a version prior to 7.2.2 and the threads are coded correctly, there is a possibility that the Runtime encountered a problem where under certain rare circumstances it fails to clear an internal flag related to thread messaging. T
This article explains that an RTS error 173 occurs if the flag RTLD_GLOBAL of dlopen API is not used. Problem: When a program loads a shared library with dlopen API and later loads functions belonging to this library the following error occurs: RTS error 173 (Called program file not found in drive/directory) Why is this happening? Resolution: This RTS error 173 occurs if the flag RTLD_GLOBAL of dlopen API is not used. This RTS error 173 is normal in regards to the definition of RTLD_GLOBAL flag. RTLD_GLOBAL allows symbols in the module being loaded to be visible when resolving symbols used by other dlopen calls. These symbols will also be visible when the main application is opened with dlopen(NULL, mode). dlopen API: http://publib16.boulder.ibm.com/doc_link/en_US/a_doc_lib/libs/basetrf1/dlopen.htm The demonstration attached just reproduces the RTS 173 described here. In funct
Read-only entry fields no longer change background/foreground colors with 8.1.0. They are shown only in gray. Problem: Read-only Entry Fields used to allow their foreground or background colors to be modified. The Runtime version 8.1.0 stops this behavior, and leaves the read-only field gray. Resolution: This change was made to follow Windows standards and was implemented with ECN-3699 released in 8.1.0. You can turn this behavior off so that your applications will not be affected by this change. Set the following configuration variable in cblconfi:ECN-3699 0 The value "0" turns the ECN off, value "1" activates the ECN and entry-fields remain gray. This configuration variable has been introduced in ECN-3848, available in the future release of ACUCOBOL-GT 9.0. Incident Number: 2131301 Date: Name: Description of change: Date: Name: Description of change: Old KB# 14120
This article explains that corrupted shared memory segments may cause error A147. Problem: Why are the TXSeries transactions abending with error code A147? Message "/var/mfaslmf/nolicense [24] : date : not found. Resolution: When checking the console.msg created by TXseries region, it showed that some shared memory segments were corrupted: *** [tofas8]/var/cics_regions/PL4LOT2> cat con*msg ASLM: shm (pvc) attach fail ASLM: A shared memory area used by Apptrack licensing has been corrupted or deleted, and your system will need to be rebooted before this application can run. *** After rebooting, the error will disappear. Old KB# 14164
This article describes how to use the ACUCOBOL-GT built-in Profiler to identify processing times of specific program paragraphs so that you can determine if code changes would improve performance in your batch applications. Problem: You have a batch application that currently takes a certain amount of time to complete. You want to determine if there are any coding changes you could make that would significantly reduce the program's processing time. Resolution: Use the Profiler to create a report that shows the processing time being spent on each paragraph in your program. Examine those paragraphs where the most time is spent to determine if coding changes could reduce processing times. The Profiler is available in version 7.0.0 or higher of the ACUCOBOL-GT runtime. To use the Profiler, follow these simple steps: Compile programs with debugging symbols. UNIX Example Windows Example ccbl -gy test.cbl ccbl32 -gy test
This article addresses the ASLM 2046 semaphore error message "rerun as root" on HP-UX. Problem: We have received the following error message on HP-UX: ASLM: Semaphore failure. Rerun as root ASLM: Errno 2046 Resolution: The error number indicates that this is a locking problem. /* System record lock table was full */ Try raising the system limit for the number of locks to resolve this problem. The parameter "nflocks" is the tunable which controls the maximum number of file locks. Raise the system limit on this parameter. Sizing the system record lock table limit (nflocks) depends upon the workload type in the user's environment. The number of record locks the system requires is highly dependent on the activity in the system at any point in time. Monitor this over a period that would be using the most locks and then set nflocks appropriately. The error occurs when other activities in the system causes
This article describes how to deal with a response key error: “Internal error, please restart machine and try again” Problem: When typing in the Response Key for a full license an error displays "Internal error, please restart machine again". The license is not accepted despite rebooting the machine and trying again. Resolution: This problem can be caused by a number of things. For example, a virus attack may penetrate a customer’s machine and corrupt the Net Express license which then needs to be reset. Follow this sequence of instructions and steps to resolve the error: Ensure that the Net Express installation has all the latest fixpacks/wrappacks installed and also the latest license protection fixpack (as of this article's publication date, the latest fix is clu12all.exe). Open a Net Express DOS command prompt and type the following command:protcfg /force_reset This brings up the window "MICRO FOCUS License Management System Configuration". select Net
This article better explains the License List (menu pick #1) in AppTrack. Problem: The License List (menu pick #1) in AppTrack is informaton-rich, but can be confusing. Can you please explain? Resolution: Below is an annotated sample display with notes of explanation. 2006/08/13 09:54:52 Installed Application Server licenses: ---------------------------------------------------------- 00001 /product/default Note: This is an Application Server license (CPU license, unlimited user count) tied to the product in /product/default. The latter is the COBDIR value when the license was installed via AppTrack. Version ___ of Server Express 32-bit ES MTO Note: The version is blank because Server Express licenses are not tied to a particular version. For example, when a product is updated from 2.2 to 4.0SP2, the existing license is valid and therefore will not be reissued or supplied with the updated product. License users: Unlimited CPUs: 100 Duration: U
This article describes how to make modifications to the SDE menu. Problem: Is it possible to change the defaults on the SDE menu screens so that the user doesn't have to type in overrides for every session? Resolution: Yes, follow these steps and commands: Invoke the following commands as root, to backup the existing SDE: mkdir $COBDIR/etc/safe mv $COBDIR/etc/tbox.mnt $COBDIR/etc/safe cp -p $COBDIR/etc/tbox.mnu $COBDIR/etc/safe Copy the SDE menu file into a local working directory: cp $COBDIR/etc/tbox.mnu . Make edits as required. Rebuild the menu file - this will create "tbox.mnt" in the current directory: cobrun chkmenu tbox As root, copy the updated menu files back to the etc directory under COBDIR: cp -p tbox.mn? $COBDIR/etc Invoke SDE and you will see the updates. Incident number: 2258832 Old KB# 14176
Attempting to rebuild a Vision file with vutil32 results in the error "invalid function parameter". Problem: Attempting to rebuild a corrupted Vision file using vutil32 -r filename gives the following error message: "invalid function parameter". What does this mean? How can the file be rebuilt? Resolution: This message is seen when the file is broken in a way that causes the rebuild to fail. The file may be broken in a way that it will not be possible to recover any records at all. However there are a couple of things to try. Specify a key to rebuild on:vutil32 -rebuild -k 0 filename for the primary key. If that fails try: -k 1 for the first alternate key (if there is one), and so on for each alternate key. If all of those fail it may be possible to programmatically recover the records. Set the Runtime configuration ERRORS_OK to "ON" which should allow the OPEN of the corrupted file to succeed. Then START at the begi
This article tells you what to do if, after a successful install, running runcobol produces the error "cannot restore segment prot after reloc: Permission denied." Problem: After a successful install, running runcobol produces the error "cannot restore segment prot after reloc: Permission denied." Resolution: There are several issues that can cause this error: This message can apparently be returned if SELinux is enabled. Unless you are SELinux experts, we suggest that you disable SELinux (see the URL link) and make sure that the problem no longer occurs. Then try the suggestion given at this URL of using "chcon" to change the security context for the shared objects. Next, you might be having an issue with the permissions on the directories in the runcobol path.All of the directories in the path need to have "execute" permissions. If that doesn't work, you may have to uninstall and reinstall wi
This article provides a solution for several problems that can prevent AcuServer from starting. Problem: When starting AcuServer, it appears to start successfully (see output below), but it will fail on either a –info test or if a program tries to access it. [root@oprtest etc]# ./acuserver -start acushare: opening '/dev/console' for error outputacushare: installation complete! acushare: already running. AcuServer started [root@oprtest etc]# cd ../bin [root@oprtest bin]# ./acuserve -info AcuServer is not running on: sparky [root@oprtest bin]# ./acushare -info acushare: already running. Resolution: If a machine has multiple network cards or if themachine name is not unique on the network, the following configurationvariables must be set in the a_srvcfg:# For servers with multiple Network InterfaceCards, this variable will# determine which address to use when listeningfor connections. The# default value is blank, which will use thefirst address found.#SERVER_IP# If you have
This article describes how to overcome background color issues in a tab control with check boxes or radio buttons when using Native Controls Style. Problem: With version 8.1.0, you can display controls on a screen using the native Windows XP, or Windows Vista control styles. To have this turned on, an AcuGT runtime configuration variable must be activated: WIN32_NATIVECTLS. However, some controls displayed within a tab may have a background color issue. Resolution: Specifying a Window color may help to display radio buttons and check boxes with the right background color when they are drawn within a tab control. You can use this color, when you display the screen:DISPLAY STANDARD WINDOW, COLOR IS 65601, ….. Incident Number: none tabmod.zip Date: Name: Description of change: Date: Name: Description of change: Old KB# 14178
This article describes an Acurfap error, which may appear when trying to run a program from within AcuBench. Problem: Click on "Execute" to run a program from within AcuBench. An error like this appears in the Output window: --------- Compiling Program1.cbl ------------------- Compile options = -o acurfap://myserver:5632:/@.acu -x -GaCopying object file to serveracurfap://myserver:5632:/Program1.acu: The system cannot find the file specified.Program1.acu - Completed: 0 Error(s), 0 Warning(s). Resolution: The "Use Thin Client" button has been incorrectly activated. This causes the runtime to search for a remote object to run. Deselect "Use Thin Client" button to run a locally compiled object. Incident Number: 2263553 Old KB# 14184
This article describes how to ensure that certain fields on a form accept only upper or lower-case text, without modifying the program. Problem: The default behavior on a screen form is to type data in the form using lower-case and upper-case text at the same time. In some cases, it is necessary to force the use of upper-case (or lower-case) only. Resolution: Adding the UPPER (or LOWER) property to the definition of a screen control is one method of accomplishing this. However, this requires the program to be recompiled. An alternative solution that does not require compiling is to configure several environment variables. For character screens, use this environment variable: KEYBOARD case=lower or KEYBOARD case=upper For graphical screens, the KEYSTROKE environment variable allows you to remap lower-case to upper-case, or vice versa. For example: KEYSTROKE data=65 97 <- this will transform the edited 'a' in 'A'KEYSTROKE
After upgrading from a previous version the following error message "wrun32.exe - Entry Point Not Found" may be seen. Problem: After a user upgrades, they may encounter the following error message: "wrun32.exe - Entry Point Not Found" when doing a version check or running a program. Resolution: Open the Windows control panel, select the system icon, click on the Advanced tab, then on the Environmental Variables button. Remove the path to the old installation of Acucobol software and set the path to the current Acucobol that is being used. Incident Number: 2259025 Old KB# 14183
On SCO UnixWare 7.1.4 the call to C$JAVA fails with this error, seen in the runtime trace: Java dynamic init failed. Problem: The ACUCOBOL-GT application calls Java programs via the C$JAVA library routine. On Windows and Linux platforms there is no error when running the application. However, when running the same application with the same configuration on SCO UnixWare 7.1.4, the call to C$JAVA fails with the error: Java dynamic init failed. Resolution: On SCO UnixWare 7.1.4 (and possibly some other platforms) there are additional steps and configurations necessary to enable the C$JAVA library routine to function properly. Here's what must be done: In the ACUCOBOL-GT 8.1.0 lib directory copy "Makefile" as "Makefile-java". Modify Makefile-java as follows: Locate the two Java lines, uncomment them, and set them like this: JAVA_HOME = path to main java directory]JAVA_LINK_FLAGS = -L $(JAVA_HOME)path to directory containing lib
This article describes how to use a different path name (file) with a copied table. Problem: There is a facility to create a copy of a table; however, the underlying data file (path name) is shared between the two tables. So changing the path name for the copied table also changes the path name for the original table. More often than not this is not the desired setup. Resolution: Open the copied table and click Use the Edit Connections. Highlight the table name and click Delete Table Connection. Select the table definition (even if it's highlighted select it again) and click the Add Table Connection. You will be presented with the Add Table Connection dialog box; set the Path Name accordingly and click Add Connection. Click Save Changes. The copied table now uses the path name (data file) set above without changing the path name in the original table. Old KB# 14179
This article explains why the Memory Allocation Error 105 occurs on an AIX 32 bit program. Problem: We are receiving the error RTS 105, Memory Allocation Error, even after setting user ulimits to "unlimited". The program uses CBL_ALLOC_MEM and/or malloc() to obtain memory which, in total, amounts to more than 256 megabytes. RTS105 occurs when 256 megabyte total program memory usage is exceeded. This is due to an AIX system limitation, not a Micro Focus product limitation. Resolution: AIX allocates 256 megabyte segments to a 32 bit process. Up to fifteen addtional segments are available (total of two gigabytes), if the LDR_CNTRL environment variable is set appropriately. Please note that LDR_CNTRL is an AIX system variable and is not used directly by any Micro Focus component. IBM terminology for use of the additional segments is "Large address space model" or "Very large address space model".
This article describes getting a UNC path from a mapped network share's drive letter. Problem: You need to get a UNC path from a mapped network share's drive letter. Resolution: Use the Microsoft API WNetGetConnection. This function retrieves the remote name of the network resource associated with a local name. You can obtain this API from here: http://msdn.microsoft.com/en-us/library/aa922031.aspx Example (code is also provided as an attachment to this article) COPY "windows.cpy". identification division. SPECIAL-NAMES. call-convention 74 is STDCALL call-convention 66 is cc66. working-storage section. 78 SZ value 25. 01 lpLocalName pic x(5). 01 lpRemoteName pic x(SZ). 01 lpnLength DWORD value sz. 01 proc-pointer procedure-pointer value NULL. 78 MPRdll value "MPR.dll". 01 retDWORD DWORD. *> DWORD = pic 9(9) comp-5 proced
This article describes how to resolve error ld: 0711-596 SEVERE ERROR. Problem: Creating an executable from a mixture of COBOL source and pre-compiled C objects results in an error "ld: 0711-596 SEVERE ERROR." A command line example would look like this:cob -x myprog.cbl cprog.o Error message: ld: 0711-596 SEVERE ERROR: Object cprog.o An RLD for section 2 (.data) refers to symbol 22, but the storage class of the symbol is not C_EXT or C_HIDEXT. Resolution: The problem is with the C object file. In this case, the cause is a corruption in the object file, possibly from FTP-ing it between systems in ASCII rather than BINARY mode. Incident Number: 2262147 Old KB# 14177
This article explains which entry point names may cause error messages to occur. Problem: When compiling or running the following program with no special options, we receive the below error codes. IDENTIFICATION DIVISION.PROGRAM-ID. ROGERW.ENVIRONMENT DIVISION.DATA DIVISION.WORKING-STORAGE SECTION.01 ALLP PIC X.PROCEDURE DIVISION.CALL 'csort' USING ALLP.STOP RUN. error code: 161, pc=2B, call=1, seg=0 161 Illegal intermediate code Resolution: The problem is that csort is an entry point in the Micro Focus runtime library. There are a few more to be aware of as entry point names with the following prefixes: "_" "mF" "MF" "mf" "CBL" "cob" "CEE" "ADIS" "STRIPE" "fs" "FS" "CEE" "CCI" "oo" "STRIPE" "PARSE" "XML" "Invoke" "scum" (stands for Sooty Co
This article helps understand the difference between two similar file status messages. Problem: How do you distinguish between the following similar file status messages? File status 37 is: An OPEN operation has been tried on a file which does not support the open mode specified in the OPEN statement. File status 9/37 is an RTS error 37: File Access Denied Resolution: File status 37 consists of the characters "3" and "7" (hexadecimal 3937). File status 9/37 is the characters "9" and "7" (hexadecimal 3937). Note: There is no file status "97" with which to confuse the latter. File status 37 is usually a programming error, such as OPEN EXTEND of an indexed file. File status 9/37 is usually a runtime error caused by a conflict between file and/or directory permissions and user access rights. Old KB# 14116
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.