Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
This article discusses the following error: RM-AddOnInit failed in the wow Runtime dll and WOW MFC Runtime (wowmfcrt.dll) load failure Problem: When attempting to run a WOW Extensions v12 application on Windows 2000 (thick or thin client) you experience the following errors: RM-AddOnInit failed in the wow Runtime dll” and “WOW MFC Runtime (wowmfcrt.dll) load failure Resolution: Deploy the attached uxtheme.dll into the directory containing the wowmfcrt.dll. This DLL provides stubs for the theme functions used by the WOW runtime. Note: The un-themed WOW runtime references these function but does not attempt to call them as Microsoft doesn’t provide theme support on Windows 2000. Incident Number: 2284518 Old KB# 14451
This article explains the error message "LMF 004: You have exceeded the license limit for this product". Problem: We received the message "LMF 004: You have exceeded the license limit for this product". Following this message, a further message indicates the number of license units in the license database, all of which are in use. For example: "No more licenses for this product are available. All of the 0002 license units in the license database are in use. You may continue using this product after this message as a temporary unlicensed user." Resolution: It is possible that the number of licenses available has been exceeded, in which case you will have to contact your sales representative in order to purchase more licenses. However, if you believe that you have not exceeded the licenses available, it may be possible that a rogue process is still running behind the scenes and is still making use of a license. To check the state of all processes running do one of
This article describes a scenario that uses the XFD_MAP variable and provides an example for using one XFD for more than one file or table. Problem: In this scenario, the use of a single XFD is desired rather than many XFDs, one for each of several different tables. The table names have the pattern "???MYHIS" where each "?" represents a variable character in the table name. However, putting "*MYHIS=[abcmyhis.xfd]" in the ACUFH configuration file (mfdbc.conf) does not work. What values should be in the SELECT for the ASSIGN TO and the $XFD FILE= directive in the FD for this to work properly? Resolution: The following is a step-by-step explanation: The program has a SELECT for a file ABCMYHIS, with a variable assigned, something like this:SELECT ABCMYHIS ASSIGN TO WS-ABCMYHIS-NAME ... Immediately before the FD, there is an XFD FILE directive, which is required because of the variable ASSIGN:$XFD FILE= ABCMYHI
This article describes how to enable Windows XP and Vista themes. Problem: WOW Extensions has a default look and feel based upon Windows 98 controls. This can make an application developed using WOW Extensions to look quite dated. Resolution: Windows XP and Vista interface provides a more modern look and feel, i.e. themes. You can enable the theme support by simply replacing the existing wowmfcrt.dll with the one attached in this article. Note: Theme support has been provided via Microsoft’s manifest technique. This technique has some known problems with redrawing certain controls and container controls. It is highly recommended to backup your existing wowmfcrt.dll and aggressively test your application to ensure that the interface behaves as you expect, changes may be required to provide workarounds for unwanted behavior. Theme support is provided “as is”. This DLL is only suitable for version 12. Incident Number: 2282338 C:\\wowmfcrt.zipDate: Name: Description of change: Date:
This article explores the licensing error ASLM - You need to rerun as root (No Error Number). Problem: This message was received after a reboot and when trying to run a program. The message does not include any error number as with a similar message relating to the semaphore file /var/aslmfsem. Resolution: This error is caused by the absence of or incorrect permissions pertaining to the file /var/.mng2sys. > ls -la /var/.mng2sys -rw-rw-rw- 1 root root 56 Jun 29 15:32 /var/.mng2sys The problem can be resolved by running a program as 'root'. For example: > cobrun hello ASLM: You need to rerun as root > echo $COBDIR /home/products/9i.T4.40.03 > su Password: # export COBDIR=/home/products/9i.T4.40.03 # export PATH=$COBDIR/bin:$PATH # export LD_LIBRARY_PATH=$COBDIR/lib # cobrun hello hello # exit exit > cobrun hello hello Old KB# 14485#COBOL#Licensing#ServerExpress
This article explains an error that occurs if a COBOL program using XML is not linked to shared runtime. Problem: When linking a COBOL program to an EXE you can get the following error message: LNK2001: unresolved external symbol _CBL_XMLIOOr LNK2001: unresolved external symbol _CBL_XMLIO_INTERFACE Resolution: This error occurs if you attempt to link a COBOL program that contains XML syntax to the static COBOL runtime. COBOL programs that use XML need to be linked to the shared runtime. If you change the build setting for your EXE then it should link correctly. Incident Number: 2284296 Old KB# 14492
This article explains what to do if AcuXDBC sends you the error message “Too many columns NNN (max: 256)." Problem: When trying to access a VISION file through AcuXDBC that has more than 256 fields (columns) — the default maximum number of columns allowed — a user receives a “Too many columns NNN (max: 256)” error message. Resolution: The user can change the default of 256 columns in the “Advanced” tag of the data source name (DSN). The Maximum Columns field on this tag can be set to up to 8191. Incident Number: 2284263 Old KB# 14471
This article explains why the ViewNow X server does not honor the –geometry parameter when starting X clients. Problem: When X clients are started with the –geometry parameter, ViewNow X server doesn’t honor the position information given. Why is this? Resolution: In ViewNow X, the –geometry flag is overridden by settings in the server which are intended to prevent windows from inadvertently obscuring each other. These settings can be changed to prevent this behavior by performing the following steps: Launch the ViewNow X control panel. From the Start menu, go to Start > Programs > ViewNow > X Windows > Control Panel. Alternatively, launch \\Program Files\\NetManage\\APPS\\X\\CPanel.exe from the command line. From the Options menu, select “Window…” On the Window Management dialog, uncheck the “Cascade Windows” option. Click OK to dismiss the dialog. Re-launch the ViewNow XServer. Subsequent invocations of X clients with the –geometr
This article explains how a core dump can assist when a program abends. Problem: What can be done to produce a core dump file when a fatal error occurs in a COBOL program running under Server Express on UNIX? How can a core dump file to assist with problem resolution be produced when a program abends? Resolution: There is a run time configuration parameter that can be set to generate a core dump. By default a core file is never produced, if this parameter is set the runtime system produces a core file when any system signal is received that would normally produce a core file on the host system, for example, SIGILL, SIGSEGV (which would usually produce a ime system error 114), and so on. To generate a core dump add the runtime tunable core_on_error to the run-time configuration file. For details on the run-time configuration file and runtime tunables, see the chapter Runtime Configuration in the Server Express User's Guide. Example: Edit a file /tmp/mycon
This article describes how to include the <xml version="1.0" > header in COBOL output when using XML Syntax Extensions. Problem: When using XML Syntax Extensions, the COBOL output does not include the <xml version="1.0" > header. Resolution: The <?xml version="1.0"?> header is actually an XML Processing Instruction so you need to output it using the Syntax for Processing Instructions. For example: $set preprocess(prexml) o(foo.pp) warn endp select xml-stream assign "out.xml" organization is xml document-type is omitted file status is xml-bookdb-status. xd xml-stream. 01 xmls-group identified by "group". 05 xmls-Number pic 9(18) identified by "elementNumber" is attribute. 05 xmls-Alpha pic x(80) identified by "elementAlpha". working-storag
This article describes a possible reason for the run-time system error 9/107 and a potential work around. Problem: COBOL programs were compiled using the CREATEXFD and CALLFH (ACUFH) directives as required for Database Connectors. An XFD file was generated. The database being accessed was Oracle 10g.The program received a 9/107 error on OPEN OUTPUT, but a table was created in the database. The Consolidated Trace Facility (CTF) log (rts32.textfile.PID.log) revealed the following generated SQL: CREATE TABLE ... succeedsALTER TABLE MYTABLE ADD CONSTRAINT iMYTABLE_0 PRIMARY KEY () ... fails: ORA-00936: missing expression Resolution: Examining the COBOL program source revealed that the VAR-LENGTH XFD directive had been misplaced, causing the Compiler to generate an invalid XFD file. Note the difference in the position of the VAR-LENGTH directive in the examples below. Example 2 shows the correct location. Example 1 03 MY-SERVICE REDEFINES MY
This article explains how to use the ANY LENGTH clause to define the incoming string in the sub program. Problem: Is it possible to to pass strings to a sub-program without the sub-program knowing the length of the passed string? Resolution: Use the ANY LENGTH clause to define the incoming string in the sub program. The attached example defines a user function, MyFunc, which receives strings of any length and calculates the length based on the position of the last non-space alphanumeric character in the string. The MyMain.cbl program uses two different variables, one defined as a PIC X(20) and the other PIC X(378). These variables are assigned string values and the MyFunc function is called twice, once for each variable. Myfunc defines the incoming linkage item as PIC X ANY LENGTH, allowing it to receive varying length strings. Incident Number: 2266912 Old KB# 14479
The RM/COBOL v12.02 Linux install script fails with a cpio error: Premature end of file. This article explains what to do when this happens. Problem: The version 12.02 installation script, (install.sh), does not properly recognize the Linux 32-bit platform. Therefore, the script chooses the incorrect options for cpio. These incorrect command-line options for cpio cause the “Premature end of file” message. Resolution: The attached zip archive, install.sh.zip, contains a modified installation script (install.sh) that will detect the Linux 32-bit platform and set the proper cpio command-line options. Download this modified script and use it to replace the install.sh file contained in the RM/COBOL downloaded installation media. Incident Number: 2260814 Old KB# 14467
This article describes how to resolve an XML-code 201 error for XML PARSE when parsing data that contain German umlauts, French accented characters, or a charater that has an ANSI code larger than 0x79. Problem: When parsing data that contains German umlauts, e.g. äöüÄÖÜ or ß, French accented characters, e.g. àÀéèÉÈ, or a charater which as an ANSI code larger as 0x79 XML PARSE delivers an XML-code 201, which is "Miscellaneous XML document parsing errors". <ROOTELEMENT><GermanWords>Ärger Öse Übel -</GermanWords><ABitFrench>ètè means summer</ABitFrench></ROOTELEMENT> Resolution: These characters require the ISO8859-1 encoding specified in front of the root element: <?xml version="1.0" encoding="ISO8859-1"?><ROOTELEMENT><GermanWords>Ärger Öse Übel -</
This article explains how to send a fax programmatically from a COBOL source program. Problem: Is it possible to send a fax directly from a COBOL program? Resolution: Yes. The attachment to this article includes a sample that explains how to feed a Windows Fax service with an addressee's information and fax number directly from a COBOL program. The sample then demonstrates sending the document to the fax queue. Requirements: Minimum Operating Systems are Windows XP and Windows Server 2003 Windows Fax service can be installed from the “Windows Components Wizard” interface panel (Control Panel / Add or Remove Programs / Add Remove Windows Components / Fax Services) This sample has been tested successfully with ACUCOBOL-GT runtimes 7.2.2 and 8.1.0 without any particular compiler options or runtime switches. Incident Number: 2283068 Attachments fax-from-cobol.zip Old KB# 14449
This article explains that a COBOL entry point cannot be the same as a C API. Problem: When writing a COBOL program called main and running it, the 114 runtime error was returned. Why is this? Resolution: If you write a COBOL program called main and try running it, you will get the message 114 Attempt to access item beyond bounds of memory (Signal 11). If you specify the suffix, for example cobrun main.intit will work, however if you just type cobrun main having written nothing, you will also get the error. You cannot have a COBOL entry point the same as a C API. Therefore, main, exit, printf, etc., cannot be used. Otherwise the operating system will get confused and return unexpected results such as a 114 or 115 error. Old KB# 14483
This article explains the commands used to shut down a Tuxedo server. Problem: The command tmshutdown is used to stop a Tuxedo server. If the Tuxedo server is made with Micro Focus COBOL services, it is necessary to call the function cobtidy() to empty buffers, to close files, to free any data areas allocated by the COBOL system. The command tmshutdown -i displays the following execution error: file 'mfini'error code: 119, pc=0, call=1, seg=0119 Name is not unique (binding symbol 'mfini') Is it necessary to call the function atexit();? Resolution: In the current directory that is used to create the Tuxedo server, it is necessary to create two files mainexit.h and microfocus.c that are as follows: mainexit.h int i ; char c[60]; int atexit(void (*function)(void)); void microfocus(); i = atexit(microfocus); microfocus.c void microfocus(void) { cobexit(); } Add to the command line of the command buildserver -f
This article provides step-by-step instructions for setting up AcuXDBC Server on a UNIX operating system. Problem: This article clarifies the documentation with specific instructions for setup, testing, and implementation of AcuXDBC Server on UNIX systems with Windows clients. Resolution: AcuXDBC/AcuXDBCS Installation on UNIX The installation should look like this — ensure that all of these files are in the /bin directory (dates and permissions vary): $ ls -latotal 35664drwxr-xr-x 2 techsup staff 4096 May 14 06:20 .drwxr-xr-x 7 techsup staff 256 May 13 11:15 ..-rwxr-xr-x 1 techsup staff 286332 May 13 10:32 activator-rwxr-xr-x 1 techsup staff 1078462 May 13 10:32 acurcl-rwxr-xr-x 1 techsup staff 843430 May 13 10:32 acuserve-rwxr-xr-x 1 techsup staff 416882 May 13 10:32 acushare-rwxr-xr-x 1 techsup staff 667958 May 13 10:32 acusort-rwxr-xr-x 1 techsup staff 671442 May 13 10:32 acusql-r
Compiling using the --netdll flag on Windows 7 generates a CreateProcess failed error. Problem: Take a sample program (such as calc3.cbl), use the .Net interoperability compiler option --netdll. Compile with the following options:-o .\\object\\@.acu -x --netdll:2.0 The following error message is returned: CreateProcess failed for C:\\Windows\\Microsoft.NET\\Framework\\v2.0.50727\\AL.EXE \\target:lib \\v:1.0.0.0 \\embed:".\\object\\ACU.acu",AcuNet \\out:".\\object\\ACU.dll" ".\\object\\ACU.NETModule" ACU.acu - Completed: 0 Error(s), 0 Warning(s). This works on XP and Vista machines. Resolution: al.exe is part of the Microsoft .Net framework SDK. al.exe is not included with the Windows 7 OS, you must download and install the .Net framework SDK. Old KB# 14511
This article provides an example of intrinsic functions NATIONAL-OF and DISPLAY-OF in a COBOL unstring statement. Problem: How are the intrinsic functions NATIONAL-OF and DISPLAY-OF used in a COBOL unstring statement? Resolution: See the COBOL code pasted below: $SET NSYMBOL(NATIONAL)working-storage section. 01 v1 pic X(10). 01 v2 pic X(10). 01 v1v2 pic X(20). 01 v1N pic N(10). 01 v2N pic N(10). 01 v1v2N pic N(20). procedure division. move "v1 v2" to v1v2 initialize v1 v2 unstring v1v2 delimited by space into v1 v2 move "v1N v2N" to v1v2N initialize v1N v2N unstring v1v2N delimited by space into v1N v2N move "v1 v2" to v1v2 initialize v1N v2N unstring FUNCTION NATIONAL-OF(v1v2) delimited by space into v1N v2N move "v1N v2N" to v1v2N initialize v1 v2 unstring FUNCTION DISPLAY-OF(v1v2N) delimited by space into v1 v2 move "v1N v2N" to v1v2N initialize v1 v2 unstring FUNCTION DI
This article describes how to use the WHEN directive to address this issue. Problem: A FILE SECTION field that is redefined by another field that is specified as a key, or part of a key, is not being added as a column in database tables. As an example, in the following FD the t_cod_tra and t_cgc_tra fields do not get created as table columns: fd trans_fil. 01 reg_tra. 05 t_cod-tra pic 9(03). 05 xt_cod_tra redefines t_cod_tra pic x(03). 05 t_nom_tra pic x(40). 05 t_end_tra pic x(40). 05 t_bai_tra pic x(25). 05 t_cep_tra pic 9(08). 05 t_mun_tra pic x(25). 05 t_uf_tra pic x(02). 05 t_tel_tra pic x(11). 05 t_col_tra pic x(11). 05 t_con_tra pic x(20). 05 t_mai_tra pic x(50). 05 t_cgc_tra
This article describes a potential solution for the error ORA-01000. Problem: A COBOL program that performs numerous file operations (OPEN, READ, WRITE, DELETE, REWRITE, CLOSE, and so on) has the potential to create a large number of cursors if no COBOL COMMIT exists in the program code. If left unmanaged, it is possible to run out of cursors and receive an Oracle error "ORA-01000: maximum open cursors exceeded" as shown in the run-time trace below. 23:35:50.384 0 MF.RTS 51 1 : "ERROR CODE = [1000]"23:35:50.384 0 MF.RTS 51 1 : "ORA-01000: maximum open cursors exceeded" Resolution: There are two ACUFH configuration variables that may be helpful in managing cursors counts. Note: Both of these variables may require some experimentation and discussion with your Database Administrator to determine what works best for your application and system. The first variable is A_ORA_MAX_FILE_CURSORS, which by default is set to “0
This article explains how to use the OnWebLog to write information to a file as a script runs. Problem: When scripting in OnWeb at times it may be helpful to write information out to a file as the script runs. For example, if a variable from a previous step is not available to your script, you may wish to capture the value of the variable as the script runs. How is the OnWebLog() method used? Resolution: The syntax of the OnWebLog method is: OnWebLog ("string",["filename"], [iomode]) string Required. The string that you want to record in the log file. filename Optional. The name of the log file. iomode Optional. Either "a" (append) or "w" (replace). Default mode is “a” The default filename is OnWebJS.log and it is located under the bin directory in the OnWeb Server installation (For example: /QOpenSys/usr/OnWeb/bin/ or C:\\Program Files\\NetManage\\OnWeb Server\\bin\\). Date: Name: Description of change: Date: Name: Description of change: Old KB# 14418#Ru
This article describes how to retrieve UNIX time values and translate them to COBOL style values using C language functions. Problem: UNIX dates and time are frequently stored as a single integer containing the number of seconds since January 1, 1970. It is a convenient way for C language functions to store date and time stamps. The COBOL system uses a different scheme to keep track of date and time and there are times when a bit of translation from one representation to another is required. What special handling is required to transform this time to a useful and readable format? Resolution: UNIX time values can be retrieved and translated to COBOL style values by using C language functions which call the ctime() family of functions to manipulate the date and time to and from UNIX time formats. The attached example program uses this method to get the current date and time in UNIX Time form and then translate it to a human readable format. Extract the source fi
This article explains how you use the Infomgr utility to view, print, and execute the demonstration programs. Problem: How do you use the Infomgr utility to view, print, and execute the demonstration programs? Resolution: Please see the attached step-by-step document that uses the Standard System Test using tictac.cbl. Old KB# 14371
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.