Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
Problem: File and Filename Routines: CBL_CHANGE_DIR, CBL_CHECK_FILE_EXIST, CBL_COPY_FILE, CBL_CREATE_DIR, CBL_DELETE_DIR, CBL_DELETE_FILE, CBL_DIR_SCAN_BEGIN, CBL_DIR_SCAN_END, CBL_DIR_SCAN_READ, CBL_GET_CURRENT_DIR, CBL_JOIN_FILENAME, CBL_RENAME_FILE, CBL_SPLIT_FILENAME, PC_FIND_DRIVES, PC_PRINT_FILE PC_PRINTER_CLOSE, PC_PRINTER_CONTROL, PC_LOAD_BMP, PC_PRINTER_OPEN, PC_PRINTER_WRITE, PC_PRINTER_WRITE_BMP, PC_READ_DRIVE, PC_SET_DRIVE Example: 01 infile-name pic x(20) value '%TMP%/infile'. 01 outfile-name pic x(20) value '%TMP%/outfile'. call 'CBL_COPY_FILE' using infile-name outfile-name. Will fail unless a file with the literal name "%TMP%/infile" exists. Likewise for the outfile name. The CBL_ routines use system API calls, not the command shell, to do their work. Only the command shell "knows"
Problem: Reading System Environment Variables in Net Express Resolution: This demo reads Microsoft Windows TEMP variable: 01 var pic x(256). procedure division. display "TEMP" upon environment-name accept var from environment-value stop run. Old KB# 1217
Problem: Attempting to get the full path/file name of a program that is CALLING the current program by calling the CBL_GET_PROGRAM_INFO routine using call-function 2. However, it might only be returning the program name and not the full path or the file extension. Using this routine to get the COBOL program name can be used for initialising the Consolidated Trace Facility (CBL_CTF_TRACER_GET). Resolution: Below is an example of how to return the full path/filename of the calling program. The first thing to do is to establish the handle for the current program. working-storage section. * 01 call-function pic x(4) comp-5. 01 cblt-prog-info. 05 cblte-gpi-size pic x(4) comp-5. 05 cblte-gpi-flags pic x(4) comp-5. 05 cblte-gpi-handle usage pointer. 05 cblte-gpi-prog-id usage pointer. 05 cblte-gpi-attrs pic x(4) comp-5. 01 name-buf pic x(100). 01 na
Problem: This error has been encountered when trying to compile a .LST program as a Class Library. The message is output when unexpected errors occur during the generation of .NET IL code. Unfortunately, any occurrence of such a message indicates a compiler bug, even though sometimes the immediate reason for the error is a problem in the user program. Even if the user program is in error, the error should be detected at an earlier stage of the compilation process and should then produce a cleaner and more understandable message. Resolution: A subscripted item used as a subscript can generate bad code and may cause the compiler to loop. The fix should be available in the next FixPack for Net Express .NET 5.0 However, attached to this knowledge base article is a hotfix for Net Express .NET 4.0 Attachments: RPI1059463.zip Old KB# 1206
Problem: Release 5.0: Can't create ASP .NET Web App after installing Visual Studio 2005 Service Pack 1. Resolution: Installed Net Express 5.0 with .NET support and have then installed Visual Studio Service Pack 1, and unable to create a new web site/service via the COBOL language. It seems that the Visual Studio 2005 Service Pack 1 installation appears to remove some registry entries which register COBOL with the web project system. Other than the uninstall/reinstall approach (via Windows Add/Remove Programs/Change/Modify option), there is a way to get these entries back by running the following command from the Micro Focus\\Net Express 5.0\\packages directory: regsvr32 cblprj.dll Old KB# 1237
Problem: Microsoft have released Windows Vista. Is Net Express supported on Windows Vista ? Resolution: Micro Focus will support the latest version (V5) of Net Express and Studio on Windows Vista. Older versions of Net Express such as version 4 and below have not been tested for compatability on Windows Vista. If you are a Micro Focus customer, you can request updates to your current product version to the latest product version on CD by sending an email to Update@microfocus.com. You will need to provide your Name, Company, Phone, and Fax numbers, email address, shipping address, number of users, your current product serial number(s), and to which product or release you wish to Update. Old KB# 1205
Problem: Release 5.0: After installing a Net Express 5.0 Application Server, trying to start the application and getting back: > Runtime DLL 'CBLRTSS', version 5.0, entry point _mFgWinMain2 not recorded in registry, not found or incompatible with requirements of dynamically bound COBOL program. Dynamic binding of RTS requires: Runtime DLL 'CBLRTSS', Version 3.1 < Resolution: Step by step: (1) To check that COBDIR also PATH are set correctly. (2) To check vs. older versions of CBLRTSS if they are installed from Net Express versions earlier and to prevent that they are addressed via COBDIR also PATH. (3) To ensure that no portions of the Windows registry are imported from other machines including this 'Micro Focus' key under HKEY_LOCAL_MACHINE\\SOFTWARE. (4) To uncheck 'Dynamic' checkbox onto developer machine linking the application to an .exe file, Project Build Settings -> Link tab -> Category:General -> unc
Problem: The sample printer exit (SAMPPRNX) shipped with Net Express is incomplete and does not compile. Resolution: Attached to this article is a full and updated set of files for SAMPPRNX. Copy the attached files to your <install-dir>\\Examples\\Net Express IDE\\SAMPPRNX directory, and rebuild the project. Please note: when deploying the exit to an enterprise server, you should place the executable files in a location on the COBPATH. Attachments: cascbprn.cpy Old KB# 1222
Problem: In the NetExpress 5.0 documentation, if the link to "Extended File Status Codes" is followed from the master index, the message for the "nnn" field cannot possibly be correct. For example "161" is shown as "Illegal Intermediate Code". Resolution: The links in the version 5.0 documentation for extended file status actually go to the run-time system error numbers, which are not applicable. The example above, 161, should be "file header not found". The workaround is to use the Error Messages reference manual from an older version of NetExpress. The NetExpress 3.1 documentation is correct and is available at the SupportLine web site, http://support.microfocus.com under "Documentation". Corrected documentation is tentatively scheduled for release in July 2007. Old KB# 1209
Problem: A COBOL program built as an .exe in Net Express and Interface type as Graphical, displays characters in the 'COBOL Text Window' -- a MF implemented win32 console -- when run. Try to change the font size and you can only choose up to a maximum value of 20. Resolution: The value 20 is the font size limit of the COBOL Text Window. Old KB# 1211
Problem: A file is defined as line sequential, but records may contain some fields of computational numbers. Most of the fields are text char, and some are none displayable hex values. While writing such a record, the filehandler will precede such a hex code by a zero byte. During READ, binary zeros are removed, and the remainder of the record is shifted. If a record contains x"09" as part of a comp number, this byte will be expanded as a tab. Resolution: In order to read and write a record unchanged, two extfh parameters are required. INSERTNULL=OFF EXPANDTAB=OFF Using these options, text lines can be handled like data records.WARNING - Using INSERTNULL=OFF when binary data is present may cause records to be split in to two records if binary data is added which is the same as a line termination character Old KB# 1213#RMCOBOL#ServerExpress#COBOL#netexpress#AcuCobol
Problem: A web services client generated from a WSDL gives an error 1500, which indicates an internal server error. How can this service be debugged to determine if it is a problem with the generated client or the server? Resolution: The attached document describes how to debug a web service client generated from a WSDL using the trace utility available as part of the Microsoft SOAP toolkit and can be used to debug a service on Windows or Unix. Attachments: Debugging a Web Service.doc Old KB# 1207
Problem: Release 5.0: Showing and hiding Windows when mixing graphical and character Screens. When you are doing a phased conversion of a character based application to a GUI it is often useful to hide the character screen window so that the user cannot click in the character window when control is on a graphical window. If the user does this then the character portion of the application will not response as control is currently in the character screen. Resolution: If the application EXE is built as a "graphical" application or started using the RUNW trigger EXE (int or gnt code) then any character screen are run in the COBOL Text Window. When the COBOL Text Window is used for character screens there is a runtime call PC_WIN_HANDLE that allows you to get the HWND windows handle. This allows you to manipulate the Window using standard Win32 api calls. The ShowWindow api with the SW_HIDE flag can be used to hide the Text window when required and
Problem: How to deploy a Net Express 5.0 Web Service? Deploying a COBOL .NET Web Service and may get an error after deploying the .asmx and the code behind cbl file. This is due to the COBOL compiler not being included in the Server 5.0 runtime install. Just copying the contents of the project to the deployment server server is not enough as it attempts to compile the CBL file. Resolution: To get a COBOL.NET Web Service working on a deployment machine there is a need to perform the following steps:- - Load the Project in Visual Studio - Highlight the COBOL project and use "Build" / "Publish Web Site" from menu - Uncheck the "allow precompiled website to be updateable" option A compiled version of the Web Service will then be built into the same location as the project. This can be copied to the deployment machine and configure IIS for use it as required. There is also the need to setup some permissions in order for the
Problem: To set the Environment variable SORTSPACE. SORTSPACE environment variable can be used with Net Express and with Server Express. Resolution: ==================== SORTSPACE environment variable in Net Express Documentation: The amount of memory to be allocated to internal workspace for SORT operations. This can be specified in different formats: for example, you could specify 64M, 2G, and 1000000 to give sort memory areas of 64 Megabytes, 2 Gigabytes and 1000000 bytes respectively. ==================== SORTSPACE environment variable in Server Express Documentation: SORTSPACE Specifies the amount of memory to be allocated to internal workspace for SORT operations. Syntax: SORTSPACE=n[K|k|M|m|G|g] export SORTSPACE Parameters: n[K|k|M|m|G|g] The amount of memory to be allocated to internal workspace for SORT operations. K or k indicates kilobytes, M or m indicates megabytes and G or g indicates gigabytes. N
Problem: Working with Net Express 5.0 WrapPack 2, having linked an OpenESQL application to executable in 64-bit mode on x86-64 platforms, executing the application returns an RTS114 error. This does not occur in 32-bit mode on x86-64, under 32-bit environments, nor on 64-bit Itanium platforms. This does not occur when working with the GA release of Net Express 5.0 either. Resolution: This issue is resolved in the latest WebSync for Net Express. To workaround this issue with WrapPack 2 installed, there is a must explicitly to link the application with ODBCRW64.LIB. To specify this module if linking from a Net Express command prompt, using cbllink. If building your application from within the Net Express IDE, specifying this module by : From the Project menu item, select Build Settings. Click on the name of your executable, for example myapp.exe. Click the Link tab. From the Category pulldown, select Advanced. Enter odbcrw64.lib into the t
Problem: Release 4.0: Receiving this error when trying to run an executable from within the Net Express 4.0 development environment after applying the all08n40 Websync WrapPack. Receiving a similar error when running the executable on a separate machine with Application Server for Net Express 4.0 installed then please refer to KB # 22608. This article refers specifically to when this error is encountered when running within the Net Express development environment. Resolution: One possible solution is to rebuild the executable using dynamic binding. _____ Using the Net Express IDE, open the Project used to build the executable and select 'Project' from the menu bar, select 'Build Settings' from the dropdown and then select the 'Link' tab. At that point try setting the 'Run Time Library' settings to be 'Shared, Dynamic'. Setting this either Single or Multi Threaded as required. Rebuild and then re-ru
Problem: Is there a way to display application errors in a dialog box? Resolution: Net Express 4.0 and later The attached demo illustrates a way of displaying errors from your applications within a Windows dialog box. The demo takes the form of a sub-program that can be called and passed information on the error. The demo supports the following error types: 1) Dialog System 2) General 3) Intrinsic function 4) Panels2 5) File I/O The code is easy to follow and can be extended without too much effort. Attachments: DISPERROR.ZIP Old KB# 1242
Problem: When installing wrappack NXP3250020077.msp for NetExpress 5.0, the .NET part of the product is automatically uninstalled. Having successfully installed the wrappack and uninstalled .NET in NetExpress 5.0, the following error was encountered when attempting to reinstall .NET in NetExpress 5.0 via the control panel. This error is returned in an attempt to install Assembly. (Error 1935.An error occurred during the installation of assembly 'MicroFocus.IDE.Util,Version="2.1.0.0",ProcessorArchitecture="MSIL",PublicKeyToken="0412C5E0B2AAA8F0",Culture="neutral",FileVersion="2.1.2.0"'. Please refer to Help and Support for more information. HRESULT: 0x8002802F. assembly interface: , function: CreateAssemblyNameObject, component: {6F0DFD4C-19BB-4347-99E5-6502E8C9A6CC}) Resolution: It was necessary to uninstall Visual Studio 2005 and all the .NET components via the control panel
Problem: Determining the EXE to start the program is easy. - The windows explorer can be used to start it. - If an icon on the desktop is uses, its properties give the path - If the command prompt is used, the EXE is in the actual directory, or ... Here the difficulties - or better say for this paragraph "possibilities" - begin: Examining the environment variable PATH will give the answer. If there are two, the first one is used. In the normal world of programs the EXE will not be the only file used by the application. The EXE may - need a COBOL runtime system -- which may need a _COBCONFIG.cfg configuration file - use self programmed DLLs, COBOL INTs and GNTs - start other EXEs, e.g. by CBL_EXEC_PROGRAM - uses DialogSystem screen sets --- which may need an *.ICN file - open user files -- which may need an EXTFH.cfg configuration file ... The strategies to find the files are manifold. Environment variables like PATH, COBDIR, and others, re
Problem: When attempting to perform a rebuild of an indexed file from the command line (eg rebuild filename.dat) , the following error may be displayed: Error on Input File - Striped File Descrepancy even though file striping is not being used. Resolution: One possible way of rebuilding the file is to generate a new version of the .idx file. In one previous instance where this error occurred, it seemed that the original .idx file was completely corrupted and was not able to provide any meaningful information to the filehandler. Subsequently, it incorrectly determined that the file was a striped file. This resulted in the creation of a new version of the .idx and match that with the original version of the .dat file and then rerun rebuild in order to regenerate the index based on the data in the original .dat file. The steps to achieve this are as follows: 1) Deleted the existing .idx file
Problem: Missing service interface file message when running imtkmake -generate command. Resolution: Using the Net Express 5.0 Interface Mapping Toolkit GUI to create a mapping for a Web Service and then run the imtkmake.exe command line utility with the -generate option to create a .car file deployment package, the message "Missing service interface file" can be shown. This may happen running the command from a location where the interface file does not reside. This particular file goes by the name of the web service with a .xml extension. For instance, if the command is: imtkmake -generate service=MyWebService type=webservice then the service interface file name would be MyWebService.xml. Having used the Interface Mapper GUI to map the interface from a project, this file can be found in the REPOS subdirectory. Old KB# 1227
Problem: Is there an easy way to count the number of records in an indexed file? Resolution: Use rebuild with the "/n" option to read the header of the indexed file and return information on the file which will include the numbert of records. e.g. rebuild /f file.datOld KB# 1233#AcuCobol#ServerExpress#RMCOBOL#COBOL#netexpress
Problem: Runtime DLL 'CBLRTSS' not found when running a CGI web application. Encountering any message mentioning runtime DLL 'CBLRTSS' not being found when running a web application on a server where Net Express Application Server is installed, it means that the COBOL runtime files cannot be located by the web application. Resolution: Built/linked the application to use the shared runtime, but have not specificed the "dynamic" option for the shared runtime, then it is a must either to set the PATH and COBDIR environment variables to the location of the runtime files (Application Server) or to place the application where those files reside. Linked the application to use the dynamically bound shared runtime, then the application will first search the Windows registry to find the location of the Application Server runtime files. It is possible that the web application, when deployed to the web server, does not have access
Problem: Is there a way to clear a record buffer for a file after every WRITE operation? Resolution: FDCLEAR specifies that a record buffer for a file should be cleared after every write operation. FDLCEAR Parameters 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. 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 SAME RECORD AREA clause in the I-O-Control paragraph. Specifying FDCLEAR with no parameter has the same effect as specifying FDCLEAR "1"
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.