/
 

Attention Nexus Clients and Prospective Clients

We're pleased to announce the release of Nexus 2.01. You can view a Nexus 2.01 features summary at http://www.excelsystems.com/nexus2features.htm. You can download the new version from the Free Software Download link at our web site.

Release 2.01 is no longer dependent on having a licensed copy of the WebSmart Web Application Server (WAS) installed on your iSeries. Nexus will continue to work if you have a licensed copy of WebSmart, but is licensed independently of the WAS. These changes require that you enter a valid Nexus code to activate the product. You will be prompted for this code when you install Nexus 2.01. If you are currently using Nexus 1.2 or older you must download and install Nexus 2.01 and activate your copy with a valid trial code or permanent code before the end of March, 2004. After March 31, 2004 copies of Nexus 1.20 will no longer function.

If you have a licensed copy of Nexus, a permanent security code can be retrieved for your system prior to installing Nexus by clicking http://esdi.excelsystems.com/esdiapps/nxcoderq.pgm. If you are unable to obtain a code, please use the form provided and a code will be emailed to you or a sales representative will call. For your convenience, a temporary Nexus trial code below has been provided below. The trial code provides full functionality until it's expiry.

Nexus 2.01 Trial Code (Valid until May 15, 2004): E53X973N8PTP

If you have any questions about the upgrade process, or any of the new features, please contact Technical Support.


Catapult 5 Production Release

The production version of Catapult 5 is now ready for download. To download Catapult 5.10, visit the Free Software Download area of our web site.

For a list of all the new features, as well as detailed profiles of some of the most significant ones, please visit the Catapult Home Page.

WebSmart 4 Production Release

The production version of WebSmart 4 is now ready for download. To download WebSmart 4.02, visit the Free Software Download area of our web site.

You can also download and review the User and Reference guides from the WebSmart Home Page. The home page includes links to a new features list, as well as to the updates page, where you can check for the availability of additional late-breaking features.

Midrange Server also ran an article on WebSmart 4 recently; you can read it at www.midrangeserver.com/fhs/fhs021704-story02.html


ProGen Plus Version 9 Feature Requests

The ESDI development team is beginning to work on ProGen Plus Version 9 and is now seeking input from our customers on features that you would like to see included in the upcoming release.

If you work with ProGen Plus on a regular basis and find yourself stymied on occasion due to the lack of a particular feature, we would like to hear from you. Likewise, if there is an inordinately complex set of steps you find yourself having to repeat on a regular basis to achieve a simple outcome, please drop us a note. Or if you have become aware of a great new feature in RPG that the current release of ProGen Plus doesn't easily handle, give us a call.

Client input is always an important part of the decisions made for (and against) the value of different suggested features, so no matter how trivial you think a feature may be, or how difficult to implement, we greatly appreciate all the input we get, and it is always taken into account.

If you have any suggestions, please give us a call at (250) 655-1766, or drop us a note. We look forward to hearing from you.


BCD @ Spring COMMON in San Antonio If you will be attending the Spring COMMON Conference & Expo in San Antonio, Texas, please drop by BCD's booth for a visit.

We are hosting two labs. One is Web Development with ProGen WebSmart lab: 25LF: Monday, 2:00-4:45 pm, Room 214D (Two & 3/4 hrs). The other is Integrating Report Distribution With Your Web Development Strategy: 26CW: Monday, 3:30-4:45 pm, Room 007A (One & 1/4 hrs). You can view the lab or sign up at the Common Sessions page. We look forward to seeing you.


ProGen 8 Training Class

BCD has scheduled a ProGen Plus version 8 training class for the week of May 3rd, hosted at the ExcelSystems Software site in beautiful Sidney, British Columbia. The ExcelSystems conference room has already hosted several WebSmart classes, and we're now preparing to hold our first ProGen Plus class.

For an overview of the class contents, please visit the Training Page of our web site. The course has been updated to include all the new features in ProGen 8, so this will be of benefit to even experienced ProGen Plus programmers.

If you would be interested in attending this class please fill out the Training Request Form posted at our web site, or email Marcel Sarrasin, the training coordinator.


ProGen Plus and Free-Form RPG

In our last tech update we included a brief note mentioning that you can use free form RPG in ProGen Plus. In response to a number of inquiries, here is a little more information on this.

Free form coding has been available for RPG IV since OS/400 release V5R1 (available in early 2001). In our experiences with the new syntax in product development and consulting projects we have been impressed. The syntax means that we are no longer constrained by the column-dependency of traditional RPG C-specs (the area where it is supported).

Some of the perceived advantages include:
   • Coding is faster.
   • Complex expressions can be entered more easily.
   • You can indent nested logic for better readability.
   • New programmers learn it more easily.

