Michael Sansoterra
Michael Sansoterra is a DBA for Broadway Systems in Grand Rapids, Michigan.
-
Treasury of new DB2 6.1 (V6R1) Features, Part 4: Index and Data Type Enhancements
March 25, 2009 Michael Sansoterra
So far in this series, we’ve covered how IBM has made life easier for DB2 for i (formerly called DB2/400 or DB2 UDB for iSeries) developers by:
- Part 1: Cramming greater query functionality and operations into a single statement
- Part 2: Providing an easy way to summarize data with super groups and grouping sets
- Part 3: Giving developers options to implement audit tracking and other features useful in a client/server environment by implementing several new client special registers
This tip will cover yet another valuable subset of features: new indexing and data type features.
Building an Index
-
Treasury of New DB2 6.1 (V6R1) Features, Part 3: Client Special Registers
March 18, 2009 Michael Sansoterra
This article briefly explores the new client special registers that are now available in V6R1 and how they benefit client/server development. In case you missed them, Part 1 of this series discussed several query enhancements and explained how IBM is packing more functionality into a single statement. Part 2 of this series discussed the concept of super groups and grouping sets, which are very useful features that allow developers to add various aggregations to a result set.
Now back to the topic at hand. Since so much new DB2 development is client/server based, IBM created a useful set of special
-
Treasury of new DB2 6.1 Features, Part 2: Grouping Sets and Super Groups
March 11, 2009 Michael Sansoterra
Part 1 of this series focused on some of the stellar query enhancements IBM gave its DB2 for i developer community. It’s hard to believe the 20-plus-year-old AS/400 system (now called IBM i) can continue to look so young given its great strengths in database and other areas. But for now, I want to focus on specialized query enhancements called grouping sets and super groups.
The ability to work with grouping sets and super groups in a query is an overdue feature, in my opinion (which incidentally has long been available with other versions of DB2 and other database servers).
-
Treasury Of New DB2 6.1 Features, Part 1: Query Enhancements
February 4, 2009 Michael Sansoterra
Once again I am happy to report that IBM has provided us with a wealth of enhancements to DB2 in this monumental V6R1 release. Incidentally, in case you haven’t heard, IBM is now calling our favorite database by the name DB2 for i (formerly known as DB2/400 and DB2 UDB for iSeries) and our favorite OS is called IBM i version 6.1. Now without further ado, I’ll start to rattle off some query enhancements offered in this release.
VALUES in SELECT
The VALUES clause can now be placed within the FROM clause of a SELECT statement or as a derived
-
Load a Spreadsheet from a DB2/400 Database: Part 3
January 28, 2009 Michael Sansoterra
Note: The code accompanying this article is available for download here.
Part 1 and Part 2 of this little series on generating an Excel spreadsheet demonstrated how to use Visual Basic for Applications (VBA) code to retrieve data from DB2 on an AS/400 and place it in a spreadsheet. Additional refinements were offered on doing some fancier things to the spreadsheet, such as auto-sizing all the columns based on the loaded data, formatting date columns properly, etc. All of this was done in the name of programmatically creating a nice spreadsheet with current “DB2 for i” data. This tip
-
Embed PJL Statements in a Workstation Customizing Object
November 5, 2008 Michael Sansoterra
Note: The code accompanying this article is available for download here.
Modern day printers are fabulous in all that they do. In addition to accepting basic ASCII text streams, modern general purpose laser printers usually process either postscript (PS) or printer command language (PCL) streams to generate ornate printouts. So what about using these printers with the IBM i? If the printer understands PCL (or a few other data streams such as IBM’s PPDS or Epson FX/LQ), then there is no problem because IBM’s host print transform functionality magically converts SCS/AFP spool files into one of the aforementioned data
-
Use PCOMM Scripts to Dynamically Build a Spreadsheet, Part 2
May 21, 2008 Michael Sansoterra
In Part 1 of this series, I demonstrated that users of IBM‘s Personnel Communications can use VBScript to run a remote PC command right from the 5250 emulator window. I want to build on that short tutorial by demonstrating how to build an Excel spreadsheet right from the context of the current 5250 screen.
First of all, if you haven’t read Part 1, please read it now as there are some pointers about script writing for the PCOMM emulator that developers should be aware of. It also instructs you how to get started in writing a script and
-
Use PCOMM Scripts to Execute Remote PC Commands, Part 1
May 14, 2008 Michael Sansoterra
Over the years, much has been published in the AS/400 and System i community about how to execute remote commands on a PC from a 5250 emulation session using a variety of homegrown or IBM utilities. Most of the methods I have seen presented are good but require a fair bit of knowledge for installation, port numbers to open for the Windows XP firewall, calling an API from a high-level language program to retrieve the emulator workstation’s IP address and the like.
For those who use Windows and iSeries Access (now System i Access) or IBM‘s Personal Communications (PCOMM)
-
Detect Host OS and Client Version Levels within Client Software
March 12, 2008 Michael Sansoterra
Sometimes when coding a Windows client/server application it can be a bit pesky dealing with the problem of knowing everything about the operating environment. In the System i and AS/400 world, factors like the host i5/OS version and release, and the iSeries Access (now called System i Access) version and fix pack level, can determine whether or not your software can run correctly. In the “IBM AS/400 iSeries Access for Windows ActiveX Object” library, IBM has given developers the tools to programmatically detect this information and thereby circumvent potential problems for environments that are not at the correct software level.
-
Programmatically Retrieve Defined System i Names
February 27, 2008 Michael Sansoterra
In recent tips, I have discussed some of the useful client side tools that IBM has given to developers in the iSeries Access programmer’s toolkit for Windows. In this tip, I’d like to discuss how a Windows script or program can access all of the system names defined within iSeries Navigator (soon to be renamed System i Navigator).
In these days of multiple System i systems and LPARs, it is increasingly common to see multiple systems defined within iSeries Navigator. There are several scenarios where it would be useful to harvest this information for use within a program.
For example,