IsNotNull is provided for convenience only. You could equally test for a negative result returned by the IsNull method. It is frequently used in looping conditions.
bIsNotNull = ptr:IsNotNull()
pi = fhNewItemPtr() -- declare pointer pi:MoveToFirstRecord('SOUR') -- set pi to to the first Source record while pi:IsNotNull() do -- Process source data pi:MoveNext() end