Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
Problem: How can I rebuild a Sequential File into an Index File with multiple 01 levels? Resolution: The reindex sample program does not cover multiple 01 levels. If the program has multiple 01 levels with varying length records, and each record has a unique length, it is possible to write the record to the correct 01 based on the length. To do this, change the sample reindex code in the following manner: 1) Create a data name in WS , such as, WS-SIZE PIC 9(4) 2) Change the FD for the binary sequential file to read: RECORD IS VARYING FROM 1 TO ### DEPENDING ON WS-SIZE. where ### is the maximum length for the record and the "depending on" clause will store the length of the record in ws-size. 3) Change GET-REC to have 03 FILLER P
Problem: Ported project from another machine to a different test machine. Trying to start animation from project. Resolution: One scenario for this error is as follows: The build settings for the EXE were sent to another directory other than the debug folder - **this was found by highlighting the EXE on the left hand side and doing a right hand click and choosing build settings -- the "file on disk" option had been changed to send the EXE to a different location other than the default "debug" or "release" folder. Trying to start animation from the top which was pointing to the debug folder if you hits browse and goes to where the exe is located it starts the easier method is to just highlight the exe on the left hand side and do a right hand click and choose animate Old KB# 5794
Problem: Using Sql Server and getting error message "Connection is busy with results for another hstmt" . which is caused when using Firehose cursors (client-side). Need to force server side cursors in my application. Resolution: Although client-side cursors are much faster than server-side cursors there is the SQL Server limitation that you can only have one client-side cursor open per connection. Microsoft introduced fastfoward readonly cursors to alleviate the limitation of working with firehose cursors. To force a server side cursor you can set scrolloption or use the new SQL compiler directive BEHAVIOR specifying primitive options to force a fastfoward readonly (server-side) cursor. In either instance the following sql compiler directive is required SQL(TARGETDB=MSSQLSERVER). 1. setting scrolloption EXEC SQL SET SCROLLOPTION FASTFORWARD END-EXEC or specifying it in DECLARE CURSOR statement EXEC SQL DECLARE CS
Problem: Why do I get an 47,01 error on an OPEN OUTPUT, and there are no READS? Resolution: Check to see if there is an UNLOCK in the statement. UNLOCK is not allowed in an OPEN OUTPUT. Old KB# 6115
Problem: How can I compute Square Roots and Cubed Roots? Resolution: To find the square root of a number in RM/COBOL, use this statement: compute RESULT rounded = NUMBER ** 0.5 Use 0.33 for the cubed root. The "rounded" phrase is needed because the number 4 returns a root of 1.99..., only bigger numbers (9 and up) return the correct whole number for the root without rounding. The ** operator performs exponentiation when used with a whole number instead of a decimal. Old KB# 6113
Problem: Receiving an error running MFSORT - error is SORT042U. Cannot find MFSORT documentation that lists this message - is there a complete set of MFSORT error messages ? Resolution: Open Net Express Help and click the "Contents" tab. Then open these folders: Reference File Handling Sorting Files Mfsort and click the "Error messages" document. The messages are grouped into 0001 through 0099 and 0100 through 0199. Your error is within the first group. SORT042U Memory allocation failure The mfsort utility was unable to allocate the required memory. Resolution: Try reducing the value of the SORTSPACE environment variable. See Also: Environment Variables SORTSPACE 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 10000
Problem: How do I do string manipulation in Cobol? Resolution: To move selected characters from one alphanumeric field to another, try using reference modification. For example, to get the 2nd through 4th characters of a PIC X(5) field into a PIC X(3) use the following: MOVE FIELD1(2:3) TO FIELD2. If FIELD1 contained 'ABCDE', this statement would put BCD in FIELD2. Old KB# 6116
Problem: In Form Designer, there is a blank space above the form, which is a gridded box. How to remove this blank space? Resolution: Make sure FORM is the very first item in BODY. To do this, you will need to look at the Form Designer's tree view and delete any items that are above FORM in the BODY structure. There could be a Heading or Paragraph that is above FORM. Just right-click on it and click on Delete. Old KB# 5826
Problem: What causes Truncated Records? Resolution: If a program defines a record length that is less than the length of the records in the data file, the data will be truncated and no warning messages are generated. This is a feature of COBOL fixed length records. Record description entries need not describe the entire record. This could be useful, for example, to allow expansion of the record description without having to enter a filler in each record description. A RECORD Clause with CONTAINS n CHARACTERS can be used to define a fixed length record. For variable length records, a RECORD Clause can also define the minimum and maximum length of the records in the file. The record descriptions cannot be less than the minimum nor greater than the maximum record area, but equality is not required in either case. The compiler issues an error when a record shorter than the minimum record length is described for a file with variable length records.
Problem: Release 4.0: Migrating from IBM's DB2 and compiling a source including Oracle's SUM and CASE function respectively: SELECT ... SUM(CASE TRIGGERTABLE WHEN 'RS032' THEN 1 ELSE 0 END) ... and getting back compiler error: COBCH0149S No SQL directives have been set : N:\\mf_ora\\Source\\cobol\\RS032.cbl(143,15) COBPR0000S 000400:Encountered the symbol "TRIGGERTABLE" when expecting one of the fol : N:\\mf_ora\\Source\\cobol\\RS032.cbl(147,44) COBPR0000S 000400:Encountered the symbol ")" whe
Problem: Why do I get a 204 Error on CALL "SYSTEM"? Resolution: The limit on the number of bytes for a Windows command line is 130 (per the RM/COBOL User's Guide). A command line greater than that could clobber data structures. If the command is too long, it will return an error 204. Old KB# 6124
Problem: Animating .EXE and .DLL Debug Build Programs that are located in multiple Project folders: Resolution: Animating .EXE and .DLL Debug Build programs located in multiple Project folders. The directory structure for this example is as follows: C:\\Animation\\ApplicationTrigger \\DynamicLibrary1 \\DynamicLibrary2 The ApplicationTrigger folder contains the project for the main program, AP470T01.EXE. The DynamicLibrary1 folder contains the project for the AP470D01.DLL and the DynamicLibrary2 folder contains the project for the AP470D02.DLL. The AP470D01.DLL file contains two sub programs, AP470S01 and AP470S02, which are called by the main program AP470T01.EXE. The AP470D02.DLL file also contains two sub programs, AP470S03 and AP470S04, which are called by the sub programs in AP470D01.DLL. T
Problem: 1. Program A calls program B. 2. Program B opens a file, then returns control to program A. 3. Program A calls program B again. 4. Program B accesses the file, assuming it is still open from program A's prior call. This causes an immediate "47" I/O declarative error. Apparently, working-storage variables in program B held state from the previous call but the FILE OPEN state did not - the file has reverted to a closed status without ever being explicitly closed. Again this behavior is different from my 3.0 system. Is this also a compiler directive or runtime setup issue? Resolution: The sub program was using EXIT PROGRAM to return to the calling program which using RM directive will close all open files. Adding "ANSI" to the RM directive will allow the EXIT PROGRAM to keep files open. RM"ANSI" Old KB# 5814#AcuCobol#RMCOBOL#netex
Problem: Converting a data file from EBCDIC to ASCII that contains packed numeric fields (usage COMP-3) using DFCONV from the command line, or alternatively the File Convert data tool from the Net Express IDE, results on corrupted data in the numeric fields. Resolution: The problem may be that the packet fields are not EBCDIC character data, they are just numeric data that follows a particular format (packet decimal) but it always follows the same format whatever the OS. I will give you an example. If you have the following hexadecimal data from the mainframe: 94 2C What would you say it is? It could be the value 924 in packet decimal format, but it could also be the EBCDIC string "k<". If you tell the File Convert tool that your file is all in EBCDIC, it will take it as the string "k<" and generate its ASCII equivalent, in hexadecimal: 63 BC This is perfectly valid if it really was the string "k<", but if that
Problem: When creating an XML file from a COBOL program, how would you prevent groups/items being output to the XML file? This may be necessary when the items or groups hold no data at all. Resolution: Define the groups/items in the COBOL program with the COUNT IN clause, e.g. 03 Main IDENTIFIED BY "Main". 05 A PIC X(6) IDENTIFIED BY "A_TAG" COUNT IN A-CNT. 05 B PIC X(6) IDENTIFIED BY "B_TAG" COUNT IN B-CNT. 07 B-ATTR PIC X(6) IDENTIFIED BY "B1_A" IS ATTRIBUTE. 07 B-SUB PIC X(6) IDENTIFIED BY "B_SUB_TAG" COUNT IN B-SUB-CNT. ... Moving 0 (zero) to the count variables wil stop the associated elements or groups being output to the XML file. Old KB# 58
Problem: Is there a pause, sleep, or wait command in RM/Cobol? Resolution: C$Delay is used to relinquish the CPU for a length of time specified in seconds. Calling C$Delay will allow other programs to run while the original program waits. The amount of delay is not exact. It depends upon the particular machine configuration and the load on the machine. Calling Sequence: CALL "C$Delay" USING seconds "seconds" is a PICTURE 9(n) BINARY, where n can be a digit from 1 to 9. It specifies the length of time, in seconds, to delay. Delays longer than one day are not normally meaningful and should not be used. Old KB# 6122
Problem: Release 4.0: Receving a return code 14605 for a file operation using a call_by_name CBL_ routine Resolution: 14605 is a decimal number representing the related run time error in two bytes basically in hex format: '390d', the most right byte hex '0d' describes a value of '013' decimal. You can find more information about run time error '013', and all other cases, here: Net Express Help -> Index -> Run-time system -> error messages -> Run-time System Error Messages ->refer to 013 -> File not found If you want to act programmatically take a look here: http://www.microfocus.com/Resources/Newsletters/SupportLine/20051101-index.asp#TechnicalArticles >Interpreting the Return Code of a Library Routine< Old KB# 5796
Problem: Does EL require DCOM services to be running? Standards recommend that DCOM be turned off. Will this affect the way EnterpriseLink is run? Resolution: No, DCOM, Distributed Component Object Model, is not necessary for EntepriseLink. Old KB# 5906#Rumba#EnterpriseLink
Problem: trying to use comp-6 directive and getting invalid command line error Resolution: An additional integer of "1" or "2" is required comp-6"1" or comp-6"2" Old KB# 5771
Problem: installing netx 3.1 on windows2000 - getting error not enough space on target directory when indeed there is more than enough space available Resolution: in this particular case - the fix was to do a regedit and delete the micro focus folder under hkey_local_machine **if there are no other micro focus products on machine if there are - only delete the net express folder Old KB# 5777
Problem: Is it possible to use Telnet in a COBOL system on the .Net platform. Resolution: Neither COBOL or the .Net Framework (V1 or V2.0) has support for the Telnet protocol. There is however many 3rd party .Net libraries that provide support for Telnet on the .Net platform. Old KB# 5776
Problem: A COBOL program that is built with Oracle Procobol precompiler fails with an RTS114 Error on a SQL SELECT statement. Resolution: This error was caused by a mismatch of Oracle versions. Using the correct version of Oracle client software for the Oracle Server version resolved the problem. Old KB# 5747
Problem: Problem: The install of Net Express 4.0 on a Window XP professional failed because the Setup reported erroneously an installed Application Server for NE 4.0. Resolution: Workaround: 1. Using regedit, rename the key HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall to Uninstall-temp 2. Start the NX setup. 3. At the setup welcome screen, rename the key back to Uninstall. Old KB# 5769
Problem: Receving a not found error when doing a invoke such as:- invoke wordserver "GetSpellingSuggestions" using ws-work returning ws-suggestion Resolution: The problem here is in the method name "GetSpellingSuggestions". This has "get" as the first 3 characters so the COBOL OLE runtime thinks you want to get a property "SpellingSuggestions" rather than do a method call. You can fix this by making a "setdispatchtype" call to tell the runtime that the next call is actually a method c
Problem: Problem with websphere deploying application gets error Resolution: Added MFCobol.jar in the PATH. Now Websphere will report successful application deployment. Old KB# 5732
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.