You can do this manually as shown in this example:
CREATE TABLE ROB/ITEMMSTR (ITEMKEY CHAR (10 ) NOT NULL, ITEMACTV
CHAR (1 ) NOT NULL) RCDFMT ITEMFRF
Table ITEMMSTR created in ROB.
CREATE INDEX rob/ITEMDDLI
ON rob/ITEMMSTR (ITEMKEY)
WHERE ITEMACTV = 'Y'
RCDFMT ITEMFRF
Index ITEMDDLI created in ROB on table ITEMMSTR in ROB.
The only thing I changed on your CREATE INDEX is in lower case, the
schema.
So, now I went into "IBM Navigator for i" which is the web interface
available when I go to
http://gdisys:2001
Database, Databases, gdisys, Schemas, ROB, Indexes, pick the index and go
through the generate sql option.
Isn't this what you wanted?
CREATE INDEX ROB.ITEMDDLI
ON ROB.ITEMMSTR
( ITEMKEY )
WHERE ITEMACTV = 'Y'
RCDFMT ITEMFRF ADD ALL COLUMNS ;
I will try this again.
I deleted the index, using the web interface. Then I used this DDS to
generate the logical file
R ITEMFRF PFILE(ITEMMSTR)
K ITEMKEY
S ITEMACTV CMP(EQ 'Y')
Then I went back into "IBM Navigator for i". First difference is that it
appears as a view and not an index.
I do not have these new options. However I am still on TR6.
I reread the website you stated. It didn't ignore the select/omit. It's
plainly in there in the WHERE clause. It ignored the record format.
DSPMSGD RANGE(SQL1507) MSGF(QSQLMSG)
Maybe that was because the example used had a different format on the LF
than the PF? I don't know. Since I am still at TR6 I couldn't go
further.
So I changed my DDS to this:
R ITEMFRL PFILE(ITEMMSTR)
ITEMKEY
ITEMACTV
K ITEMKEY
S ITEMACTV CMP(EQ 'Y')
This uses a different record format than the physical.
Since you are at TR7, try the first, then the second DDS and see if it
works differently.
Rob Berendt