Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
Problem: When we try to run our application on the Net Express development machine we get the following error: ASLM: Semaphore failure. ASLM: Errno 1000 Why is this? Resolution: This indicates that the Net Express runtime license cannot be found. On the development machine please ensure that your application is linked with the dynamic option and/or that PATH/COBDIR are set to point to the location of Net Express. Old KB# 5351
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: Method to pass variables between programs. Correct syntax for passing a variable back to the calling program from the EXIT PROGRAM RETURNING ... statement. Resolution: First Method - returning a value from the EXIT PROGRAM statement in the called program: Pass the value of an alphanumeric variable from the called program in the RETURNING clause of the EXIT PROGRAM statement. The variables are defined in the working-storage section of both programs. The call to the called program is call prog2 returning ws-var1. The correct syntax of the called program (prog2) would be: procedure division returning ws-var1. ... exit program returning ws-var1. Returning a variable with this method (from the EXIT PROGRAM statement) returns the 'value' of the variable. On a 32-bit machine, the length of the value is limited to 4 character
Problem: We have syncsort for windows I would like to link in there libs so when I execute a gnt with run program.gnt the sort verb in the program will use syncsort instead of mfsort. On our Microfocus unix system when we compile we use this command cob -uVP -C "nobound defaultbyte=0 CALLSORT" -N nohpchunk /prod/srclib/ProgramName.cbl -L /usr/syncsort/lib -lmfsyncsort -lsyncsort then we use COBRUN ProgramName to execute How do I do this in net express Resolution: solution: The pc is not like Unix - in this case the unix version of syncsort had been binded into the runtime The windows version does not do this in the same way - the syncsort is linked into the module doing the calling. As per syncsort docs: This is what the Syncsort documentation has on this subject. Using SyncSort from COBOL SORT and MERGE verbs When you use the S
Problem: A sample program: SELECT customer ASSIGN TO "\\\\server1\\develop$\\test\\customer.dat"; ORGANIZATION IS INDEXED; ACCESS IS DYNAMIC; RECORD KEY IS cst-key; FILE STATUS IS ws-cst-status. . When the statement "OPEN I-O customer" is executed the file on one PC works OK. However, on another PC, a file locked error (status 9A) occurs. Resolution: Change the SELECT st
Problem: how to create an event handler for a control in .NET Resolution: 1) Click the form or control that you want to create an event handler for. 2) In the Properties window, click the Events button (looks like a lightning bolt). 3) In the list of available events, click the event that you want to create an event handler for. 4) In the box to the right of the event name, type the name of the handler and press ENTER. 5) Add the appropriate code to the event handler in the code behind. Old KB# 5340#netexpress#AcuCobol#COBOL#ServerExpress#RMCOBOL
Problem: You may have a character based screen application that you want to run inder Windows as a full screen display. However, when you run it the screen display may be much smaller than required and you may want to extend the screen to be a full screen making the screen a 25 lines by 80 column screen. Resolution: COBOL doesn't set a 25x80 screen as default for console based applications. Instead, the screen characteristics are set by Windows. When you originally developed your app, 25x80 was probably the standard screen size, although there were some exceptions where 43 and 50 line screens were used. (These subsequently led to the intorduction of the C4 and C5 runtime switches). The only way to get a full screen is by clicking the top left corner of the application screen and selecting 'Properties'. One of the options then available is 'Full Screen'. However this only expands the display to cover the full screen and does not necessarily set up the scr
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: 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: 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: CBL_SPLIT_FILENAME example in Net Express Help has been updated Open Net Express 4.0 Help Click Index tab Type CBL_SPLIT_FILENAME Click Display Scroll down to reveal "Example of the use of CBL_SPLIT_FILENAME" Click adjacent checkbox Below is a compilable version of the source shown in the Help. Resolution: copy 'CBLPROTO.cpy'. ************************************************************ * * * &n
Problem: You may want to use a Programmed Text Entry instead of the standard Dialog System entry field or MLE control because you need some special characteristic like an MLE without a scrollbar (see knowledge base article 20465). There is a sample for Programmed Text Entry controls under DialogSystem\\CommonControls\\TextEntry (in your Net Express installation directory) that shows you how to use them. But in this demo the Programmed Text Entry controls gets updated with the value within the associated field in the Data Block only get they get focus. This knowledgebase article shows you how you can get your Programmed Text Entry to show the value in the associated field in the Data Block at creation time. Resolution: I will explain what needs to be done by showing what changes would be needed to the product demo at DialogSystem\\CommonControls\\TextEntry (in your Net Express installation directory) so both Text Entry Programmed controls show the value th
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: 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: The following error mesage occurs when the user clicks on the "Click here to install Net Express 4.0" link from the install page of Net Express 4.0: "Impossible de trouver le fichier /d:/autorun/..\\nxsetup.asq. Vérifiez son emplacement et essayez á nouveau." [This above French error message simply means that it was unable to find nxsetup.asq] Resolution: Make sure to load the web page in Internet Explorer (IE)! It was designed to run on IE. The above error message occurred in Mozilla FireFox web browser. Old KB# 5380
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: The customer was moving both COBOL and C source programs from a Unix envirornment using OCDS to Windows XP running Net Express. Under Unix they created shared object libraries for their C programs and then they called these programs from COBOL main programs. They did not have to use a call-convention in their COBOL programs and the C entry points were found without a problem. After the customer moved the source code to Windows they decided to compile and link their C programs using Microsoft C/C 6.0 to create a single Dynamic Link Library (.DLL) containing all of the C programs. When they compiled the COBOL programs and attempted to call the C entry points within the .DLL they were getting RTS 173 "Program not Found" errors on the call. The customer did not understand the different call-conventions that can be used within a Windows program and they evidently did not know what C compiler or linker options to use in order to make the C entry
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: Issue with Greek Characters when ANSI characters are used (on .Net). In a .Net Winforms environment Greek characters are not displayed correctly when passed into a Winform. Resolution: This is caused by conversions taking place between OEM and ANSI character sets and UNICODE. To resolve the problem you need to perform the following code when your application starts:- call "PC_WIN_SET_CHARSET" USING BY VALUE 0 This sets up the COBOL system so that all conversions are ansi based. Old KB# 5362
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: 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: How can I send to a printer connected to a USB port using the standard ASSIGN TO clause in the SELECT statement? Resolution: The way to print via a USB-port and not to LPT1/2 etc is to use the printer_redirection run-time tuneable. The printer_redirection tuneable causes ASSIGN TO PRINTER statements to go to the print spooler rather than LPTn. Therefore, provided the printer attached to the USB has been installed properly there should be no problem printing to it. There is no way to access ports directly in our product because the operating system APIs used for file handling do not handle USB port names. To set the printer_redirection runtime tuneable you need to create a runtime configuration file and then set the run time tuneable in this file. The default filename is 'cobopt.cfg' and this is just a standard text file. However, the file can be any name of your choosing (eg; myconfig.cfg). Then, to have the runtime system access the fil
Problem: Release 4.0: How to use the Net Express IDE to rebuild a corrupted file index for an C-ISAM file? Resolution: Net Express IDE: Tools -> Data Tools -> Fix File Index...-> 'Filename' or 'Browse' to pick up the corrupted file -> press 'Advanced options and choose C-ISAM from the drop-down list -> press 'Fix File index' button In case of a destroyed header and it is impossible to create the structure immediatly: -> under 'Advanced options' press 'Define keys...' to set all key offsets and key lengths first. Old KB# 5369
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.