---
schema_version: "1"
id: 1aba220806d47f73e8f5e90d80106130ae48874e59550ec7091a77e19f9ecd8a
title: Aggregate Fixed Non-Qualifying Points in Expiration Ledgers
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/xcloud/264-0-0/aggregate_fixed_non_qualifying_points_dpe.md
canonical_url: https://help.salesforce.com/s/articleView?id=xcloud.aggregate_fixed_non_qualifying_points_dpe.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 580a7461380a363695dd58b42b634dc4e86a9cd95314b0002dc21855c09ad901
description: Run the Aggregate Fixed Non-Qualifying Points in Expiration Ledgers Data Processing Engine definition if you decide to consolidate members’ fixed-type, non-qualifying points in batches. Before you run the definition, make sure that there are no duplicate loyalty aggregated points expiration ledgers.
products:
  - Loyalty Management
release: "264"
---
# Aggregate Fixed Non-Qualifying Points in Expiration Ledgers

Run the Aggregate Fixed Non-Qualifying Points in Expiration Ledgers Data Processing Engine definition if you decide to consolidate members’ fixed-type, non-qualifying points in batches. Before you run the definition, make sure that there are no duplicate loyalty aggregated points expiration ledgers.

### Required Editions

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small edition"><colgroup><col></colgroup><tbody><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in: Lightning Experience in&nbsp;<strong>Enterprise</strong>,&nbsp;<strong>Performance</strong>, <strong>Developer</strong>, and&nbsp;<strong>Unlimited</strong>&nbsp;Editions that have Loyalty Management enabled</td></tr></tbody></table>

The definition creates and updates active Loyalty Aggregated Point Expiration Ledger records based on the Loyalty Ledger records that are created after the last run of the definition. The definition uses an input variable to specify the loyalty program for which fixed-model, non-qualifying points are to be consolidated. You can specify the loyalty program name either in your copy of the definition or dynamically when the definition is run.

The definition calculates the points that are debited from or credited to the members' points balance after the last run. The calculation also includes points debited or credited for points adjustments and canceled transactions. Next, the definition checks the number of points that members redeemed from their accrued points. Then, member's updated expirable points are calculated and grouped by member, currency, and expiration date.

After the members' updated expirable points are calculated, results are written back to these objects:

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
        <colgroup>
          <col style="width:50%">
          <col style="width:50%">
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d39161e75">Object</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d39161e78">Writeback Result</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="Object" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e75 ">Loyalty Member Currency</td>

            <td data-label="Writeback Result" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e78 ">The run date is the date on which the member’s points are last consolidated.
              Only records associated with fixed-model, non-qualifying points are updated.</td>

          </tr>
          <tr class="">
            <td data-label="Object" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e75 ">Loyalty Aggregated Point Expiration Ledger</td>

            <td data-label="Writeback Result" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e78 ">
              <p>New records are created and existing records are updated.</p>
              <p>New records are
                created when a record doesn't exist with the same member, currency, and expiration
                date.</p>
              <p>Records are updated when points are credited or debited from an
                associated member for an associated currency. The points expire on the points
                expiration date of the record.</p>
              <p style="margin-bottom:0;">Records aren't updated if members redeemed
                the points that are credited to them after the last definition run.</p>
            </td>

          </tr>
        </tbody>
      </table>

## Input Variables

 
| Input Variable Name | Description |
| --- | --- |
| Loyalty Program Name | The name of the loyalty program for which the Data Processing Engine definition is run. |

