× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.


  • Subject: Re: Null Capable Fields
  • From: Jim Langston <jlangston@xxxxxxxxxxxxxxxx>
  • Date: Tue, 12 Oct 1999 10:59:21 -0700
  • Organization: Conex Global Logistics Services, Inc.

Okay, take a date field.  A date field has to have a value when it is
initialized.  How do you know if it has never been entered, or was
entered as that date?  You don't, unless there is a "null" flag saying
to ignore the man behind the curtain (the value in the date field) but
that the date has actually never been entered.

Another example, inventory.  Say you are doing a complete inventory
count, and you set all values to zero.  Then you do a count and put
all the numbers in.

You print out a report later, and you see a bunch of zeros.  Are those
the actual count, or did they miss those?

Bring in the null capable field.  When you initialize them to zero you make
them Null (turn on null bit).  Later, you can see if that zero actually means
there are zero or they missed it.

Is a way to get away from the 9's rule.

Regards,

Jim Langston

boothm@earth.goddard.edu wrote:

> ok, my curioisty is piqued.  What problem does a "null-capable" field
> solve?  I thought it's only function was to signal a data field's
> virginity, and I can't imagine a problem that solves.
>
> btw, please be gentle as you explain my idiocy, ok?
>
>
>
> Please respond to RPG400-L@midrange.com
> Sent by:        owner-rpg400-l@midrange.com
> To:     RPG400-L@midrange.com
> cc:
>
> Subject:        RE: Null Capable Fields
>
> Brian,
> I think that null support is only for database fields.
>
> As for workarounds, I think you'll have to add a "null indicator" field
> that
> you will manipulate "on the side" so to speak.  An alternative is to
> create
> a dummy database file containing fields defined as null capable.  Define
> this dummy file as input only, user controlled open and don't open it.
> This
> will allow you to create as many null capable work fields as you need.
>
> If you're just getting into null support, check out the RPG Reference
> manual's section on Database Null Value Support.  I'll push my luck and
> post
> a section that will probably spark another "Why did IBM do it this way?"
> thread.
>
> "You are responsible for ensuring that fields containing null values are
> used correctly within the program. For example, if you use a null-capable
> field as factor 2 of a MOVE operation, you should first check if it is
> null
> before you do the MOVE, otherwise you may corrupt your result field value.
> You should also be careful when outputting a null-capable field to a file
> that does not have the field defined as null-capable, for example a
> WORKSTN
> or PRINTER file, or a program-described file.
>
> Note:  The value of the null indicator for a null-capable field is only
> considered for these operations: input, output and file-positioning. Here
> are some examples of operations where the null indicator is not taken into
> consideration:
>
> DSPLY of a null-capable field shows the contents of the field even if the
> null indicator is on.
>
> If you move a null-capable field to another null-capable field, and the
> factor 2 field has the null indicator on, the result field will get the
> data
> from the factor 2 field. The corresponding null indicator for the result
> field will not be set on.
>
> Comparison operations, including SORTA and LOOKUP, with null capable
> fields
> do not consider the null indicators."
>
> Hope this helps,
>
> Buck Calabro
> Aptis; Albany, NY
> mailto:Buck.Calabro@aptissoftware.com
>
> > -----Original Message-----
> > From:          bellis@ORIENTAL.COM
> > Sent:          Monday, October 11, 1999 4:01 PM
> > To:            RPG400-L@midrange.com
> > Subject:               Null Capable Fields
> >
> > We have fields within DB2 files defined as "Null Capable".
> >
> > Within an RPG IV program we try to define fields using the "like"
> keyword
> > over
> > these null capable fields, or define fields using externally described
> > data
> > structures over the file with null capable fields.
> > However, none of these fields defined internally to the RPG program keep
> > the
> > null capable attribute.
> > i.e.   I cannot use the %NULLIND BIF on the field.
> >
> > Here is a excerpt from the on-line AS/400 reference books (V4R4) on this
> > subject:
> > "If the file used for an externally described data structure has
> > null-capable
> > fields defined, the null attribute is not used in defining the RPG
> > subfield."
> >
> > Is there a way to define fields internal to RPG programs as null
> capable?
> > If not, is there a work around for this?
> >
> > Thanks,
> > Brian Ellis.
> +---
> | This is the RPG/400 Mailing List!
> | To submit a new message, send your mail to RPG400-L@midrange.com.
> | To subscribe to this list send email to RPG400-L-SUB@midrange.com.
> | To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com.
> | Questions should be directed to the list owner/operator:
> david@midrange.com
> +---
>
> +---
> | This is the RPG/400 Mailing List!
> | To submit a new message, send your mail to RPG400-L@midrange.com.
> | To subscribe to this list send email to RPG400-L-SUB@midrange.com.
> | To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com.
> | Questions should be directed to the list owner/operator: david@midrange.com
> +---

+---
| This is the RPG/400 Mailing List!
| To submit a new message, send your mail to RPG400-L@midrange.com.
| To subscribe to this list send email to RPG400-L-SUB@midrange.com.
| To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

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

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.