Giovanni's logo
May 2003 updates
this means Version 2
blue line
This page highlights the updates in the CGIDEV2 May 2003 refresh.
For a comprehensive and uptodate list of all subprocedures available in the cgidev2/cgisrvpgm2 service program, please check out our readme page.

Impact to current applications
  1. Not impacted.
    All CGI programs bound to a duplicate of service program CGIDEV2/CGISRVPGM2 in their execution libraries (for instance, libraries set up with command cgidev2/cgisetup) are not impacted from the installation of the new CGIDEV2 library, unless you want to replace their CGISRVPGM2 service programs with the new service program in library CGIDEV2.
  2. Impacted.
    All CGI programs bound to service program CGIDEV2/CGISRVPGM2 are impacted from the installation of the new CGIDEV2 library. The following is required to have them back to operation:
    1. delete file CGIDEBUG from CGI execution libraries other than CGIDEV2, and substitute them with a duplicate from file CGIDEV2/CGIDEBUG
    2. re-create or re-bind all programs
Summary of changes
  1. Subprocedures
    1. zhbGetInput
      The input buffer has been raised from 32,767 byte to 50,000 byte. Dynamic extensions can be performed up to 16 Mb. Total occurrences of a given input variable still cannot exceed 32,767 byte.
    2. zhbGetVar, zhbGetVarUpper
      When retrieving multiple occurrences of a given input variable, in the call of the zhbGetVar subprocedure one should specify the occurrence number as a second parameter:
      D varocc          s             10i 0
      C                   eval      itemno = ZhbGetVar('itemno':varocc)
      From this CGIDEV2 release on, the occurrence number may be a literal instead of a variable:
      C                   eval      itemno = ZhbGetVar('itemno':3)
    3. random
      This procedure returns an unsigned random integer. The service program was changed: built-in function %uns is now used instead of %int. There are no changes in the procedure call prototype.
    4. getHtmlIfs, getHtmlIfsMult
      These procedures now (as procedure getHtml used to do since ever) trim blanks from each record. This results in a better response time to the remote browser (less bytes transmitted).
  2. CGIDEBUG
    1. CGIDEBUG file
      record layout has been changed, to account for a timestamp field.
    2. wrtDebug and wrtJobDbg subprocedures
      now write out a timestamp in the CGIDEBUG record.