Re: Write to db containing values defined by DB2

"M. Lazarus" <[email protected]> Thu, 16 Sep 2010 11:08:43 -0400
Newsgroups gmane.comp.lang.as400.mi
Message-ID <[email protected]>
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 <[email protected]>
>
> > 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-HhiojMv268KEK/[email protected]>
> > >
> > > > Can you post the DDL and an SQL CREATE and an SQL INSERT ?
> > > >
> > > >
> > > >
> > > > From:   Erik Olsson <[email protected]>
> > > > To:     mi400-Zwy7GipZuJhWk0Htik3J/[email protected]
> > > > Date:   09/16/2010 08:49 AM
> > > > Subject:        [MI400] Write to db containing values defined by DB2
> > > > Sent by:        mi400-bounces-Zwy7GipZuJhWk0Htik3J/[email protected]
> > > >
> > > >
> > > > 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-Zwy7GipZuJhWk0Htik3J/[email protected]
> > To subscribe, unsubscribe, or change list options,
> > visit: http://lists.midrange.com/mailman/listinfo/mi400
> > or email: MI400-request-Zwy7GipZuJhWk0Htik3J/[email protected]
> > 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-Zwy7GipZuJhWk0Htik3J/[email protected]
>To subscribe, unsubscribe, or change list options,
>visit: http://lists.midrange.com/mailman/listinfo/mi400
>or email: MI400-request-Zwy7GipZuJhWk0Htik3J/[email protected]
>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-Zwy7GipZuJhWk0Htik3J/[email protected]
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/mi400
or email: MI400-request-Zwy7GipZuJhWk0Htik3J/[email protected]
Before posting, please take a moment to review the archives
at http://archive.midrange.com/mi400.