Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
Problem: the pointer lpszQueryString retrieved by the MF function PC_ISAPI_GET_EXT_BLOCK retrieves A null-terminated string that contains the query information. This is the part of the URL string that appears after the question mark (?). This is equivalent to the CGI variable QUERY_STRING. Resolution: use the MF Function "PC_ISAPI_GET_EXT_BLOCK" ... working-storage section. ... *> Enter additional working-storage items here 01 ext-block usage extension-control-block. 01 option-name pic x(255). 01 option-value pic x(255). 01 temp-1 pic 9(9) comp-5. 01 MSG-INFO pic x(60). 01 DWORDdisp pic 9(18). &n
Problem: Release 4.0: After installing XP SP2 there are no webservice avaible that were previously there. Resolution: XP SP2 has as default it's firewall switched on. For the webservice to be available switch this firewall off. Old KB# 3806
Problem: Customer was trying to box a word using only 1 line in the screen, for that they tried to use the OVERLINE and UNDERLINE attributes together in the same DISPLAY statement Resolution: It is not possible to have both attributes displayed at the same time. If you want to box text on a single line then consider using REVERSE-VIDEO. Old KB# 3812
Problem: Release 4.0: The following COBOL code gets compiled without any ERROR - PERFORM PERFORM Paragraph-Name - IF Field NOT = TO SPACE The compiled code runs without any error and there is currently not really a issue with the execution. However, the customer is developing for the Mainframe (Bull GCOS7) and when the coding is brought back to the Mainframe the compiler does not allow to compile the above lines as they are not valid COBOL code. Can this be addressed in a future fixpack ? Resolution: No, it seems there are bugs while compiling this under Net Express 4.0, but 1) nested PERFORMs are allowed. 2)" = TO" is a peculiarity of the OSVS mainframe, so Micro Focus allow it too. Look up 'Relation Condition' in the Net Express COBOL language documentation: > OSVS: Note that " = TO", "> THAN" and "< THAN" are accepted. < Old KB# 3833
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 have installed Net Express with .NET support, and is now want to call a legacy system .dll from a .NET application. Resolution: The legacy system .dll is termed "unmanaged" code, as it has not been created from within the .NET environment. You need to add the .dll as a reference in your .NET project. Go into Help in your .NET project and select 'Contents', 'Micro Focus Studio', 'Programming', 'Interoperability', 'Interoperability Overview', and select the link to 'Interoperating with Unmanaged COBOL'. This gives several options, including such things as creating and registering COM objects etc. The easiest way would be the method suggested under the heading 'Using Platform Invoke to Call Unmanaged COBOL'. Old KB# 3823
Problem: When recompiling source code from 16 bit COBOL we are hitting reserved word issues. How can we get around these problems? Resolution: We would not have expected too many problems with moving source code from COBOL 3.4 to Net Express 4.0. Any problems with reserved words can be addressed via the REMOVE compiler directive. If this does not work, then please contact your local Micro Focus Support office. Old KB# 3830
Problem: Copy file extension names may sometimes not show in the source pool in the IDE. Resolution: This may happen if the copy file extention names are not the standard .cpy but are your own names. If you right-click in the source pool in the IDE 'Show Only Source Files' is checked. If you uncheck this, non-standard file extensions (eg copybookname.inc) will be shown. Further to this, you can make any extension name a standard name by selecting 'Options' from the main menu bar, then select 'Edit' and then enter your own extension names in the 'Search for copyfile extensions' box. This way these will always be picked up and will always be displayed. One other thing to check is to make certain there are no spaces in the file names. Old KB# 3822
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: 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: 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: 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: 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: 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: 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: 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: 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: This COBOL syntax uses the SPECIAL REGISTER TALLY: inspect Avariable tallying TALLY for all space TALLY SPECIAL REGISTER is usable ONLY WHEN Compiler directive OSVS or VSC2 is set Extract of Net Express on-line help using the keyword TALLY special register: !!!!!! OSVS or VSC2 have to be set * TALLY 9(5) COMP * The TALLY special register contains information produced by the EXAMINE...TALLYING statement. * It is valid as a data-name in a Procedure Division statement wherever an elementary data item can be referenced. Resolution: *SET VSC2 $SET OSVS IDENTIFICATION DIVISION. PROGRAM-ID. TESTtally. ENVIRONMENT DIVISION. DATA DI
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
Problem: Does ELink work with MDAC 2.5 on Windows 2000? Resolution: EnterpriseLink 3.1.2, 4.0.3 and 5.0.1 (the currently supported versions of each release) are supported on the current versions of each Microsoft operating system. This means Microsoft Windows NT 4.0, Service Pack 6a (which comes with MDAC 2.1, Service Pack 2), Microsoft 2000 Server, Service Pack 3 (which comes with MDAC 2.5, Service Pack 2) and Microsoft XP Professional (which comes with MDAC 2.7). Any OS version may be upgraded to the latest MDAC, which is MDAC 2.7 SP2 Refresh. We do not specifically test Microsoft software when testing EnterpriseLink. If an incompatibility is found, we will note it in the Micro Focus Support information systems. We have not discovered any incompatiblity since Micrsoft Windows NT 4.0 Service Pack 3. For a complete manifest of Microsoft MDAC versions, links to download areas and on what systems they ship, look at:
Problem: On the same computer , I would like to work in different modes . Resolution: To manage working mode , it is necessary to use either command cobmode or environment variable COBMODE . The Working Mode can be global ( defined in $COBDIR directory ) : cobmode -s The Working Mode can be user ( defined in $HOME directory ) : cobmode -u The Working Mode can be local ( defined in the local working directory ) : cobmode -d The Working Mode can be in local environment environment variable COBMODE cobmode -s : modifies $COBDIR/etc/cobmoderc cobmode -u : modifies $HOME/.cobmoderc cobmode -d : modifies ./ cobmode $COBMODE overrides all others working modes The local Working Mode overrides t
Problem: What does the EL00020 error code mean? Resolution: This error indicates that EnterpriseLink Server received an incorrect 3270 command from the host. This means that the mainframe host sent an incorrect command (write, write-erase, read, read-buffer, query-reply being the acceptable codes). Old KB# 3767#EnterpriseLink#Rumba
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.