Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
Problem: Is it possible to use MFSORT in ASCII mode? and is it possible to bypass records with invalid data in numeric fields in the sort or omit it (without knowing the invalid values)? Resolution: If you wish to use MFSORT against ASCII files, you must use the SIGN-EBCDIC instruction. SIGN-EBCDIC must precede all SORT, MERGE, USE or GIVE instructions. MFSORT cannot automatically detect invalid data. If any fields are to be omitted, they must be specified in the OMIT instruction. Old KB# 3818#AcuCobol#COBOL#RMCOBOL#ServerExpress#netexpress
Problem: Label in a webform not displaying carriage return Resolution: Trying to display a carriage return in a webform label using X"0D0A" does not work. The label control used in webforms (System.Web.UI.WebControls.Label) does not recognize carriage return. In order to display text on separate lines in this type of label control use the HTML tag <br> to separate the text. EX: set self::"label1"::"Text" to "FirstLine" & "<br>" & "SecondLine" Old KB# 3797
Problem: Problems to use Net Express help when Net Express Help files located on network when Microsoft update 896358 installed Resolution: Carefully follow Microsoft instructions of this URL: http://support.microsoft.com/kb/896054/ The simplest is to create the Registry Key (Exemple 2) [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\HTMLHelp\\1.x\\ItssRestrictions] "MaxAllowedZone"=dword:00000001 Old KB# 3793
Problem: If your OpenESQL application utilises Dynamic SQL using SQLDA, thenthis is not currently supported under .NET if compiling with the SQL(DBMAN=ODBC) directive (which is the default for the SQL directive). Resolution: If you need to utilise this functionality, you will need to maintain the appropriate modules as unmanaged code, i.e. running as .int, .gnt, .dll or .exe outside of .NET. Old KB# 3790
Problem: If you have program_search_order set to 2 which should do the following when looking for submodules 2 Uses the following search sequence: (1)The run-time system is checked to see if the program is loaded or statically linked. If it is. the search ends. (2)The path in which the calling program was loaded is searched. (3) If the COBPATH environment variable is set, the paths specified are searched in order. Otherwise, the current directory is searched. (You should not modify the COBPATH environment variable as it is used by this COBOL system.) (4) If the COBDIR environment variable is set, the paths specified are searched in order. But my tracing shows it is alwasy looking in current directory before anywhere else. Resolution: If you call a submodule with an extension it is considered a fully qualified path name and nullifies the search order parameter value. So if you w
Problem: Some environment variables may have been set for some reasons from Windows registry or set as system and user variables. How can you override them? Resolution: You can override the values of existing environment variables by setting them with new values. If you are using the Net Express command prompt to compile, you will first need to set new values for these environment variables to override the default values. If for example, you have set COBCPY to point to x:\\copybook from the Windows registry. This would be appended along the other directories that Net Express will set. Net Express usually sets COBCOPY with the following directories: "C:\\Program Files\\Micro Focus\\Net Express 4.0\\DialogSystem\\SOURCE";"C:\\Program Files\\Micro Focus\\Net Express 4.0\\Base\\SOURCE";"C:\\Program Files\\Micro Focus\\Net Express 4.0\\Base\\SOURCE\\GUICL";"C:\\Program Files\\Micro Focus\\Net Express 4.0\\Base\\SOURCE\\BASECL";
Problem: How do I specify a user and password on an SMTP email send from .Net Resolution: To do this you need to use the "Fields" collection property of the MailMessage object. You can set the Authentication Type userid and password parameters. An example program that does this is:- $set sourceformat(variable) *> Allows past col 72 program-id. SendMail. environment division. configuration section. repository. class cMailMessage as "System.Web.Mail.MailMessage" class cMailAttachme
Problem: The ANY LENGTH Clause --- extract of Netx DOCumentation: The ANY LENGTH clause specifies that the length of a linkage section item may vary at runtime and is determined by the length of the argument. General Format ANY LENGTH Syntax Rules The ANY LENGTH clause must be specified only in an elementary level 1 entry in the Linkage Section of a function, of a contained program, or of a method that is not a property method. Note: The ANY LENGTH clause is not permitted to be specified in an outermost program. This is because an outermost program can be called with or without a program-prototype format CALL statement. For calls without a program-prototype, the implementation is not able to determine whether an argument corresponds to a formal parameter described with ANY LENGTH. If the source element containing the ANY LENGTH clause is a contained program or is a method, the subject of the entry must be referenced in its PROCEDURE DIVISION head
Problem: WSQL003:Error openning file 'C:\\Program Files\\Micro Focus\\Net Express\\Base\\workarea\\xdblsrvx.sql. Resolution: XDBSQLSRVX.SQL was not found in the workarea directory. Placing a copy of this file in that location resolved the issue. This script is used by Net Express when fixes are applied to shutdown the server. It is also used by the IDE when it prompts you to shutdown the server. Old KB# 3836
Problem: Return code 9/029 on DELETE of index file over Fileshare Before the delete a close was coded Resolution: This normally is correct in that your program was not the only one that opened the file and the file is open via another program that never If Fileshare is started via service, you will need to use FSVIEW from Net Express command prompt. The trace will write to fsscreen.lst in the fileshare work directory. FSVIEW server set your-server-name trace toggle to start trace trace toggle to stop trace exit to exit After the error is recreated make a copy of the fsscreen.lst file. Using an editor do a search for the file name you are having problems with in the sample it was D:\\M.LEATHEM\\CNTLLIB\\MHCT_MHCBQ.DAT so I searched for MHCT_MHCBQ.DAT. Just before the
Problem: How to determine the physical end of record when editing variable length files with the Data File Editor Resolution: If you place the cursor in position 1 of a record and then presses the End key, it will position the cursor directly to the right of the last occupied position even if the record ends with space characters Old KB# 3828#netexpress#AcuCobol#COBOL#ServerExpress#RMCOBOL
Problem: You may want to call a .int file that is has been built in alocated in a different directory from within the Net Express IDE. As an example, you may need to to run a .int from the current project directory and then make a cobol call to a .int file in the debug folder of another project. Resolution: As an example, you may have 2 programs, Call1 which calls Call2. Projects for these may be created in the following (separate) directories: For Call1 - C:\\TEST\\Call1 For Call2 - C:\\TEST\\Call2 In the project directory for Call1 load Call1.app into the IDE. You now need to change the COBDIR environment variable to point to the \\DEBUG directory of the project directory for Call 2. To do this select 'Project' from the menu bar. Then select 'Properties' and the IDE tab. To set the environment variable enter COBDIR in the "Variable" field and %COBDIR%;C:\\TEST\\Call2\\DEBUG in 'Value" field.
Problem: How do we get the GNT run the same as the INT? Resolution: As int code is not created for speed, there are a few checks that are always performed in int code, but by default they are not done in gnt code to get code that runs faster. This is one of those checks... Suppose you have the following two data definitions and two statements in a COBOL program: 01 A PIC XXX VALUE SPACES. 01 B PIC XXXX. 01 B2 REDEFINES B PIC 999 USAGE DISPLAY. MOVE A TO B ... ADD 1 TO B2 By default in .gnt code you will never get a 163 error, and the code may appear to work, but in reality the results that you get in the B2 variable are totally undefined and you can get anything there but what y
Problem: how to create a new task in the task list for VS 2005 Resolution: Put the cursor on the line of code where you want to enter a task. Then go to Edit | Bookmarks | Add Task List Shortcut. Then go to View | Task List. In the Task List make sure 'Shortcuts' is selected in the drop down, then add your task description. Old KB# 3796
Problem: I can't seem to get the deallocate command to work after I have done a close cursor command. Resolution: The deallocate cursor sql statement is not supported in OpenESQL. OpenESQL only supports the use of ANSI-standard SQL. Old KB# 3814
Problem: We are moving a host applicaiton to PC environment, but 'Record Contains 0 Characters' is being flagged. The same program compiled and ran fine on the MVS host. The program could open and read datasets of varying lengths without modifications. Net Express gives a bad file status code of 3904. Is there a way to have this work in Net Express without a host dialect? Resolution: This is an IBM extension. They document this: ---------- Enterprise COBOL for z/OS and OS/390 Language Reference Version 3 Release 2 Document Number SC27-1408-01 http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/IGY3LR10/5.2.5.1?SHELF=&DT=20020920180651 Format 1 specifies the number of bytes for fixed-length records. ___ Format 1 _______________________________________________________
Problem: By default, the tab and back tab pass the cursor to the next field if you are accepting a screen with several fields. By default, pressing tab in the last field of an accept gives you an error message that there are no more fields and it doesn't terminate the accept... The same happens with the back tab key (shift tab), it makes the cursor to go back to the previous field, but when you are in the first field of the screen, it gives you a "no further fields" error message and it doesn't terminate the accept. This article explains what you would need to do if you want to control the behavior of the tab and back keys for example, to implement a "circular" behaviour where pressing the tab key in the last field makes the cursor to go back to the first field and pressing the back tab key in the first field positions the cursor in the last field. Resolution: You can change the default behavior using adiscf and keybcf from a N
Problem: CBL2XML, using fonction "convert COBOL to COBOL with XML syntax" generates a warning "Warning : The redefines clause is not supported by this version of the COBOL runtime..." when the COBOL COPYfile to be "converted" to XML contains REDEFINES clause(s) Resolution: ...Let's say you have such a COPY file: 01 LEV1-rec. 02 AnyData pic x(100). 02 AnyDataRed pic x(100) redefines AnyData. ...AND you use CBL2XML to "convert COBOL to COBOL with XML syntax" ie: generate an XML copy file describing the XML file ...YOU'LL GET THIS WARNING Micro Focus CBL2XML Version 1.0 Copyright (c) 1984-2005 Micro Focus International Ltd. Checking ...\\ACobolCopy.cpy for errors Micro Focus Net Express V4 Version 4.0.38 Copyright (C) 1984-2005 Micro Focus International Ltd. URN AXCGG/AA0/00000 * Checking complet
Problem: In .Net WinForms how can you append text to a multi line textbox control. Resolution: To do this you need to append text to the string and new hex ODOA (Carriage Return Line Feed) as the terminator for a line. The code required is something like:- 01 ws-newline pic x(2) value x"0d0a". set self::"textBox1"::"Text" to class-string::"Concat"(textbox1::"Text",ws-newline,"This is a another line.") You just need to concatenate the strings together. Old KB# 3801
Problem: When calling the WinAPI function CreateProcess returns a zero value, this means the function failed. Resolution: Review the following details: the number of parameters the order of parameters (**command line is the 2nd parameter) the size of parameters the command line is null-terminated the function name is prefixed with "A", i.e. CreateProcessA the function is called with call convention 74 the program is compiled with CASE and DEFAULTBYE(00) directives Old KB# 3803
Problem: How to do a multi-file select dialog box in Dialog System. Resolution: How to do a multi-file select dialog box in Dialog System. Since the DSDIR Dialog System extension only allows a single file to be selected, you can use the GUI Class Library OpenDialog class. This class has a method "allowMultipleSelection" which sets a flag in the open dialog that allows you to select multiple files. You may not see this method listed in the class library help, but you'll see it in Net Express\\base\\source\\guicl\\opendlg.cbl. You can then use the "getAllfiles" method to retrieve the selected files. Please see the source comments in the attached example. Attachments: multifiles.zip Old KB# 3794
Problem: I am getting the following error message when using the CHAR function against a DB2 UDB 8.0 database when a host variable is used using ODBC interface. The error message I am getting is SQLCODE = -418 SQLERRM = The statement contains the use of parameter marker that is not valid Given below is a code snippet and compiler directives. EXEC SQL SELECT CHAR(DATE(:wsdate1),ISO) INTO :wsdate2 &nb
Problem: Return code -2108 on a prepare statement (dynamic sql using Oracle 10g) ORA-02108 PCC: invalid descriptor passed to run-time library Cause: This internal error typically indicates a memory-related error. Action: Check the program for memory-related errors, such as invalid pointers or array-bounds violations. Resolution: Was passing the sql statement in a group level item setting the 49 level for length and data part. Changed the prepare to only pass the data part and that resolved the error. For dynamic sql and oracle either use a host variable using the varying clause where you set the data and length or use a pic x(nn). 49 levels are not valid for Oracle. Old KB# 3789
Problem: If a user has created a .dat file from a Net Express application and then attempt to open\\update the file from a .NET Web Service, a 3/7 access denied error message returned from the service. Resolution: This is usually due to anm ASP.NET permissions issue, as the .dat file was created outside of .NET. To set the correct permsiisons on the file in order to allow the Web Service to update it, the following must be done: In explorer, bring up the properties for the data file, and select the security tab. Click Add and type YOURMACHINENAME\\ASPNET (where YOURMACHINENAME is the name of your PC) then click Check Names. This should resolve to YOURMACHINENAME\\ASPNET. Now OK the dialogs and back at the Security tab, make sure ASPNET has full control over the file. You'll also need to do the same on the associated .idx file. Run the .NET Web Service and check that you can now update the file successfully. Old K
Problem: How can I register JScript in ASP.Net using RegisterOnSubmitStatement in COBOL ? RegisterOnSubmit allows you to register client side JavaScript code from your COBOL running on the WebServer. Resolution: There is a demo attached to this. It adds some Java Script that gets triggered when a button is pressed. The code that registers script is:- method-id. "Page_Load" is protected. local-storage section. 01 clntscriptname string. 01 clntscripttype cType. 01 scriptman cClientScriptManager. 01 scripttext &n
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.