In ProGen Plus, free form RPG can be used in a few different ways; via Actions Editor using the USRCOD and CALLSBR actions, by adding it to your generated code after a *PGMR tag, or within the Actions Editor directly with the USRSRC action. Here is an illustration where we have done this using the USRCSRC action:



Future releases of ProGen Plus will see more features related to allowing you to enter free form code even more easily.

[Code sample illustrated from the iSeries Tools & Technologies Digest]



WebSmart Example Programs

We have produced several new WebSmart example programs over the last month or so. Here is a list of the latest:
   • Example 56 - Illustrates how to set focus on a specific field when the page loads.
   • Example 57 - This program shows an example of loading today's date to a page, using JavaScript.
   • Example 58 - This program uses the openstrmf function to check if an object exists in the IFS, and returns a message if it does not.
   • Example 59 - Example 59 illustrates how you can launch other Windows applications from within a web page.
   • Example 60 - This example is similar to number 57, except that it uses server side code to load the date to the page.
   • Example 61 - This program illustrates how to initially edit an input box for a phone number using JavaScript.
   • Example 62 - The latest example is of a program using the new sendmailx function.

For further details on any of the WebSmart examples, or if you have any questions on how to implement the techniques they illustrate, please contact Technical Support.


Accessing the IFS of a Remote iSeries

On the iSeries is a little known function called QFileSvr.400 that enables you to access the IFS of a remote iSeries. In WebSmart the include function and the stream file function can be used with QFileSvr.400 to access static HTML files at runtime and write stream files to a directory on a remote IFS. You can also use the runcmd function with QFileSvr.400 to create directories on the fly on the IFS of a remote iSeries. The steps required to make this happen are outlined below.

First, create a directory in the root of your iSeries called QFileSvr.400. Then confirm that the QSERVER subsystem is running on the target iSeries.

Then, you need to add the code to your WebSmart program. Here are some samples: Add code to your WebSmart program:
   •  For a runcmd, it would be:

runcmd("MKDIR DIR('/QFileSvr.400/REMOTESYSTEMNAME/DIRECTORYNAME/')"

For writing a stream file:

crtfhandle(PermFile, "permanent ifs file");
PermFile = openstrmf("/QFileSvr.400/REMOTESYSTEMNAME/NAME/mas.txt", "*BIN", "*WRITEONLY");
text = "My Name is Mike";
Writestrmf(PermFile,text,15); closestrmf(PermFile);

For using an include:

include("/QFILESVR.400/REMOTESYSTEMNAME/FILENAME.HTML");


To use QFileSvr.400 the iSeries User Profile that runs the HTTPSVR job must exist on the remote iSeries and have the same password. As far as we know you cannot use the QTMHHTP1 profile. Therefore, you must either have a protect statement prompting for an iSeries user profile, or better yet, use the new SETUSR function in WebSmart.

Additional information is available in this document: www.excelsystems.com/Integrated File System Introduction.doc




SQL Tip: Summing Data Based on a Range of Values

This month we thought we'd share with you a cool SQL statement that one of our developers came up with. The statement sums data based on a range of values. In the instance where we used it, a consulting client wanted a set of sales numbers for close of business yesterday, month to date and year to date. To do this, we used a single SQL string to sum the sales (and inventory numbers) based on a single date and date range.

Here is the SQL string we used:

SELECT SUM(CASE when DATE = 20040315 then AMOUNT else 0) as TOTALTODAY, SUM(CASE when DATE between 20040101 and 20040315 then AMOUNT else 0) as TOTALYTD from MYLIB/MYFILE

Explanation:
DATE and AMOUNT are fields in MYFILE.

The fetch would be:
FETCH FIRST from CURSOR into :TOTAL1, :TOTAL2
where CURSOR is the name of the cursor that was specified on the sqlquery, and TOTAL1 and TOTAL2 are workfields with the correct attributes to accept the sum of the AMOUNT field. (Note: If AMOUNT is 9,2 the you might want the total fields to be 10,2)

The else 0 is so that a null value doesn't get returned if there is no value for the 15th because it's a Sunday, for example.

If you have any questions about this example, email Technical Support, to Dave's attention.


 Summary List of Recent Updates

ProGen Plus 8.01
  • PG8A001 - 2004/03/20 - Accum 1, for release 8.00. Updates release to 8.01. Includes updates 1-6. (3689 kb)

  • PG8R006 - 2003/11/28 - Corrected array index error in GN#G06 when exceeding 100 display attributes.
Please visit the ProGen Plus Updates page for further information on the available updates.


© 2004 ExcelSystems Software Development, Inc.
ProGen Plus and ProGen WebSmart are Trademarks in the US and Canada.