Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
This article explains how to generate XML header information when running in CGI mode. Problem: A COBOL program that runs in background mode must write to SYSOUT so that it will be shown in a web browser. The problem however is that the output must be in XML format instead of HTML. The error indicates that the content type needs to be XML. How can this be done this using AcuCOBOL? This is what has been suggested for php: header ("Content-type:text/xml") But this is not something that can be done in the XML file itself, but must be set as part of the header. How can this be accomplished with the AcuCOBOL-GT Runtime? Resolution: Set this variable in the runtime configuration file or environment: CGI_CONTENT_TYPE=text/xml. This will direct the runtime to provide the specified value for the Content-type header that the runtime automatically generates. The runtime can also be prevented from supplying _any_ HTTP headers automatically. To do this, s
This article explains how to fix compiler error CS1503 received when a C# program is calling a COBOL program. Problem: A C# program is calling a .NET COBOL program passing three parameters as its arguments. You receive error CS1503 in the C# program: C:\\Users\\ConsoleApplication1\\Program.cs(25,56): error CS1503: Argument '3': cannot convert from 'int' to 'MicroFocus.COBOL.Program.Reference' The C# program includes the following code: string unit = "102"; string msgtext = ""; int i = 0, r = 0; try { r = cblprog.PROG1(ref unit, ref msgtext, i); } catch(Exception ex) { Console.WriteLine(ex.Message); } The COBOL program includes the following code: Linkage section.01 unit-no usage string.01 return-msg-text usage string.01 test-int pic s9(9) comp-5.Procedure division using unit-no return-msg-text tes
This article describes an easy way to determine the processor level (software tier) of an iSeries system. Problem: IBM classifies its iSeries systems according to “Pnn” software tiers – P05, P10, on up to P60. It is not obvious what the “P” rating of a customer’s system is. It is not on the faceplate of the system, and may not be defined even in the system’s paperwork. Resolution: There is a simple command an operator can type that will provide the system’s “Pnn” rating directly. Bring up a RUMBA session (or whatever emulator the customer is currently using) and go to a standard menu screen and type in the command WRKLICINF. This will display the Processor Group at the top of the screen. Old KB# 14604#OnWeb#Web-to-Host#Rumba
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 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 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 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
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 provides information about the implementation date for the configuration variable A4GL-WHERE-CONSTRAINT. Problem: Although the Micro Focus Database Connectors User’s Guide documents the availability of the A4GL-WHERE-CONSTRAINT, it has not yet been fully implemented. Resolution: Currently, the full implementation of the A4GL-WHERE-CONSTRAINT is scheduled for version 5.1 WebSync 4 (WS4). Incident Number: 2285746 Old KB# 14493
This article describes how to use AcuXDBC to connect a string from an ASP project. Problem: Using AcuXDBC to connect a string from an ASP project sometimes generates the following error message: "Microsoft OLE DB Provider for ODBC Drivers error '80004005'[TOD][ODBC Driver]VISION: 'GENESIS_HOME' environment variable not found." Resolution: The key points to success in this process are the following: The installer sets the GENESIS_HOME variable in the USER environment, not the SYSTEM; you need to manually set GENESIS_HOME as a SYSTEM variable (copy it from the USER variable). Create a System DSN, using the AcuXDBC driver; name it “MY_DSN," and leave all options at their default settings, including configuration files set to “acuxdbc.cfg.” Create a virtual directory within IIS, leaving all defaults except "Execute Permissions:"; set this to "Scripts only".In that direc
This article explains what to do if OEM font special characters don't display correctly in Microsoft Access or Excel. Problem: When reading from a file in which data was written using OEM font information (usually from an old DOS character-based system), special characters like $ and £ do not display correctly in Microsoft Access and Excel. The special characters display correctly, however, when using the AcuXDBC utilities asql or odbcsql. Previously, AcuODBC had an option that allowed the character set to be chosen (ANSI or OEM); this option is not available in AcuXDBC. Resolution: AcuXDBC does not have the character map functionality that AcuODBC had. The resolution to this issue is to convert the OEM font data to ANSI font data, which will display correctly in Windows-based business intelligence tools. Old KB# 14512
This article addresses the Field Developed Solution MFFTP in the Mainframe Migration Toolkit. Problem: How do I resolve receiving an S806 error program not found when executing PGM=FTP or PGM=MFFTP? Resolution: The MFFTP support files are included as part of the Mainframe Migration Toolkit as a Field Developed Solution. If you have it installed under Windows, you will find the MFFTP files in the MFFTP directory of your Migration Toolkit. To resolve the S806 error: Install msdk08all.exe if it has not yet been applied. Copy the MFFTP.lbr into X:\\Program Files\\Micro Focus\\Net Express 5.1\\Base\\Bin (where X is the correct drive) and use PGM=MFFTP. To use FTP, set the Alias from ESMAC JES resources FTP Alias to MFFTP. Incident Number: 2285867 Old KB# 14506
This article describes a possible computational error when using fractional exponents and describes a potential work around. Problem: Upgrading to version 7.x uncovered a computational error that occurs when executing iterative mathematical statements that involve exponentiation with fractional powers, such as square root. For example, executing the following statement in a loop 50 times could cause the resultant value of MY-CALC-INT-A to equal 1 instead of the correct value of 3. COMPUTE MY-CALC-INT-A ROUNDED = 9 ** 0.5 Resolution: Upgrade to version 8.x or higher. A potential work around is available, but requires code modifications to the existing COBOL program source. To utilize this work around, an ON SIZE ERROR phrase may be added to the COMPUTE statement. For example: COMPUTE MY-CALC-INT-A ROUNDED = 9 ** 0.5 ON SIZE ERROR … Incident Number: 2264802 Old KB# 14459
This article explains how to use the MS Word printout automation object from COBOL. Problem: The printout automation method in Microsoft Word allows you to print out specific page ranges from your application. However there are a lot of different options available for this method and most are not relevant for page ranges. How can you call this from COBOL ? Resolution: You can use OLE Named Parameters with the printout method to print a page range. An example of this is: mftech***** Use OLE Named parametersmftech invoke olesup "setNamedParameters" using by value 4 size 4mftech set wdPrintFromTo of ws-range to truemftech invoke theDocument "PrintOut"mftech using by reference z"Background"mftech by value -1mftech by reference z"Range"mftech by value ws-rangemftech by reference z"From"mftech by reference "1"mftech by reference z"To"mftech by reference "2" Before you use the “PrintOut
This article helps resolve the error message received when installing EntperiseLink. Problem: We are receiving the following error when trying to install EnterpriseLink: Setup previously required to reboot. You must do this before running setup. Resolution: If you get this error after rebooting, this can be resolved by deleting the ENTSetup key in the registry under HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\RunOnce. Old KB# 14507#Rumba#EnterpriseLink
This article explains what the Rebuild –d option specifies when reconstructing the index of an indexed file. Problem: The –d option specifies that Rebuild should reconstruct the index of an indexed file from the data area. Any corrupt data records are skipped and logged to a file. However, if rebuild is entered at the command line you get: -d [:c] –rebuild corrupt data file What does it do, rebuild the index or rebuild data? Resolution: If the data portion of the file is intact and only the index portion is corrupt, then Rebuild can generate a new index (.idx) file from the data file with no loss of data. If the data portion of the file is corrupt then Rebuild can rebuild a complete new indexed file, both data and index portions, but there will be loss of data as Rebuild discards any corrupt data records that it encounters. Note: When you use Rebuild to generate a new index file from an existing data file, the file can grow in size. One reason i
This article explains how to call COBOL subprograms that are located in different directories to the main calling program when executing from a command prompt. Problem: When executing a main calling COBOL program from a command prompt, how is it possible to enable any called subprograms that are in different directories to be found and called successfully? For example: program1.int resides in c:\\dir1 and program2.int resides in c:\\dir2 and program3.int resides in c:\\dir3 and so on… As it stands, if you were to execute program1.int from a command prompt, when it called program2.int you would get a 173 file not found error displayed as the subprogram is not in the main folder. Resolution: You need to set the COBDIR environment variable if called module is not found in the current directory. This can be done as follows in relation to the scenario described above by creating a .bat file containing the following entries: setlocal set COBDIR=c:\\dir1;c:\\dir2;c:\
This article provoide more information about the Database Connectors Error. Problem: I can be difficult to determine from the file status the reason why an error has occurred. How can I get more information on a problem. Resolution: The Database Connector has been enabled for CTF (Consolidated Trace Facility). To obtain additional output you need to add the eprintf entry as a trace entry. An example trace config file that is enabled for the Database Connectors component is: mftrace.level=info mftrace.emitter.textfile#location=c:\\temp\\logs mftrace.emitter.TEXTFILE#FORMAT=$(TIME) $(COMPONENT) $(THREAD) $(EVENT) $(LEVEL)$(DATA) ## Component Run-time System mftrace.level.mf.rts=INFO mftrace.comp.mf.rts#all=false mftrace.comp.mf.rts#eprintf=true mftrace.comp.mf.rts#memory=false To enable CTF you need to add an environment variable MFTRACE_CONFIG that points to the config file. Incident Number: 2266679 Old KB# 14482
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 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
This article provides instructions on how to extract the installation media from the downloaded UNIX gunzip tar archive. Problem: After downloading a UNIX gunzip tar deliverable, follow the steps below to decompress the deliverable and create the installation components. These instructions assume that gunzip has already been installed. The gunzip tool is available at www.gzip.org, both in source form and as executable files. This tool runs on a number of platforms, including Windows. Note that other Windows ZIP tools can also decompress a gunzip tar file; however, you should be careful when extracting files from the resulting tar file. Make sure that any tar file CR/LF conversion option is turned off. Resolution: Save the License Certificate attached to the electronic delivery email. Following the download, change the working directory to the directory that contains the deliverable. The deliverable will have a name in the form deliverable.tar.gz, w
How can you create a batch file transfer using RUMBA AS400 File transfer? Problem: Users of RUMBA AS400 File transfer want File Transfer sessions to run unattended. They may do so by taking advantage of the Batch File Transfer feature in Rumba. Resolution: You can create a File Transfer from/to an AS/400 that runs in batch mode from the command line, with no input required. Batch File Transfers can be scheduled to run at certain times of day. To create a Batch File Transfer: Configure an AS/400 File transfer profile, including the query that selects the information you need. Test to ensure it works properly. Save this profile. By default, the file extension is .RTO. From the AS/400 File Transfer window, go to Transfer > Batch... Click on the Add Transfer button (this can be found next to the X and the up and down arrows), and select the .RTO file you created on step 2. Click Save As... to save the batch transfer. This will create a file
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 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 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
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.