Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
Problem: If a call is being made to a DLL created by the project, occasionally an error may occur when trying to do the call. This can be caused by improper build settings when adding the DLL and associated .cbl files to the project, or possibly due to using a project created with an older version of Net Express. For other issues with 173 errors, please be sure your PATH environment variable is set to point to the location of the .DLL or .EXE in question. You may refer to (http://supportline.microfocus.com/mf_kb_display.asp?kbnumber=25598) Resolution: The problem can be solved by removing the .DLL from the project tree, and re-adding the files using appropriate settings for the project. 1) Right-click on the problem .DLL in the Project Window. 2) Select "Remove from build type" 3) Be sure the first box "This file has build dependencies" is checked, and click Delete. 4) Now drag the source file from right half of the project window, to
Problem: A customer used the "rebuild" command with its conversion options, to convert an IDX3 file into an IDX8 file. [Strictly speaking the original file wasn't converted "in place", instead the rebuild command creates a new IDX8 file and populates it with the data from the original IDX3 file]. A common reason for converting an IDX3 to an IDX8 is so the file can safely grow to very large sizes (when used in conjunction with the FILEMAXSIZE file handler configuration option). But the customer noticed that the new IDX8 file consisted of only one disk file instead of two. IDX3 files have a data portion with a basename, and an indexed portion with an ".idx" extension, for example "CUSTDATA" and "CUSTDATA.idx". But the new IDX8 file did not have an accompanying ".idx" portion. Is this the intended behavior? Resolution: The answer is yes, IDX8 files are "monolithic", that is, they occupy just one inode (one disk file).&
Problem: When calling a dynamically loadable shared object (.so or .sl for HP/UX) you receive this error. Resolution: You have attempted to load a shared object with a name that has not been defined. When you create a dynamically shared object using Micro Focus "cob" (cob -zv pgm-name.cbl myC.c), any references in the COBOL or C function must be resolved at link time. COBOL pgm-name.cbl Procedure Division. Call "another-cobol-pgm". The COBOL program "another-cobol-pgm" must be resolved. That is, the linker must be able to resolve the symbol. If not, the shared object will be created, but you will not be able to load it. Hence the 9/118 error. To get around this you can specify the -U cob flag when creating the shared object: cob -zvU pgm-name.cbl myC.c The -U flag causes any unresolved reference to be treated as a COBOL program to be
Problem: Program a calls program b with 4 linkage parameters. Progam b is only using 3 parameters. Can this be flagged as an error at compile time? Resolution: To make this work code a prototype copybook. A sample of how to do this is attached. To get the compiler to complain about incorrect parameters in a CALL statement, the compiler must first know what a correct CALL looks like. Supplying a CALL prototype does this. CALL prototypes are supplied in a special format (usually implemented in a COPY file for the sake of reuse) I have attached a demo to this note, the demo shows how to define CALL prototypes for user written programs. When you define a prototype you must define everything about it. The data types being passed, the way the item is passed, even the size and usage clause needs to be defined in the prototype. Once the prototype definitions are in the
Problem: This Net Express 5.0.NET package includes 2 DVDs covering a Microsoft Visual Studio 2005 Standard Edition to be installed before using the Net Express 5.0.NET environment. However, there is no CD-/DVD-device available to install Microsoft's VS2005 Edition, thus it was copied onto a network share to install from. Is there a recommendation how to act safely because it can fails to obey "changing the discs" while installing VS2005? Resolution: Yes, please refer topic 1.3.6. from the link below describing how to install VS2005 safely from a network share. http://msdn.microsoft.com/en-us/library/aa718687.aspx Old KB# 1604
Problem: When using the Animator to step through code a "File below not found" error can sometimes occur when a copybook is encountered, even though the copybook exists and is correctly named. This is especially prevelent when using the CP preprocessor to expand copybooks. Example: COPY MYFILE REPLACING ==:OLD:== ==NEW==. Resolution: There are potentially two problems here. Firstly there is a bug in Server Express which will be fixed in Server Express 4.0 SP4 and Server Express 5.0 WS3. Applying this fix should resolve most issues. The second potential problem is related to Unix's case sensitivity. You must ensure that the case of the copybook is consistent, i.e the whole name plus extension is either uppercase or lowercase, not a mixture. Using the compiler directives FOLDCOPYNAME and COPEXT can also help: E.G. COPYEXT(CPY,cpy), FOLDCOPYNAME(LOWER) Using the above directives wit
Problem: The customer is having trouble switching between multiple database connections within an application. Resolution: If only one database connection is used then it is not necessary to use a named connection. When more than one database connection is used, then a name must be specified for each connection. Connection names are global within a process. Named connections are shared by separately compiled programs that are linked into a single executable module. After a successful CONNECT statement, all database transactions other than CONNECT RESET work through this most recently declared current connection. To use a different connection, use the SET CONNECTION statement. Old KB# 1578
Problem: There are times when you open a file for input and are reading thru the file and get a file lock status (9/068) on a record. Resolution: You can set the filehandler option IGNORELOCK in the configuration file extfh.cfg to Ignore locks when reading Input files. The IGNORELOCK option specifies whether to ignore locks on files open for Input. IGNORELOCK= {ON|OFF} Default: OFF Old KB# 2089#COBOL#AcuCobol#netexpress#ServerExpress#RMCOBOL
Problem: The "DE-EDIT" directive specifies the results how a de-editing move from one numeric-edited data-item to another numeric-edited item or to a numeric item. Resolution: The syntax for the "DE-EDIT" directive is: DE-EDIT "[1 or 2]" Specifying integer 1 - will behave as in earlier versions of this compiler. It ignores the Picture clause of the sending field. Specifying integer 2 - will de-edit according to the Picture clause of the sending field. This provides ANSI '85' conformance. The default is 2. Example: 01 a pic 909V99 value "30456". 01 b pic 9(5). ... move a to b With DE-EDIT"1", b contains 30456. With DE-EDIT"2", b contains 00034; the 0 after the 3 is dropped because it corresponds to the insertion character
Problem: Animating programs located in one folder location off the \\DEBUG folder (i.e., "FOLDER1\\DEBUG") which call .gnt's from a different folder off the \\DEBUG folder (i.e., "FOLDER2\\DEBUG") generates an "ERROR 173: Called program not found in drive/directory"). Resolution: Within the NetExpress IDE, do the following: 1.) Open a NEW project 2.) Pull down the "Project" menu and select "Properties". The "Properties Window" will appear. 3.) Click on the "IDE" button located in the "Environment" section of the window. 4.) A window will pop up with the title "Configure IDE environment". Change or set environment variables for the environment within that window. For example, to change the environment variable COBDIR: enter COBDIR as the "Variable" name. &nbs
Problem: Release: 5.0 .NET After passing a TreeView object reference to my own (not Painter created) class, there is no Intellisense available in this class which shows the methods for a TreeView. Only 4 standard methods like "equal" are offered. Resolution: A reference to Visual Studio 2005 System.Windows.Forms is required in the references of the project of the own class. The Intellisense is available for the notation SET Myobj :: "MyMethod"( ... ) and also for the Micro Focus extended notation INVOKE MyObj::"MyMethod" ... but there is no Intellisense, when the invoke is written in standard notation as INVOKE MyObj "MyMethod" using ... returning Old KB# 1551
Problem: MFSupportInfo has been part of Net Express since version 5.0, and the file can be found in the BIN directory. It however does not produce the log file when it is executed. A black screen just flashes by. Resolution: User Account Control (UAC) is a new feature in Windows Vista to prevent malicious programs from damaging a system. One of its tasks is to protect system settings from being changed without the user's knowledge. UAC then prompts the user when certain activities are about to occur, such as installing or uninstalling a program, configuring Automatic Updates, copying or moving files into the Program Files directory or Windows directory, etc. MFSupportInfo is designed to produce a log file in the current folder, and since Net Express is installed by default in the Program Files directory where UAC has under guard, the log file cannot be produced. This problem does not occur if Net Express is installed in a different location other than Progra
Problem: Application is getting a "77 Internal ISAM module error" when trying to read a mainframe file from a Net Express program. Resolution: The problem is that the ISAM file was brought down directly from the mainframe without conversion and tried to read it with a mainframe program which was recompiled under Net Express. It is necessary to first convert the file to a sequential file in ASCII format on the mainframe and then use the Data File converter to create a Micro focus readable file format. Old KB# 1539#RMCOBOL#netexpress#ServerExpress#AcuCobol#COBOL
Problem: Release 5.0 .NET: Im Net Express 5.0 .NET Produktpaket befinden sich zwei CD / DVD, die die Microsoft Visual Studio 2005 Standard Edition enthalten. Der PC hat physisch aber kein CD / DVD Laufwerk verfuegbar. Deshalb wurden beide CD / DVD auf ein Netzlaufwerk kopiert und von dort installiert. Allerdings ist dadurch ein CD / DVD Wechsel schwer nachvollziehbar und moeglicherweise werden durch Kopiervorgaenge bereits vorhandene Dateien ueberschrieben. Gibt es eine Empfehlung , wie in diesem Fall sicher vorzugehen ist? Resolution: In diesem Fall sollte so vorgegangen werden, wie es in diesem Microsoft MSDN-Artikel unter Textziffer 1.3.6. detailliert beschrieben ist: http://msdn2.microsoft.com/de-de/library/aa718687.aspx Old KB# 1585
Problem: Background information: Indexed files in Micro Focus COBOL can have different formats or organizations. An indexed file's format is decided at the time the file is created, under the control of the IDXFORMAT compiler directive. The default IDXFORMAT value is 1, meaning "C-ISAM", whereas the value 4 means, "an optimized form of Micro Focus indexed file format". Here is a table summarizing common formats: 1 C-ISAM format. 3 Micro Focus indexed file format. 4 An optimized form of Micro Focus indexed file format, for fast duplicate key handling. 8 Large indexed. For more information on indexed file formats, look in the main index of the Server Express documentation, under the keyword "IDXFORMAT", and check each of the references there. The question in this case is: An existing file is of type IDX4 (as shown by "rebuild -f <filename>"), but the file is expec
Problem: Going to Tools | Options | Micro Focus COBOL Tools | OpenESQL Assistant shows the following message on the Options page: ----- This dialog should display an Options page added through extensibility. However, the control to display here could not be loaded. Please re-install the Add-in that displays this page. ----- Resolution: 1) Uninstall current WrapPack 2) Uninstall the Net Express support for .NET a. Go to Add or Remove Programs b. Select Micro Focus Net Express 5.0 c. Click on Change d. Click on Next e. Make sure Modify is selected f. Click on Next g. Click on the drop-down list of Net Express support for .NET h. Select "This feature will not be available." i. Click on Next j. Cick on Install 3) Repair Net Express installation a. G
Problem: Question is whether the same procedure pointer data item can be used to load multiple .DLLs simultaneously without a problem. Resolution: Yes, a procedure-pointer item can be used multiple times in order to load a new .DLL. The exception is if the procedure-pointer points to an entry point directly and that procedure-pointer is referenced directly within a CALL statement. Old KB# 1538
Problem: The application is using OpenESQL to retrieve data from an Oracle table. One of the columns is defined as a VARCHAR(5) and contains the value "AN " with trailing spaces left intact. If the WHERE clause of the SELECT statement is compaing the colun to a literal value of "AN " it will retrieve the the rows containg this value. But if the WHERE clause is changed to compare against a host variable of PIC X(5) which contains the value "AN " then no rows will be returned. The user would like to know why. Resolution: Here is the explanation: OpenESQL is working as expected --- the problem here is space padding on varchar fields. For a standard character data type in a database that has a length of 5, "AN" and "AN " are identical; however, this is not the case when it comes to the variable character data type --- indeed "AN&quo
Problem: What is the command syntax to generate a .gnt from Net Express command line? Resolution: Bring up a 32 bit Micro Focus command prompt, and use the following form: C:\\>cobol <your_filename.cbl> omf(gnt); Old KB# 1537
Problem: We are moving a host application to Net Express from our mainframe. We want to use Line Sequential files without changing our code. How can this be done? Resolution: The SEQUENTIAL directive can be used for this. Specify the directive as: SEQUENTIAL(LINE) If you are only using DISPLAY output and want that output to be Line Sequential, then use OUTDD. Specify this directive as: OUTDD(XYZ.TXT 121 L) Old KB# 1597#netexpress#AcuCobol#ServerExpress#RMCOBOL#COBOL
Problem: There are multiple servers on the network which contain COBOL data files. The COBOL applications and Application Server are also in a directory on the same server as the data files. CCITCP2 and Fileshare are both run as Windows Services on the servers containing the data and applications. The applications are started by logging into a Citrix server and clicking on a shortcut which will launch one of the COBOL applications on the data system. Resolution: Some people have a misconception of how a Citrix Server actually works. It is basically just a computer to which multiple users can log on to and run applications. It is a misconception that if an application is started on Citrix which physically resides on another computer then the application will be run on that computer. This is false. The application will be run in a partition on the Citrix Server computer and the computer on which the application resides will just be used a
Problem: When attempting to call a third party application from within a COBOL program the call does not work. Resolution: If a COBOL program needs to execute a third party application which exists as an executable program, i.e. .EXE extension, then the COBOL CALL statement cannot be used. An .EXE must be run as a separate process by using the WINAPI function CreateProcessA or the COBOL library function CBL_EXEC_RUN_UNIT. There are samples of both of these on the microfocus.com supportline web site under Examples and Utilities. Old KB# 1608
Problem: The FDCLEAR directive will clear the record buffer area after every Write operation Resolution: The syntax for the FDCLEAR directive is: FDCLEAR "[1 or 2]" NOFDCLEAR Specifying the integers 1 or 2 will: 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. Comments: 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
Problem: After performing a REWRITE in a COBOL program, a grep of the file written to may show the record twice. This does not happen with Object COBOL Developer Suite. Resolution: The Server Express file handler attempts to write new data to a file as quickly and as securely as possible. It achieves this by writing a new copy of the record in a different place on the file and marking the 'old' record for deletion. Thus even if there is a crash before the index is updated, reading the file will give the correct information. Records marked for deletion will show up in a 'rebuild -f' as Type 2 records. A proper rebuild will remove them. The only downside to this way of working is that a grep of the file while Type 2 records still exist on there will show them as apparently present. This is potentially confusing, but the advantages of working in this way outweigh the disadvantages (old records can after all never be accessed). Old KB# 2052
Problem: Net Express 5.0 has a .NET support for Microsoft Visual Studio 2005, but is it also supported in Microsoft Visual Studio 2008? Resolution: Net Express 5.0 is only supported with Microsoft Visual Studio 2005. It is however planned that Net Express 5.1 will be supported with Microsoft Visual Studio 2008. Old KB# 1555
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.