The file does have time-stamp fields, so we just checked it out. Did a
CRTDUPOBJ and change it with an ALTER TABLE, but the level check code
came up the same as the old file. Maybe we missed something, but it
appears that the physical file level check code has already been fixed.
Wilt, Charles wrote:
IIRC, there was a (v5r4?) bug concerning files with timestamp fields not
getting duplicated with the same file level ID.
You may want to check into that.
It was discussed on this list.
Charles Wilt
--
iSeries Systems Administrator / Developer
Mitsubishi Electric Automotive America
ph: 513-573-4343
fax: 513-398-1121
-----Original Message-----
From: midrange-l-bounces@xxxxxxxxxxxx
[mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of M Lazarus
Sent: Tuesday, November 28, 2006 4:07 PM
To: Midrange Systems Technical Discussion
Subject: RE: SQL - Declare Global Temporary level check
Charles,
As I suspected, INCLUDING COLUMN DEFAULTS doesn't affect the
format level
ID. And since DDS doesn't have IDENTITY COLUMN ATTRIBUTES, that's a
non-starter.
-mark
Mark,
The column defaults don't come over automatically.
Try:
DECLARE GLOBAL TEMPORARY TABLE docs00r AS (
SELECT * FROM docs00
WHERE chkdate BETWEEN '2006-11-01-00.00.00.000000' and
'2006-11-30-23.59.59.000000' and
TYPE2 in ('BL','POD'))
WITH DATA
INCLUDING IDENTITY COLUMN ATTRIBUTES
INCLUDING COLUMN DEFAULTS
I think this was covered a few weeks ago.
HTH,
Charles Wilt
--
iSeries Systems Administrator / Developer
Mitsubishi Electric Automotive America
ph: 513-573-4343
fax: 513-398-1121
-----Original Message-----
From: midrange-l-bounces@xxxxxxxxxxxx
[mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of M Lazarus
Sent: Tuesday, November 28, 2006 2:50 PM
To: Midrange Systems Technical Discussion
Subject: Re: SQL - Declare Global Temporary level check
Steve,
Good thought, but no dice. I changed the statement as follows:
DECLARE GLOBAL TEMPORARY TABLE docs00r AS (
SELECT * FROM docs00
WHERE chkdate BETWEEN '2006-11-01-00.00.00.000000' and
'2006-11-30-23.59.59.000000' and
TYPE2 in ('BL','POD'))
WITH DATA
(Docs00r is the format name for docs00.) I still got
different format
level ID's.
-mark
Working as designed...with SQL the record format name is
created to match
the file name.
If you REALLY need the file to be named doclist, a
workaround is to do
this:
DECLARE GLOBAL TEMPORARY TABLE docs00 AS (
SELECT * FROM docs00
WHERE chkdate BETWEEN '2006-11-01-00.00.00.000000' and
'2006-11-30-23.59.59.000000' and
TYPE2 in ('BL','POD'))
WITH DATA
Then rename the file to doclist.
- Steve
----- Original Message -----
From: "M Lazarus" <mlazarus@xxxxxxxx>
To: <midrange-l@xxxxxxxxxxxx>
Sent: Tuesday, November 28, 2006 1:04 PM
Subject: SQL - Declare Global Temporary level check
I came across a situation that I think is an SQL bug, but
I'd like to
run
it by you guys.
DECLARE GLOBAL TEMPORARY TABLE doclist AS (
SELECT * FROM docs00
WHERE chkdate BETWEEN '2006-11-01-00.00.00.000000' and
'2006-11-30-23.59.59.000000' and
TYPE2 in ('BL','POD'))
WITH DATA
Table DOCLIST created in QTEMP.
CHKDATE is a timestamp field.
TYPE2 is a variable length field.
The data seems to be populated correctly in QTEMP/DOCLIST.
Should the format level identifier be the same as the
original file
(DOCS00)? I would have guessed yes, but they are different. So
overriding DOCS00 to QTEMP/DOCLIST throws a level check.
Bug or not?
-mark
--
This is the Midrange Systems Technical Discussion
(MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.