HP 3000 Manuals

Joining [ HP ALLBASE/BRW Reference Manual ] MPE/iX 5.0 Documentation


HP ALLBASE/BRW Reference Manual

Joining 

HP ALLBASE/BRW sets NULL values retrieved from HP ALLBASE/SQL to BRW's
exception condition, NO_VALUE. Both HP ALLBASE/SQL and HP ALLBASE/BRW
sort NULLs/NO_VALUEs highest.

HP ALLBASE/SQL does not retrieve rows joined on two NULL item values.  HP
ALLBASE/BRW joins NO_VALUE = NO_VALUE, HP SQL evaluates NULL = NULL as
false.  If you want HP SQL's method, define the access such that HP
ALLBASE/SQL joins the data; if you want HP ALLBASE/BRW's method, define
the access such that HP ALLBASE/BRW performs the join.

SATISFIES Operator 

There is a specific operator SATISFIES in BRW to be used with comparison
predicate parameters (see Chapter 6).  For example the condition:

     VENDORNAME SATISFIES ?VENDORNAMEPARM

allows one or more values plus a comparison operator to be specified for
the parameter value.

Assuming the parameter value "< 5" is passed to BRW at execution time,
this condition retrieves those rows with a value smaller than 5 for
VENDORNAME. The condition does not return those rows with a NULL value
for the VENDORNAME. To have the NULL values for SQL items too, you have
to expand your condition to

     VENDORNAME SATISFIES ?VENDORNAMEPARM OR
     VENDORNAME = NO_VALUE

Not supplying a paramater value causes all rows to be printed, including
the NULLS.

Combining HP ALLBASE/SQL data with IMAGE/3000 or KSAM 

When combining HP ALLBASE/SQL data with HP IMAGE/3000 or KSAM data, it is
usually best to use the access sequence numbers in the Tune Access screen
to load the HP ALLBASE/SQL tables first.

The Tune Access screen does not accept key items for HP ALLBASE/SQL
tables, so putting them first allows keyed joins by giving key items for
the following HP IMAGE/3000 or KSAM tables.



MPE/iX 5.0 Documentation