Erik,

In RPG you should be able to use the INZ(*EXTDFT) keyword on the field. I'm not sure how to do it in C.

-mark

At 9/16/2010 10:53 AM, you wrote:
Thanks Mark.
That RPG is using it's own way of initializing the date column in my example
to the value '0001-01-01' (ISO format), i.e. ignoring the DB2 default, is
one issue, yes.

But my primary question is how you get a default value to be written at all
when you don't have a write opcode that implicitly handles this for you?
Using the C runtime's _Rwrite in move mode one has to specify a full record
and if you don't have a valid date in the appropriate place it doesn't
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 initialize,
> so RPG doesn't use its own rules to populate those fields. If this
> case, just include the GRPNAME and CUSER fields.
>
> -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, sorry):
> >
> >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 other two
> >(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 by DB2
> > > Sent by: mi400-bounces@xxxxxxxxxxxx
> > >
> > >
> > > Hello,
> > >
> > > Posted this on the C list but was adviced to try out here as well.
> > >
> > > If I have DDL defined tables with columns holding DB2 generated values
> such
> > > as ROWID, defaults as CURRENT_TIMESTAMP etc - how do I code a write to
> > > columns like that using (the C runtime) _Rwrite (I don't know what one
> > > would
> > > use in MI)?
> > >
> > > That is, is there a way to emulate how an RPG write opcode handles the
> same
> > > situation?
> > >
> > > Best wishes,
> > > Erik
>
> _______________________________________________
> This is the MI Programming on the AS400 / iSeries (MI400) mailing list
> To post a message email: MI400@xxxxxxxxxxxx
> To subscribe, unsubscribe, or change list options,
> visit: http://lists.midrange.com/mailman/listinfo/mi400
> or email: MI400-request@xxxxxxxxxxxx
> Before posting, please take a moment to review the archives
> at http://archive.midrange.com/mi400.
>
>
_______________________________________________
This is the MI Programming on the AS400 / iSeries (MI400) mailing list
To post a message email: MI400@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/mi400
or email: MI400-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/mi400.


This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2020 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].