Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
Problem: Got back this error and have to use INITIALIZE for numeric data items. Resolution: Yes, you will get back this error also if the VALUE clause is not used for data items at compile time. The reason for this is (s. Language Reference Chapter 3:Language Fundamentals): >The initial state of a data item depends on the presence or absence of a VALUE clause in its data description entry...< Therefore, you have to adjust all data items to the correct numeric data type to avoid error 163. You can get additional information from KB article#17644. Old KB# 7024
Problem: Do ODBC drivers come with Net Express? Resolution: The only ODBC driver shipped with Net Express 4.0 or later is for use with the Micro Focus SQL Option (XDB). For details on ODBC driver vendors, there is an independent ODBC portal at http://www.sqlsummit.com/ODBCPORT.HTM , which has a link to a list of ODBC driver vendors. Micro Focus does not endorse, recommend, or otherwise suggest that these products either do or do not work with any version of Micro Focus products. Old KB# 7026
Problem: How to look up the Process ID from the current process? Resolution: The following will show the Process ID (PID) of the current process. 01 CurrentProcessId DWORD. 01 pSessionId DWORD. call cc74 "GetCurrentProcessId" returning CurrentProcessId Another way to do this is with the use of API: There are different ways for APIs for Win9x Platforms and for NT/2000/XP/2003 Platforms. For Windows 2000 etc... You need the Process Status Helper API http://msdn.microsoft.com/library/?url=/library/en-us/perfmon/base/process_status_helper.asp?frame=true For Windows 9x you need the ToolHelp Library http://msdn.microsoft.com/library/?url=/library/en-us/perfmon/base/process_status_helper.
Problem: After installing Net Express .NET enhancement you can not start the .NET IDE also the NetX4.0 IDE because there is a hint that the file dte.olb fails. Resolution: You should try to re-register this Microsoft file via regsvr32 from command-line, probably it was unregistered during the installation procedure. This file can be found in ..\\common files\\Microsoft Shared\\MSEnv. Old KB# 7015
Problem: Editing or Debugging Copybooks When editing or debugging a program, you step into a copybook, then the editor or debugger will not position correctly thereafter. Microsoft Knowledgebase number: KB830514 Resolution: We advise you to apply the Microsoft Visual Studio fix for this problem, before using Net Express with .NET. You can download the fix from our Micro Focus SupportLine website (http://supportline.microfocus.com) under the "Patches & Fixes" for Net Express 4.0 with .NET <<KB830514.zip>> contains two EXEs NDP1.1-KB830514-X86.exe and WindowsServer2003-KB830514-x86-ENU.exe (one of the exe is for Windows Server 2003) Old KB# 7038
Problem: The COBCH errors are syntax errors. Resolution: To find the complete list of (COBCH) syntax errors: 1. Click on Help > Help Topics 2. Click on the Index tab 3. Type in "syntax error" 4. Double-click on "Syntax error" from the list 5. Double-click on "Syntax Checking Error Messages" The syntax error should give enough information. Another way to see an individual error from the the help would be to use the Search to look for COBCHxxxx. Old KB# 7030
Problem: In Net Express are you able to redirect your executable module to a different directory during compile/link? Resolution: Yes you can select the location for the exe's (or whatever files you wish) 1. From the top menu bar select Project>Deployment 2. A window will appear that says files selected for deployment- select ADD 3. Another window will appear where you 1- browse for files to be deployed 2. browse for the location to put the files 3. Remove the extension (needs to be blank) 4. check ok 4. Rebuild All to get the module/modules copied to the deployed location. Old KB# 7059
Problem: When trying to change a value in animate mode with the examine monitor, the window is completely greyed out, and value(s) cannot be changed. Resolution: The file VALUEEDITNX.OCX was on the server machine, but had not been copied over to the client machines. You can copy this file from the server to the client, and register this file with the REGSVR32. Old KB# 7047
Problem: ODBC interface to DB2 Trying to resolve blocking/locking problem for multi-user situation: Trying With NOLOCK on declare cursor statement is producing invalid sql statement on open cursor (sqlcode=-104). WITH NOLOCK it works fine for SQL Server. Resolution: NOLOCK is not an ansi standard option, and is supported by SQL Server, but not by DB2. Use the FOR READ ONLY clause in the declare statement. The IBM docs indicate if you do not explictly state FOR READ ONLY the cursor is assumed to be updateable. In addition, compile with sql(thread=isolate) With THREAD set to ISOLATE, all connections, cursors and so on are local to the thread that creates them. With THREAD=ISOLATE, each thread gets its own connection. RESOLUTION: Setting compiler directive sql(thread=isolate) and adding the FOR READ ONLY clause on declare cursor resolved the blocking problem with DB2. Old KB# 7058#COBOL#netexpress#RMCOBOL#Se
Problem: Retrieving ALL the Environment variables of the current process with ONE call to the Microsoft API GetEnvironmentStrings. Resolution: $SET case defaultbyte"00" special-names. call-convention 74 is winapi. working-storage section. 01 ptr pointer value null. 01 i pic 9(18) value 0. 01 j pic 9(18) value 0. 01 k pic 9(18) value 0. 01 l pic 9(18) value 0. 01 WSEnvtStrings pic x(150000) value
Problem: What are the maximum file limits when using FILEMAXSIZE=8. Resolution: The large file support is as follows: 1) By default, shared files can be up to 1GB, unless you use LOCKTYPE=2. In the latter case, the file size is limited by whether duplicate key compression is used: 4GB if it is not and 2GB if it is. 2) If you want to go beyond this then you can use IDXFORMAT(8) which allows 256TB for the default 48bit pointer form. 3) Some OSs (e.g. 95) will not allow files greater than 2GB and such cases you can use STRIPING which has a maximum of 512GB (256 x 2GB). Please take note of issues with FAT format and mixing environments when using large files on Windows. Old KB# 7063#ServerExpress#AcuCobol#RMCOBOL#COBOL#netexpress
Problem: When attempting to generate COBOL calling C#, the regasm command gets error "cannot bind to server <DLL name>" Resolution: The following steps will allow Cobol to call a .net dll. 1. Create a new VS.NET class library and add a simple method that returns a string. 2. Strongly name the assembly Use the sn.exe utility to create a key for the assembly (sn.exe -k TestKey.snk) 3. Add TestKey.snk to the VS.NET project and modify the AssemblyKeyFile attribute in AssemblyInfo.cs to have the filepath to TestKey.snk i.e. (last three lines in the AssemblyInfo.cs) [assembly: AssemblyDelaySign(false)] [assembly: AssemblyKeyFile(@"C:\\Net Express\\Base\\DEMO\\omdmap\\TestKey.snk")] &nb
Problem: Attempting to read in an XML document, move i's elements to a new output XML file with the same layout, and write all the records to the new file. The document file contains one root element called <letteroutput> and this is speciified at the 01 level of the record description. Within this one root element there can be any number of child elements called <dunning_letter> which itself contains other child elements and attributes. Reading through the input file using READ NEXT KEY DUNNING-LETTER, and then was moving the elements of each record to the output record, followed by a WRITE LETTER-OUTPUT, and ending up with the <letteroutput> tag for each id (key). move c-type to o-type move c-id &n
Problem: Running an application from within a .bat file, and would like a way to check the cond code. Resolution: An example script file: @echo off rem - sample batch files using selection list :begin cls myapplication if errorlevel == 3200 goto 3200 if errorlevel == 1600 goto 1600 if errorlevel == 2 goto two if errorlevel == 1 goto one goto end :3200 echo you have selected 3200 goto end :1600 echo you have selected 1600 goto end :two echo you have selected two goto end :one echo you have selected one :end rem next line will end current window rem exit Old KB# 7035
Problem: sqlcode=-208 Invalid object name for Sql*server 7 when doing an insert into local temporary table Resolution: The solution will be to create a local temporary table (#temptable) using Execute Immediate statement, then you will be able to do the insert. It's is a Microsoft problem for Sql*server 7 with ODBC drivers. Old KB# 7069
Problem: NOANIM used in compile statement still results in ANIM shown in listing when using CONFIRM directive. Why would ANIM show in the list produced by the CONFIRM directive when NOANIM is used at compile time? Resolution: NOANIM is the default setting when working from a Net Express command prompt and using the COBOL compiler or CBLLINK. ANIM is the default setting when working within a Net Express project. In a Net Express, Release Build you can use a Cobol.dir file in the project directory for these compiler directives: show-dir setting"col3" confirm list() to obtain a listing file. In Project (menu), Properties (button) you must negate (with a "no" prefix) these compiler directives: WB3 WB CSI ANIM and NOANIM shows in the listing file! IMPORTANT: Using the XREF directive will force ANIM because the checker has to do processing ======= that it would only do when compiling for animati
Problem: Is there a way of stopping MFDEBUG.LOG being generated or changing its location. Resolution: There is no way to specify an alternate location for the MFDEBUG.LOG file. However, you can affect its generation by trying the following: 1) Create a "read-only" dummy mfdebug.log file in the folder. This should stop any new versions of the file being created. 2) Another option would be to set the runtime tunable called: signal_regime (see online documentation for full details). You would need to set this option to signal 11 with a value of 2. 3) Alternatively (and probably the best option) is to identify the reason for the exception and to fix it within your application. Old KB# 7061
Problem: OPEN Cursor declared as ... WITH HOLD returned SQLCODE of -19520 Error states connection does not support HOLD cursors. Resolution: Make sure that the ODBC driver is configured to allow Cursors declared as WITH HOLD Old KB# 7072
Problem: The records are x'0d" delimited in a Macintosh's line sequential file, and the file handler only recognizes x'0a' (used in Unix) or x'0d0a' (used in Windows) as a valid record delimiter. The file cannot therefore be defined and read as line sequential in COBOL. Resolution: One would assume that LSRECDELIM (file handler configuration option) would be the solution, but that option only accepts either x'0a' or x'0d0a'. The alternatives are using byte-stream I/O routines to convert the file to x'0d0a' record delimiters, using third-party software to convert the file, or reading the entire file as as a single record and extracting each record delimited by x'0d'. Note: 1. There has been an enhancement request that was raised to support x'0d' as a valid parameter to LSRECDELIM option (RPI #1053920) 2. x'0d' = CR = Carriage Return character 3. x'0a' = L
Problem: CCITC32-0034E CCITCP could not find an 'mfcobol' port in the 'services' file. Resolution: You can manually add the entry into the services file; located in the Windows\\system32\\drivers\\etc directory; as mfcobol 86/udp within the correct numerical location within the file or you can use CCIINST.EXE which is located in the Bin directory of application server for Net Express, or Net Express development \\base \\bin directory. Old KB# 7051
Problem: DB2 application returned SQLCODE -1403 on connect statement Resolution: sqlcode =-1403 The username and or/ password supplied is incorrect for DB2 ECM interface if you use the host variables for userid and password in the connect statement and these host variables are longer then actual name and password.To resolve use null termination (Example: Move 'userid' & x'00' to db-userid) to both user nme and password. This should no longer occur with Net Express 3.1 and later. Old KB# 7064
Problem: INSERT/UPDATE/DELETE statements return SQLCODE of 0, though the changes have not been applied to the database. Why are the INSERT/UPDATE/DELETE statements not working? Resolution: The default behavior will be to rollback. You should either code an explicit EXEC SQL COMMIT statement, or with OpenESQL applications, compile with the SQL(AUTOCOMMIT) compiler directive. Old KB# 7009
Problem: Error 107 "Operation not implemented in this Run-Time System" when creating a thread using the START verb. Resolution: The error occurs if you are using the single-threaded runtime when creating a thread. If you get this when animating or running .int code, you must specify the multi-threaded runtime in the "Animate...Settings" menu, "Use multi-threaded runtime" checkbox. Old KB# 7034
Problem: My questions is : when it says "removed from memory", what does it means ? " A .dll file is automatically removed from memory when a COBOL program within it is cancelled" Resolution: This depends on the setting in the IDE for the Project Properties>Application>Program Loading tab for the "Cache Programs" option. If this is checked then a CANCEL for a program contained within a .DLL will not release the physical memory for the .DLL. If a program in the .DLL is called again then the same .DLL will be used but the program will be in it's initial state. If the Cache Programs option is not on then doing a CANCEL progname for any program within the .DLL will physically remove it from memory. Old KB# 7031
Problem: Where an OPEN statement- the fd assigned to working storage name which has full path assigned and the file is in location pointed to by working storage variable Resolution: Make sure that the compiler directive ASSIGN"EXTERNAL" is not used with the build of the program. Old KB# 7017#RMCOBOL#ServerExpress#AcuCobol#netexpress#COBOL
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.