Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
Problem: Is there a log file created when installing Net Express 5.0 or 5.1 and Server 5.0 and 5.1? Resolution: The log file is created in %TEMP%, e.g. C:\\Documents and Settings\\UserID\\Local Settings\\Temp or C:\\Users\\UserID\\AppData\\Local\\Temp The log file for Net Express is called NXP32MSILOG.TXT while the one for Micro Focus Server is SRP32MISLOG.TXT. Old KB# 1615
Problem: The FDCLEAR directive will clear the record buffer area after every Write operation Resolution: The syntax for the FDCLEAR directive is: FDCLEAR "[1 or 2]" NOFDCLEAR Specifying the integers 1 or 2 will: 1 Specifies that the record buffer for a file should be cleared after every write operation. The buffer is cleared to the value specified by the DEFAULTBYTE directive. 2 As for 1, but the record buffer is also cleared after the initial OPEN statement. Comments: The FDCLEAR directive is effective while the SELECT clauses are being processed. Use $SET statements before and after each SELECT clause to apply this feature to selected files. Alternatively, use it once before processing any SELECT statements to apply it to all files in a program. The FDCLEAR directive is ignored for files subject to a
Problem: You may have installed Server Express and are trying to have cobol and Java working together. However, when you try to run one of the test programs you get the error: Sorry unable to load libcobjvm_java2 Resolution: If libcobjvm_java2 is on shared library PATH, then ensure 'libjava' and 'java' are found on the PATH/<Shared Library> PATH. Check to see that COBJVM is set. Below is an extract from the online manuals: COBJVM Specifies which Java Virtual Machine (JVM) to load. Syntax: COBJVM=platform_nnn export COBJVM Parameters: platform_nnn platform is a three-character code that indicates the platform on which you are running Server Express, for example: ibm IBM AIX unx SCO UnixWare sun Sun SPARC nnn indicates the version of the JVM, for example: 122 Version 1.2.2 130 Version 1.3.0 Comments: You might need to set COBJVM if you are developing distributed applications wit
Problem: DECIMAL-POINT IS COMMA is a clause which is used in the IDENTIFICATION DIVISION of a COBOL program which changes the thousand separator (comma) and decimal point (point), which are the default settings, to thousand separator (point) and decimal point (comma). Naturally, if using this clause, the program is compiled and ultimately run to use this format. This is not always desirable and can be resolved at runtime when running the program. Resolution: To change the format during execution the NLS compiler directive must be used. At compile time the checker must know which symbol is used for the decimal point in the program source code itself; for example, in PIC clauses. Then there is the value that is used at run time; for example, the value which is ultimately displayed and written to data files. Normally these are the same. However, if you compile the program with the checker directive NLS then the runti
Problem: Background information: Indexed files in Micro Focus COBOL can have different formats or organizations. An indexed file's format is decided at the time the file is created, under the control of the IDXFORMAT compiler directive. The default IDXFORMAT value is 1, meaning "C-ISAM", whereas the value 4 means, "an optimized form of Micro Focus indexed file format". Here is a table summarizing common formats: 1 C-ISAM format. 3 Micro Focus indexed file format. 4 An optimized form of Micro Focus indexed file format, for fast duplicate key handling. 8 Large indexed. For more information on indexed file formats, look in the main index of the Server Express documentation, under the keyword "IDXFORMAT", and check each of the references there. The question in this case is: An existing file is of type IDX4 (as shown by "rebuild -f <filename>"), but the file is expec
Problem: When deploying a service to the local host using cobimtk the following error appears "Fatal Error: MccListServiceProviders returned 12 (an external component failed)" And mccerror.txt contains the following: Sun 19 Nov 2006 12:29:50 PM PKT BindToDS: MLDAP error binding to provider: 0x51 SERVER_DOWN Sun 19 Nov 2006 12:29:50 PM PKT MccDoListServiceProviders: no configured directories are available Sun 19 Nov 2006 12:29:50 PM PKT MccListServiceProviders: DoListServiceProviders failed: (12) an external component failed Resolution: The errors in mccerror.txt mean that MLDAP couldn't connect to Micro Focus Directory Services (MFDS, running as mfds) and none of the configured directories are available. (By default, the only directory is MFDS at localhost:86.). So the first thing to check is that mfds is running ok on the machine ps -ef | grep mfds and that the Micro Focus Enterprise Server Administration pages can b
Problem: The ability of a COBOL program to store and retrieve the values of certain data items and objects from within any Web page of an application that will also maintain its state between multiple client requests is essential in ASP.NET development. Resolution: The following code will create a new session variable called "MyName" which will be associated with the value of the "Text" property of the wsName object. Session variables are always stored as a name/value pair where "value" can refer to anything from a simple string to a complex COBOL object instance. The actual location where Session variables will be stored is dependent upon the Session state configuration options set within the applications Web.config file. The default storage location is "InProc" which means that the Session data will be stored within the memory space of the ASP.NET worker process "aspnet_wp.exe". invoke self::"Session&
Problem: How can one access locale date/time within Cobol? Resolution: This demo demonstrates using strftime to format the local time in the default representation for the current locale: $set sourceformat(free) mf working-storage section. 01 time-parameters. 03 time-now pic x(4) comp-5. 01 localtime-parameters. 03 localtime-tm pointer. 01 strftime-parameters. 03 locale-time pic x(60). 03 buffer-size pic x(4) comp-5. 03 format-string pic xxx value z"%c"
Problem: response file ( containis list of .OBJ to static link in .EXE |DLL with CBLLINK see .BAT file pasted below Resolution: .BAT file showing the use of a response file containing a list of .OBJ to be static linked in the .EXE or DLL to be generated The interesting command in shell below is: cbllink -v -d -OaDll.dll @Cbllink.fil see that the CBLLINK command uses here the file Cbllink.fil which contains a list of .OBJ: TOclP1.obj TOclP2.obj TOclP3.obj TOclP4.obj TOclP5.obj ========================= @echo off set ProgModelete=P1 del TOclP*.* rem ................................................................................. :CopyFromP1 copy %ProgModelete%.cbl TOclP1.cbl copy %ProgModelete%.cbl TOclP2.cbl copy %ProgModelete%.cbl TOclP3.cbl copy %ProgModelete%.cbl TOclP4.cbl copy %ProgModelete%.cbl TOclP5.cbl :Compil cobol TOclP1.cbl,TOclP1.obj; cob
Problem: When attempting to animate a program, the screen goes blank and then control returns, that is, nothing apparently happens. This occurs both when compiling from the command line, or when using 'F4 Animate' from within SDE/Toolbox. Alternatively, when attempting to animate from within SDE/Toolbox, a message appears: ERROR: File incompatibility Resolution: The solution is that the program for which animation is being attempted is a .gnt, but it has not been compiled for animation. By default a .gnt will be found in preference to an .int, so if both exist, the .int will not be used, *unless the extension is explicitly specified*, which can be done both from the command line, or by filling in the complete filename from within SDE/Toolbox, as seen below: Animate****************************Non-Threaded**************Ins*Caps*Num*Scroll F1=help F2=dir F3=switches F4=threads &nb
Problem: When setting the switch A, the display is working differently in that it sends some blank lines after the execution/animation. Without A the comman line immediately returns after the last Display. For Example with A there are some empty lines after the execution between the last dispay and when the command line returns: Display 1 Display 2 Display 4 /home/support/test Resolution: After the user exits animator, the shell command prompt appears about 15 lines below the remnants of the program's DISPLAY output. For customers who don't want the program's output to be upset by Animator in any way, recommend cross-session animation, like so: Log in as the user that will run the program and cd to the directory from where the program will be run, then type "cobanimsrv". In a separate window, log in as the same user and cd to the same directory, then execute the program normally, as t
Problem: The application is using OpenESQL to retrieve data from an Oracle table. One of the columns is defined as a VARCHAR(5) and contains the value "AN " with trailing spaces left intact. If the WHERE clause of the SELECT statement is compaing the colun to a literal value of "AN " it will retrieve the the rows containg this value. But if the WHERE clause is changed to compare against a host variable of PIC X(5) which contains the value "AN " then no rows will be returned. The user would like to know why. Resolution: Here is the explanation: OpenESQL is working as expected --- the problem here is space padding on varchar fields. For a standard character data type in a database that has a length of 5, "AN" and "AN " are identical; however, this is not the case when it comes to the variable character data type --- indeed "AN&quo
Problem: I have a line sequential file, with the following file structure: 01 lsfile 05 ACCOUNT PIC 9(9) COMP. 05 MOREINFO PIC X(20). I want to rebuild this file to IDX8 format, using ACCOUNT as the key. Can I use a COMP field as an index, if so, how can I do this? Resolution: The size of a PIC 9(9) COMP is 4 bytes so, in this case, the total record size is 24 bytes. For the lsfile example: 01 a pic 9(9) comp. 01 b pic x(20). $ rebuild lsfile, ifile -r:f24 -o:lseq,ind -t:mf8 -k:1 4 $ rebuild ifile -n File : ifile
Problem: How can you access the System Colors in a .Net Application ? At runtime you may want to determine for example the system color that is used for a Window background or an active caption. Resolution: The color class has a FromKnownColor method that allows you to retrieve the required colors. Attached to this KB is a demo showing how to use this method. Please see the Visual Studio documentation on the color class for more information. Attachments: TextBoxBackGroundColors.zip Old KB# 1549
Problem: Net Express 4.0 Command prompt MFNETX /DEBUG:program The program is local Why does debug want to connect to a remote machine? Resolution: First check a project under Net Express, animate tab, settings to see if remote and remote machine is set. If remote is set, unsetting that will clear the problem. In some cases the animate setting will not reflex what is in the registry. NOTE THAT CHANGING THE REGISTRY INCORRECTLY COULD CAUSE PROBLEMS WITH THE MACHINE. Windows START BAR RUN REGEDIT Look at the following location. My Computer\\HKEY_CURRENT_USER\\Sofeware\\Micro Focus\\Net Express\\4.0\\IDE\\Execute Configuration. Look at the entries for REMOTE and Machine Name. If REMOTE is ON set it to OFF to resolve the problem. Old KB# 1567
Problem: Going to Tools | Options | Micro Focus COBOL Tools | OpenESQL Assistant shows the following message on the Options page: ----- This dialog should display an Options page added through extensibility. However, the control to display here could not be loaded. Please re-install the Add-in that displays this page. ----- Resolution: 1) Uninstall current WrapPack 2) Uninstall the Net Express support for .NET a. Go to Add or Remove Programs b. Select Micro Focus Net Express 5.0 c. Click on Change d. Click on Next e. Make sure Modify is selected f. Click on Next g. Click on the drop-down list of Net Express support for .NET h. Select "This feature will not be available." i. Click on Next j. Cick on Install 3) Repair Net Express installation a. G
Problem: The demonstration attached uses Dialog system to simply create a GUI application and retrieve the handle of its Window. This application can be modified and will work as soon as you have the handle ( HWND ) of a GUI Window i.e. you can Set a Timer or|and Set Hook Procedures assuming that you have Window Handles --> The program detailed below could be a generic program which manages Timeouts on more GUI applications ... Resolution: This KB here contains 2 demonstrations i.e.: 2 .ZIP files. The 2 .ZIP files contain a Dialog System Application (DS) .... which is a convenient way to create a GUI Window ==== DEMO 1: ........... The .ZIP file named DSWindowtimeout.zip is the sample demonstration: 1) in the SCREENSET-INITIALIZED event, set at the GlobalL Dialog Level, the handle of the Window is retrieved thru the DS function MOVE-OBJECT-HANDLE, the variable EXIT-FLAG is set to 9
Problem: File status 9/104 when trying to Open a file. Resolution: You specified a data-name for a file-name instead of a literal, and the data item contained only spaces when you tried to open the file. Resolution: Recode your program specifying the correct file-name. Example Wrong: Select myfile assign to file1. open output file1. File status 9/104 Correct: Select myfile assign to file1. move "empl-file" to file1. open output file1. File status 0/0 Old KB# 2009#ServerExpress#COBOL#AcuCobol#RMCOBOL#netexpress
Problem: If you want to store the date in the DATE-COMPILED paragraph of COBOL source then specify the DATE directive when compiling. Resolution: Specifying the "DATE" compiler directive will put the date in the DATE-COMPILED paragraph and at the top of each page of the listing. The sytax is as follows: DATE "string" DATE (with no string) NODATE The "string" is an alphanumeric literal The date and time, available from the operating system, are automatically inserted when you specify DATE. You can, however, enter the date yourself as the parameter. With NODATE, the paragraph is left unaltered. With DATE, the operating system date or the string you enter appears at the top of each page of the
Problem: The windows system seems to hang. The task manager reported up to 100% CPU time on a process called csrss.exe. Resolution: csrss.exe is an important process in the Windows system and should NOT be terminated, see: http://www.processlibrary.com/directory/files/csrss/ A known problem can be found in the Microsoft's knowledge base article 555021: http://support.microsoft.com/kb/555021 Furthermore, the csrss.exe might be cloned by malicious software writers. That said, anyone with a misbehaving csrss should definitely run malware scans, preferably at least two different ones (eg an antivirus utility and an antispyware one). --------------------------------------------------------------------- csrss is the userland side of the Win32 subsystem. It handles user-mode Windows API and graphics API calls, passing them on to the kernel. Consequently it's a bottleneck (so a variety of performance problems will manifest in it), and it's somewhat
Problem: Release: 5.0 .NET After passing a TreeView object reference to my own (not Painter created) class, there is no Intellisense available in this class which shows the methods for a TreeView. Only 4 standard methods like "equal" are offered. Resolution: A reference to Visual Studio 2005 System.Windows.Forms is required in the references of the project of the own class. The Intellisense is available for the notation SET Myobj :: "MyMethod"( ... ) and also for the Micro Focus extended notation INVOKE MyObj::"MyMethod" ... but there is no Intellisense, when the invoke is written in standard notation as INVOKE MyObj "MyMethod" using ... returning Old KB# 1551
Problem: In the unlikely scenario of accidentally deleting or corrupting the NetExpress registry settings, there is now a very easy way of resetting them back to their original state. Resolution: Go the the Control Panel > Add/Remove Programs > select NetExpress > Change > select the Repair option. In so doing this will repair any deleted or damaged NetExpress registry settings. Old KB# 1603
Problem: This Net Express 5.0.NET package includes 2 DVDs covering a Microsoft Visual Studio 2005 Standard Edition to be installed before using the Net Express 5.0.NET environment. However, there is no CD-/DVD-device available to install Microsoft's VS2005 Edition, thus it was copied onto a network share to install from. Is there a recommendation how to act safely because it can fails to obey "changing the discs" while installing VS2005? Resolution: Yes, please refer topic 1.3.6. from the link below describing how to install VS2005 safely from a network share. http://msdn.microsoft.com/en-us/library/aa718687.aspx Old KB# 1604
Problem: This error occurs when trying to run rebuild on UNIX or Linux Resolution: This message is saying two things: first, rebuild wants to give you a message, and secondly, that it cannot find the file of appropriate messages. This normally happens when the LANG environment variable is incorrect. typing 'locale' will show the current setting. List the available LANG values using ls $COBDIR/lang Either export LANG equal one of the supported values or try setting a link by typing 'ln -s $COBDIR/lang/C default' This should at least cause English messages to be displayed if the correct LANG value hasn't been supplied. Old KB# 2092#RMCOBOL#ServerExpress#netexpress#COBOL#AcuCobol
Problem: How can I store the .idy file, used for animation, in a seperate directory when compiling a program? Resolution: You can set the COBIDY compiler directive when compiling to store the .idy file in a separate directive. The syntax is as follows: COBIDY "path-name" The default is NOCOBIDY. If you do not specify path-name, the path-name in the COBIDY environment variable is used; if the environment variable contains multiple path-names the first of them is used. With NOCOBIDY, the .idy is written to the same path as the .int file. Old KB# 2001
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.