Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
Problem: Micro Focus documentation describes WRITELINE for the extfh.cfg configuration file as: WRITELINE - Determines whether mainframe or PC behavior is used for WRITE record. What does this actually do and what type of file does it affect? Resolution: The WRITELINE option only affects line-sequential files that contain qualified writes. When switched on any unqualified writes are treated as a write after 1 making it a qualified write. Note: Set WRITELINE=OFF if PC print behavior for WRITELINE is desired when using mainframe dialects. Old KB# 1402#AcuCobol#COBOL#netexpress#RMCOBOL#ServerExpress
Problem: Releases: Net Express and Mainframe Express: Want to know which files are involved to store breakpoints / watchlists during an IDE session. Resolution: The file which stores the breakpoints is the projectname.~ds file on Net Express and projectname.dbs on Mainframe Express. The ~ds/dbs file is only written when the project is closed. So if for example Net Express just had the unfortunate occurrence to crash, then the breakpoints do not get saved and they are lost. Alll the watchlist information is stored in the ~ds/.dbs file as well. Net Express:The .idy file and .app file do not store breakpoint information. Mainframe Express: The .idy file and .mvp file do not store breakpoint information. Old KB# 1268
Problem: Subprogram's Working-Storage is only initialized the first time is called. Any subsequent calls to the same subprogram will find the previous values of Working-Storage. Resolution: Add the INITIAL clause to the subprogram's PROGRAM-ID, e.g. PROGRAM-ID SubProgram IS INITIAL. An initial program is one whose program state is initialized when the program is called. During the process of initializing an initial program, that program's internal data is initialized as described in the section State of a Function, Method, Object or Program. The initial attribute is attained by specifying the INITIAL clause in the program's Identification Division. Old KB# 1350
Problem: If you are using the "InsertAfter" method of the selection object to enter text into a Word document then the selection is expanded with the new text. This can cause problems when you jsut want to apply formatting (Bold etc) to some of the text. If you apply Bold then it applies to all the selection. Resolution: You can use the "Collapse" method of the selection object reset the selection down to just the current text entry position. Some example code to perform this is:- *> Here we want to do collapse and bold the next text set wdCollapseEnd of ws-direction to true invoke theSelection "Collapse" using ws-direction invoke theSelection "
Problem: Release 5.0: Using COM Automation with Microsoft Word then how to perform a find and replace in the documents. Resolution: The work demo supplied with Net Express V5 in the COMDEMOS directory contains an example of this in Word5.cbl. The code that performs a find and replace is:- invoke theDocument "getParagraphs" returning theParagraphs invoke theParagraphs "item" using by value 2 returning theParagraph invoke theParagraph "getRange" returning theRange invoke theParagraph &
Problem: Both Netexpress 5.0 and 4.0 are on the machine, trying to run a 4.0 exe and getting an error that it cannot find the 4.0 run time: "Runtime dll 'cblrtss, version 4.0 entry pint mf_ld_dynlnk_lib_check not recorded in registry not found or incompatible with requirements of dynamically bound cobol program dynamic binding of rts requires runtime dll, at least version 5.0" Resolution: To ensure that the EXE has been compiled under the 4.0 runtime, the problem is can be that the EXE is calling a DLL - and there is a mix one if not more of the DLLs it is finding has been compiled with the 5.0 version. Assure that all modules being used have been compiled under the same version and that if there are other versions of the same modules from a different version that they cannot be found in the PATHing and COBDIR when running a different version. Old KB# 1325
Problem: Are there any general tips on how to inprove file access performance? Often we are asked about buffers, and if there is a way to make read only data read faster? Resolution: Things to consider are: Exclusive access (OPENINPUTSHARED/READSEMA). For a file that is accessed many times, have a consider using the LOADONTOHEAP EXTFH (external file handler) configuration option and/or SEQDATABUG EXTFH configuration option. Each of these is documented in the Net Express help. Also from the Net Express help, under the File Handler help>performance: You can take various steps to improve the performance of the File Handler. These all involve the use of various configuration options. Details are as follows: You can increase the number of indexed file nodes that are cached, as opposed to being held on disk. You specify the number of nodes with the INDEXCOUNT configuration option. We recommend a setting of 32, but you can choose a larger
Problem: A COBOL record layout is similar to a C structure containing arrays of characters. When the Compiler assigns a COBOL record layout, it does not take into account the alignment of binary or pointer data items, or byte ordering of binary (COMP-X) data items, required by any specific hardware platform; because of this, COBOL applications are extremely portable. However, this portability can cause problems in mixed-language applications. C structure layout is not as rigidly defined as COBOL record layout and varies quite widely from operating system to operating system. Resolution: For example, in COBOL the structure: 01 mystruct is typedef. 05 mystruct-key-1 pic x occurs 2. 05 mystruct-bin-1 pic x(4) comp-5. is six bytes long, no matter what platform it is compiled on. However, with the C compilers provided on mos
Problem: Doing a statement: ACCEPT MAIN-MENU ON ESCAPE GO TO 20-CK-FUNCTION. This allows PF keys to be depress for different answers. But every time hitting a PF key for the answer the screens states: THAT KEYSTROKE HAS NO MEANING HERE. The older version (workbench) worked just fine. Resolution: First check the old system for this file --> ADISCTRL and place it in the directory with the .EXE If it does not exist to create a new one using the utility ADISCF, to find this in help, on the index tab type in adiscf Then to manually link in these modules if using static linking for the .EXE: Highlight the exe, go to build settings, go to the link tab change the category from "general" to "advanced" and on the line that says link with these objs list these modules; adis,adisinit,adiskey,adisdyna Old KB# 1291
Problem: How to perform Implicit Connection to a MS SQL database from a COBOL program in Net Express 4.0? Resolution: 'Database Access' book > 'Part 2: OpenESQL' > '7: OpenESQL' Create an ODBC data source to the MS SQL database and test the connection. Set the SQL directives INIT, DB (name of the ODBC data source) and PASS (username.password to access the database) Example - $set SQL(INIT DB=mydatasource PASS=username.) Micro Focus recommends that rather than using the SQL(INIT) compiler directive, that EXEC SQL CONNECT statements be used instead. Old KB# 1258
Problem: The classic tools were shipped as Addpack in NX 4.0 The classic tools were not shipped with NX 5.0 Resolution: The Classic Tools AddPack is attached to this document. These tools are not supported i.e. No corrections for defects are available. Take the following steps to use the tools: 1) Unzip the attached ZIP in to a folder on your PC e.g. c:\\ClassicTools. 2) Copy the following files from \\NetExpress50\\Base\\BIN to c:\\ClassicTools. mflang01.lbr mflang05.lbr mflangdf.lbr 3) Rename the original files in \\NetExpress50\\Base\\BIN to *.old i.e. create a backup of them! 4) Run the INST.BAT file in the c:\\ClassicTools folder. 5) Copy all the files in c:\\ClassicTools to \\NetExpress50\\Base\\BIN. Run the tools as follows: * SCREENS by entering SCREENSW.EXE. * MFFINDER by entering MFFINDER.EXE or MFFINDEW.EXE. * SOURCE FILE COMPARE by e
Problem: Running the Microsoft Vista operating system on a PC and having a problem to install FileShare. Trying to install FileShare using the usual: fsservice -i the system may have responded with: FileShare service failed to install Resolution: Under Vista there may be the need to use an "Elevated " command prompt... For example: d:\\development\\Netx50\\ilrts\\dnrts>fsservice -i Micro Focus Net Express V5 Version 5.003.0056 Copyright (C) 1984-2007 Micro Focus (IP) Limited. Fileshare Version 2 Revision 14711 FSS004-I Fileshare Service installed successfully. d:\\development\\Netx50\\ilrts\\dnrts>ver Microsoft Windows [Version 6.0.6000] To Create an Elevated Command Prompt shortcut Right click on your Command Prompt shortcut and select Properties. Click on the Adva
Problem: Release 4.0: The 'CBL_ERROR_PROC' COBOL library routine installs or removes an error procedure to be invoked automatically when a runtime system error occurs. ProgA calls the CBL_ERROR_PROC to install the entry point of ProgB as the error procedure. ProgA and ProgB are built as separate .exe executables from the command line as follows: cbllink -fs -s ProgA.cbl cbllink -fs -s ProgB.cbl Differences in behaviour between Net Express 3.0/1 and Net Express 4.0 ---------------------------------------------------------------------------------------- Net Express seems to install the error procedure, while the CBL_ERROR_PROC in Net Express 4.0 returns a 0256 status-code and fails to install the error-handling procedure. "ERROR - Unable to install RTS error trap 0256" Resolution: A separate EXE is a separate process and has its own Run-Time when it executes. There is no way to install an error procedure that will exist in a separa
Problem: Release 5.0: During publishing to Unix from Net Express under Windows XP SP2 Microsoft's error message occurs: C0000005 Access Violation Resolution: Creating a dump from this error message gets back a content similar as follows: This dump file has an exception of interest stored in it. The stored exception information can be accessed via .ecxr. (16fc.1694): Access violation - code c0000005 (first/second chance not available) eax=00000070 ebx=00000000 ecx=00000010 edx=002f6797 esi=01374438 edi=01374470 eip=7c90eb94 esp=0525b5e8 ebp=0525b5f8 iopl=0 nv up ei pl zr na pe nc cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000246 Unable to load image C:\\WINDOWS\\system32\\ntdll.dll, Win32 error 2 *** WARNING: Unable to verify timestamp for ntdll.dll ***
Problem: Problem running getdirectory demo. Getdirectory.cbl was not properly built. Resolution: Cleanup procedure for Rebuilding GetDirectory demo. 1) Open up the getdirectory project. 2) In the IDE on the left hand side delete everything for type of build DEBUG and also delete everything for type of build RELEASE. 3) Close down Net Express. 4) Manually, outside of Net Express IDE, go to the folder where to have the getdirectory demo. Delete everything in the debug and release folders. 5) Bring up the getdirectory.app again in the Net Express IDE. Go to the Release build for Type of Build. 6) On the right hand side from the source pool, drag over the getdirectory.cbl to the Release &nb
Problem: The .Net framework v2.0 introduced some new classes for ftp such as System.Net.FtpWebRequest. How can you use these classes from COBOL to perform an FTP request. Resolution: The exmaple project is attached. Some sample code to perrform ftp in .Net is:- $set sourceformat"variable" *********************************************************** * * Author - Micro Focus SupportLine * * Date - Aug 2006 * * Demo of .Net Framework 2.0 class for FTP File Transfer * &nbs
Problem: Working Storage of a subroutine is not re-initializing after a CANCEL is done in the calling program. Subsequent calls to the subroutine have the Working Storage items in the same state as after the end of the previous CALL. Resolution: This is caused by the use of the NODYNAM directive. Using this directive causes the CANCEL statements to be ignored. Even if you don't explicitely use the NODYNAM directive, you might have a DIALECT directive that will set it for you. If you do use the DIALECT directive, simply add the DYNAM directive after DIALECT and it will take effect. Old KB# 1362
Problem: There is a need to determine what database to connect to at runtime, to override the default set up through the ODBC DSN. Resolution: 1. Using a EXEC SQL USE DATABASE END-EXEC statement to change database, but this cannot be a host variable but is a hardcoded name. 2. Using a connection string (with a named connection is necessary) as specified in Format 6 of Connect syntax Format 6 >>----EXEC SQL---CONNECT USING input_connection----------> >-----.-------------.---.---------------------.----------> --AS db_name- --WITH-.----.-PROMPT- -NO- >-----.------------------------------.------END-EXEC---->< --RET
Problem: In Dialog System how to control the First Window displayed? Resolution: Dialog System will display the first Window as defined in the screenset. This screen is configurable at design time via the Sceenset/First Window menu option. If you want to control at runtime you can use the SET-FIRST-WINDOW function. This needs to be done in the SCREENSET-INITIALIZED function in Global Dialog. For more information please see the online documentation on the SET-FIRST-WINDOW function. Old KB# 1278
Problem: Net Express 3.1 pre-Service Pack 1 Installation of the fixpack xfh09n31.exe fails. Resolution: The problem is caused by "spacey" paths for the TMP and TEMP environment variables. The solution is to create the directory c:\\temp and change the TMP and TEMP environment variables to point to this path. The installation should go through ok after this. Old KB# 1259
Problem: Can the Net Express Development and Server products be installed on the same PC? Resolution: Unfortunately it is not possible to install both the development and runtime systems on to the same PC. Our development environment contains all the runtime files anyway. If you need to run both on the same PC then you may want to consider Microsoft Virtual PC. We use VPC here to run different products/versions on the same box. Old KB# 1396
Problem: A Net Express application is occassionally getting a File status error 9/199 returned when reading a sequential file. This is associated with messages in the Event Log - GetLastError() returned 64. Resolution: A 9/199 message indicates that the filehandler has received a message from the operating system that it does not understand. As we know, the Windows Event Log has indicated that Windows has issued an error message - GetLastError() returned 64 - which looks to be the real problem. Taking a look on the references on the Microsoft support site, this would point towards a newtwork traffic issue that is then subsequently throwing a 9/199 Referring to the Microsoft system error codes from this URL: http://msdn2.microsoft.com/fr-fr/library/ms681382.aspx Then seeing that a returned code of 64 = ERROR_NETNAME_DELETED 64 The specified network name is no longer available - meaning the environment has encountered network problems. De
Problem: Release 4.0: Applying websync and get message that dsc00nxx (xx would be version of product) cannot be applied. Resolution: The dialog character component goes with the unix option - The reason the dsy update did not apply is the unix option was not installed. Put the cd in and install the unix option if there is the need to apply this Dialog Character component. Old KB# 1324
Problem: Is there a PDF version of the documentation available for Net Express v5.0 Resolution: Regretably no. As an alternative you can use the online documentation provided with the product or use the web based documentation that is available from the following link; http://supportline.microfocus.com/productdoc.asp The direct link to the Net Express v5.0 documentation is; http://supportline.microfocus.com/documentation/books/nx50/nx50indx.htm Old KB# 1359
Problem: Visual Studio 2005 How to convert a character string of numeric digits into its equivalent numeric value - not as simple as moving the value of an alphanumeric data-item to a numeric (floating-point) data-item, as the decimal point may be lost. Resolution: Attached is a structured COBOL approach to converting the string to its numeric decimal equivalent. It splits the string on the decimal point into its integer and fractional parts; then performs a COMPUTE to work out the numeric decimal equivalent and store it in a numeric data item. This is just one approach. Attachments: testStrtoDec.cbl Old KB# 1263
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.