Previous Next

ACCUM function
Returns the value of an aggregate expression that is calculated by an ACCUMULATE or aggregate phrase of a DISPLAY statement.
Syntax 
 
ACCUM aggregate-phrase expression
aggregate-phrase
A phrase that identifies the aggregate value it should return. This is the syntax for aggregate-phrase:
 
Syntax 
{ AVERAGE | COUNT | MAXIMUM | MINIMUM | TOTAL | SUB-AVERAGE | SUB-COUNT
  | SUB-MAXIMUM | SUB-MINIMUM | SUB-TOTAL } [ BY break-group ]
For more information on aggregate items, see the Aggregate phrase reference entry.
expression
An expression that was used in an earlier ACCUMULATE or DISPLAY statement. The expression you use in the ACCUMULATE or DISPLAY statement and the expression you use in the ACCUM function must be in exactly the same form. (For example, “on-hand * cost” and “cost * on-hand” are not in exactly the same form.) For the AVERAGE, SUB-AVERAGE, TOTAL, and SUB-TOTAL aggregate phrases, expression must be numeric.
Example 
This procedure shows a total for the extended price of each item on an order. The running total of the order is displayed as well as the order total and grand total for all orders. This procedure accumulates totals at three levels.
 
FOR EACH Order NO-LOCK:
  DISPLAY Order.OrderNum Order.CustNum Order.OrderDate Order.PromiseDate
    Order.ShipDate.
  FOR EACH OrderLine OF Order NO-UNDO:
    DISPLAY OrderLine.LineNum OrderLine.ItemNum OrderLine.Qty
      OrderLine.Price (OrderLine.Qty * OrderLine.Price) LABEL "Ext Price".
    ACCUMULATE OrderLine.Qty * OrderLine.Price (TOTAL).
    DISPLAY (ACCUM TOTAL OrderLine.Qty * OrderLine.Price) LABEL "Accum Total".
  END.
  DISPLAY (ACCUM TOTAL OrderLine.Qty * OrderLine.Price) LABEL "Total".
END.
DISPLAY (ACCUM TOTAL OrderLine.Qty * OrderLine.Price) LABEL "Grand Total"
  WITH ROW 1.
See also 
ACCUMULATE statement, DISPLAY statement

Previous Next
© 2013 Progress Software Corporation and/or its subsidiaries or affiliates.