Interactive COBOL Notes 4.52 22-Jun-2011 **** Revision 4.52 **** Bug Fixes in 4.52 ----------------- 1. ICSORT was not properly handling -K pos when pos was greater than 999. 2. The ICNETUSESHEARTBEAT environment variable added in 4.40 has been removed at this time. 3. The runtime could have generated an Internal System Error on a COMPUTE statement using an Intrinsic that the compiler optimized at compile time. Changes and New features in 4.52 -------------------------------- 1. Under Windows, ICINFO, when started with the -G z option, will give file version information for selected .dlls. **** Revision 4.51 **** Bug Fixes in 4.51 ----------------- 1. For the runtime, the exception status was not being cleared at times on a shutdown causing a spurious exception message. Changes and New features in 4.51 -------------------------------- 1. For the runtime, if ICRUNLK is specified, the link file is opened read-only, read into memory, and closed. The link file is now no longer left open. 2. Standard Auditing. The audit log format has changed slightly. The first line will now just be: Audit log opened This will match the last line of: Audit log closed The second line will now be: Auditing with pid on The new entries here include pid and machine. 3. Enhanced Auditing. The format for enhanced audting has also been updated. Format will look like: date-time-stamp: subsystem: module(line#): operation Examples: 2011-06-20 09:13:54.37: MPX: init_mpx(2448): Enter 2011-06-19 15:08:02.92: WEB: ic_send_mail_bltn(529): Enter 2011-06-20 09:14:52.12: SP2: sp2_io_thread(555): recv event In general Enhanced audting should only be enabled when requested by Support or to provide more information for a particular problem as the logs will be very verbose. **** Revision 4.50 **** Bug Fixes in 4.50 ----------------- 1. A compiler fix for the INITIALIZE statement using the DEFAULT reserved word. 2. In previous Language Reference Manuals in the CONNECT statement the environment variable to pass the user name was incorrectly documented. It should be ICSQLUSER. Changes and New features in 4.50 -------------------------------- 1. Under UNIX, a ThinClient only release is now available. It will show as a tc after the revision, i.e. ln6tc.tgz. So for 4.50 this would be: ln6450tc.tgz 2. Under Apple Mac OS X, the release is now in a .tgz format. 3. Under UNIX, the installic and removeic scripts have been updated to allow a "status" argument and allow for a default revision to be specified (-R rev). Updated syntax: installic [status] | [-R rev] { [std] | { [icrun] [icsys] [icodbc] [icuser] [icbltn] }... } removeic [status] | [-R rev] { [all] | { [icrun] [icodbc] [icuser] [icbltn] }... } The status argument will show ALL the ICOBOL shared libraries available in the /usr/lib directory. The -R rev argument allows for the default revision to be specified. Examples: installic status removeic -R 444 4. In the runtime with ISQL, the CONNECT statement can now reference a remote dataset (DSN) using the following ICNETD syntax: @[icnetd:]//remote-machine[:port-address]/dsn Only forward slashes (/) are allowed under both Windows and UNIX/Linux. The first remote connection will communicate with the ICNETD daemon on the remote machine and start an ICSQLS surrogate that will provide the resources requested by the client. ICNETD must be running on the remote machine and there must be an available ICSQLS license for the surrogate. ICNETD must be a 4.50 or greater version. If no license is available an error IC011 will be given and further GET DIAGNOSTICS will provide an error of 2339 The required software license is not authorized. The surrogate will remain until its client process has terminated even if there no open connections. If required, the user will be prompted for a username/password login to the remote machine. This facility can be used on a Linux/UNIX machine to access the ODBC/SQL datasets on a Windows machine. ****REMOTE ICSQLS surrogates require a new ICSQLS license!!**** 5. New trace flags have been added for the enhanced auditing support. These are ICNETD, SQLS, SYSERRS. Updated syntax is below: Syntax is: -a[:[aflag][:tflag][,tflag]...] Audit to .lg -A path[:[aflag][:tflag][,tflag]...] Audit to path, or path/.lg if path is a directory aflag is a|b|d|da|db|p|pa|pb|t|ta|tb|u|ua|ub a=append, b=backup, d=datestamp, p=process-id, t=timestamp, u=username tflag is ALL|ICNETD|MPX|NET|PDF|SP2|SQL|SYSERRS|WEB ICNETD provides enhanced tracing for ICNETD MPX provides enhanced tracing when using network multiplex i/o from the runtimes, iclogs, icrunrc, icodbcdr (any program that uses the network) NET provides for enhanced network tracing for any network traffic PDF provides enhanced tracing when using the PDF facility from the runtimes SP2 provides enhanced tracing when using SP2 or QPR from the runtimes or icrunrc SQL provides enhanced tracing when using ISQL from the runtimes SYSERRS provides tracing for System errors WEB provides enhanced tracing when using any internet type facility like email from the runtimes ALL enables all sub-system tracing. These trace flags should only be used when requested by support or to track down a real problem as the logs are very verbose. 6. New statements for ISQL added: GET COLUMNS and GET TABLES statements added to access the columns and tables of the active dataset. Returns a result set that can be fetched. See the 4.50 Language Reference manual for the full syntax and the specifications for the columns returned. Below is a simple view of the syntax: GET COLS|COLUMNS id/lit WITH [CATALOG id/lit] [SCHEMA id/lit] [TABLE id/lit] [COL|COLUMN id/lit] [ON SQLERROR imperative] [NOT ON SQLERROR imperative] [END-GET] GET TABLES id/lit WITH [CATALOG id/lit] [SCHEMA id/lit] [TABLE id/lit] [TYPE id/lit] [ON SQLERROR imperative] [NOT ON SQLERROR imperative] [END-GET] 7. New Intrinsic functions SQL-ADD-ESCAPES and SQL-REMOVE-ESCAPES added. See the 4.50 Language Reference manual for documentation. 8. New selection for the GET DIAGNOSTICS statement. COLUMN COUNT has been added to give the number of columns in a result set. See the 4.50 Language Reference manual for documentation 9. Because of the above 6 - 8 a new .CX revision is now generated. Revision 6 .cx files will support the two new GET statements and the two new Intrinsics. Code rev 6 will now be the default. To compile for an older revision use the appropriate -R n to the compiler. 10. The example, isqltest.sr has been updated to show the above new features. 11. A new base terminal type (Mac) has been added to support the Terminal session on an Apple Mac OS X console. 12. The AIX and Mac OS X releases now support MAC - based licensing. ICINFO can be used to show the MAC addresses. 13, The runtime will now no longer require the Watch option on a license in order to allow Watch. Watch is now available for all multi-user ICEXEC configurations when enabled in the configuration. 14. The IC2X license option is no longer required in order to run ICOBOL 2 .cx files. In addition, the runtimes will auto detect which version of the runtime to start on the first program load so the -I 2 switch is not required. The command: icrun logon2 where logon2 is an ICOBOL 2 .cx file will now run. You still cannot mix and match ICOBOL 2 .cx files and ICOBOL 3 and 4 .cx files. End of Notes