|
That's a workable alternative. The downside (on a more global
level, vs. the ) is that is requires explicit coding of all the
fields to be updated in all the programs that you do a WRITE to this
file. A plain WRITE would override the fields using the data type's
default.
Just to throw an older style technique out there that should also
work nicely is to use EXCEPT, specifying the fields you want to
update. Note that field ending positions are omitted.
OFILE EADD ADDREC
O GRPNAME
O CUSER
BTW, is the syntax of the write you have below correct? I think you
mean:
Write myFormat %Fields(col1: col3: col5: col6) ;
-mark
At 9/16/2010 11:20 AM, you wrote:
If I may step in, the RPG syntax capability that Erik would like tonull)
duplicate is like this:
Write (col1, col3, col5, col6) myFormat ;
This writes to the select fields, and asks DB2 to fill in defaults (or
for the omitted values (presumably col2, col4 in this case).please."
Dennis Lovelady
http://www.linkedin.com/in/dennislovelady
--
"Get your facts first, and then you can distort them as much as you
-- Mark Twainmy
That RPG is using it's own way of initializing the date column in
default,example
to the value '0001-01-01' (ISO format), i.e. ignoring the DB2
written atis
one issue, yes.
But my primary question is how you get a default value to be
you?all
when you don't have a write opcode that implicitly handles this for
fullUsing the C runtime's _Rwrite in move mode one has to specify a
doesn'trecord
and if you don't have a valid date in the appropriate place it
initialize,compile. Is there another way beyond the LF/View solution?
Best wishes,
Erik
2010/9/16 M. Lazarus <mlazarus@xxxxxxxx>
Erik,
Create a LF over the PF, specifying the fields in the file. The
trick is to OMIT the fields you want DB2 to automatically
thisso RPG doesn't use its own rules to populate those fields. If
bycase, just include the GRPNAME and CUSER fields.sorry):
-mark
At 9/16/2010 09:51 AM, you wrote:
Here's one using ROWID and a date column:
CREATE TABLE STEO01/TEMPTEST (
GRPID SMALLINT GENERATED ALWAYS AS IDENTITY (
START WITH 1 INCREMENT BY 1
NO MINVALUE NO MAXVALUE
NO CYCLE NO ORDER
CACHE 20 )
,
GRPNAME CHAR(25) CCSID 278 NOT NULL DEFAULT '' ,
CUSER CHAR(10) CCSID 278 NOT NULL DEFAULT '' ,
CDATE DATE NOT NULL DEFAULT CURRENT_DATE )
;
And here's how I'd code it in RPG (the formatting will be off,
other two
h option(*nodebugio)
ftemptest uf a e disk rename(temptest: rtemptest)
/free
*inlr = '1';
grpname = 'xyz';
cuser = 'someone';
write rtemptest;
return;
/end-free
I specify writing to two columns and DB2 puts in values for the
(identity column and date).
Is this behaviour possible to imitate?
Thank you.
2010/9/16 <Gene_Gaunt@xxxxxxxxxxxxxxx>
Can you post the DDL and an SQL CREATE and an SQL INSERT ?
From: Erik Olsson <erik.eo.olsson@xxxxxxxxx>
To: mi400@xxxxxxxxxxxx
Date: 09/16/2010 08:49 AM
Subject: [MI400] Write to db containing values defined
well.DB2
Sent by: mi400-bounces@xxxxxxxxxxxx
Hello,
Posted this on the C list but was adviced to try out here as
generated
If I have DDL defined tables with columns holding DB2
values
suchwrite to
as ROWID, defaults as CURRENT_TIMESTAMP etc - how do I code a
what onecolumns like that using (the C runtime) _Rwrite (I don't know
handles thewould
use in MI)?
That is, is there a way to emulate how an RPG write opcode
same
situation?
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.