Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
This article explains how to prevent the command line from discontinuing processing a batch compile to ask the user for input. Using the given directives will ensure that it continues the whole way through. Problem: When compiling a long list of applications, there may be the need to ignore some errors and just continue on to the next application. Normally, if the compiler comes across a reference to a copybook that cannot be found, the user is prompted to Stop/Retry/Continue/Alter-path and the user must select one of the options before the compiler will continue. This is not the desired behavior when running batch compiles. Resolution: To avoid the batch stoppage, the user can specify the compiler directive NOQUERY. It details that for each missing copybook the compiler encounters; it will produce an error message and continue without any interface with the user. This is the ‘Continue’ option that the user was presented with before. The user should also
This article provides instructions for removing Server Express from a machine, while leaving an installation of Server for COBOL in place. Problem: Background information: Micro Focus COBOL for UNIX is distributed as two individual products. For clarity, this article will refer to them as the "development" product and the "runtime" product.The development product is officially named "Server Express". It includes the entire product offering: the compiler and development tools (including Animator), and also the runtime system and its supporting libraries and files.The runtime product is officially named “Server for COBOL" (or in older versions, "Application Server for Server Express"). This is a sub-set of the development product. It includes only the runtime system and supporting libraries and files; it does not include the COBOL compiler or Animator. The runtime product is meant to be installed on a machine on which there is no need to c
This article explains what to do if the message No license AS GLOBAL occurs. Problem: After a new installation or upgrade of Server Express, we are unable to run compiled programs and receive the following No license AS GLOBAL error message. Why is this happening? /var/mfaslmf > cat USERLOG Mon Jan 28 06:40:41 PST 2008: No license AS GLOBAL Resolution: This error occurs because there are no valid Developer Usage licenses in a Server Express product. Either the licenses don't exist or they are expired. There may be a number of Application Server or Server CPU licenses installed. The most common cause for this is installing the Server Express product instead of Server for COBOL. If no compiling will be done on this machine, remove the entire $COBDIR directory and install the correct product. Also remove any /etc/mflmrcscript files. Make sure $COBDIR points to a Server for COBOL product directory. If Server Express is also to be used on t
This article describes what to do if your bitmap buttons show poorly when disabling them. Problem: You have a program with bitmap buttons that display as expected, but they display poorly when disabling them. Resolution: When you disable a button, Windows will turn most of the colored area of the bitmap gray. A clearly defined button with clear cut lines and colors will turn into gray nicely. However, if you have lots of loose points that define colors and depth you risk having a very big gray area without form. In this case, clean the bitmap and define a clear form with a straight outside color. Additionally, you can read and apply the principles found in the ACUCOBOL-GT User Interface Programming manual, chapter 3, section 3.7.1 Drawing the Image. Incident Number: 2263605 Old KB# 14425
This article addresses a known issue regarding the inability to use DB2 option REOPT with Net Express for binding parameters. Problem: The REOPT DB2 directive is currently not supported and the REOPT_VARS directive, which is an older form of the directive, is supported but not working properly. Is there a fix for this? Resolution: The HotFix level 3 for Net Express version 5.1 WrapPack (WebSync) 03 is available which supports the REOPT DB2 directive for binding parameters. Please contact Micro Focus SupportLine if this HotFix is required. Incident Number: 2280263 Old KB# 14374
This article addresses what to do if you receive a "Failed to load component vsxrte" message when applying the latest WrapPack of Net Express 4.0. Problem: During the install of the latest WrapPack of Net Express 4.0 (ALL08N40.EXE), the IDE FixPack is failing with the following error messages: Failed to load component vsxrte Invalid access to memory location [Abort] [Retry] [Ignore] The above is followed by the message: Microsoft Visual C Runtime Library Runtime Error! Program: This application has requested the Runtime to terminate in an unusual way. Please contact the application's support team for more information.[OK] From this point, the WrapPack resumes the install with the rest of the FixPacks. At the end, it reports that the following FixPacks were not installed: RTS10N40.EXE, XFH10N40.EXE, and CMP10N40.EXE. Obviously, IDE11N40.EXE was not installed either. Resolution: 1. Stop the Micro Focus Directory Server service by going to Control Panel, Administrator
When a program is selected in the Browse tool, the .idy file of the program is locked. Problem: When a program is selected in the Browse tool, the .idy file of the program is locked. Therefore, the .idy file cannot be deleted or moved. Resolution: This problem is present in all versions before Net Express 5.1, and has been resolved in Net Express 5.1. Incident Number: 2125448 Old KB# 14382
This article explains what to do when a 013-R illegal intermediate code (at 0X101 in seg 0) occurs during a rebuild of an object oriented Cobol program in Net Express 3.1. Problem: When rebuilding an object oriented Cobol program in Net Express 3.1 the project failed with a “Rebuild complete with errors” message, and then displayed the following message code: 013-R Illegal intermediate code (at 0X101 in seg 0). Resolution: This can be resolved by using a Net Express 3.1 FixPack. Go to www.microfocus.com Click on Support Click on SupportLine Home Login Click on Product Updates on the left panel Scan to bottom of screen and click on Product Archives Scan down the screen to Net Express 3.1 Service Pack 1 Install the FixPacks: ide15n31.exe and cmp16n31.exe Incident Number: 2280262 Old KB# 14393
This article describes the proper alignment of data within a COBOL group item using the ‘h2cpy’ utility. Problem: When creating COBOL applications which use C language routines and data is passed within a struct (structure) the alignment rules for COBOL do not always agree with the rules used when defining the struct in C. When a struct is defined in C, the alignment of data items on proper boundaries occurs automatically. When attempting to duplicate the definition of the struct in COBOL, there is no automatic adjustment for alignment rules. How is it possible to achieve alignment of data within C language structures? Resolution: An easy way to achieve the proper alignment of data within a COBOL group item is to use the utility ‘h2cpy’ which is delivered with the Server Express product. The h2cpy utility uses a C language header file (.h) as input and it produces a COBOL copyfile (.cpy). The structures found in the .h file will be translated to
This article explains how to capture the process ID for the currently running COBOL application. Problem: How can the process ID (PID) within a running COBOL program be captured? Resolution: To capture the process ID for a currently running COBOL application, you can code a COBOL CALL statement to use the system function getpid(). The standard C libraries contain the function getpid(), which can easily be called/used from within a COBOL program. Sample COBOL code fragments Sample program fragment Include the ctypes copy file from within the COBOL product directory as the first line in the COBOL program. copy '$COBDIR/demo/c-cobol/ctypes.cpy' WORKING-STORAGE SECTION DATA DIVISION Define the data item where the process id should be returned 01 current-pid long PROCEDURE DIVISION Call 'getpid' returning current-pid The returned integer can be used as a part of temporary filenames, or to identify log file en
This document describes how to send the "at sign" to the Rumba emulator from a script. Problem: When sending the "@" character to the Rumba display from a script, the character does not appear on the display as expected. How can this be done? Resolution: There are times when it may be desirable to send the "@" character to the Rumba display from a script. For example, if an email address needs to be inserted into a field. One might expect to call EMSendKeys to perform this task as follows: EMSendKeys "User@mydomain.com" This script doesn’t work as expected, because the "@" sign is interpreted as an escape sequence to introduce 3270 keyboard mnemonics. To properly send the "@" character, it must be doubled as shown here: EMSendKeys "User@@mydomain.com" This will result in the expected string being sent to the display: User@mydomain.com. Old KB# 14420#Rumba
This article describes the changes required to run multiple instances of OnWeb server on an iSeries. Problem: When multiple instances of OnWeb Server are required to run on the same iSeries configuration changes are necessary to avoid resource contention. What are these? Resolution: You can install multiple OnWeb Servers on an iSeries system byperforming the following steps: Specify a different HTTP Server directory Install the second instance of OnWeb Server into a different BaseLibrary and installation directory on the IFS. During theinstallation make sure you specify a unique Internal Server Portnumber Due to restrictions in the operating system, it is only permissibleto have one active subsystem with the same name. When installingmore than one server on the same iSeries, you will have to renamethe subsystem of the subsequent server(s) from OnWeb to a differentname. Enter the following commands:RNMOBJ OBJ(Base_Library/ONWEB)OBJTYPE(*SBSD) NEWOBJ(Subsystem_Name) CHGDTAARA DT
This article explains why a 211 error occurs when trying to run a program that was ported from another server. Problem: When I was trying to run a program that was ported from another server, a 211 error occurs. Specifically, the message received was a load error 211 pc=0, call=1, seg=20 211 program not executable by runtime system. Why is this happening? Resolution: The reason this error is occurring is because the program is 64 bit and was ported over from another system to one whose Server Express product and/or hardware is 32 bit only. This problem can occur on AIX systems with Server Express prior to version 4.0SP2. The 32 and 64 bit versions for AIX were separate products until version 4.0SP2 was released. If a program is compiled with the 64 bit product on an AIX system and run with COBDIR, PATH, and LIBPATH set for the 32 bit product, error 211 will occur. The same is true for 64 bit code ported to any AIX 4.3.3 system. That version of AIX is 32 bit only. A few
This article describes how to decode RETURN-CODE after calling a CBL_ file handling library routine. Problem: When the RETURN-CODE is NON-ZERO after calling a CBL_ file library routine how can it be decoded in order to provide information about the cause of the failure? Resolution: The return code is X'0000' if it has been successful. If it has not been successful, the return code is 9<byte> where byte is PIC 9(4) COMP. For example, if the file status is 9/188 (file name too large), the return code will be X'39BC', where "39" is the ASCII character "9" and "BC" is decimal 188. If the RETURN-CODE special register is inspected or displayed in decimal, the value will be 14780 (X'39BC' converted literally to decimal). The easiest way to decode the RETURN-CODE is to move it to a data item which describes FILE STATUS. 01 file-status pic xx comp-x. 01 redefines file-status. 03 fs-byte-1 pic x. 03 fs-
This article discusses how to define column names in a SQL statement that contain spaces and the words “OF” or “IN”. Problem: I am getting the ES0100 incorrect SQL statement syntax when a column name contains spaces and the word “OF” or “IN”. How is this resolved? Resolution: This is happening because there is a problem with the OpenESQL pre-processor when using column names with embedded spaces and reserved words which are surrounded by square brackets. The column name is flagged as an error. If the column name is enclosed within double quotes " " instead of square brackets [ ] then the error is not generated, for example: EXEC SQL DECLARE MYCUR CURSOR FOR SELECT [Item Num] ,[Completed Quantity] ,[Unit of Measure] FROM [TESTTAB] WHERE [Order N
The maximum number of tabs/sessions allowed in RUMBA Notebook. Problem: What is the maximum number of RUMBA printer sessions allowed in RUMBA Notebook? Resolution: The RUMBA Notebook is a program that allows users to run a number of applications at the same time. These applications may include different components of the same version of RUMBA software and Windows applications such as Microsoft Excel and Microsoft Word. Each application or RUMBA window is run in a separate tab of the Notebook. There is no hard coded limit on the number of tabs that can be opened in the notebook session. It depends on the size of the memory of the workstation that RUMBA notebook is running on. Incident Number: 2279305 Old KB# 14430#Rumba
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 Old KB# 14428
This article addresses how to resolve the runtime error message 199. Problem: A runtime 199 will occur when a program is accessing a file that is located on a remote resource and somehow a network "glitch" happens that will get the runtime/file handler confused. In rare situations, it may be caused by an out-of-date installation of Net Express 4.0 which was reporting 199 errors instead of the actual runtime errors. How can this be resolved? Resolution: If this issue is seen on Net Express 4.0, and the version of Net Express 4.0 installed is not 4.0.38 then it should be upgraded with the all08n40.exe WrapPack available from http://supportline.microfocus.com. This should solve the issue if the 199 errors are being improperly reported by the runtime system. The actual runtime errors should now be reported. If this is an already upgraded version of Net Express 4.0, or a later version of Net Express, some possible workarounds include: a) Move the file being rea
This article explains how to invoke a UNIX command from within COBOL using CALL “SYSTEM” and retrieve the return code of the command. Problem: Micro Focus Server Express and Visual COBOL provide a way for UNIX commands to be invoked from within COBOL. This is done by calling a routine named SYSTEM. Individual UNIX commands such as "ls" or "pwd" can be invoked, or entire shell scripts or executable programs can be invoked. How can the return code from the UNIX command be retrieved and communicated back to COBOL? Resolution: Here is an example of the COBOL syntax for invoking a UNIX command: CALL "SYSTEM" USING CMD-LINE. "SYSTEM" (uppercase) preserves the COBOL screen and state of the terminal, then calls the UNIX system() routine (lowercase), then afterwards restores the COBOL screen and terminal. For more information about "system", see the system(3) man page. It is possible to call "system" (lower
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
Acushare will not allow new runtimes to start and behaves incorrectly when commands are issued. Problem: When starting a program, a message that "Acushare 7.0 or later not running" is received.The Unix command “ps -ef | grep acu” reports that no runtime processes running. “acushare –start” returns "already running", and “acushare –kill” reports "failed to connect to server". Resolution: Typically this indicates that Acushare was terminated abnormally (kill -9, which it can't catch,) or it crashed. Should acushare terminate unexpectedly, its master shared memory segment may be left behind. Before restarting acushare, you should use the "acushare -clean" command to remove the stranded memory segment. $ ./acushare acushare: failed to connect to server $ ./acushare -clean acushare: shared memory segment removed $ ./acushare -start acushare: ope
This article explains how to configure EnterpriseLink to support multiple developers running EnterpriseLink Builder under Windows Terminal Server or Citrix. Problem: How do you configure EnterpriseLink to support multiple developers running EnterpriseLink Builder under Windows Terminal Server or Citrix and all working on the same project? Resolution: You can find configuration details on the EnterpriseLink Wiki page. Old KB# 14327#EnterpriseLink#Rumba
This article shows you how to run multiple products on the same machine. Problem: Many users are now running or would like to run multiple versions of Micro Focus COBOL products on the same machine. It doesn't matter whether you want to test a patch or test a new version before putting it into production: it is easy to run multiple versions of Server Express and older versions of Micro Focus Object COBOL Developer Suite on the same machine without any problems. Resolution: Let's take the example of running Server Express v5.1 and Server Express v4.0 SP2 on the same machine. First, they must be installed in separate directories. The directory structure would look something like: Next, you must ensure that the environment variables COBDIR and LD_LIBRARY_PATH — LIBPATH for AIX and SHLIB_PATH for HP/UX — are set correctly. Then set the PATH environment variable so that the first entry is pointing to $COBDIR/bin. This will guarantee that the correct drivers are used with the
This article describes how to add access to the Alfred editor from the AcuBench Tools menu. Problem: Alfred is an easy-to-use Vision File Editor. It used to be available in the “All Programs” Windows menu and from within the AcuBench Tools menu. Resolution: Since version 8.0, Alfred is no longer present in the AcuBench tools menu. To recreate the Alfred link in the AcuBench Tools menu, do the following: Open the Tools menu Click "Customize.." and open the "Tools" tab. Click the green cross icon "New(Ins)" or double click inside the "Menu contents" white area. Enter "Alfred". Fill in the remaining fields like this:Command: C:\\Program Files\\Acucorp\\Acucbl810\\AcuGT\\bin\\wrun32.exe Arguments: -c alfred.cfg alfred.acu Working Directory: C:\\Program Files\\Acucorp\\Acucbl810\\AcuGT\\tools Context menu: Alfred Open the Tools menu > Launch Tools . Alfred should
This article explains how to find the line of code that matches the PC to an RTS error. Problem: When running a program, the following RTS error occurs and we would like to know how to find out the source line from pc=2007. Execution error : file 'mr01.int' error code: 166, pc=2007, call=218, seg=0 166 Recursive COBOL CALL is illegal Resolution: To find the line of code at address 2007, compile your program with -C REF and -C LIST"". Object COBOL Development Suite (OCDS) will put the addresses against the source lines, whereas Server Express will put a table of lines and addresses at the end of the listing. Note: This facility is not avaliable in some early versions of Server Express. Here's another example: Execution error : file '/home2/support/juj/tmp/mydem.int' error code: 153, pc=3D, call=1, seg=0 153 Subscript out of range tsron:/home2/support/juj/tmp > cob -C'ref list""' mydem.cbl 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.