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.