Archive for the ‘IBM i’ Category.

5733-QU2 in German? Not yet.

Straight from PMR 61859,212,848 – the NLS issue (details here).

ACTION TAKEN: Reviewed log
at _ibmjsp.console._wfconsolenls._jspService(

Checked open case with IBI, still no fix.

The customer will need to continue to use English until a fix is
available for this issue.

This is not quite what i was hoping for. I had to wait for a full six weeks to get my hands on QU2 after the release dates, while other people in the USA had it a day after. I know that IBM has to forward all this stuff to Information Builders, but it would’ve been really cool if it worked right from the start.

5733-QU2 aka Web Query for System i – It could’ve used a better start

Yesterday i’ve installed 5733-QU2 on a new model 515. While doing so, i ran into the first problem.

Right now, i’ve got two PMRs open, for two different problems:

PMR 61859,212,848

The NLS problem that i’ve talked about during the installation has not gone away. I still can’t use QU2 in German, and the administrative web interface doesn’t work right either. I’ve got a callback from IBM this morning regarding the issue, and was told that the problem was already known, and that they’re working on a PTF.

I know that software testing is an expensive process and also costs a lot of time. But this does not look like an issue that could’ve escaped QA that took the whole internationalization thing seriously. I wish IBM/IBI would’ve spent a bit more time on this, in order to release a product that works completely from the get-go. It’s all about impressions!

PMR 61860,212,848

This is a new problem that i’ve come across yesterday when testing basic functionality. I’ve tried to import a Query/400 query definition, and received an error message when trying to do so:

(FOC1740) EXECUTE ERROR system -q "CALL QZDFMDB2 PARM('-t' '-f'

I’ve even tried to use the query provided with the redbook sample library QWQCENT, but this didn’t work either, same error message. I’ve got a callback from IBM about this issue too, and was told that the problem is currently under investigation, and a fix isn’t immediately in sight, again because IBM can’t actually fix the problem – they have to forward it to Information Builders, which are the guys that actually produced QU2 (as part of their WebFOCUS family).

Other drawbacks

When i heard about 5733-QU2, I thought this to be great news for the System i community. Finally a decent, System i based, graphical query application. But there are some serious drawbacks that you need to consider. I fully hope that IBM will try to improve the situation for their customers, but not all of these points are easily fixable. Of course, QU2 is still miles better than the age-old QU1.

  • Separate pricing (named user, instead of the 515/525 concurrent user model)
  • Separate software maintenance (Why? I don’t understand this at all.)
  • Convoluted installation (requiring about 4-6 hours!)
  • The slow speed when working with it’s web interface (i expect sub-second response time on every click for an intranet web application)
  • Slow report generation speed
  • Usability and looks like it escaped from 1995
  • Cumbersome data handling, moving away from native i5/OS integration using *LIBL etc. which was very convenient for *QRYDFN
  • Incomplete functionality (e.G. can’t delete unnecessary metadata)
  • PDF generation doesn’t work completely (that’s even documented in the redbook)

It could look better, really

If you haven’t worked with QU2 yet, see the screenshot to the right. Does this look like a web application straight from the year 2007? No. It looks like it was made and created in 1995, using CGI programs written in C. The response times are awful – i expect a click to have an immediate impact, with barely no waiting time. This is not the case with 5733-QU2. Especially in the Report Assistant, you might have to wait multiple seconds until a window closes or a new one opens. I don’t find this to be acceptable.


HMC v7 GUINow, IBM can actually make web interfaces that look kinda decent and 2007ish. As you can see to the right, this is the HMC v7 web interface, which actually looks good. I’ve never used it though.

There’s are several products that come pretty close to my expectations of a decent web interface – Gmail< /a>, Google Reader, and the Microsoft Exchange 2007 Outlook Web Access (nice flash demo), the latter is also pictured to the right. All of these applications are snappy, react in a sub second manner, are fully interactive, have decent graphical dress, support full drag and drop, and integrate nicely into their native environments.

I’m obviously not the only one complaining – New Generation Software, Inc. published a document about the QU2 drawbacks.

Microsoft Exchange 2007 OWA
Why doesn’t QU2 look like a decent web application from 2007? Why is it so slow? Why doesn’t it integrate nicely into i5/OS’s DB schematics? Why are there such show stopping bugs with basic functionality?

I DO want a decent replacement for Query/400. I DO want our customers to move into the current time. But IBM isn’t making it easy. I hope though we will have fixes for all these open PMRs soon.

Anyone care to share their experiences with QU2? Anyone already working on a roll out plan?

Installing 5733-QU2 aka DB2 Web query for System i V1R1M0

Just a few minutes ago (Around 10:30 in the morning) i’ve received a package through DHL from IBM, which finally contained the 5733-QU2 media. I’ve decided to write about my experiences with the installation, and i’m typing this as i go through the install.

The product is a single cd, which i’ve put into my laptop, created a CD Image using ImgBurn, and copied it to our i5/OS cd share. After that, i copied the CD image to a model 515 for testing, added it to and image catalog, and mounted the image.

While this was happening, i studied the short included README note. It contained a link to the DB2 Query for Web Getting started page. This page again references APAR II14318, which contains the necessary PTF levels to install this product. The installation guide is in the DB2 Web Query Install Guide.

The first step was to verify that i had all required products installed (using GO LICPGM, 10). There are multiple prereqs stated in multiple documents, i’ve just combined these three lists into one:

5722SS1 Option 3 – Extended Base Directory (installed by default)
5722SS1 Option 30 – Qshell (installed by default)
5722SS1 Option 33 – PASE (installed by default)
5722DG1 IBM HTTP Server (installed by default)
5722JC1 IBM Toolbox for Java (installed by default)
5722JV1 Option 8 – J2SE 5.0 32bit (NOT installed by default)

If you install a new licensed program, it might be necessary to rerun the latest cumulative and group PTFs. It makes sense to combine this with the next step.

I’ve verified that my group PTFs were current (using WRKPTFGRP):

SF99504 - DB2 fixpack level 10
SF99114 - IBM HTTP Server fixpack level 8
SF99291 - Java fixpack level 7

I’ve had higher levels at all products.. If you’re no current on PTFs, you might want to check my writeup about installing PTFs with image catalogs.

But there were more PTF requirements to be met, and you’d also need some special PTFs depending on your language feature code (It’s all in APAR II14318).

I’ve issued the following command to retrieve the missing PTFs through my ESA internet connection:

SNDPTFORD PTFID((SI27813) (SI27814) (SI28336))

The usual QESECARE job started and used up cpu time for about 10 minutes, and then a progress bar appeared. It started to download the PTFs. These three PTFs are about 120MB in size.

You’ll also need to download some more PTFs for use with web query itself. You can download them in the same session, or later. The DB2 web query PTFs are about 650MB in size – while this is not much, remember that IBMs servers are very, very slow – this download can take about 2-4 hours.

SNDPTFORD PTFID((SI28391) (SI28393) (SI28399) (SI28406) (SI28582))

(Only use this command if you’re using lang #2939, for other languages see APAR APAR II14318)

After downloading all these PTFs, i’ve started to reapply the current CUME/Groups (because i’ve installed the J2SE 5.0 32bit Java product), and also the newly ordered PTFs.

After IPLing the machine, i checked if PTFs SI27813, SI27814 and SI28336 were successfully applied. They were. I also checked if all groups were marked “Installed” using WRKPTFGRP. They were.

I loaded the correct image catalog, made sure that the correct disk was selected (F2939_01), and then issued the installation command:


After accepting the license agreement, the installation started. After waiting for about two hours (and watching the RST reaching more than 20’000 objects restored), the installation finally succeeded.

It’s important to know that 5733QU2 needs quite a lot of space, which is not documented anywhere from IBM’s side. You’ll need 650MB for CD Image, which needs about 3GB of space when extracted. Add to that the space needed by PTFs (about 3-6GB), you’re at about 6-9GB of needed space. Those of you running a 595 with more than a hundred 147GB arms might laugh at this, but the lowend 520 machines with two mirrored 36GB disk drives might see this differently.

I do wonder about the final performance of this product, as several IBMers have stated the hardware requirements to be extreme, but the statements are inconclusive because they contradict each other:

Question from Rdandrew: What are the minimum hardware recommendations?

Drmack says: for any query/sql environment we recommend a minimum 8GB of memory per CPU w/ V5R4. We have tested with 600 CPW machines and it runs well there. Typically, 20-25 disk arms keeps your system balanced too.

Question from Dblyth: will the 515 express models run this effectively? they are limited to 8 disk arms, 4 will be typical and 4GB memory will also be typical.

Drmack says: Yes, we think the 515 is a little powerhouse despite your picking up on the fact that is may be under our guidelines for memory and disk I/O


Most of our customers are running IBMs (still expensive) low end machines – 270, 800, 520, 515 with 4 or less disk arms.

Moving on, the next step is installing the 5733QU2 PTFs. This should be done before touching anything about 5733QU2. I started the PTF installer and told it to apply PTFs immediately. This should save me from IPLing the system again (the Java PTFs contained LIC fixes – needing an IPL).

This procedure also needed a lot of time, about two hours (same as the install). At first, the progress of a SAV command appeared, that apparently saved all the files from the IFS into a savefile. After taking it’s sweet time compressing said SAVF, it started a RST command that extracted files from another savefile. Basically, it reran the installation process again (eating more and more time). This would explain why the 5733-QU2 PTFs have nearly the same size as a single CD, but i wonder what IBM’s excuse if for not dealing with IFS based products more efficiently.

While i’m waiting for the PTF installation to finish, i’m pondering the time needed to do this. I’ve started the whole installation thing at around 10:30, and it’s 15:30 right now. That means i’ve wasted about 5 hours just installing a product and it’s necessary PTFs. This wouldn’t sound that bad if we were talking about a low end intel server, but this is a high end server made by IBM, of which i expect the highest performance. A

After the PTF procedure completed, i checked if PTFs SI28391, SI28393, SI28399, SI28406 and SI28582 were applied correctly. They were.

I continued the installation using the command:


The next steps were easy, and fully according to IBMs documentation:


The next step was to bring 5733QU2 into it’s German language version – this actually needs extra steps, and it just shows that 5733-QU2 isn’t really integrated with i5/OS (yet?).

You’ll need to enter QSHELL command prompt using STRQSH.
Then you’ll need to enter a command to translate your installation

/qibm/proddata/webquery/ibi/srv76/home/bin/tsgult.out NLSCFG /qibm/userdata/webquery/ibi/srv76/wfs 500 DEU
This will translate according to the CCSID 500 and the german language. It’s important to know that the examples mentioned in the Web Query Install PDF do not work – you need to explicitly specify both the CCSID and the language!

Next step was logging onto web query:


The page took about 5 seconds to load, but it worked!

I logged in using the QWEBQRYADM credentials, and i was logged in. In the top left corner we saw the recent developments of IBMs branding effort System: OS/400. Product names are very important, and in a new product like QU2, i want to see “i5/OS”, and not “OS/400″.

I clicked on the Configuration/NLS Settings button as instructed by the manual. I was greeted by this error message:

An HTTP 500 error has been returned when attempting to communicate with the WebFOCUS web components. The application server log contains information on why this error has occurred. Contact your WebFOCUS Administrator or Information Builders Customer Support Services for further assistance

My first try was to restart web query using QWEBQRY76/ENDWEBQRY, STRWEBQRY commands. This didn’t help.

After a bit of searching i found out that the logfiles are located in /qibm/UserData/WebQuery/ibi/webfocus76/WQLWI7/logs/. I found a few messages which could indicate the problem:

2007/10/15 15:42:55.090 SCHWER Webcontainer : : Uncaught service() exception thrown by servlet {0}: {1}([/console/wfconsolenls.jsp, java.lang.NullPointerException]) Thread[HttpServer : 4,5,main] ::thread=HttpServer : 4
2007/10/15 15:42:55.128 SCHWER Exception occured in ::thread=HttpServer : 4

at _ibmjsp.console._wfconsolenls._jspService(
2007/10/15 15:42:55.142 SCHWER Exception occured in ::thread=HttpServer : 4

2007/10/15 15:42:55.204 SCHWER Webcontainer : : [Servlet Error]-[{0}]: {1}([/console/wfconsolenls.jsp, java.lang.NullPointerException]) Thread[HttpServer : 4,5,main] ::thread=HttpServer : 4
at _ibmjsp.console._wfconsolenls._jspService(

I’ve tried a few more tricks, like changing the NLS configuration to 237 DEU, and removing the NLS configuration completely. Neither did work.

I’ve opened PMR 61859,212,848 on this. Let’s see how this turns out. Moving on, i’ve tried to logon to the end user interface:

I was greeted with a really ugly login page, and entered my userid and password. It seems to work fine so far, updates regarding the NLS problems will be forthcoming. It’s 17:19 now, and i’m going home.

Transferring savefiles through FTP

If you need to transfer savefiles from one i5/OS instance to another, you have the choice between physical media, SNA (SNDNETF) and FTP.

Using FTP to transfer savefiles has a few quirks that are non-intuitive at first, and it’s more complicated if you’re transferring from one i5/OS instance to another. I often transfer savefiles from our system to customer systems, with my laptop as an intermediary.

Let’s start with the simple ones:

Downloading the savefile QGPL/TRANSFER to a PC:

Verbindung mit wurde hergestellt.
220-QTCP at
220 Connection will close if idle more than 5 minutes.
Benutzer ( lukas
331 Enter password.
230 LUKAS logged on.
ftp> quote site namefmt 1
250 Now using naming format "1".
ftp> cd /qsys.lib/qgpl.lib
250 "/QSYS.LIB/QGPL.LIB" is current library.
ftp> binary
200 Representation type is binary IMAGE.
ftp> get transfer.savf
200 PORT subcommand request successful.
150 Retrieving member TRANSFER in file TRANSFER in library QGPL.
226 File transfer completed successfully.
FTP: 705408 Bytes empfangen in 0.65Sekunden 1090.28KB/s
ftp> quit
221 QUIT subcommand received.

There are a few important things to notice here: QUOTE SITE NAMEFMT 1 changes the System to use the IFS naming format (you can change the default using CHGFTPA). BINARY switches to binary transfer mode, this is especially important for uploads (i5/OS refuses non-binary savf downloads).

Uploading from a PC or i5/OS instance is essentially the same, so i’ll lump these two together in the next section:

Verbindung mit wurde hergestellt.
220-QTCP at
220 Connection will close if idle more than 5 minutes.
Benutzer ( lukas
331 Enter password.
230 LUKAS logged on.
ftp> quote site namefmt 1
250 Now using naming format "1".
ftp> binary
200 Representation type is binary IMAGE.
ftp> cd /qsys.lib/qgpl.lib
250 "/QSYS.LIB/QGPL.LIB" is current library.
250 File TRANSFER in library QGPL deleted.
200 PORT subcommand request successful.
150 Sending file to member TRANSFER in file TRANSFER in library QGPL.
226 File transfer completed successfully.
FTP: 705408 Bytes gesendet in 0.69Sekunden 1026.79KB/s
ftp> quit
221 QUIT subcommand received.

Now, the special case comes into play when you’re downloading from an i5/OS instance. If you do not precreate the savefile and overwrite it, you’ll end up with a simple PF-DTA, that you can’t restore from.

FTP ''

Es wird versucht, eine Verbindung zu Host, Adresse über Port 21 herzustellen.
220-QTCP at
220 Connection will close if idle more than 5 minutes.
> lukas
331 Enter password.
230 LUKAS logged on.
OS/400 is the remote operating system. The TCP/IP version is "V5R4M0".
250 Now using naming format "1".
257 "/" is current directory.
> namefmt 1
250 Now using naming format "1".
Server NAMEFMT ist 1.
Client NAMEFMT ist 1.
> lcd /qsys.lib/qgpl.lib
Das lokale Arbeitsverzeichnis ist /QSYS.LIB/QGPL.LIB
> cd /qsys.lib/qgpl.lib
250 "/QSYS.LIB/QGPL.LIB" is current library.
227 Entering Passive Mode (10,33,0,20,73,134).
150 Retrieving member TRANSFER in file TRANSFER in library QGPL.
226 File transfer completed successfully.
33792 Byte in 0.436 Sekunden übertragen. Übertragungsgeschwindigkeit 77.585 KB/s.

There are a few more noteworthy things in this transcription: We used “namefmt 1″ instead of “quote site namefmt 1″. This will also advise the local FTP client to change it’s naming format. We also issue a cd and an lcd command to change the FTP server and the FTP client to the correct diretory. Then, we call the get command with the special (REPLACE parameter, telling it to replace the already existing savefile (and thus preserving the SAVF attribute).

You’ll also notice that IBM still hasn’t updated their branding throughout i5/OS…

ExcelliPrint and duplex printing

After newly installing ExcelliPrint for a few new Epson printers at a customers site, we had a strange problem: Everytime we printed a single page, the printer tried to duplex it. I checked the PRTF to make sure that duplexing wasn’t enabled, and it wasn’t. Yet the problem persisted. Printing from Windows directly did not yield a duplexed page, so i was a bit stunned.

Could this be a bug in ExcelliPrint? Doubtful, the symptom is just to strange for a programming error.

But the solution was very, very simple: When i looked at the printer configuration (through it’s Web interface), duplexing was enabled by default. I disabled it, and Windows and ExcelliPrint could print single pages without problems, and both Windows and ExcelliPrint could enable duplexing without problems too.

I would assume that the problem is that the Windows printer driver sends an explicitly disabled duplexing option, while ExcelliPrint only sets the duplexing option when you enable it in the PRTF.

NTP on i5/OS

Everybody knows NTP, except AS/400 administrators. This is why it’s important to start working with i5/OS, and learn about the improvements IBM has made.

Since V5R3, Timezone support was added to i5/OS, and so was support for NTP (both client and server). NTP is very important in todays networked environment:

  • For security reasons – logfiles from different sources need matching timestamps
  • For business reasons – certain things need to happen at the right time
  • For technical reasons – e.G. Kerberos needs a matching time for proper granting of tickets (also see #1)

NTP on i5/OS only works on newer machines – you can’t use NTP with older machines like the Modell 170 (but you shouldn’t be using them anymore anyway). It works fine on models 270, 800, and all recent 5xx models.

Configuring NTP on i5/OS is a one liner, but there is more that needs to be considered. Usually you’ll need a central timeserver in your network that serves out time to all other servers and clients. If you’re using Active Directory, you’ll already have a central timeserver – the domain controller which holds the PDC FSMO role is the primary timeserver in your network. If you’re not using Active Directory, you’ll need to designate a timeserver in your network, and run an NTP server on that machine – this could be your System i, or any other machine capable of running an NTP server.

Sounds complicated? It really isn’t – if you have some networking guys, ask them what they’re using for an NTP server, as routers and switches have the same problem. If you have dedicated Windows administrators, they’ll also know a lot about NTP. If you have neither, you can use an external timeserver like or (for the US residents).

As said, configuration is a oneliner.


Okay, that was actually two lines but the start command is included. That’s it. You’re done. You’ll still need a roughly correct time, otherwise the NTP client won’t adjust the time. And you’ll need a properly set QTIMZON value, because otherwise you’ll get the wrong time.

WTF is product 5733-905 – “Server Firmware”?

Product 5733-905 Server FirmwareWe received a new Modell 515 for a customer today, and there’s a strange licensed program installed that i haven’t seen before.

See the screenshot to the right for an example. I haven’t seen this before, and Google doesn’t have any meaningful results, nor does the new i5/OS Infocenter.

Does anyone know more?


Update: The machine is running LIC V5R4M5 (i wonder why, though – previously shipped 515 did run at V5R4M0). This might be an upcoming V6R1M0 feature for improved OS management of machine firmware.

Resources for 5733-QU2 aka DB2 Web Query for System i

I still haven’t received my 5733-QU2 disk set, and i’m anxiously waiting for this product to get delivered.

I’ve found a few good resources on IBM’s website, which i’ve been reading in order to get started as fast as possible.

When reading the quick install guide, you’ll notice that internationalization has taken a big step backwards. And when reading the iSociety Chat Log, you’ll notice that the hardware requirements for Web Query are extreme – it probably won’t run on a baseline Model 520, but should on a baseline Model 515. But i’m still waiting for the final product to make up my mind.

Newest CUME for V5R4 adds a nice way to view model 5xx firmware levels

System i5 Firmware Status DSPPTF
The newest CUME for V5R4 adds a nice command key in the DSPPTF screen (F20) which shows the current firmware levels in a model 5xx system.

This information has always been available, but through a rather complicated set of keystrokes in SST/DST. They of course still work, and you still need them if you want to change several advanced configuration options without having a HMC.

If you do not have a HMC, you usually do not need to pay as much attention to your firmware levels as someone with a HMC. If you do not have an HMC, the firmware level is managed by i5/OS. As you can only have a single i5/OS LPAR without a HMC, it’s quite clear which LPAR that is. But it still makes sense to keep your firmware level current.

Upgrading the firmware requires a “server ipl”. This means that all LPARs need to restart at the same time. It’s not possible to do the update concurrently (or “hot patching” in modern terms). IBM’s documentation for OS managed firmware isn’t that current – the page refers to LIC V5R3M0 and V5R3M5. The currently newest firmware Image for V5R4 is MH01001 – i didn’t find much references to this images on IBMs website, maybe someone else knows more.

System i5 Firmware Status SST

  • 1. Start a service tool
  • 4. Display/Alter/Dump
  • 1. Display/Alter storage
  • 2. Licensed Internal Code (LIC) data
  • 14. Advanced analysis
  • Just press “Enter”

Are your ethernet lines configured correctly?

The System i has come a long way, and so have most of it’s administrators. Back when i started working with Networks, 10mbit Ethernet using 10BASE2 was the norm, but just a few months later i’ve switched to 10BASE-T.

But the System i has dealt with a lot more LAN standards than i ever did. From Twinax (which still sees some use for connecting legacy printers or consoles), over Token Ring and of course some more obscure variants. Even though IBM has moved on regarding to the hardware, and all current 5xx models ship with two Gigabit ports standard.

The problem is that many System i admins never moved away from their 10BASE-T Ethernet knowledge, and stuck with that. This leads to many ethernet lines which are not configured correctly, or not for optimal performance.

Today, Ethernet auto negotiation works perfectly. But many setups use fixed values on the System i side (like 10mbit full duplex), but leave the switch/network side on auto negotiation – this is prone to troubles which is usually called a “duplex mismatch”. This duplex mismatch will not cause your ethernet line to cease functioning, but it will work at extremely degraded speeds (usually just a few kilobyte per seconds). If you’re just using 5250 to connect to your i5/OS instance, you won’t notice this. But as soon as you start using data transfer to your System i (e.G. Image Catalogs), you will notice the extremely degraded performance.

Now, there are two ways to fix this problem:

Configure your System i correctly

Use DSPLIND to have a look at your Ethernet line. It should look like this:

Übertragungsgeschwindigkeit  . . . :   *AUTO 
Aktuelle Übertragungsgeschw. . . . :   100M  
Duplex . . . . . . . . . . . . . . :   *AUTO
Aktueller Duplexwert . . . . . . . :   *FULL 

This means that you’re using autonegotiation, and the system currently has negotiated 100mbit full duplex (of course, it might’ve negotiated different things on your networks, depending on the capability of your network).

If it looks like this, your system is not configured correctly:

Übertragungsgeschwindigkeit  . . . :   10M 
Aktuelle Übertragungsgeschw. . . . :   10M  
Duplex . . . . . . . . . . . . . . :   *FULL
Aktueller Duplexwert . . . . . . . :   *FULL 

This means that your System i is configured to use 10mbit, full duplex no matter what the other end thinks. This can lead to the aforementioned duplex mismatches.

Fixing is easy, but requires the Ethernet line to be varied off. So you’ll need to do this after hours, from a console:


After varying on the Ethernet line, you should be having full network performance. Please note that not all cards support autonegotiation. The 2838 that are used in the models 170, 800, 270 work perfectly though, but if my memory serves correctly the cards that usually ship with the model 150 did not. It might also depend on the OS level, and i don’t have a V4Rx machine around for testing. The integrated 5706 in the 5xx models also work perfectly (and also support Gigabit speeds, if your switch supports them).

Configure the switch to use fixed values

If your DSPLIND looks like this:

Übertragungsgeschwindigkeit  . . . :   10M 
Aktuelle Übertragungsgeschw. . . . :   10M  
Duplex . . . . . . . . . . . . . . :   *FULL
Aktueller Duplexwert . . . . . . . :   *FULL 

And you can’t or don’t want to change your line description, you will need to reconfigure the switch (or hub) to use fixed values. This is only possible if you have a managed switch or hub, with a telnet/ssh/web/serial interface, and this differs from manufacturer to manufacturer. It’s important that you configure the switch to the exactly same values as your System i – this will make sure that you don’t have a duplex mismatch or much worse a speed mismatch. I don’t recommend this approach, but it will work just as fine.