Try OpenEdge Now
skip to main content
ABL Reference
ABL Syntax Reference : NEW function (record buffers)

NEW function (record buffers)

Checks a record buffer and returns a TRUE value if the record in that buffer is newly created. If the record was read from the database, NEW returns a FALSE value.


NEW record
The name of the record buffer you want to check with the NEW function.
To use the NEW function with a record in a table defined for multiple databases, you must qualify the record's table name with the database name. See the Record phrase reference entry for more information.


This procedure enters new Orders, optionally creating a Customer record if one does not exist. The NEW function is later used to select alternate processing depending if a Customer is newly created or already exists.
  PROMPT-FOR Customer.CustNum.
  FIND Customer USING Customer.CustNum NO-ERROR.
  DO WITH FRAME newcus:
    MESSAGE "Creating new customer".
    CREATE Customer.
    ASSIGN Customer.CustNum.
    UPDATE Customer.Name Customer.Address Customer.City Customer.State

  CREATE Order.
  Order.CustNum = Customer.CustNum.
  IF NEW Customer THEN DO:
    UPDATE Order.OrderNum Order.PromiseDate.
    Order.Terms = "COD".
    DISPLAY Order.Terms.
    UPDATE Order.OrderNum Order.PromiseDate Order.Terms.


The NEW function returns a TRUE value only during the transaction in which the record is created. If the scope of the record is greater than the transaction in which the record is created, the NEW function returns a FALSE value outside the transaction.

See also

AVAILABLE function, FIND statement, LOCKED function, Record phrase