Navigation: Language Reference > 13 - Built-in Functions >====== NULL (return null file field) ====== | ![]() ![]() ![]() |
NULL(field)
NULL(file, field)
NULL | Determines null “value” of a field. |
field | The label (including prefix) of a field in a FILE structure. This may be a GROUP or RECORD structure. |
file | The label of a FILE. |
The NULL procedure returns a non-zero value (true) if the field is null, and zero (false) if the field contains any known value (including blank or zero). If the field is a GROUP or RECORD structure, all component fields of the GROUP or RECORD must be null for NULL to return true.
(All SQL drivers)
NULL(datefield) and NULL(timefield) returns TRUE if they are part of a DATE/TIME group and the corresponding column on the server is NULL
Support for null “values” in a FILE is entirely dependent upon the file driver.
You can pass a file as the first parameter to NULL. This allows you to pass references to fields (see the example below).
Return Data Type: | LONG |
Example:
Customer FILE,DRIVER('MSSQL'),PRE(Cus) !Declare customer file layout
AcctKey KEY(Cus:AcctNumber)
Record RECORD
AcctNumber LONG
OrderNumber LONG
Name STRING(20)
Addr STRING(20)
CSZ STRING(35)
END
END
Header FILE,DRIVER('MSSQL'),PRE(Hea) !Declare header file layout
AcctKey KEY(Hea:AcctNumber)
Record RECORD
AcctNumber LONG
OrderNumber LONG
ShipToName STRING(20)
ShipToAddr STRING(20)
ShipToCSZ STRING(35)
END
END
CODE
OPEN(Header)
OPEN(Customer)
SET(Hea:AcctKey)
LOOP
NEXT(Header)
IF ERRORCODE() THEN BREAK.
IF NULL(Hea:ShipToName) !Check for null ship-to address
Cus:AcctNumber = Hea:AcctNumber
GET(Customer,Cus:AcctKey) !Get Customer record
IF ERRORCODE()
CLEAR(Cus:Record)
END
Hea:ShipToName = Cus:Name ! and assign customer address
Hea:ShipToAddr = Cus:Addr ! as the ship-to address
Hea:ShipToCSZ = Cus:CSZ
END
PUT(Header) !Put Header record back
END
!Example Two ' Use of file parameter
SwapNullState PROCEDURE(File F, *? var)
CODE
IF NULL(f, var)
SETNONULL(f, var)
ELSE
SETNULL(f, var)
END
See Also: