Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
This article explains what to do if the message "Unable to connect to License Manager" occurs. Problem: When running APPTRACK we encountered the error "Unable to connect to License Manager". Does this type of error only occur in the Windows runtime product server for COBOL version 5.0 WrapPack 5 onwards? Resolution: License Manager runs as a Windows Service. First, check that the Micro Focus License Manager has been started. Run the services menu (services.msc) or access it via the control panel. Search for Micro Focus License Manager. If it is present, hit the Start option. If not present, from a DOS prompt, enter the command mflmwin -i which will install the service and should also start it. If it doesn't start automatically, then start it using the Services menu. Old KB# 13972#Licensing#netexpress#COBOL
This article explains why the error 912-s dictionary invalid may occur when compiling a COBOL program. Problem: We are receiving the error 912-s dictionary invalid when compiling a COBOL program. Why is this? Resolution: This error indicates a fault in the compiler, so first try the latest WebSync. If this does not resolve the problem, then please contact Micro Focus technical support. Old KB# 13959
This article explains how to ensure a Net Express 5.1 deployment environment is licensed properly and ready for installation. Problem: In the 5.1 Release of Net Express, and subsequent releases, deployment licensing is enforced. How can you ensure that the deployment environment is licensed properly and ready for the installation? Resolution: To ensure that the Net Express deployment environment is licensed properly and ready for installation you can run AppTrack to check deployment license usage. The MFLicenseCheck utility will find and report the number and types of installed deployment licenses in Windows. However, MFLicenseCheck is for analyzing deployment license usage in Windows only. (ie: Server for COBOL, Application Server, Server 5.0). Therefore, it will not report on development license usage and is not intended for usage on other operating systems. This program is available at http://supportline.microfocus.com/licensing/MFLicenseCheck.zip. Note: The
This article explains how to generate a Net Express product activation key required by the licensing management system for a full license. Problem: You need a product activation key to activate a full license for Net Express. Resolution: From the Windows Start menu, click Programs > Net Express > Configuration > License Management System. Check Net Express and the components you want to activate. Click Generate Full License. Start a browser and go to the Micro Focus Licensing home page at http://supportline.microfocus.com/licensing/LicensingHome.asp. Generate the activation key. Use the generated key to activate Net Express. Old KB# 13966#netexpress#COBOL#Licensing
Problem: Customer has a page ASP that accesses a COM Object generated by Net Express. In the Windows environment this works correctly. Now the customer would like to know this solution can be migrated to the UNIX environment. Resolution: There is a company, Mainsoft, that has produced the COM/DCOM support for UNIX. They can be found @ www.mainsoft.com. You can see an article on Microsoft's website on this subject: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvc60/html/msdn_unixcom.asp However, they would need to solve the following issues: - migrate or find an ASP web server on UNIX (it may be possible to use: Sun's ONE Active Server Pages 4.0.1 -formerly Sun Chili!Soft ASP-) - migrate the COBOL bits (calls to Microsoft API's, use of non-portable COBOL routines, names of files... ) - Server Express also has no support for COM/DCOM
Problem: You may get the "undefined reference" error message when compiling and linking a program with cob that contains a call to another program and this second program is not included in the cob command line to be included in the resulting executable. For example, if inside mainprog.cbl there is a call to a program prog2.cbl: call "prog2" using ... the following command cob -x mainprog.cbl will return an "undefined reference" error message on the symbol "prog2". Resolution: Assuming that you have already compiled prog2.cbl independently because you want it to be loaded dynamically at run time when you run mainprog as a shared object: cob -z prog2.cbl or as .int code: cob -i prog2.cbl or as .gnt code: cob -u prog2.cbl (please have a look to your User's Guide manual to understand the differences and how th
Problem: Customer uses ServerExpress's cobjrun to start IBM WebSphere 5.1. Customer wrapped a COBOL application with Java. The Java Wrapper is called by EJBs in an J2EE application running on IBM WebSphere 5.1. In a typical J2EE application running on WebSphere, the memory usage increases during daytime (peak) and decreases during night time (off-peak) due to Java's garbage collection. However, customer noticed that after running with cobjrun the memory usage increases during daytime, but stays the same during the night, and the next day it increases again. Resolution: This way of working it is not the way we recommend. When a java EJB needs to call COBOL, the recommended way of working is to run your COBOL program under Enterprise Server as a service and use the Interface Mapping Toolkit and the Resource Adapters technology to communicate the java EJB with the COBOL Service. We don't think that these memory problems have anything to do wi
Problem: How can I use Altova MapForce to generate import and export stylesheets? Resolution: Start a new Mapforce project. Add the Schema (XSD) document that describes the input XML document. For the import (to COBOL) stylesheet, this was the XSD document you obtain from the external standard or specification. As you add this Schema document, Mapforce asks if you would like to add an XML instance document. If you have a sample XML document that complies with the schema, add it here. Add the schema that describes the output XML document. For the import (to COBOL) this is .xsd file created by the cobtoxml utility. As you add this Schema document, Mapforce asks if you would like to add an XML instance document, to which you respond 'No' since this is the output schema. (Notice that Mapforce does not distinguish between the input and output schema as you add the schema documents. Instead, it relies on the direction in which you connect the documents in the
Problem: How to create an archive that includes a COBOL .o module and statically link it to another COBOL executable. Resolution: First you compile your program to .o (the -c cob flag stops the process at .o and doesn't create the executable that the -x option would require): $ cob -cx hf-test.cbl Then you create the archive with the ar system tool: $ ar -r libtst.a test.o To statically link the code corresponding to the entry "test" inside the libtst.a archive (assuming that the archive is in the current directory, otherwise -L should be use to point to the directory where libtst is): $ cob -x testmain.cbl -L. -ltss -Itest The -I cob flag may not be necessary if the program is calling the entry-point directly using LITLINK and the clauses ON OVERFLOW or ON EXCEPTION are not used, but it is always better to be safe by using the -I flag to ensure that the code represented by that symbol is pulled in by the linker. Old KB# 728
Problem: Is RM/COBOL supported on virtual machines? Resolution: Micro Focus uses some virtual machine technology in its quality assurance testing. Specifically, VMware is used to emulate some Unix and Linux environments. However, none of the RM/COBOL family of products is subjected to a complete quality assurance test on any virtual machine environment, nor is any attempt made to emulate Windows environments on Unix. Customers that choose to use virtual machine technology are relying on the claims made by the vendors of such technology. As always, Micro Focus will attempt to support our customers who choose to use virtual machine technology subject to its capacity to demonstrate product issues on 'native' systems. Old KB# 7504
Problem: If you have an output file defined as SELECT myoutfile ASSIGN TO "OUTFILE"... and when you run your program you need to print the output, you define it as follows: export dd_OUTFILE=">lp -s -dmyprinter" or export dd_OUTFILE="|lp -s -dmyprinter If instead you need the file on disk, you define it as follows: export dd_OUTFILE="mypath/myfile" But what if you want to direct a file to another file AND print it at the same time? Resolution: If you need both, to get the output to a file and also to print it at the same time, what you need is to duplicate your output. So what you need is a command that is capable of duplicate what it gets from the standard input to the standard output and to a file. I think that the UNIX tee command is what you need. This is an extract of man from HP-UX: " NAME
Problem: Since installing upgrade to Informix 9.4, ESQL 7.25 Animator no longer recognizes any function keys or keystrokes. rts32 is rebuilt by the Informix scripts Using the original rts32 (shipped with the mfcobol product) the keys funtion correctly, it seems like the new rts32 generated with informix libraries is causing this problem. Resolution: Informix support confirms this is a problem with ESQL 7.25 and higher. The user is running into the following bug: Bug: 155395 ESQL/COBOL CAUSES ANIMATOR TO FREEZE Description: ESQL/COBOL causes new versions of MF COBOL to freeze when trying to step through the code with animator. HP tech support thinks ESQL/COBOL may be intercepting a poll() call intended for animator. Older versions of MF cobol did not use the poll call. Old KB# 7327
Problem: If an entry-point stored in .a archive is called from main COBOL program using the ON OVERFLOW or ON EXCEPTION clause, even if the program is linked with the .a archive, the call fails and the ON OVERFLOW clause is executed. If in the same program the same entry-point is called using a simple CALL, it will succeed but the call with the ON OVERFLOW clause will still fail. To reproduce it: $ cat test1.cbl PROCEDURE DIVISION. CALL "HF-TEST02" ON OVERFLOW DISPLAY "OVERFLOW." END-CALL. DISPLAY "Back to the main program.". CALL "HF-TEST02". &nb
Problem: file error 21( 'Key out of sequence'.) occurs when writing to an indexed file. Resolution: Indexed files store their records in key order. If you attempt to write a record to the file sequentially, and the key of the 'new' record is less than that of the last record in the file, this error will be returned. Indexed files can be accessed randomly but the key sequence must be borne in mind when writing to them sequentially. Old KB# 7262#COBOL#AcuCobol#RMCOBOL#netexpress#ServerExpress
Problem: The 'usercall.c' is no longer in the product. What is its replacement? Resolution: The method of calling C from COBOL using usercall.c has been removed from Server Express product as obsolete. A more effective method is to use the CALL "C_func" functionality, as documented in the chapter 'Mixed-Language Programming' in your Program Development book. Old KB# 7240
Problem: Using CRT Status to detect the page-up or page-down key in a COBOL program. Resolution: The page-up and page-down keys are not ADIS keys. They are in fact user function keys. If they are not recognized by your COBOL program then you have two options on defining them. First, you can define the page-up and page-down key using keybcf. Under option 3-Alter User Function Keys you must modify function keys 53 (page-up) and 54 (page-down) by pressing the key for appropriate action. Save the file (cobkeymp). There is a table of the various key numbers in the Server Express documentation. The other option is to modify your terminfo setting. Old KB# 7255
Problem: In Server Express divding by zero always causes an error if you do not use the ON SIZE ERROR clause; otherwise the results are unpredictable. Resolution: Recode your program so that you can trap the error with an ON SIZE ERROR clause If, after decimal point alignment, the absolute value of a result of an arithmetic operation exceeds the largest value that can be contained in the associated resultant-identifier, a size error condition exists. Division by zero always causes a size error condition. Note that the results of division by zero when no ON SIZE ERROR phrase is specified are unpredictable. The size error condition applies only to the final results, except in MULTIPLY and DIVIDE statements, in which case the size error condition applies to the intermediate results as well. Violation of the rules for the evaluation of exponentiation always terminates the arithmetic operation and always causes a size error condition. If the ROUNDED
Problem: A COBOL program prints 30 tables. Each one is OPEN OUTPUT and under Server Express only the last table is in the print file at the end of execution each individual file has been overlaid by the OPEN OUTPUT command. Resolution: On Server Express it is necessary to code the OPEN statement as OPEN EXTEND. This will cause each additional file to be concatenated onto the end of the file. See the "Language Reference" manual for syntax rules for coding OPEN EXTEND. Old KB# 7225
Problem: Are no license messages saved in a file after they have been issued to the monitor? Resolution: A log is kept of "no license" conditions it is /var/mfaslmf/USERLOG. Micro Focus provides a default script that updates this file every time the user runs out of licenses. The default nolicense script updates the USERLOG file and writes a message to the user's monitor. The system administrator may modify the script to take additional action such as send email to a specific account when the "no license" condition occurs. Old KB# 7233
Problem: Customer is migrating from OCDS to Server Express. Compiling code results in multiple occurrences of COBCH1146W messages - these did not occur under OCDS Resolution: The message produced is just a warning - there are no runtime issues. The compiler has always had the ability to produce this message. This message is only produced when analyzing the CSI information while creating the .idy file. In the Server Express product, CSI is now set to on by default when ANIM specified. Old KB# 7235
Problem: If migrating a mainframe appliction where initialization of data items may not have been required, you may have numeric fields in the REPORT SECTION that will print as spaces instead of zero unless a numeric value has been moved to them. For example, if a numeric field used to store a total has not updated since the program started it may be assumed that this would physically print as zero (i.e. 0) when it will actually print as spaces. This will only occur on programs compiled to any form of object code - i.e. .gnt, .o, .so and .exe. It will print 0 if using .int code and therefore may not be picked up during testing. Resolution: Use the HOST-NUMMOVE compiler directive. Old KB# 7273
Problem: A sample clustered system has a file system that's shared between machines. On that shared file system within /usr/opt subdirectory is where the ASLMF license keys were installed. Both the Server Express Developer product and the Application Server product are installed in the original file system, not on the shared file system. Resolution: Application Server's license databases must reside in /var/mfaslmf and not other file systems or other directory structures like /usr/opt/ . Even in clustered systems the system directory, /var/mfaslmf, will be visible. Old KB# 7212
Problem: In designing a transaction-oriented application that emulates a mainframe legacy system, it would be helpful to be able to restore all COBOL modules to their initial state, as though the entire run-unit had exited and had been re-started, but without the overhead of actually exiting and re-starting. The function CBL_SUBSYSTEM is supposed to have this capability, but how to call CBL_SUBSYSTEM from C? Resolution: Attached to this Knowledge Base article is a tar file containing an example demonstration. Included are C and COBOL source files, a script showing how to compile, and a "readme.txt" with information and instructions. Attachments: subsystem_demo.tar Old KB# 7220
Problem: Customer has both the development product and Application Server on the same machine, installed in two separate locations (cobol and cobolas) They have five development licenses and two hundred Application Server licenses installed, but process is running out of available licenses and failing with an A147 system abend. Resolution: Application Server licenses are recorded against a specific installation path. The mfaslmf userlog showed that the application was trying to use the five development licenses rather than the Application Server licenses. This was ascertained by examining the error messages in the userlog: No license AS /usr/lib/cobol This showed that the environment was pointing to the development product (cobol), rather than the Application Server installation (cobolas). Firstly check that COBDIR, PATH and LD_LIBRARY_PATH/LIBPATH/SHLIB_PATH are pointing to the correct product location. Check any .profi
Problem: When using the directive OUTDD(file n) where n is a value less than 95, for example 80, and when using DISPLAY string UPON SYSOUT, the contents of string are split into several lines, where each line length is much less than the value of n and keeps varying (decreasing). Resolution: This issue has been fixed with the latest fixpack for Server Express 4.0 SP1. There is also a workaround: OUTDD($SYSOUT 95 L A) or OUTDD($SYSOUT) - the default values are 132 L A. If you really need the lines split at 94 or less (80 for example), generate the file so no line is split by defining the record length to the maximum value that can be found, and it should be very easy to write a little program that splits them to 80: ... fd sysoutfile. 01 sysoutline pic x(maxlinelength). fd sysout80file. &n
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.