## Nodes

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
        <colgroup>
          <col style="width:33.33333333333333%">
          <col style="width:33.33333333333333%">
          <col style="width:33.33333333333333%">
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d39161e172">Node Name</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d39161e175">Node Type</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d39161e178">Description</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="Node Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e172 ">
              <ul>
                <li>Loyalty Aggregated Point Expiration Ledger</li>

                <li>Loyalty Ledger</li>

                <li>Loyalty Member Currency</li>

                <li>Loyalty Program</li>

                <li>Loyalty Program Currency</li>

              </ul>
            </td>

            <td data-label="Node Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e175 ">Data Source</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e178 ">Objects used as data sources to consolidate fixed-model non-qualifying points
              for members.</td>

          </tr>
          <tr class="">
            <td data-label="Node Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e172 ">Add Loyalty Program Name to Program Currency</td>

            <td data-label="Node Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e175 ">Join</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e178 ">Adds the name of the loyalty program to the program currency it’s related
              to.</td>

          </tr>
          <tr class="">
            <td data-label="Node Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e172 ">Add Loyalty Program Currency Details to Loyalty Ledgers</td>

            <td data-label="Node Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e175 ">Join</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e178 ">Adds the type of currency that a loyalty ledger credited or debited points for
              and the expiry model of the program currency to the loyalty ledger.</td>

          </tr>
          <tr class="">
            <td data-label="Node Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e172 ">Filter Loyalty Ledgers with Fixed Non-Qualifying Points</td>

            <td data-label="Node Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e175 ">Filter</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e178 ">Filters loyalty ledgers with fixed non-qualifying points for a loyalty
              program.</td>

          </tr>
          <tr class="">
            <td data-label="Node Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e172 ">Add Last Points Aggregation Date to Loyalty Ledgers</td>

            <td data-label="Node Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e175 ">Join</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e178 ">Adds the date on which points were last aggregated for the loyalty ledgers that
              credited or debited fixed non-qualifying points.</td>

          </tr>
          <tr class="">
            <td data-label="Node Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e172 ">Check Whether the Loyalty Ledger Was Created After Last Processed Date</td>

            <td data-label="Node Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e175 ">Formula</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e178 ">Checks whether the loyalty ledgers have been created on or after the date on
              which the fixed non-qualifying points were last processed.</td>

          </tr>
          <tr class="">
            <td data-label="Node Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e172 ">Filter New Loyalty Ledgers</td>

            <td data-label="Node Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e175 ">Filter</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e178 ">Filters loyalty ledgers that were created after the date on which the fixed
              non-qualifying points were last processed.</td>

          </tr>
          <tr class="">
            <td data-label="Node Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e172 ">Find Maximum Ledger Creation Date And Aggregate Ledgers</td>

            <td data-label="Node Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e175 ">Group and Aggregate</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e178 ">Finds the maximum creation date of loyalty ledgers and aggregates ledgers by
              member and currency.</td>

          </tr>
          <tr class="">
            <td data-label="Node Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e172 ">Add Loyalty Member Currency ID to Aggregate Loyalty Ledger</td>

            <td data-label="Node Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e175 ">Join</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e178 ">Adds the loyalty member currency ID of the member related to the aggregated
              loyalty ledgers.</td>

          </tr>
          <tr class="">
            <td data-label="Node Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e172 ">Update Loyalty Member Currency with Points Aggregation Date</td>

            <td data-label="Node Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e175 ">Writeback Object</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e178 ">Updates loyalty member currencies to add or update the date on which the
              related member’s points are aggregated for expiration.</td>

          </tr>
          <tr class="">
            <td data-label="Node Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e172 ">Aggregate Points and Group by Event Type</td>

            <td data-label="Node Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e175 ">Group and Aggregate</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e178 ">Aggregates points for loyalty ledgers and groups them based on the ledger’s
              event type.</td>

          </tr>
          <tr class="">
            <td data-label="Node Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e172 ">Filter Accrual and Accrual Cancelation Loyalty Ledgers</td>

            <td data-label="Node Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e175 ">Filter</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e178 ">Filters loyalty ledgers that are of the event type credit, debit, and
              transfer.</td>

          </tr>
          <tr class="">
            <td data-label="Node Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e172 ">Calculate Expiration Points and Redeemed Points for Loyalty Ledgers</td>

            <td data-label="Node Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e175 ">Formula</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e178 ">Calculate the number of points that are set to expire and the number of points
              that have already been redeemed for loyalty ledgers. This node also adds the
              expiration date to the loyalty ledgers.</td>

          </tr>
          <tr class="">
            <td data-label="Node Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e172 ">Remove Loyalty Ledger Fields</td>

            <td data-label="Node Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e175 ">Slice</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e178 ">Removes loyalty ledger fields that aren’t required in succeeding nodes of the
              definition.</td>

          </tr>
          <tr class="">
            <td data-label="Node Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e172 ">Filter Loyalty Aggregated Point Expiration Ledgers</td>

            <td data-label="Node Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e175 ">Filter</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e178 ">Filters active aggregated point expiration ledgers that aren’t already
              deleted.</td>

          </tr>
          <tr class="">
            <td data-label="Node Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e172 ">Convert Existing Aggregated Point Expiration Date to Text</td>

            <td data-label="Node Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e175 ">Formula</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e178 ">Converts the expiration dates of points in the loyalty aggregated points
              expiration ledgers to text.</td>

          </tr>
          <tr class="">
            <td data-label="Node Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e172 ">Remove Aggregated Points Expiration Ledger Fields</td>

            <td data-label="Node Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e175 ">Slice</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e178 ">Removes aggregated points expiration ledger fields that aren’t required in
              succeeding nodes of the definition.</td>

          </tr>
          <tr class="">
            <td data-label="Node Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e172 ">Append Existing Point Expiration Ledgers to New Point Expiration
              Ledgers</td>

            <td data-label="Node Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e175 ">Append</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e178 ">Appends details of the existing loyalty aggregated points expiration ledgers to
              new loyalty ledgers.</td>

          </tr>
          <tr class="">
            <td data-label="Node Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e172 ">Aggregate Points for Expiration</td>

            <td data-label="Node Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e175 ">Group and Aggregate</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e178 ">Aggregates the total number of points that must be expired for a member
              currency. This node also aggregates the number of points that have already been
              redeemed by the member.</td>

          </tr>
          <tr class="">
            <td data-label="Node Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e172 ">Check if Redeemed Points are More Than Points to Expire</td>

            <td data-label="Node Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e175 ">Formula</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e178 ">Checks whether the member has already redeemed the points that must be
              expired.</td>

          </tr>
          <tr class="">
            <td data-label="Node Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e172 ">Filter Eligible Ledgers</td>

            <td data-label="Node Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e175 ">Filter</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e178 ">Filters ledgers that contain points that haven’t been redeemed and can be
              expired on the expiration date.</td>

          </tr>
          <tr class="">
            <td data-label="Node Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e172 ">Rename Fields with Redeemable Points</td>

            <td data-label="Node Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e175 ">Formula</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e178 ">Renames fields that contain details about the points that are available for the
              member to redeem before expiration.</td>

          </tr>
          <tr class="">
            <td data-label="Node Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e172 ">Filter Redemption Loyalty Ledgers</td>

            <td data-label="Node Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e175 ">Filter</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e178 ">Filters redemption loyalty ledgers whose points haven’t been added to
              aggregated point expiration ledgers.</td>

          </tr>
          <tr class="">
            <td data-label="Node Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e172 ">Append Points Available for Redemption and Points Redeemed</td>

            <td data-label="Node Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e175 ">Append</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e178 ">Appends details about the number of points that the member has redeemed since
              this definition was last run and the number of points the member was eligible to
              redeem since the last run.</td>

          </tr>
          <tr class="">
            <td data-label="Node Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e172 ">Calculate Updated Redeemed Points</td>

            <td data-label="Node Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e175 ">Formula</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e178 ">Calculates the updated points redeemed by the member for a currency that
              expires on a particular date.</td>

          </tr>
          <tr class="">
            <td data-label="Node Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e172 ">Join Expirable Points and Redeemable Points</td>

            <td data-label="Node Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e175 ">Join</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e178 ">Adds the number of points that must expire on a particular date for a member
              currency and the number of points that the member can redeem out of the expirable
              points.</td>

          </tr>
          <tr class="">
            <td data-label="Node Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e172 ">Calculate Redeemable Points and Append Currency and Member IDs</td>

            <td data-label="Node Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e175 ">Formula</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e178 ">Calculates the number of points members can still redeem from the expirable
              points and appends currency ID to the member ID.</td>

          </tr>
          <tr class="">
            <td data-label="Node Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e172 ">Calculate Total Expirable Points</td>

            <td data-label="Node Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e175 ">Formula</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e178 ">Calculates the total number of points that must be expired for a member
              currency on a particular date.</td>

          </tr>
          <tr class="">
            <td data-label="Node Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e172 ">Subtract Previous Redeemable Points from Expirable Points</td>

            <td data-label="Node Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e175 ">Formula</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e178 ">Subtracts the redeemable points from the last run of this definition from the
              current expirable points.</td>

          </tr>
          <tr class="">
            <td data-label="Node Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e172 ">Get Previous Expirable Points</td>

            <td data-label="Node Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e175 ">Formula</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e178 ">Gets the total expirable points from the last run of this definition.</td>

          </tr>
          <tr class="">
            <td data-label="Node Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e172 ">Calculate Updated Redeemed Points</td>

            <td data-label="Node Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e175 ">Formula</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e178 ">Calculates the updated points redeemed by the member for a currency that
              expires on a particular date.</td>

          </tr>
          <tr class="">
            <td data-label="Node Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e172 ">Join Existing and New Aggregated Point Expiration Ledgers</td>

            <td data-label="Node Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e175 ">Join</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e178 ">Adds details of the existing aggregated point expiration ledgers to the new
              ledgers.</td>

          </tr>
          <tr class="">
            <td data-label="Node Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e172 ">Find To Be Updated Aggregated Ledgers</td>

            <td data-label="Node Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e175 ">Formula</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e178 ">Filters Loyalty Aggregated Point Expiration Ledger records that aren’t changed
              from previous run.</td>

          </tr>
          <tr class="">
            <td data-label="Node Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e172 ">Filter Update Aggregated Ledgers</td>

            <td data-label="Node Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e175 ">Filter</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e178 ">Filters only updated Loyalty Aggregated Point Expiration Ledger
              records.</td>

          </tr>
          <tr class="">
            <td data-label="Node Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e172 ">Convert Expiration Date From Text Field to Date Field</td>

            <td data-label="Node Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e175 ">Formula</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e178 ">Converts the point expiration date from a text field to a date field.</td>

          </tr>
          <tr class="">
            <td data-label="Node Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e172 ">Create and Update Aggregate Point Expiration Ledgers</td>

            <td data-label="Node Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e175 ">Writeback Object</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d39161e178 ">Creates aggregate point expiration ledgers and updates existing aggregate point
              expiration ledgers with the updated expirable points and redeemed points.</td>

          </tr>
        </tbody>
      </table>