Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
Problem: How can control be returned from a Dialog System Entry-Field after a specified time if the user does not input anything? Resolution: A TIMEOUT may be configured for this. >>> TIMEOUT 500 NEXT The second parameter of a timeout specifies the waiting time in hundredths of a second, after which the procedure defined by the third parameter is executed. Here: "NEXT" is executed after 5.00 seconds After the timeout occurs, please check, if there was a change on the entry-field. If there was a change, do not leave the entry-field, because the user may just enter something. Be aware, that programmed controls like a ListView, by default, do not cause a Lost-Focus-event for an Entry-Field. If the user can change to a programmed-control, please invoke its SET-FOCUS method to cause the LOST-FOCUS event for the entry-field. ------------------------------------------------------- data fields ------------------------------------ EF2-
Problem: How to use the SetWindowText Windows API in a COBOL program. Resolution: Character user interface. RUNW.EXE - COBOL TEXT window. SPECIAL-NAMES. CONSOLE IS CRT CRT STATUS IS WA-FUNCTION CALL-CONVENTION 74 IS WinAPI. WORKING-STORAGE SECTION. 01 wHwnd pic xxxx comp-5. 01 statusCode pic xx comp-5. 01 SetWindowTextReturn pic xxxx comp-5. PROCEDURE DIVISION. display spaces upo
Problem: There is some confusion about how the VALUE NEXT phrase works when it is defined for a 78 level constant data-item that is embedded within a group item containing the REDEFINES clause. Using the example below, the following questions are asked: Is there any reason why the value of MTCount is 23 and not 12? Is there any reason why uncommmenting TABLE-TWO will correct the problem? 01 TABLE-ONE. 78 LTSize VALUE 17. 78 LTStart VALUE NEXT. 05 WS-LEVEL-TABLE. &n
Problem: Using Net Express 4.0 and receiving the message: ASLM: Semaphore failure ASLM: errno 1002 on the Net Express development PC. Resolution: The environment variable COBDIR must point to the actual Net Express\\base\\bin directory and may point additionally to further directories like DialogSystem. Please ensure that COBDIR does not point to an older version of Net Express: Open a Net Express Command Prompt, enter > set COBDIR to verify that COBDIR has a correct value. Old KB# 5232
Problem: Would like some additional information on this error. Net Express Exception Handler - 02/04/2005 07:09:42 O:\\FLLEV-P\\PROD\\TLS-A1WG.EXE caused an exception at address : 0x605114D0 Exception type - EXCEPTION_IN_PAGE_ERROR Registers: EAX 00000000 EBX 610525E0 ECX 00000020 EDX 00000000 DS 0023 ESI 61052628 ES 0023 EDI 00000000 FS 0038 GS 0000 CS 001B EIP 605114D0 SS 0023 ESP 0012F700 EBP 00000000 Flags 00010246 Error occurred in : O:\\FLLEV-P\\PROD\\Pan2NT.dll, loaded at 0x60500000 COBOL call stack: panels2 (obj program) panels2 (obj program) dsgrun (obj program) LSEP00G (gnt program), loaded from O:\\FLLEV-P\\PROD LSEO00G (gnt program), loaded from O:\\FLLEV-P\\PROD LSEO001 (gnt program), loaded from O:\\FLLEV-P\\PROD TLS-A1WG (obj program) Run-time : O:\\FLLEV-P\\PROD\\cblrtss.dll, loaded at 0x60080000 OS Inf
Problem: Trying to execute batch file with CBL_EXEC_RUN_UNIT and receiving error code :173, pc=0, call=1, seq=0 called program not found in drive/directory. Resolution: CBL_EXEC_RUN_UNIT creates a synchronous or asynchronous run-unit for the execution of COBOL programs. It does not start a command processor and therefore cannot "run" a batch file. However, a command processor can be started to run a batch file from a CBL_EXEC_RUN_UNIT command line. Use a command line such as below to start a command processor and execute a batch file (the "/C" switch is a "continuation" switch to get the command processor to read the remainder of the command line): cmd /C t.bat CBL_EXEC_RUN_UNIT cannot start Notepad.exe (for example) because Notepad is not a COBOL program. The same work around as above can be used to overcome this limitation. Start a command processor and execute a batch file that executes Notepad.exe.
Problem: Check that all DLL's are built using the same compiler version as the EXE and that they are not trying to override the EXE runtime, by building a static DLL with a different version of the run time than the EXE. Resolution: Steps to take for additional support help. 1) run mfsupportinfo.exe, this can be located at the Micro Focus support site http://supportline.microfocus.com expand self service, select Net Express Examples & Utilities, select samples then Utilities. 2) directory listing of project directory 3) Project(.app) file Sample evaluation found below. - From the MFSupportInfo log file it can be seen that the current WrapPack, ALL04N40, has been installed on January 21st, 2005. - That WrapPack was packaged/released around the middle of November 2004, November 12th, 2004. - From the directory listing provided the DLLs being used with the main program are all dated October 14th, 2004 and all have sizes o
Problem: Net Express install displays message that application server is installed. Resolution: To workaround this error message when attempting to install Net Express 4.0, the following needs to be done: Using the REGEDIT tool, rename: HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\Currrent Version\\Uninstall to HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\Currrent Version\\Uninstall-temp Start the Net Express 4.0 setup. When the first setup screen is displayed, rename the key back to HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\Currrent Version\\Uninstall Continue the setup. Old KB# 5240
Problem: The generated COBOL Web Service Clients default to PIC X(100) for strings. This can cause issues as more than 100 characters may be returned in a string. This article will provide an example of amending the WSDL to specify the string size needed and then the COBOL Client is generated within Net Express from the amended WSDL. Resolution: The example: <?xml version="1.0"?> <definitions name="CATrafficService" targetNamespace="http://www.xmethods.net/sd/CATrafficService.wsdl" xmlns:tns="http://www.xmethods.net/sd/CATrafficService.wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:new="new"> <types> <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="new"> <simpleType name="string2">
Problem: Working under Windows XP as a user and received the following message: Failed to create database file. Check that existing file is not locked. Attempted to create file : C:\\Documents and Settings\\All Users\\Application Data\\Micro Focus\\Net Express\\4.0\\SYSTEM.DAT The attempt to create a new system database failed. The original database will be restored. Resolution: Net Express will create an application data file named "system.dat" in the location designated for application data. The location is normally C:\\Documents and Settings \\All Users\\Application Data \\Micro Focus\\Net Express\\4.0 All users running Net Express should have write permissions to that location in order to create/update the file. As this is the recommended location to use for application data you will find that other applications will also be creating/updating files under ".\\AllUsers\\Application Data\\." so the relevant permissions will be
Problem: Trying to install Net Express 4.0 from CD. Receiving error cannot write to silent script log file unable to continue Logged on as administrator, TMP and TEMP point to C:\\temp Resolution: Running the following command where X: represesent the CD=Rom drive installed the product X:\\SETUP\\SETUP /INI=X:\\SETUP\\NXSETUP.INI /LOGFILE=C:\\TEMP\\SETUPLOG.TXT Old KB# 5202
Problem: How can the HIDE-OBJECT function be used in Dialog System dialog on a ListView? Resolution: The HIDE-OBJECT function cannot be used in a Dialog System dialog on programmed controls like a ListView or a TreeView. But the corresponding routine from the class library can be invoked in the control program. Please use the method "hide" of the class abstract window, which is inherited by the programmed controls: INVOKE aControl "hide" This will hide the ListView. Old KB# 5207
Problem: Does Net Express support displaying Unicode characters in a console application? Resolution: Character Dialog System and ACCEPT/DISPLAY do not support Unicode. Old KB# 5251
Problem: Can a Dialog System .IMP-file be exported / imported from the command-line? ---- Importing the .IMP-file by the GUI-interface to a new screenset, duplicate "ESC and Window-Created-events" are reported. OK, they could be manually deleted from the global dialog and the existing auto-created window. But (how) can this be done automatically by the import? Resolution: Yes, both are possible by using the command-line interface of the DSWIN.exe, e.g. from a Net Express Command Line. The command-line interface offers a possibility to overwrite the existing auto-created content of an "empty" screenset. An export of the screenset can be initialized by: /e screenset-name [output-filename] The IMP-file can be imported by: /i import-filename [screenset-name] which can also be used to add the imp file to an existing screenset. The /i may cause the same problems with ESC and WINDOW-CREATED events when importing by the GUI-interf
Problem: Error received; "cannot run 16 bit window program - access to specific devise is denied" Resolution: copy cd installation to a directory on the hard drive that has no spaces in the name Old KB# 5201
Created On: 02 January 2005 Problem: When a copybook, specified in conjunction with a COPY statement, cannot be found, the compiler will flag it with the following error: "COBCH0008 Unknown COPY file filename specified" Where filename is the name of the missing copybook. Resolution: 1. Make sure the file is available in one of the following locations: in the same directory as the source code that has has the COPY statement in one of the directories specified in the COBCPY environment variable, i.e. COBCPY=c:\\copyfiles;c:\\morefiles in the same location as specified in the COPY statement IF it is fully qualified from the COPY statement, i.e. x:\\dir\\filename.cpy 2. Make sure to specify the extension in the COPYEXT directive if it is not either CPY or CBL, i.e. COPYEXT"src,txt" 3. Make sure to add the COPYEXT directive accordingly: in a directive file, e.g. COBOL.DIR in the project folder, or &
Problem: Net Express 4.0 with .NET Does SQL(DBMAN=ADO) in .NET give access to all ADO.NET functionality? Resolution: The current version of Net Express with .NET documentation states: 1) Existing ODBC applications can be supported by using the SQL(DBMAN=ADO) compiler option. An application can use both ODBC and ADO.NET but not within the same source program. 2) However, it is stated that ADO.NET does not have all the features of ODBC. Also the storage and performance characteristics may also differ. 3) Additional EXEC ADO statements have been added to Net Express with .NET. These allow access to the ADO.NET objects that OpenESQL uses at run time. Old KB# 5223
Problem: In the following example when all values on the right are 0 - gives a result of 1 - why? COMPUTE A = 1 * (B/C) (D/E) (F/G) If the value of C, E and G are changed to 1, then the result is 0. Resolution: The results beong returned are expected behaviour. The COBOL standard dictates that the result of a division by zero when no ON SIZE ERROR phrase is specified will be unpredictable (see the extract from the documentation below). ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The ON SIZE ERROR Phrase and NOT ON SIZE ERROR Phrase If, after decimal point alignment, the absolute value of a result of an arithmetic operation exceeds the largest value that can be contained in the associated resultant-identifier, a size error condition exists. Division by zero always causes a size error condition. Note that the results of division by zero when no ON SIZE ERROR phrase is specified are unpredictable. The size error condition applies
Problem: What is a return code of 128 from STOP RUN/GOBACK? Resolution: If a program simply terminates with a STOP RUN or GOBACK then the value returned to ERRORLEVEL is undefined. Basically it could be anything from an OS value through to a piece of uninitialized memory. When using ERRORLEVEL with a COBOL program then it is necessary to explicitly control/set it within the program code. For example: ... move 12 to return-code. stop run. or ... stop run returning 12 size 4. or ... move 12 to return-code. goback. or ... goback returning 12 size 4. Old KB# 5192
Problem: Net Express 4.0 Oracle ODBC driver. Resolution: Investigations showed that this was an issue with the Oracle ODBC driver. A solution is to use the DataDirect ODBC drivers: 1) Download the Data Direct evaluation version of their suite of ODBC drivers: http://www.datadirect.com/download/index.ssp - Data Direct Connect ODBC for Windows release 5.0. 2) Install these and configure a new DSN for Oracle using their driver. Alternatively, contact Oracle support who may be able to supply an updated driver of their own. Old KB# 5249
Problem: Is it possible to remove the scroll bar of a Dialog System's MLE control? Resolution: It is not possible to remove the scrollbars from a standard Dialog System MLE control. It is however possible to create a MLE (Multiple Line Entry field), by using the Programmed Controls Text Entry Field control. Look at the sample under DialogSystem\\CommonControls\\TextEntry. Open up the Screenset and modify the Window so that you can make the first Text Entry Control field larger by stretching it downwards, like an MLE. Then save the screenset and regenerate the control program so that it uses the new coordinates. Open up the control program EFDEMOTXTFLD.CBL and add the following two lines of code just prior to the last invoke in the Create-Entry-Field section. invoke aTextEntry "multiplelineentry" invoke aTextEnt
Problem: Release: Net Express 4.0. Can an Application Server install silently with Application Server Service Pack only? Resolution: Yes, it is not necessary to install the Application Server directly from the CD. The related Service Pack file aps*a*.exe (e.g. aps05a40.exe) can be used instead. 1. Prerequisites: - The APS Service Pack needs to know, where the Application Server should be installed. Set the following registry entry, e.g.: HKLM\\SOFTWARE\\Micro Focus\\Net Express\\4.0\\COBOL\\4.0\\Setup\\apslastfulldir = "C:\\MyApplicationServerDirectory" - The APS Service Pack needs to know, where the License Database should be installed. Therefore a registry entry must exist similar to: HKLM\\SOFTWARE\\Micro Focus\\ASLMF\\ASLMFDIR = "C:\\mfaslmf" Please use aslmpclocate.exe to locate the license database, e.g. to C:\\mfaslmf 2.
Problem: Tips on how to use data type 'SQL TYPE is TIMESTAMP' vs. MSSQLSERVER also ORACLE database. Column in MSSQLSERVER is declared as 'DATETIME'. Column in ORACLE is declared as 'DATE'. Both databases reflect a date format 'dd.mm.yyyy hh:mm:ss' which is different to 'yyyy-mm-dd hh:mm:ss' by default. Resolution: A string should be redefined as follows, i.e.: 02 upd-date. 05 upd-dd pic 99. 05 filler pic x value ".". 05 upd-mm pic 99. 05 filler pic x  
Problem: When updating the Net Express 4.0 product where can the various fixpacks be found? Resolution: With Net Express 4.0 fixpacks are now bundled together so only one wrappack module will have to be downloaded and installed. It will start with ALLnn. Download and save this file and then run it while Net Express is closed. Old KB# 5208
Problem: Debugging through COBOL calling C with both debuggers. Resolution: Debugging through Net Express 4.0 COBOL int code and Visual Studio 6 C DLL code =========================================================== The project locations for this example are "C:\\cobol\\cobcallc" for the COBOL project and "C:\\cobol\\csubprog" for the Visual Studio C DLL project. It may be necessary to first edit the Windows System PATH environment variable to add the location of the C DLL so that the COBOL program can load the C DLL if they are in different locations. Open the Net Express project. Choose the "Animate" menu, "Settings..." menu: In the "Mixed Language Debugging" group, make sure that the "enable mixed-language debugging and disable generated and linked code debugging" radio button is selected. In the "General" group, the "Start Animating at" field should point to the loca
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.