Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
Problem: Some COBOL code from another environment does a WRITE statement to a line sequential file but a special character is not written out as expected. The special character is less that 1F hex. Resolution: This is the default behaviour. In Line Sequential files if there is a character less than x"1F" then a null is inserted before the character. You can switch off this by using the COBOL Runtime switch (N) or a file handler config entry INSERTNULL. If you set one of these options then your file will be produced as expected. Old KB# 5374
Problem: Is the Revolve version that comes with Net Express EE 4.0 the same as Base Revolve 6.2? Resolution: Within Net Express, from the HELP menu select HELP TOPIC. On the INDEX tab enter REVOLVE GETTING STATED BOOK and enter. This shows: This book discusses how to start using Revolve 6.2. The first two chapters briefly explain Revolve. The other chapters are a set of tutorials that takes the reader through analyzing an application, in a number of short sessions (typically 10 - 30 minutes long).' This shows Net Express is using Revolve 6.2. Old KB# 5335
Problem: ES/MTO started Details ESMAC JES CATALOG Resolution: ES Administration page Edit the bad region JES tab Delete the system catalog entry Rekey the entry to the correct location. This occurred as the entry had placed a non-printable hex character for this environment setting. Old KB# 5337
Problem: Release 4.0: We would like to include the actual wrap- and fix pack all05n40 into our silent installation, but we failed to add it to the wrapper.ini file in cinstall. Resolution: You can also start the installation of service packs / fix packs / wrap packs / add pack silently by adding the parameter -q, so \\..>all05n40.exe -q will install the pack silently. From a batch file, it might be better to use start /wait all05n40.exe -q to stop the batch until the pack installation is finished. Old KB# 5350
Problem: Has one form, wants to be able to click on a button and have a different form popup Resolution: 1) Create a new Cobol, windows form, name the project FormPopup 2) Add another form to the project ( Right click on the project in solution explorer, select Add New Item, Select a Windows Form, name it Form2, click OK) 3) Add a button control to the first Form (Form1). 4) Double Click on the button to create the button click event handler 5) In the repository add this line of code: Class form-form2 as "FormPopup.Form2" 6) Go back to the button click event handler that was created (method button1_Click) 7) Add a working storage section with the following code: 01 newForm object reference form-form2. 8) In the procedure division add the following code: set newForm to form-form2::"New"() invoke newForm::"Show"(). 9) Build and Run (Instead of using the form's Show method you could use the ShowDialog method, but then t
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: 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: 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: 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: The comp-3 arithmetic should only retain the result equal to the defined pick value not what it can hold. WORKING-STORAGE SECTION. ***************************************************************** 01 PIC-S9X4-COMP-3 pic S9(4) COMP-3 value 5001. 01 PIC-S9X9-COMP-3 pic S9(9) COMP-3 value 5001. 01 WRK-S9X4-COMP-3 pic S9(4) COMP-3 value 0. 01 WRK-S9X9-COMP-3 pic S9(9) CO
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: Is Dialog System dsbrowse included in Application Server runtime environment Resolution: DSBROWSE.gnt in included in our application server (version 4.0). The location of the Application Server directory may need to be on the COBDIR directory. The gnt format modules are located via the COBDIR environment variable. Alternatively you could link dsbrowse.obj into the main application exe. Old KB# 5375
Problem: While executing a program this error occurs: Load error : file 'EXTSM' error code: 173, pc=0, call=1, seg=0 173 Called program file not found in drive/directory What must we do to correct this problem? Resolution: There is a simple solution. Use the following command to create a Extsm.dll. cbllink -d -RS -k -v extsm.obj>cbllink.txt<Enter> Place the extsm.dll in the folder where your application is executing. This will make the sort available to all .EXE and .DLL programs. Cbllink.txt will capture all the details published by the "verbose" switch (-v) and the "keep" switch (-k) will retain the module definition file (.def) and the import library (.lib) for the dll. Old KB# 5366
Problem: How can I display a JPEG (JPG) file from a Character based application? Resolution: Character based applications do not support the display of images. You could however use the ShellExecute api routine to display a JPG in the system default application for it. Attached is a demo that gets a JPG from a website and displays it using ShellExecute. Attachments: WinHTTP GET.zip Old KB# 5376
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 can I get an error when a REDFINES source/target are different lengths? Resolution: This "error" would return an informational message from the checker and is not reported by default (as you have found). If you want to see these errors then you will need to specify the WARNING"3" directive on your compilations. Old KB# 5365
Problem: A file created or viewed using a DOS editor tool or UNIX editor tool will most likely be saved in the OEM character set. Resolution: To view the correct character set created using a DOS editor then: Go to the 'Options' menu | 'Edit' | 'DOS compatibility' tab. Then select or tick the 'OEM/DOS' option. Old KB# 5367
Problem: How do you setup a Listview so that it is also resized when the hosting winform is resized. Resolution: The Anchor property of the control does this. By default the control is anchored to the top left. If you anchor top / left / bottom /right it should resize as required. Old KB# 5377
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: To pass a structure like this: 01 LINKVARS. 03 VAR1 PIC X(02). 03 VAR2. 05 VAR3 PIC X(10). from COBOL to Java but to also send it as a Byte[] type instead of a string. Is there some way to do this? Resolution: You can't pass a record structure directly from COBOL to a Java method which is expecting a byte array, as there is no mapping for that within the Object COBOL runtime support. However, we do have a means of creating arrays using the jarray class. If you create a one dimensional byte array using the jarray class, the getData/commitData methods can then be used to copy a COBOL buffer into it. That jarray can then be passed to the
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: getting 114 on file "" when starting mfnetx Resolution: This problem occurs on multi-user XP operating systems. When installing on an xp machine - you are asked - do you want this for the machine or just this user - Always use "the machine". to fix: 1. Close all windows 2. Start the Registry editor by running REGEDIT from the "Start > Run" command line 3. Go to HKEY_CURRENT_USER\\Software\\ 4. Delete the "Micro Focus" key (or folder) 5. Close the Registry editor 6. Start the Net Express Command Prompt 7. Execute MFNETX Old KB# 5339
Problem: When running a Dialog System application built with the ANIM compiler directive and deployed under Application Server, the following error message might possibly be encountered in some circumstances: DSDEBUG-0113 Error message file mot found Error number = 0113 Group tag name = DSDEBUG Group set number = 0027 The title of the error message dialog box would be "NLS Text Failure". Resolution: In this case, rebuild the application without the ANIM directive and redeploy it. Old KB# 5336
Problem: A COBOL program developed in Net Express 4.0, when run from a command line, is required to read data from a file specified on the command line. How are parameters read from the command line and redirected to an output file? Resolution: 1. To read from a file using the redirection operator "<", there is a COBOL runtime switch 'S5' that, when turned on, allows for input/output from the command line. The ACCEPT statement in the code would be: ACCEPT ... FROM CONSOLE. To turn the 'S5' COBOL switch on, either set the 'cobsw' environment variable on the command line: set cobsw= S5 or turn the S5 switch on, when running the program on the command line: Program1.exe ( S5) < data\\DataIn.dat > data\\DataOut.dat 2. The "ACCEPT ... FROM COMMAND-LINE" statement accepts arguments as strings from the command line. The following will accept '1234' as an argument and redirect the out
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
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.