Einige Natural-SQL-Statements erlauben auch die Verwendung von Natural-Views (Datensichten).
Eine Natural-View kann anstelle einer Parameterliste angegeben werden, wobei jedes Feld in
der View (außer Gruppen, redefinierten Feldern sowie Feldern mit vorangestelltem Präfix
L@ oder N@) einem Parameter
(host-variable) entspricht.
Felder, deren Namen mit L@ bzw. N@ anfangen, können nur zusammen
mit entsprechenden Feldern gleichen Namens verwendet werden. Dabei werden:
L@-Felder umgesetzt in LINDICATOR-Felder,
N@-Felder umgesetzt in INDICATOR-Felder.
Ein L@-Feld sollte in der View jeweils unmittelbar vor dem Feld, auf das es
sich bezieht, definiert werden.
Beispiel:
DEFINE DATA LOCAL 01 PERS VIEW OF SQL-PERSONNEL 02 PERSID (I4) 02 NAME (A20) 02 N@NAME (I2) /* null indicator of NAME 02 L@ADDRESS (I2) /* length indicator of ADDRESS 02 ADDRESS (A50/1:6) 02 N@ADDRESS (I2) /* null indicator of ADDRESS 01 #PERSID (I4) END-DEFINE ... SELECT * INTO VIEW PERS FROM SQL-PERSONNEL WHERE PERSID = #PERSID ... END-SELECT
Das obige Beispiel entspricht dem Folgenden:
...
SELECT *
INTO PERSID,
NAME INDICATOR N@NAME,
ADDRESS(*)INDICATOR N@ADDRESS LINDICATOR L@ADDRESS
FROM SQL-PERSONNEL
WHERE PERSID = #PERSID
...
END-SELECT