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