Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
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 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 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 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 what to do when AcuXDBC gives the wrong date for a date mask that specifies only the year and month, YYYYMM. Problem: AcuXDBC supports incomplete date types. This feature is documented in Section 3.3.4 of the AcuXDBC User’s Guide as: "It is sometimes desirable to have incomplete date types, for example to have YYYYMM to simply store the year and month. AcuXDBC defaults the month and day to 1, so that incomplete types will be valid. Note that AcuXDBC can handle incomplete date types, but if you have a complete type and invalid date data, AcuXDBC cannot handle the date." However, if only a partial date mask is specified, the unspecified portion does not default to the correct value. For example, with a date mask of YYYYMM and data of 200810, the field might assume the value 2008-OCT-00 (which is not a valid date) instead of the correct value of 2008-OCT-01. Resolution: This is a known issue and has been fixed in Ver
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
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 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 provides information on the location of the vutil error code table and an example of using the table in problem resolution. Problem: When performing a file operation using vutil or vutil32, an error may be encountered. For example, the following vutil command vutil -info MYFILE may result in the following error: MYFILE: File broken (code 69) Understanding what “code 69” means would be helpful in resolving this error. Resolution: Vutil error codes are the same as the Vision file secondary error codes for error 98. The list of error codes may be found in the ACUCOBOL-GT Appendices Version 8.1, Appendix E: File Status Codes, E.3 Vision Secondary Error Codes for Error 98s. For this example, the entry in the list of errors would be: 69 A Vision 4 or 5 index segment is not found during an open. This error code is specific to Vision 4 or 5 files that consist of two parts, a data segment and an index segment. T
This article explains how to use the C$SOCKET routine to connect to a Network Time Protocol (NTP) server and obtain a Universal Time. Problem: Sometimes it is useful to know the Universal Time so that the exact time and date can be provided to an application (for example to check license expirations). Resolution: The Universal Time is available from the internet thanks to NTP servers. The attached program shows how to use the C$SOCKET library routine to get information from one of these servers. Incident Number: 2284151 Old KB# 14461
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 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 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 what to do when Animator starts in an X window and the font size is too small. Problem: Background information: Animator will start in an X window under the following circumstances: When you are using Server Express on UNIX or Linux, and When the DISPLAY environment variable specifies a valid X terminal, and When starting Animation using: the “cobanim” command, or the COBSW= A environment variable, or just-in-time debugging, or CBL_DEBUGBREAK, or Debugging Services and Applications on Enterprise Server using the cobesdebug utility The problem is that the Animator window may be too small for practical use. Resolution: Animator opens “xterm” in an X terminal window. Animator does not specify any particular font, so xterm will use the default font configured within X. To change this X default, you could edit/create a file named .Xresources in your home directory. It should resemble t
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 provides a walkthrough to add new locale to AIX 5.x. Problem: How can we add a new locale to AIX Server running Server Express? Resolution: A walkthrough of how one adds a new locale (Turkish in this case) to an AIX 5.3 installation. This method can be used on earlier revisions of AIX. Refer to attached Word document (smitty mle.doc). Old KB# 14484
This article addresses the compiler error message reported for READ XML file with AT END condition specified. Problem: A compiler error is generated when a READ statement is coded for an XML file with organization is XML and the AT END/NOT AT END clause is present. Resolution: You cannot use the AT END/NOT AT END clauses when reading an XML file. Instead you should check the xml-file-status as follows: READ XML-FILE IF XML-FILE-STATUS = -7 *> end of file ... ELSE ... END-IF Incident Number: 2183877 Old KB# 14505
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 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
This article explains how to uninstall a license for Server Express. Problem: How can a license for Micro Focus development system be deleted? I can install a license for Micro Focus development system with mflmcmd. Is it necessary to use mflmadm to delete a license for Micro Focus development system? Resolution: With all versions of Server Express older than 5.1, the license can be suppressed only with mflmadm. However, with Server Express 5.1 a new option U of mflmcmd allows you to uninstall a license. Old KB# 14499
Problem: In Net Express with .Net version 5.0 a CALL “MethodName” could be used to call a static method. When the method is defined in the same project, it still works unchanged with Net Express 5.1. When the called method has been placed in a different project, compiling this code in Net Express 5.1 results in: warning COBCH0987: Could not find method 'METHODENNAME' with this signature - will generate dynamic call. Executing the program gives the message: RTE 173: Program not found. Resolution: It is not recommended to CALL a method. An INVOKE is the correct way to start a method. There might be existing programs which CALL methods, and for these programs there is a way doing it in Net Express 5.1: A change can be made in the CALL allowing a dynamic CALL to unmanaged code, for example, CALL VariableName, which disallows the old behavior at CALL “MethodName”. The following steps are necessary for static COBOL methods to be
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 explains how to use a file of compiler directives without defining them on SDE. Problem: We use SDE to create, modify and compile COBOL modules. How can a file of compiler directives be used without defining them on the SDE menu? Resolution: SDE reads the file cobol.dir that is on the current directory. This is a example of a cobol.dir file : P(cobsql) end-c config=./config/mypcbcfg.cfg endp Some compiler directives are defined in the SDE menu, therefore the values of these directives that are defined in cobol.dir are not the values that are using by SDE . For example, to create a list file, the option list of the SDE menu must be used. Old KB# 14515
This article explains an error that occurs when the environment points to the wrong assembler. Problem: We have received this error when trying to create an executable on HP/UX: Assembler error: can't open Z for reading: No such file or directory Resolution: This error occurs because the environment is pointing to the wrong assembler (as) . To find the correct assembler look at the file $COBDIR/docs/env.txt. The entry which identifies the required assembler will look something like the following: Assembler: as HP92453-03 UX.11.01.31 PA-RISC 2.0 Assembler as -V 2>&1 < /dev/null |cut -c5-80| head -1 The first line indicates the version certified by Micro Focus for this product. The second line indicates the command to execute on the local machine to see the version of the assembler that’s actually being used. Server Express requires the Hewlett Packard version of the assembler and will not run with a GCC version. If the correct version of t
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.