Skip to main content  
        iSeries home   |   Easy400  
Public-Source
 
 Introduction
 
 
About it
Prerequisites
Installation
Operation
Notes
Updates
FAQ
User Guide
PFF
 
 Display the Change Log
 
 Download
 
 

 
CGI_WRKDBF
Public Source CGI to work with database files
by Giovanni B. Perotti (Italy)

1-About it

This is a public source utility for IBM System i.
It allows to browse any keyed or arrival database file on your favorite Internet browser.
You can also add, update and delete records.

  • User preferences are saved.
  • Records are presented in a table. Each row is a record, each column is a field.
  • Each column has a header containing the field name, its column headings, offset in the record, data type, length ( or decimal digits and decimal positions), and key information if applicable.
  • Non character field (for instance, packed) values are edited, you would never see hexadecimal values.
  • Page size (number of records in a page) can be changed at any time.
  • Next Page, Previous Page, Top, Bottom and Refresh buttons available.
  • Record positioning by relative record number or access keys available through button Position.
  • Record filtering option available through button Set Filter.
  • A Scrollable-Fixed-Header-Table script is automatically called for medium size record tables, thus allowing to keep field headers fixed while a record table is being scrolled.
  • HTTP Apache directives are included.

To understand how this tool works, please refer to the User Guide.

2-Prerequisites

  • OS/400 release V5R3 or subsequent
  • IBM HTTP Server for IBM System i, product 57xxDG1 (library QHTTPSVR)
    (please make sure to have installed the latest PTF CUM for this product!)
  • Compiler ILE RPG IV, product 57xxWDS, opt. 31, is required not only during the installation phase, but also at execution time.
  • Ability to work with HTTP instance directives

3-Installation

  • Download file cgiwrkdbf.zip from the Easy400 download page and unzip it.
  • Follow the Readme.txt instructions to upload and to restore library CGIWRKDBF.
  • On the IBM System i run the following procedure:
    STRREXPRC SRCMBR(INSTALL) SRCFILE(CGIWRKDBF/QREXSRC)
    It does the following:
    • if not already existing on the system, restores library LIBHTTP.
      LIBHTTP is a famous free product originated by Scott Klement.
      This tool allows the IBM System i to behave as an HTTP client.
      It is used within CGI_WRKDBF to receive information from the Easy400.net site about new releases.
    • creates service program CGIWRKDBF/SRVPGM1
    • creates programs
    • creates and populates library CGIWRKDBFD. Local data are maintained in this library, so that new releases of library CGIWRKDBF do not impact local users data.
    • restores IFS directory /cgiwrkdbf
    • displays the HTTP directives that you must install on an Apache HTTP instance of yours.
      To display these HTTP directives later on, run command CGIWRKDBF/APACHE.
      See also the Notes below.

4-Operation

  1. Starting WRKDBF from a WEB browser
    On your Internet browser run the following URL:
    http://.../wrkdbf
  2. Starting WRKDBF from a green screen emulator session
    1. Setup
      • Use STRDFU option 5 or WRKDBF itself to maintain control file cgiwrkdbfD/DNS
      • Field "dnsname" is optional: if you have no DNS name for a system, just leave this field blank
      • All other fields are required
    2. Operation
      1. Start an emulator session using the IBM iSeries Access for Windows (product no. 57xxXE1)
      2. Enter command
        cgiwrkdbf/runwrkdbf
        and use F4 to prompt parameters
      3. For parameter SYSTEM use a system ID documented in file cgiwrkdbfD/DNS.
  3. Browser restrictions
    Chrome and Safari browsers cannot
    • set record filters
    • update records
    • add records

5-Notes

  1. HTTP INSTANCE
    In case where
    • you do not want to modify an exsiting HTTP instance, or
    • you prefer to have a separate HTTP instance to run this utility, or
    • you have no experience in handling HTTP instances
    you may follow our instructions to create an HTTP instance named CGIWRKDBF.
    It listens on port 8015.
    Its configuration directives are in the IFS stream file /cgiwrkdbf/conf/httpd.conf .
    This is how you create and use this HTTP instance:
    1. run the following command to create the HTTP instance CGIWRKDBF (which listens on port 8015):
      CPYF FROMFILE(CGIWRKDBF/QATMHINSTC) TOFILE(QUSRSYS/QATMHINSTC)
         FROMMBR(CGIWRKDBF) TOMBR(CGIWRKDBF) MBROPT(*REPLACE) CRTFILE(*YES)
    2. run the following command to start the the HTTP instance CGIWRKBF:
      STRTCPSVR *HTTP HTTPSVR(CGIWRKDBF)
    3. to run CGIWRKDBF, use the following URL:
      http://...:8015/wrkdbf
    Some tips
    1. A Saudi Arabia installer, using system value QCCSID 420 (arabic ebcdic, double byte), reported that some problems - dealing with HTTP directives and some HTML - where solved by adding the HTTP directive
      DefaultFsCCSID 37 .

  2. RESTRICTING THE ACCESS TO THIS UTILITY
    The last group of HTTP directives in IFS stream file /cgiwrkdbf/conf/httpd.conf performs user validation vs the system user profiles. This is a convenient way of restricting the access to the user profiles having the proper rights for accessing a given database file.

    However, if you do not like to enable all user profiles to access CGI_WRKDBF, you may decide to use instead a validation list in order to restrict the access to a given set of user names.
    This is how you do it:

    1. Create a valdation list
      CRTVLDL VLDL(QGPL/xxx) AUT(*EXCLUDE)
      GRTOBJAUT OBJ(QGPL/xxx) OBJTYPE(*VLDL) USER(QTMHHTTP QTMHHTP1) AUT(*USE)
      where xxx is the name of your validation list
    2. Use HTTP instance ADMIN to add/update entries to this validation list
      • STRTCPSVR SERVER(*HTTP) HTTPSVR(*ADMIN)
      • http://...:2001
      • click link IBM Web Administration for iSeries
      • press the Advanced tab
      • press the Internet Users and Groups tab
      • select one of the following:
        • Add Internet User
        • Change Internet User Password
        • Delete Internet User
      • specify your validation list as
        library_name/validation_list_name
    3. From a 5250 session enter command
      EDTF '/cgiwrkdbf/conf/httpd.conf'
      to update the CGIWRKDBF HTTP instance configuration file, and replace the last group of directives as follow:
      # The following group of directives is for user validation vs the system user profiles
      <LocationMatch (^/wrkdbf(.*)$|^/cgiwrkdbfp/(.*)$)>
      AuthType Basic
      AuthName "WRKDBF"
      PasswdFile QGPL/XXX
      UserID YYY
      Require valid-user
      </LocationMatch>

      where
      • XXX is the name of your validation list
      • YYY is the name of an user profile of your choice.
        User profiles QTMHHTTP and QTMHHTP1 should be granted for its *USE.
    4. Restart the CGIWRKDBF HTTP instance:
      STRTCPSVR SERVER(*HTTP) RESTART(*HTTP) HTTPSVR(CGIWRKDBF)

  3. DIRECT ENTRY URL
    Should you need to allow a direct entry to the file browse screen, use the following URL:
    http://...:port_number/cgiwrkdbfp/wrkdbf.pgm?xrequest=cmd&xfilename=file_name
    &xfilelib=library_name

6-Updates

To know about the latest updates to this tool, press this link.
To know about the release date of the CGIWRKDBF version you may have installed, on your IBM i system execute command CGIWRKDBF/RELEASED .