HSSFCGI CHANGE LOG 2021-02-24 - In case of procedure hssf_formula() or ss_formula() failure in validating a formula, in previous HSSFCGI releases the process used to be terminated through an escape message. Now just a diagnostic message is sent to the joblog and the process is no longer terminated. 2021-01-08 - Programs XLSGEN_1, XLSGEN_2 and XLSXGEN updated to support user failure in specifying </row> tags in a XLSGEN script. 2020-08-25 - Process of procedure "runFormula()" now monitored both in XLSGEN and XLSXGEN commands. 2020-08-01 - The Change Log can now be displayed as an HTML page from the online manual. 2020-07-04 - XLSGEN and XLSXGEN - Fixed bold font option. 2020-07-02 - Implemented a more convenient way to establish the number of sheets per book when - in commands TABLEXLS, TABLEXLS2, XLSGEN, or XLSXGEN - the element "Max no. of sheets per workbook" of parameter SHEETSIZE is set to *AUTO. 2020-04-16 - Fixed procedure RTVRCDFFD() in module XXXRTVFRFD. The HSSFCGIDTA/FLDLST member used to store rcdfmt field descriptions via API QUSLFLD for a given D.B. file is now *EXCL allocated while being updated, to avoid concurrent updates from more than one job. Concurrent updates would infact result to an exception because of duplicated unique key values. 2020-04-15 - Fixed local procedure SkpFldCmp() in pgm TABLEXLS. It was failing when comparing a field value to blank. 2020-04-06 - Program XMLFORMAT2 has been updated to support new parameter INCALLROWS of command SPLECELL/SPLECELL. 2020-04-06 - In module XLPARSERJP, procedure xlparsejp_workbook() has been added two more optional procedure pointer parameters, so that calling program may also receive control on start and end of each spreadsheet row. 2020-03-24 - Fixed an error in module XLPARSERJP of procedure xlparsejp_workbook(). 2020-03-10 - New service program XLPARSERJP. It can successfully parse XLS/XLSX spreadsheets that fail to be parsed with service program XLPARSE2/XLPARSER4. Developed on HSSFCGI for XLPARSE2 users. 2019-11-18 - Updated file JAVATABLE for V7R3 and V7R4. 2019-10-23 - Fixed row-freeze in XLSX spreadsheets. 2019-10-16 - Fixed a bug in pgm XMLFORMAT. - Programs XLSGEN and XLSGENX now detect cell-end from the tag. - Updated parameter SHEETSIZE in commands XLSGEN, XLSXGEN, TABLEXLS, and TABLEXLS2. SHEETSIZE now includes a third element: the maximum number of worksheet rows. 2019-10-07 - Fixed packaging error related to pgm TABLEXLS2V. 2019-10-04 - Enhanced XLSGEN and XLSXGEN programs by passing parameters to recovery submitted jobs. 2019-10-03 - Fixed the following problem with programs XLSGEN_2, XLSGEN1, and XLSXGEN: "when the maximum number of rows per sheet is reached, a new job is submitted, but it fails in creating the first row (because the creation of its worksheet was not performed". Now that worksheet is created and can accept rows. 2019-09-21 - Commands XLSGEN, XLSXGEN, TABLEXLS, and TABLEXLS2 have been added a new parameter: CVTTIME. This parameter is used to set the format of the EXCEL time cells. 2019-08-08 - New TABLEXLS parameter INCLUDEXML allows to include a group of predefined rows in the spreadsheet body generated by command TABLEXLS. See page https://www.easy400.net/hssfcgi/page6b.htm . 2019-08-07 - New parameter NULLDATE added to commands XLSGEN, XLSXGEN and TABLEXLS. It specifies the way a null date field (*ISO 0001-01-01) should be displayed in the corresponding spreadsheet cell. 2019-07-20 - Fixed the way used by pgm TABLEXLS to pass the number of frozen columns to the XLSGEN.../XLSXGEN programs. Done the same for pgm TABLEXLS2. 2019-06-17 - Install procedure: directory /hssfcgi/java removed before been restored. 2019-06-13 - In member JVMSTARTUP fixed a /COPY statement incorrectly referring to library XLPARSE2 2019-06-12 - Maximum length of cell data value raised from 500 to 5000 characters. 2019-05-10 - In command TABLEXLS a new parameter, named SKPFLDS, allows to skip cell generation for fields meeting given conditions. 2019-05-05 - In command TABLEXLS a new parameter, named RCDFMTNBR, now allows to process a record format other than the first one when the input database file contains multiple record formats. 2019-04-19 - In comands XLSGEN and XLSXGEN, when ZERODSP(*NO), numeric cells with zero value are no longer created as text cells containing blank, now they are created as numeric cells containing 0 but the cell value is not displayed. - Keyword HIDE now supported for numeric and for formula cells. 2019-04-17 - A new parameter, PRINTXML, has been added to commands TABLEXLS and TABLEXLS2. It may be used to print the intermediate XML-like XSLGEN script used to generate the EXCEL workbook. This may help in checking out for correctness the XML-like script generated by these two commands. 2019-04-10 - New command JVMSTARTUP allows jobs to execute also other Java applications besides HSSFCGI. See page http://www.easy400.net/hssfcgi/html/jvmstartup.htm . 2019-03-05 - Updated pgm XMLFORMAT2 for appropriate processing of characters "field delimiter" or "string delimiter" found inside fields of the input d.b. file (specified in FROMFILE parameter of command TABLEXLS2). 2019-02-19 - Updated srvpgm HSSFCGIX procedure RtvRCDFFD() (module XXXRTVFRFD). 2019-02-17 - Updated programs XMLFORMAT and XMLFORMAT2 (called by commands XLSTABLE and XLSTABLE2). They were creating file QTEMP/MYXMLFILE with rcdlen(500) instead of rcdlen(5000). 2019-01-16 - Updated program XMLFORMAT to avoid a loop when delimiter ">" is missing. 2018-12-11 - Updated procedure RtvJobType in srvpgm HSSFCGIX. It was creating a MCH problem. 2018-12-10 - Fixed problem with parameter ALTCOLHDG in commands XLSTABLE and XLSTABLE2. 2018-10-27 - A new option was added to parameter COLHDGOPT in commands TABLEXLS and TABLEXLS2: now, if you specify COLHDGOPT(0), no column headings are generated. 2018-10-04 - In pgm XLSGEN and XLSXGEN fixed the case of ZERODSP(*YES) not working as expected. 2018-10-01 - Command, panel group and program XLSGEN2 suppressed: no longer needed to run TABLEXLS2. 2018-09-30 - Greatly simplified the code needed to run command TABLEXLS2. 2018-09-28 - Important updates regarding multi-spreadsheet workbooks and huge workbooks. 2018-09-07 - In XLSGEN, the contents of an Excel spreadsheet cells can now be rotated using keyword "rotate", see page http://www.easy400.net/hssfcgi/html/page2.htm#2 . - In commands TABLEXLS and TABLEXLS2, a new parameter HDGROTATE allows to rotate vertically the columnh headers. See page http://www.easy400.net/hssfcgi/html/page4.htm . 2018-08-12 - Greatly simplified the set up of the environment for the Java Virtual Machine. 2018-08-08 - When DECPOS(*NOC) specified, the XLSGEN program were forcing 2 decimal position. Those directives now have been removed. DECPOS(*NOC) works as DECPOS(*AUTO), but thousand delimiters are not shown. 2018-08-07 - Fixed a severe error in all XLSGEN/XLSXGEN programs: numeric cells were not generated when parameter DECPOS(n) with n=0 to 9 . 2018-07-11 - No-operated references to options of product 5770JV1 which were detected as not compatible with HSSFCGI and XLPARSE2. 2018-06-29 - Important enhancement to cgi WEB programs WEBTABLEXL and WEBTABLEX2. These programs allow to run commands TABLEXLS and TABLEXLS2 from a WEB browser, and to receive on the browser the generated Excel spreadsheet as a download file. The enhancement allows to optionally run the TABLEXLS/TABLEXLS2 command in a batch submitted job, thus avoiding browser timeout problems. Appropriate controls are provided in the WEB page to download the generated Excel spreasheet once the submitted job is ended. 2018-06-14 - Fixed cell border support. 2018-06-06 - Null cells (cells without tags and ) are now NOT generated. 2018-06-01 - Some changes in architecture of rpg sources XLSGEN_COM, XLSXGEN, XLSGEN2_CM and XLSXGEN2. 2018-05-26 - In the previous release, parameter DECPOS(*NOC) was incorrectly displaying thousand separators (example: 14,876.23 instead of 14876.23). That was found to be due to an unexpected result of an overloaded Excel cell style, and has been now fixed. NOTE - In order to work DECPOS(*NOC) requires default cell colors: DFTCELLCOL(BLACK WHITE) . 2018-05-13 - New parameter NEGFMT (negative numbers format) has been added to commands XLSGEN, XLSGEN2, XLSXGEN, XLSXGEN2, TABLEXLS and TABLEXLS2. Three formats sare supported for negative numbers: -- *A provides format -nnn,nnn.nnn -- *B provides format -nnn,nnn.nnn in red color -- *C provides format (nnn,nnn.nnn) in red color In addition, a XLSGEN keyword NEGFMT has been made available to the entry. See page http://www.easy400.net/hssfcgi/html/page2.htm . 2018-02-21 - In the XLSGEN language, formula operators < and > are now correctly translated to characters < and > 2018-02-18 - Added command CLONEBOOK (Clone workbook over itself). This command may be used by XLPARSE2 users / procedures to provide a workbook with cell data properties when they are apparently missing. 2017-11-24 - XLSGEN now handling the case where the user forgot to specify the NAME keyword in the tag. 2017-09-09 - New parameter SKPBLANK (Skip blank text cells) in commands TABLEXLS(2), XLSGEN(2) and XLSXGEN(2) can be used to skip generation of text blank cells. 2017-09-02 - Improved the ability of a CL program, executing command TABLEXLS, to monitor for escape messages returned from this command. See CL test programs MONITORCL in HSSFCGI/QCLSRC. 2017-08-14 - Fixed parameter TGTRLS in some commands of CL source COMPILE. 2017-07-06 - Command CRTBIGXML creates a large XLSGEN input stream file to be used for a performance test. 2017-06-26 - Sheet name maximum length has been raised from 30 to 31 characters. 2017-06-17 - New XLSGEN and XLSXGEN feature: - in and in the new keyword DEC-POS="n" allows to override the number of decimal positions specified in parameter DECPOS of commands XLSGEN and XLSXGEN. See page http://www.easy400.net/hssfcgi/html/page2.htm#numbers . 2017-06-15 - Fixed the case when generating multiple workbooks and the first worksheet in the 2nd, 3rd, etc. workbook shows up with an odd name and no cells. 2017-06-08 - In XLSGEN, XLSGEN_COM, XLSGEN2_CM, XLSXGEN and XLSXGEN2 fixed the way submitted job names are generated. 2017-05-28 - In XLSGEN, XLSXGEN, XLSGEN2 and XLSXGEN2 the maximum number of consecutive recovery jobs was set to 20. 2017-05-24 - Two new parameters (FLDDLM and STRDLM) have been added to command TABLEXLS2. 2017-04-22 - New command ZIPWKB (Zip Excel workbooks) allows to compress into a .zip file the Excel workbooks generated from commands XLSGEN, XLSXGEN, TABLEXLS and TABLEXLS2. See page http://www.easy400.net/hssfcgi/html/page2.htm#zipwkb . 2017-04-18 - In XLSGEN_COM, XLSGEN2_CM, XLSXGEN, XLSXGEN2 calls to function (h)ss(f)_begin_Obj_Capacity() are now monitored for error. 2017-03-31 - Maximum number of supported columns raised from 500 to 1000. 2017-03-30 - Performed a major redesign to support creation of very large spreadsheets (totalling more than 2 million cells) through multiple workbooks, each workbook containing at least two spreadsheets. This process is completely automated and performed by serially submitting multiple batch jobs. WARNING - In commands XLSGEN, XLSXGEN, TABLEXLS and TABLEXLS2, parameter RECOVERY has been replaced by parameter SHEETSIZE. See page http://www.easy400.net/hssfcgi/html/page2.htm#sheetsize . - Fixed a problem in computing the width of a column when more than 500 columns. 2017-03-22 - More code added to XLSGEN_COM and XLSXGEN to manage creation of large spreadsheets. 2017-03-20 - V7R3 enabled. 2017-03-11 - Improved the process of paramater SBMJOB(*YES) in commands XLSGEN/XLSXGEN/TABLEXLS. 2017-03-09 - XLSGEN_COM and XLSXGEN: small but effective changes when creating large stream files. - XLSGEN_COM and XLSXGEN: more control on files OPEN. 2017-02-23 - Prevented attempts to create multiple worksheets with the same name in the same worksheet. 2017-02-15 - Fixed compile problem: some programs failed to be created because of duplicated procedure names. 2017-01-08 - Two new commands, XLSUPD and XLSXUPD, can now be used to update existing Excel spreadsheets. 2016-12-05 - Fixed Java set up in service program HSSFCGIX. 2016-11-19 - A new demo pgm (GOCATALOG) shows how properly handle pictures in generating Excel spreadsheets via XLSGEN. 2016-11-06 - Modified procedure SetJava15() in module HSSFCGIX of srvpgm HSSFCGIX to match the way the environment variable JAVA_HOME is set by procedure SetJava15() in module XLBPROC of service program XLPARSE2/XLPARSER4. 2016-10-10 - Fixed pgm TABLEXLS. It used to send an error message when *LIBL specified in parameter FROMFILE. 2016-10-05 - A new parameter for commands TABLEXLS and TABLEXLS2, COLHDGOPT, establishes whether the colunm heading cells in the Excel spreadsheet shoult be filled in with the field column headers, the field text descriptions or the field names. 2016-09-08 - Commands TABLEXLS and TABLEXLS2 can now add banners to generated XLS and XLSX Excel Spreadsheets. See page http://www.easy400.net/hssfcgi/html/page6.htm . 2016-08-25 - Updated procedure SetJava15() for V7R3. 2016-08-24 - Reviewed all the Scott Klement's Demos. Provided a documentation page for them. 2016-06-29 - Database record fields containing character ">" used to cause command TABLEXLS2 to generate spreadsheets with missing data in several columns. 2016-06-09 - Added warning messages when "display from right to left" requested for XLSX spreadsheet. 2016-05-26 - A new feature allows to force worksheet display from right to left, instead of left to right. See page http://www.easy400.net/hssfcgi/html/rtl.htm . 2016-05-14 - Pgm CRTADHPGM. Updated the logic for creating the name of the AD_HOC program when the db file to be read is in library QTEMP. 2016-05-11 - Pgm TABLEXLSV, validity checker of command TABLEXLS:removed err msg for FROMFILE in library QTEMP. 2016-05-03 - Fixed bug in pgm XLSGEN: date format "dmyy" used to provide a dd/mm/yy cell edit value instead of dd/mm/yyyy . 2016-04-12 - Program CRTADHPGM has now a different process in creating ad-hoc ILE-RPG programs intended to read database files in library QTEMP. 2016-03-31 - Program CRTADHPGM (Create ad-hoc program) - invoked from command TABLEXLS - when simultaneously requested to create ad-hoc programs from two different jobs, had a chance of using the same RPG source member for that, thus failing the program creations. That was fixed. 2016-03-11 - The temporary ..._save... copy of the generated workbook, should have been deleted before returning from commands XLSTABLE and XLSTABLE2. 2016-01-24 - XLSGEN new ; keyword ROW-HEIGHT allows to define the height (in points) of a row. Extremely useful for pictures and headings. - XLSGEN new keyword VALIGN allows to define the vertical alignement of data in a cell. 2016-01-20 - Fixed memory problem in pgm XMLFORMAT. 2016-01-20 - Programs XLSGEN and XLSGEN now reformat their input XML-like stream file so that no problems may any longer arise in detecting <...> tags. 2016-01-15 - A new XLSGEN DATA TYPE has been added: LARGENUMBER. It defines a right aligned large characters number. 2015-11-27 - Fixed the case of row loss when no spaces between tag and tag . 2015-11-25 - Unlimited number of HSPAN/VSPAN-ned cells now supported. 2015-11-24 - Fixed some user errors in the XLSGEN script: 1- tag missing 2- tag without any preceding tag. 2015-11-20 - Fixed some prompt controls in command XLSTABLE. 2015-09-10 - Commands TABLEXLS and TABLEXLS2 now support parameter PRTFIT. 2015-09-08 - Commands TABLEXLS and TABLEXLS2 now support parameter PAPERSIZE. 2015-09-05 - New CGI program WEBTABLEX2 (similar to CGI program WEBTABLEXLS) allows to run TABLEXLS2 from the browser and returns the generated spreadsheet to the client. 2015-09-04 - New program WEBXLSGEN2, similar to WEBXLSGEN, but for interpreting XLSGEN2 stream files. 2015-09-02 - Fixed a TABLEXLS2 case where the input database file contains *null fields. 2015-08-27 - Fixed a problem with programs XLSGEN2_1, XLSGEN2_2 and XLSXGEN2 (used also in command TABLEXLS2). Program-predefined cell styles were getting corrupted during execution, thus causing exceptions during spreadsheet cell creation through POI. 2015-08-18 - A new formula command in XLSGEN language, XVSUM, allows to perform a sum of all the preceding cells in the same column that did perform a VSUM formula. XVSUM therefore may be used in a column to generate a "grand total" from the preceding "subtotals". 2015-08-12 - In srvpgm HSSFCGIX, procedure ChkJavaPrerq() performs more tight controls on JDK prerequisites. - Added command DSPENVVAR. 2015-08-08 - Fixed some VSUM/HSUM/VAVG/HSVG behavior in XLSGEN.../XLSXGEN... programs. - VSUM/HSUM/VAVG/HSVG commands now supporting parameter "noclear". - New procedure "getColName()" added to service program HSSFCGIX. It allows to retrieve the Excel column name from its column number. 2015-08-03 - Program install now deletes all existing "ad-hoc" prograqs in library HSSFCGIDTA. Reason: existing "ad-hoc" programs may raise a signature violation exception if some of the HSSFCGI service programs was updated. 2015-08-01 - In XLSGEN* and XLSXGEN* programs, HSSFR4 procedures hssf_cellname() and ss_cellname() - previously used to retrieve a cell name from row-number and row-cell-number - did not work for spreadsheets containing more than 32767 cells. That caused XLSGEN formulas VSUM/HSUM/VAVG/HAVG not to be reliable in large spreadsheets. Now, to retrieve a cell name, we use a new procedure of ours, getCellName(), and now we have no problems with XLSGEN formulas VSUM/HSUM/VAVG/HAVG in large spreadsheets. 2015-07-14 - Released the HSSFCGIDeveloperGuide.pdf . 2015-06-04 - Fixed program TABLEXLS2 for the case when in system value QDECFMT the decimal point is a comma instead of a period. 2015-06-01 - Command TABLEXLS2 has been given the possibility of just generating the script to be later on processed by command XLSGEN2 or XLSXGEN2. 2015-05-30 - Parameter XLSGENRPT has been added to commands XLSWGEN, XLSGEN2, TABLEXLS and TABLEXLS2. It allows to generate - once the spreadsheet creation is over - a performance report. 2015-04-24 - Improved performance report (prtf and pgm RPTXLSGEN). - Fixed some TABLEXLS2 problems with releases before V6R1: unsupported parameters/values in command CPYTOIMPF. 2015-04-22 - New command TABLEXLS2 is 1.3 times faster than TABLEXLS and does not require ILE-RPG compiler. Note - Library QSYSINC is needed to build Scott Klement's service program HSSFR4. 2015-04-16 - Updated page /hssfcgi/html/altcolhdg.htm . 2014-10-13 - A free trial version (file "hssftry.zip") has been made available for V5R3 and subsequent releases. This version is "object code only" and can be used for 30 days. 2014-09-05 - Solved problem related to XLSGEN commands HSUM, VSUM, HAVG and VAVG (generating Excel formulas). Cells generated from these commands could not participate in a subsequent HSUM, VSUM, HAVG or VAVG commands. Now they can. 2014-09-04 - Fix to XLSGEN and XLSXGEN programs: does no longer generate a text cell containing blank(s), it now generates a numeric cell containing zero. - A new parameter, ZERODSP, was added to commands XLSGEN, XLSXGEN, WEBXLSGEN, TABLEXLS and to CGI WEB program WEBTABLEXL. This parameter tells whether numeric cells containing value zero should display a zero or nothing. When in an Excel worksheet a large number of numeric cells contain zeroes, non displaying the zeroes may result to easier user reading. 2014-03-08 - New command RPTXLSGEN provides detail information about the workbooks created from the current job. 2014-03-06 - Command TABLEXLS will no longer force recreation of the "ad-hoc" program when database creation/last-change dates do not match the ones recorded on file HSSFCGIDTA/ADHOCCTL . This saves useless ad-hoc program regeneration and is also required for using TABLEXLS on a production box without ILE_RPG. 2014-02-08 - Removed limit of 500 characters for conversion of character strings to spreadsheet text-cells (commands XLSGEN, XLSXGEN and TABLEXLS). 2014-01-15 - Fixed a non-relevant error in a CHKOBJ command of pgm XLSXGEN. 2013-12-26 - Updated srvpgm HSSFCGIX for V7R1 5761JV1 product options. 2013-10-17 - In commands XLSGEN, XLSXGEN and TABLEXLS parameter FROZEN extended to include, besides the number of frozen intial rows, also the number of frozen initial columns. 2013-02-04 - Fixed pgm CRTADHPGM for the case when more than one key field are null capable fields. 2013-01-25 - Added TABLEXLS support for datatype "O" (DBCS-Open data) in input database fields. 2012-12-31 - A new parameter (DOWNLOAD) in command TABLEXLS controls whether the Excel stream file generated in a CGI job should be sent or not to the browser. See page http://www.easy400.net/hssfcgi/html/page4.htm . 2012-12-13 - If job CCSID 65535, commands TABLEXLS, WEBXLSGEN, XLSGEN and XLSXGEN will set it to its default value 2012-12-05 - Refreshed service program HSSFCGI/HSSFCGI by duplicating the latest version of service program CGIDEV2/CGISRVPGM2. That was done to get rid of API CEERAN0, giving troubles. 2012-07-15 - Added subprocedure EvaluateCellFormula to service program HSSFCGI/HSSFR4_2. This procedure returns the value of a formula_cell in a XLS or XLSX spreadsheet. Available for POI 3.6 only (V5R4 on). However, apart from two demo/test programs (FORMEVXLS and FORMEVXLSX), this subprocedure is not used in the HSSFCGI utility. 2012-06-21 - XLSGEN and XLSXGEN now provide - in file QTEMP/XLSGENRPT - some data about generated worksheets. 2012-05-02 - In commands XLSGEN and XLSXGEN maximum number of styles raised from 545 to 10051. 2012-04-30 - In commands XLSGEN and XLSXGEN fixed a bug when attempting to generate more cell styles than supported. 2012-03-20 - In command TABLEXLS, when parameter SHEETNAME contains a given name, the sheet names in the workbook used to be added a sequence number. Now, this sequence number (1) is dropped for the first sheet name. 2012-03-09 - In command TABLEXLS, parameter SHEETNAME extended from 8 to 30 characters. 2012-01-15 - Removed the 2011-12/15 restriction "TABLEXLS SBMJOB(*YES) not supported if IGNFLDS or LINKFLDS". 2011-12-16 - Ad-hoc generated programs now can just read (no longer update) database files. That is required by SQL views. 2011-12-15 - TABLEXLS SBMJOB(*YES) not supported if IGNFLDS or LINKFLDS. - Removed "ovrdbf" and "dltovr" commands. 2011-12-05 - Parameter DEC-POS supported also for quick formulas HSUM, VSUM, HAVG and VAVG. 2011-12-02 - In TABLEXLS fixed the editing of some numeric fields with decimal positions. 2011-12-01 - Provided parameter DEC-POS for formulas. Example: < data type="formula" dec-pos="3" > . 2011-11-30 - Fixed the case of multiple consecutive %LF's. 2011-11-29 - Improved number of decimal digits and cell width for < data type="formula" ... > . 2011-11-25 - Provided support for field data type "G" (UCS-2 graphic fields). 2011-11-24 - Files HSSFCGIDTA/ADHOCCTL1 and HSSFCGIDTA/FLDLSTCTL now opened with RCDFMTLCK((... *EXCL)) WAITFILE(32767). 2011-11-21 - Added controls on user profile authorization to access files specified in parameter FROMFILE of command TABLEXLS. 2011-11-19 - Fixed command TABLEXLS (some parameters were no longer visible). - Provided some *PRV messages for TABLEXLS SBMJOB(*YES). 2011-11-19 - Provided an extra page for further ALTCOLHDG documentation. - Provided raise up of XLSGEN/XLSXGEN messages at top of program stack when pgm TABLEXLS in execution. 2011-11-08 - New parameter ALTCOLHDG has been added to command TABLEXLS. In this parameter you may mention a stream file containing an XLSGEN script that provides your own worksheet column headings for the first database file mentioned in parameter FROMFILE. See page http://www.easy400.net/hssfcgi/html/page4.htm . 2011-11-05 - Some fixes in recovery code. 2011-10-27 - Full recovery feature now available with parameter RECOVERY in commands XLSGEN, XLSXGEN and TABLEXLS. Especially useful when facing JVM memory problems during generation of large worksheets. See page http://www.easy400.net/hssfcgi/html/page2.htm#largewks . 2011-10-12 - Added code to XLSGEN and XLSXGEN to provide for saving the generated worksheets before a failure occurs. This allows for partial results in case of memory problems. - Provided command DSPERRS for quick diagnosis after XLSGEN/XLSXGEN failure. 2011-10-10 - XLS (MS Office 2003) and XLSX (MS Office 2010) worksheets have some limits (number of rows, number of cells). See: - http://office.microsoft.com/en-us/excel-help/excel-specifications-and-limits-HP005199291.aspx - http://office.microsoft.com/en-us/excel-help/excel-specifications-and-limits-HP010342495.aspx Whenever program XLSGEN or XLSXGEN reaches one of those limits, it ends the current worksheet and starts a new one. 2011-10-05 - When a formula is not accepted by POI, srvpgm HSSFR4 receives an exception and POI is no longer available until the program returns with *LR *on. In such situations, it was very difficult for the user to know the name of the cell containing the wrong formula which raised the POI exception. Some special messages have been added to commands XLSGEN and XLSXGEN, so that the user now can know the name of the cell and the wrong formula which stopped the process. 2011-09-29 - Fixed a bug in pgm TABLEXLS (executing command XLSGEN). 2011-09-23 - Fixed a bug by which VSPAN/HSPAN-ed cells "booked" status was incorrectly cleared, thus not displaying the cell in a row following the last VSPAN/HSPAN-ed cell. 2011-08-30 - A new parameter ("anchor") has been added to the data type PICTURE. It establishes the behavior of a picture when - the cell is resized - a new column or a new row is added to the worksheet For more information, see page http://www.easy400.net/hssfcgi/html/page2.htm on topic "Picture resizing and relocation". 2011-08-12 - In XLSGEN, date cells containing a date before January 1 1900, are converted to Excel text cells instead of being converted to Excel date cells. This is due to the fact that in Excel dates are represented as the number of days since January 1, 1900 and date cells created with a lower value display value ########## . 2011-07-16 - Commands XLSGEN, XLSXGEN and TABLEXLS have been added parameter LOG. This parameter allows to generate a log file in library QTEMP, where all the generated cells are logged. If the process abnormally terminates, by displaying this file one can easily tell what was the last cell successfully generated. - VSUM, HSUM, VAVG and HAVG formulas can now be requested on previous formula cells. - In XLSGEN language, tag < cell > features a new keyword, COLUMN-MAXWIDTH="number_of_pixel". It may be used to limit the width of a spreadsheet column when the data of its cells cause an excessive column width. - When an XLSX spreadsheet is generated, controls are now active to limit to 30 chars the spreadsheet names. 2011-07-11 - Added parameter SHEETNAME to command TABLEXLS. 2011-07-05 - Fixed bug in XLSGEN_COM/XLSXGEN local subprocedure SaveColWidth. 2011-06-28 - Fixed error in XLSGEN/XLSXGEN: when XLSGEN < data > starting by "%LF ", local subprocedure SaveColWidth would fail after being called from local subprocedure SetLineFeeds. 2011-06-10 - Implemented new features to control cell borders: 1-Commands XLSGEN, XLSXGEN and TABLEXLS are now supporting new parameter CELLBORDER which allows to generate cell borders for all cells, or just for cells displaying a foreground or a background color different from the default values. For more information, see page http://www.easy400.net/hssfcgi/html/page2.htm . 2-In the XLSGEN language, the cell tag now supports the keyword BORDER < CELL BORDER > This is the way to add borders to selected cells. For more information, see page http://www.easy400.net/hssfcgi/html/page4.htm . 2011-05-04 - In command TABLEXLS, parameter LNKFLDS (hyperlink fields) now supports single value *SELECT. This allows the user to select from a list the field pairs making up hyperlinks. - In command TABLEXLS, parameter IGNFLDS (fields to be omitted) now supports single value *SELECT. This allows the user to select from a list the field names to be omitted in the spreadsheet. 2011-05-01 - Some new keywords added to XLSGEN language tag < WORKSHEET >. These keyword are PRINT-HEADER, PRINT-ORIENTATION and PRINT-SCALE. See page http://www.easy400.net/hssfcgi/html/page2.htm . The old XLSGEN tag < HEADER > is still supported but is now deprecated. 2011-04-29 - All spreadsheet cells are now given thin borders (they show up also on printouts). - Changed XLSGEN/XLSXGEN checks on Java configuration. 2011-04-20 - Added command WEBXLSGEN, see page http://www.easy400.net/hssfcgi/html/page3.htm . 2011-04-18 - New parameter ADDTO(*YES) in commands TABLEXLS, XLSGEN and XLSXGEN allows to add new worksheets to an existing workbook. 2011-04-15 - Added support for database null capable fields. 2011-04-07 - Added subprocedure "Get_HSSFCGI_Java()" to service program HSSFCGIX. This subprocedure allows to retrieve the Java environment variables needed by commands XLSGEN, XLSXGEN and TABLEXLS. This allows the Java environment variables to be setup by a program before that a JVM is started. See page http://www.easy400.net/hssfcgi/html/page3.htm#3 . 2011-04-06 - A new parameter SBMJOB has been added to commands XLSGEN, XLSXGEN and TABLEXLS. When SBMJOB(*YES), the entire Java process is executed in a submitted batch job. This allows to avoid conflicts with existing JVM settings in the current job. 2011-03-31 - Added keyword PAGE-BREAK to tag ROW. It causes a print page break before this row. 2011-03-08 - Fixed an error in XLSGEN_COM and in XLSXGEN. When more than 32767 cells, formula-cells would bump out the program. 2011-03-01 - Fixed an error in the HTTP directives ( < LocationMatch ... > directive ). 2011-02-25 - Qualified database file names not supported by the RPG compiler. Error message from TABLEXLS. 2011-02-21 - TABLEXLS and the CGI pgm WEBTABLEXL are now supporting multiple database files. 2011-02-20 - TABLEXLS and the CGI pgm WEBTABLEXL are now supporting multimember database files. - Parameter HEADER in command XLSGEN/XLSXGEN now allows to define a print header. 2011-02-18 - Hyperlink cells can now be generated also for spreadsheets built from command TABLEXLS and from the WEB-CGI program WEBTABLEXL. 2011-02-16 - XLSGEN control statement < header >...< /header > can now be used to generate print header and footer. 2011-02-15 - Frozen rows are now repeated on all print pages. 2011-02-14 - Added HYPERLYNK support in Formula. - Refined the computation of column widths. - Fixed the case where < /worksheet > is omitted. 2011-02-12 - Added keywords UNDERLINE and ITALIC for the XML-like < data ... > statement. 2011-02-10 - Added keyword CELL-WIDTH for the XML-like < cell ... > statement. It allows to size a cell width to a given number of pixels. Example: < cell cell-width="200" > . Maximum cell width is 889 pixel. 2011-01-24 - Changed the way Java is started for V6R1 and V7R1. See subproc SetJava15 in mbr HSSFCGIX . 2010-12-06 - A POI procedure "freeze pane" has been used to keep steady the spreadsheet initial rows. This is very useful when scrolling spreahsheets with a large number of rows. This feature is handled via parameter FROZEN in commands XLSGEN, XLSXGEN and TABLEXLS. CGI program WEBTABLEXL now invokes command TABLEXLS with parameter FROZEN(1). 2010-11-28 - In the previous releases of HSSFCGI, a cell spanning over multiple rows used to force the next row after the last row spanned. That did not allow to have other cells - at the right and left side of the spanning cell - except for the first spanned row. In today release you can have a cell spanning over multiple rows AND surrounded by other cells in all the spanned rows. This can be done by specifying OVERLAY next to the keyword VSPAN. See http://www.easy400.net/hssfcgi/html/page2.htm#figure5 . See also the sample XLSGEN script in stream file /hssfcgi/tmp/zzz.xml . 2010-11-27 - Fixed the error where a cell text was displayed in bold characters when the cell text was containing the word " bold". 2010-11-09 - Programs XLSGEN and XLSXGEN were missing the appropriate style for numeric cell with 6 decimal positions. 2010-10-18 - Added the following types for right alignement: TEXTR, LARGETEXTR, SMALLTEXTR. Added keyword BOLD. 2010-10-16 - If during XLSGEN/XLSXGEN process library HSSFCGI is added to the library list, it is then removed from the library list as soon as it is no longer needed. 2010-10-07 - Fixed a problem that was not allowing XLSGEN to work with OS/400 V5R4. 2010-10-06 - Fixed the problem with more than 32767 cells. - Changed the way Java products level is retrieved. 2010-10-04 - Fixed management of large and small text fonts in XLSGEN/XLSXGEN. 2010-10-02 - If OS release >= V4R4, and Java 1.5 available, Java 1.5 (i/of Java 1.4) is now used to run command XLSGEN (Java 1.4 no longer needed if Java 1.5 available). In this case, the XLSGEN based on HSSFR_2 is run. 2010-10-01 - In commands XLSGEN, XLSXGEN, TABLEXLS and CGI program WEBTABLEXL, parameter DFTCELLCOL can be used to specify the cell default font and background color. Besides, THE XLSGEN language is now supporting keywords (f-color and b-color) to define font and background colors at cell level. 2010-09-20 - In commands XLSGEN, XLSXGEN, TABLEXLS and CGI program WEBTABLEXL, parameter DECPOS(*NOC) can now be used to suppress thousand delimiters in spreadsheet numeric cells. 2010-09-16 - Enabled CGI program WEBTABLEXL to support background colors in the column headers of the generated spreadsheet. 2010-09-15 - Commands XLSGEN, XLSXGEN and TABLEXLS have been added a new parameter, HDGCOLOR, which can be used to set the background color of the column heading cells of the generated spreadsheet. 2010-09-10 - In the XML-like XLSGEN input stream file numeric values can now have been edited with edit code J, L, N or P. 2010-09-09 - Fixed bug in XLSGEN and XLSGEN: they used to assign one extra decimal position to negative numbers with at least one decimal position. 2010-09-06 - In programs XLSGEN and XLSXGEN removed the limit of 16Mb size for the input XLM stream file. 2010-07-28 - Added parameter IGNFLDS (fields to be ignored) to command TABLEXLS. 2010-07-23 - Improved documentation about DATE fields. See page http://www.easy400.net/hssfcgi/html/page4.htm#dateflds 2010-07-22 - You may now specify TABLEXLS TOXLS(*NONE). This can be useful to review the generated XML-like stream file before processing it with command XLSGEN or XLSXGEN. - Some changes in date formats for spreadsheet date cells: FORMAT PREVIOUS EDITING CURRENT EDITING MDY mm/dd/yyyy mm/dd/yy DMY dd/mm/yyyy dd/mm/yy DMYY dd/mm/yyyy YMD yyyy/mm/dd yy/mm/dd YYMD yyyy/mm/dd ISO yyyy-mm-dd yyyy-mm-dd USA mm/dd/yyyy mm/dd/yyyy EUR dd.mm.yyyy dd.mm.yyyy JIS yyyy-mm-dd yyyy-mm-dd JUL yyyy-ddd 2010-07-21 - Added parameter CVTDATE to commands XLSGEN, XLSXGEN and TABLEXLS. This parameter may be used to assign the same format to all the date cells in the spreadsheet. - Support for database date fields (data-type L, several date formats) added to command TABLEXLS. 2010-07-16 - Representation of signed and packed fields with a value lower than zero was wrong; now fixed. 2010-07-14 - Added directives for HTTP instance HSSFCGI. 2010-07-13 - Parameter DECPOS(*AUTO) in commands TABLEXLS, XLSGEN and XLSXGEN will display the original decimal positions in all numeric spreadsheet cells. - In module HSSFXGIX, subprocedure RtvJavaLvl, fixed a bug due to the fact that starting with V7R1, the IBM Java directory is no longer '/QIBM/ProdData/Java400', but is then '/QOpenSys/QIBM/ProdData/JavaVM'. 2010-07-12 - Added support for XLSX Excel spreadsheets (Windows 2007, POI 3.6). - Fixed odd characters in numeric fields (due to CCSID 65535). 2010-07-07 - Parameter DECPOS(*AUTO) supported for command TABLEXLS. - Fixed HTTP directive. - Fixed the case where a character field contains character "<" or character ">". 2010-07-06 - Parameter DECPOS (Decimal positions) added to commands XLSGEN and TABLEXLS. 2010-07-05 - New command TABLEXLS allows to generate XLS Excel spreadsheets from any database file. 2010-06-15 - Diagnostic messages now issued whenever a VSUM/HSUM/VAVG/HAVG formula is missing operators. 2010-06-14 - Supported any valid EXCEL formulas. Besides VSUM an HSUM, two more commands have been added for generating formulas: VAVG and HAVG. - Family-Accounting (FAMACC) CGI sample program has been added. 2010-05-11 - Fix to pgm XLSGEN. It was not closing the .xls stream file after saving the workbook to it. As a result the .xls file could not be copied. Suggested by Richard Davenport, Dallas, TX. 2010-01-26 - POI 3.2 Java classes are back. 2010-01-05 - POI 3.2 Java classes replaced by POI 3.6 ones. 2009-10-13 - Provided support for characters '<' and '>' within a text cell, by using the corresponding HTML entities. 2009-04-21 - First release