Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
Problem: Method to open a large data file with Net Express to view the contents. Resolution: Have the following section setup in the extfh.cfg file: [XFH-DEFAULT] FILEMAXSIZE=8 Where the FILEMAXSIZE parameter specifies the number of bytes used internally to store file offsets. This also affects internal locking mechanisms: programs sharing the same file all need to use the same FILEMAXSIZE settings to ensure semaphores and record locks are handled correctly, thereby avoiding potential file corruption in shared files. FILEMAXSIZE={4|8} Default: 4 4 Limits file addressibility to 32 bit values which is compatible with earlier versions of Micro Focus products. 8 Allows up to 64 bit values for file addressing on Windows NT platforms when accessing the NTFS file system, but changes the underlying record locking mechanism. Therefore, if you are sharing very large files, that is files greater than 1Gb in size, all programs
Problem: "FATAL ERROR -- Cannot access message file" observed when compiling Resolution: The message files are MFLANG*.lbr in <product directory>\\base\\bin. The normal reasons for the message are:- (1) PATH doesn't contain this folder (2) COBDIR doesn't contain this folder (3) The files aren't in the directory for some reason If none of these apply, then reinstalling often cures the problem. Don't forget to 'RetainKey' when uninstalling. Old KB# 5331
Problem: Method to protect applications against the numerous .NET decompilers on the market? Resolution: Decompilers are not a new technology. It is perfectly possible to decompile current Win32 based applications or applications on other platforms. This is a problem for all languages. its not just an issue in the COBOL world. It is possible to decompile a COBOL program but that module would still need the COBOL runtime , File Handler , SQL , XML supporting assemblies. Even by decompiling you would still end up with very unreadable and unmaintainable code that still needs a Micro Focus runtime. In terms of security, there are a number of possible avenues to explore: http://msdn.microsoft.com/vcsharp/programming/tools/ Under "Obfuscators" there are links to a variety of products that will help secure your code. These type of products can be used to make all but the simplest Hello World type application unintelligible. If, o
Problem: Release 4.0: How to setup the File Handler configuration .cfg file a) to prevent getting this error message: 'A file which your program is accessing is too large for successful execution to continue' (extended file status code 194) and also to prevent spreading the data (file striping) under Microsoft Windows NTFS? b) to ensure that files generated and used IDXFORMAT"8" can be easily handled if they are greater than 1 or 2 or 4GB? Resolution: The .cfg file has to cover also an entry FILEMAXSIZE=8 (if not: FILEMAXSIZE=4 will be assumed by default) For additional information, under Net Express refer to: Help-> Help Topics-> Index-> FILEMAXSIZE-> FILEMAXSIZE File Handler configuration option Old KB# 5360#netexpress#RMCOBOL#COBOL#ServerExpress#AcuCobol
Problem: Using Net Express 3.0, Cbllinik would produce this Link error. Version 3.0.14 Copyright (C) 1984-2000 MERANT International Ltd. Micro Focus Net Express V3 Version 3.0.14 Copyright (C) 1984-2000 MERANT International Ltd. URN AXCGG/AA0/00000 * Accepted - confirm * Accepted - list() * Accepted - xref * Accepted - OMF(OBJ) * Accepted - GNT(.\\) * Accepted - OBJ(.\\) * Compiling capdown.cbl * Generating cross reference * Checking complete with no errors - starting code generation * Generating capdown * Data: 1424 Code: 1424 Literals: 216 Microsoft (R) 32-Bit Incremental Linker Version 5.00.7022 Copyright (C) Microsoft Corp 1992-1997. All rights reserved. capdown.obj cbllds.obj faacicnt.lib : fatal error LNK1106: invalid file or disk full: cannot
Problem: Can I improve my SQL Server performance from COBOL via ODBC? This relates specifcally to SQL Server cursor performamce. Resolution: Using ODBC to SQL Server there is a lot of scope for tuning your performance. MS SQL Server's performance can vary greatly depending on what cursor type is being used. By default all cursors are Server Side cursors. This can be inefficient for example when reading through large sets of data. Setting concurrency to READONLY and making it FORWARD only should those type of cursors go much faster. Where you need server side cursors you could try the SQL(PREFETCH=n) directive. This will get individual rows in blocks rather than in a single row. This can speed up performance. Some work has taken place to help with people migrating from mainframes. There is a new compiler directive SQL(BEHAVIOR=....). This allow you to specify what behaviors you want and it then does some optimisations to cursor types. Some experi
Problem: Net Express 4.0 How can you stop the run-time from checking if numeric data items have valid numeric data and stop the warning message "numeric field contains invalid data" Resolution: By default this checking is always ON, but you can override this by turning off the 'F run-time switch': - At the Net Express command prompt - set cobsw=-F; or - In the IDE, from the menu - 'Project' > 'Properties...'. Click on the 'Application...' in the Project Properties dialog and go to the 'Program Execution' tab. Under 'Error Handling', uncheck the checkbox for 'Validate numeric fields'. Old KB# 5370
Problem: Net Express 4.0: SWITCH-0, SWITCH-1, SWITCH-2,..,SWITCH-8 are coded in the SPECIAL-NAMES paragraph of the CONFIGURATION SECTION of a COBOL program. The program tests to see which switches are ON and behaves accordingly. The program is built as an .int or .gnt. How would you set there statuses from the Net Express command prompt, so that they are passed as parameters when the program is 'run'? Resolution: The status of the switches are set and passed to the program, at the time of program execution from the command prompt, with the following command: run ( 0 1 2) Program This sets the programmable switches SWITCH-0, SWITCH-1 and SWITCH-2 to ON and passes these settings to the program "Program", built as an .int or .gnt. Old KB# 5368
Problem: running bat file (or commandline)- to run sort - results in sort124e - field position 201 invalid Resolution: If the record size is greater than 256, a RECORD instruction must be used. ex: Sample with the record parameter setting record of 300 bytes mfsort sort fields(1,1,ch,a) use x:\\directory\\xxx.dat record f,300 give file2.dat Old KB# 5372
Problem: You open a Net Express Command prompt and you enter the adiscf command to be able to configure adis behavior for screen i-o. But although you can see the menu bar at the bottom, you can not see any of the menu options in the main panel. Resolution: Adiscf was designed when the command prompt window had a fixed size and there were not any screen buffer. So to get it working properly, you need to reduce the screen buffer size to match the real window size. For example, if you wanted to configure adis to enable function keys, these are the steps that you would need to do: 1. Open a Net Express command prompt 2. At the command prompt window you need to reduce the Screen Buffer Size to match exactly the Window Size, or you will have problems with adiscf. Click on the top left corner and select properties. Then reduce the Screen Buffer Height to 25, that is the same value that you see in Window Size. Then click OK. If you select "Apply prop
Problem: MAPILogon returns 3 when used with the COBOL Multi Threaded runtime. It may work sometimes but if invokes are performed to any COM object before the MAPILogon call then you will always get a -3 returned. Resolution: You need to perform an:- invoke olesup "singleThread" so that the COBOL runtime initialized COM with CoInitializeEx(0,COINIT_APARTMENTTHREADED). If this call is not made then the runtime will initialize COM with CoInitializeEx(0,COINIT_MULTITHREADED). Microsoft's MAPI api is not compatible with COM initalized with COINIT_MULTITHREADED and has to be initialized with COINIT_APARTMENTTHREADED. Using the single threaded COBOL runtime also avoids this error. Old KB# 5343
Problem: How can I create a Net Express command prompt? Resolution: Unfortunately there is no automatic way to install/setup the Net Express command prompt. You will need to create a shortcut yourself with the following properties: Title : Net Express Command Prompt Target : C:\\Windows\\System32\\cmd.exe /K createnv.bat Start In : "c:\\Program Files\\Micro Focus\\Net Express\\Base\\BIN" You many need to amend the above to match your own installation details i.e. your Windows installation folder may not be called "Windows" and you may not have installed Net Express in the default location. The quotes on Start In are required due to the long and spacey filenames used. Old KB# 5349
Problem: RTS144 Boundary Violation occurs rewriting a Line Sequentia file opened I-O.... Resolution: Dont' forget that "You must make sure that the record you write is the same size as the one it replaces". If not, a RTS ( Runtime ) error 144 will occur..... This hint is clearly documented in the documentation, compiler directive REWRITE-LS . Paste of RTS error 144: COBRT144 Boundary violation (Recoverable) You have tried to write a record to a variable length record file, the length of which is not within the defined range for that file. Resolution: Recode your program. Old KB# 5344
Problem: How can access the Vtable from a COM DLL? The VTable is the low level interface that a COM Object Object exposes. Its structure is similiar to a C Object. Resolution: If you already have a COBOL OLE Domain object you could use the COM Class library IUnknown "fromDomainObject" class method and QueryInterface to get the COM Interface (vtable) you want. Alternatively you could CoCreateInstance and QueryInterface COM API calls. If possible its far better to use a automation object so you can invoke on it. Thats far more forgiving and simpler from COBOL. Old KB# 5358
Problem: How to specify which program you want to run first in a .NET project Resolution: 1) Right click on the project in solution explorer 2) Go to Properties 3) Under Common Properties | General, fill in the Entry Name text box with the program you want to run first (do not include the extension) Old KB# 5341
Problem: * Copyright (C) 1984-2002 Micro Focus International Ltd. URN AXCGG/AA0/00000 72-' <INPUT TYPE="Submit" NAME="Logon" value="Chang C:\\MF\\Net Express31\\Base\\WORKAREA\\TESTHTML.CBL(72,51): * 3-S Illegal format : Literal 73-'e Password" onClick="return NumericCheck(USERID)"></td></tr></TA C:\\MF\\Net Express31\\Base\\WORKAREA\\TESTHTML.CBL(73,9): *1003-E First character of a continued literal not a quote. Quote assumed. * Total Messages: 2 * Unrecoverable : 0 Severe : 1 * Errors : 1  
Problem: Method to determine if an object-reference is set to an object Resolution: The only way to do this is to initialise to null. When it is non-null it is set to something else. Old KB# 5298
Problem: Working storage not being initialised between CALLs in a CICS environment. Resolution: The directives required to achieve this functionality are: CALL-RECOVERY DATA-CONTEXT Old KB# 5266
Problem: How to pass a linker option like /DELAYLOAD through CBLLINK? Resolution: Unfortunately, CBLLINK cannot pass options to Microsoft's LINK.EXE. The alternative is to specify options for the Microsoft linker LINK.EXE as an environment variable, e.g. set LINK=/DELAYLOAD:MyDLL.dll Microsoft's Linker options can be found here: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/_core_linker_reference.asp and how to set those options here: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/_core_set_linker_options.asp Old KB# 5270
Problem: Receiving message "ASLM Semaphore failure" when trying to run an application deployed using Net Express 4.0 Application Server when logged in with standard user priviliages. Resolution: This is actually a known issue when installing from the base release (or first release) of the Net Express Application Server. This version had a problem with setting the registry privileges correctly. This has been fixed. Simply update the current version of Application Server using the latest build on the Micro Focus SupportLine web site: http://supportline.microfocus.com/websync/aps40.asp - (as of 6th September 2005) the file to be downloaded and applied is APS06A40.EXE. This will install the latest build of the Application Server and allow users to run applications when logged in with standard user privilages. Old KB# 5309
Problem: Serial number was sold as Net Express with .NET 4.0 Installed Net Express Professional which installed the Revolve product with Net Express Resolution: Need to exit licensing windows. Go to START bar Select All Programs Select Micro Focus Net Express 4.0 Select Configuration Select License Management System Make sure that only Net Express is checked or high-lighted; depending on the license update version installed. Select full license and internet licensing Response YES; two times max; to the question; server is not responding do you want to wait License request has been completed message was received Old KB# 5316
Problem: Method to suppress the DOS window showing on an x"91" function 35 Resolution: Unfortunately there is no method to suppress the command window being displayed when executing an x"91" function 35. An alternative solution is to use: 1) Using the CBL_EXEC_RUN_UNIT API instead. 2) Calling the operating system CreateProcess API. Old KB# 5317
Problem: When using the the cobol command line to compile programs within a batch file (for example: cobol sourcename,,nul,,directives;) - the user will observe that when a copyfile for this source does not exist, the compiler requests: FILE BELOW NOT FOUND - Stop/Retry/Continue/Alter-path and starts waiting for keyboard response, the entire build batch stops because of this and operator intervention is necessary. Resolution: To change the behaviour of the cobol command line so it only reports the missing copyfile, and continues without intervention all that is required is to add the directive NOQUERY to the command line, thusly: cobol sourcename,,nul,,NOQUERY directives; Old KB# 5290
Problem: The system indicated 26 gig were available. Also, the install states 26 gigs were available The directory kept going to an Application Server directory with no browse button Resolution: Problem determination: Application Server was installed on the same machine where Net Express also resides. This is not permitted. Go to "Add/remove programs" and uninstall Application Server for Net Express 4.0 Restart the installation, and it should finish without errors. Old KB# 5293#ServerExpress#AcuCobol#COBOL#netexpress#RMCOBOL
Problem: Program creates EBCDIC file on development system while it creates an ASCII file on Application Server system. Resolution: Link CS0437.OBJ to the program by adding CS0437.obj to the build settings of the .EXE file. Old KB# 5271
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.