3Import Your Member Data

This chapter contains the following:

Import Your Member Data

Use this topic to import member data into Oracle Loyalty Cloud. You can use the import functionality to create, update, or delete member records.

To import member records, perform the following tasks:

  1. Map your source data to Oracle Loyalty Cloud object attributes.

  2. Create the source Comma Separated Values (CSV) file for import.

  3. Create the import activity.

  4. Review the import activity.

Note: It's recommended that you verify your data before you import business data using Oracle Loyalty Cloud, for example in fields such as DateTime, where the format can change according to locale. The import process doesn't perform data validation.

How to Map Your Member Source Data to Target Object Attributes

To import your member data into Oracle Loyalty Cloud, you need to populate a CSV file with your source data and map that source data to target object attributes in Oracle Loyalty Cloud.

You must do the following before creating the CSV file for data import:

  • Identify how your source data attributes map to the target object attributes in Oracle Loyalty Cloud.

  • Ensure that the prerequisite steps, such as understanding what attributes are required for importing your objects, are complete.

  • Understand your options for uniquely identifying the records.

  • Ensure parent records exist before importing child records.

  • Identify the target object attributes that are required in the CSV file for a successful import.

Before You Start Importing Member Data

You can use the import functionality to either import members from a legacy or an external system, or you can batch enroll members from file. Set EnrollFlag to Y for the member record in the file if you want to batch enroll members, set EnrollFlag to N if you want to import member from a legacy or external system. EnrollFlag is only applicable for the create member scenario. When importing a member from a legacy or external system, import the member and its child objects as a whole for data integrity.

Note: In the current release, all member child objects aren't available with Import Management, hence you can use the batch enrolling member and the migrating member data with the supported child objects for the release.

You must set certain options for some attributes in the application before you can populate the attributes. For example, you must set up a loyalty program before you import the member data. When importing members from a legacy or an external system (where EnrollFlag is set to N), you must import contact, account, and household records before you import Loyalty Member data, because the member data contains references to contact, account, household data. When batch enrolling members (where EnrollFlag is set to Y), you can choose to use existing contact, account, household records, or you can provide the required information in the input file to create contact, account, household records when enrolling the member. When enrolling the member, the default member tier and member status history records are created. This member enrollment behavior is the same as enrolling a member using the REST API.

Note: When importing a child record, ensure that its parent record exists in the database.

Options to Uniquely Identify the Member Records

To import data into Oracle Loyalty Cloud, your CSV file must include some specific attributes that enable the import process to uniquely identify the records. The file import process uses the attribute values to automatically map your source data to the target object attributes in Oracle Loyalty Cloud.

The preferred options to uniquely identify an object record are as follows:

  • Public unique identifiers: If you're creating new records, then you can provide a user-friendly public unique identifier (attributes denoted with 'Number' and usually visible in the business object's UI). If you update a record for which you have previously provided a Number attribute, or for which a Number attribute is visible in the object's UI, you can use the Number attribute to identify the record. For the Loyalty Member object, the attribute is MemberNumber.

  • Internal ID: If you're identifying a record that already exists in Oracle Loyalty Cloud, then you can use the internal ID of the record. An Internal ID is typically a system-generated unique identifier attribute with "id" in the attribute name. You can determine the internal ID of a record by exporting Oracle Loyalty Cloud object data, or by doing a transactional database query. Using an internal ID typically provides better performance and reduces the import duration. For the Loyalty Member object, these attributes are as follows:

    • LoyMemberId

    • PrConId

    • AccntId

    • OrgGroupId

    • AccrualToMemId

Required Attributes and Validations for Member Import

To import data successfully into Oracle Loyalty Cloud, your CSV file must include the required attributes. Ensure that you provide valid values for the attributes.

The following table lists the required attributes for importing new member records, required attributes for updating these member records, prerequisite setup tasks for the attributes, and specific validations, if any, for a member import:

Attribute Description Data Type Data Length Prerequisite Setup Task/ Import Validations Creating a Loyalty Member record Updating an Existing Member record

MemberNumber

The unique ID for the Loyalty Member record.

Text

30

None

Conditionally Required

A value is required if EnrollFlag is N.

Required

MemberTypeCode

The member type code. The default value is ORA_MEM_TYPE_INDIVIDUAL

Text

30

If providing a value, then the value must be a valid, enabled lookup code for lookup type ORA_LOY_MEM_TYPE.

Conditionally Required

A value is required if the default value isn't used.

Not Required

StatusCode

The status code of the member.

Text

30

If providing a value, the value must be a valid, enabled lookup code for lookup type ORA_LOY_MEM_STATUS.

Conditionally Required

A value is required if the default value isn't used.

Optional

MemberClassCode

The class code of the member.

Text

30

If providing a value, the value must be a valid, enabled lookup code for lookup type ORA_LOY_MEM_CLASS.

Optional

Optional

MemberGrpCode

The group code of the member.

Text

30

If providing a value, the value must be a valid, enabled lookup code for lookup type ORA_LOY_MEM_GRP.

Optional

Optional

MemberPhaseCode

The phase code of the member.

Text

30

If providing a value, the value must be a valid, enabled lookup code for lookup type ORA_LOY_MEM_PHASE.

Optional

Optional

LoyProgramName

The program name of the member enrolls

Text

50

The program must exist.

Required

Not Required

ReferredByNumber

The public unique identifier of referred by member.

Text

30

The referred by member must exist and from same loyalty program.

Optional

Optional

PrConId

The party identifier of the contact that associate with the member.

Number

18

The contact must exist.

One contact can be associate with single member within a given program.

Conditionally Required

Either PrConId or PartyNumber must be provided for the following two cases:

  • A value is required when importing a member from a legacy or external system.

  • A value is required if batch enrolling a member that's associated with an existing contact.

Not Required

PartyNumber

The party number of the contact that associate with the member

Text

30

The contact must exist.

One contact can be associate with single member within a given program.

Conditionally Required

Either PrConId or PartyNumber must be provided for the following two cases:

A value is required when importing a member from a legacy or external system.

A value is required if batch enrolling a member that's associated with an existing contact.

Not Required

ContactFirstName

The first name of the contact

Text

150

None

Conditionally Required

A value is required when batch enrolling a member with a new contact.

Not Required

ContactLastName

The last name of the contact

Text

150

None

Conditionally Required

A value is required when batch enrolling a member with a new contact.

Not Required

AccntId

The party identifier of the account that's associated with the company type of the member.

Number

18

The account must exist.

Conditionally Required

Either AccntId or AccountPartyNumber must be provided for the following two cases when member type is ORA_MEM_TYPE_COMP as follows:

A value is require when importing the company type of the member from a legacy or external system.

A value is required if batch enrolling a company type of the member that's associated with the existing account.

Optional

AccountPartyNumber

The party number of the account that associate with company type of member

Text

30

The account must exist.

Conditionally Required

Either AccntId or AccountPartyNumber must be provided for following two cases when member type is ORA_MEM_TYPE_COMP as follows:

A value is require when importing the company type of the member from a legacy or external system

A value is required if batch enrolling the company type of the member that's associate with the existing account.

Optional

LoyAccountName

The name of the account.

Text

360

None

Conditionally Required

A value is required when batch enrolling the company type of the member with new account.

Not Required

OrgGroupId

The party identifier of the household that's associated with the household type of the member.

Number

18

The household must exist.

Conditionally Required

Either OrgGroupId or HouseholdPartyNumber must be provided for the following two cases when the member type is ORA_MEM_TYPE_HOUSEHOLD:

A value is require when importing household type of member from a legacy or external system.

A value is required if batch enrolling the household type of the member that's associated with the existing household.

Optional

HouseholdPartyNumber

The party number of the household that's associated with the household type of the member.

Text

30

The household must exist.

Conditionally Required

Either OrgGroupId or HouseholdPartyNumber must be provided for the following two cases when member type is ORA_MEM_TYPE_HOUSEHOLD:

A value is require when importing the household type of the member from a legacy or external system.

A value is required if batch enrolling the household type of the member that's associated with the existing household.

Optional

LoyHouseholdName

The name of the household.

Text

360

None

Conditionally Required

A value is required when batch enrolling the household type of the member with a new household.

Not Required

AccrualTypeCode

The accrual type code of the company type of the member.

Text

30

If providing a value, the value must be a valid, enabled lookup code for lookup type ORA_LOY_MEM_ACCRU_TYPE.

Conditionally Required

A value is required when creating the company type of the member.

Optional

AccrualToMemberId

The unique identifier of the household member which the individual member associates with.

Number

18

The member must exist and be from same program.

Conditionally Required

Either AccrualToMemberId or HouseholdMemberNumber must be provided when creating the individual type of member and associating it with an existing household member.

Optional

HouseholdMemberNumber

The household member which the individual member associates with.

Text

30

The member must exist and be from same program.

Conditionally Required

Either AccrualToMemberId or HouseholdMemberNumber must be provided when creating the individual type of the member and associating it with an existing household member.

Optional

CurrencyCode

The currency code for the member.

Text

15

None

A list of valid values are defined in the lookup table, ZCA_COMMON_CORPORATE_CURRENCY.

Review and update the profile option using the Setup and Maintenance work area, and the Manage Currency Profile Options task.

Optional

SurvMemberNumber

The public unique identifier of the surviving member number

Text

30

The member must exist and be from same program

Conditionally Required

A value is required when the member is in merged status.

Optional

StartDate

The date when the member joined the program.

DateTime

 

None

Conditionally Required

A value is required if you're not using current date time.

Optional

You can view the Loyalty Member object along with all its child objects and attributes in the Manage Import Objects page of the Import Management flow. You can find attribute information like type, length, description, and so on, on this page.

Create the Source CSV File for Member Data

The CSV file is provided as input to the data import process. You must populate the CSV file with the data you want to import into Oracle Loyalty Cloud.

You can either create a CSV file on your own or by using a predefined template. To download a template, do the following:

  1. Open Tools, and click Import Management.

  2. Click the Import Objects tab to open the Import Object Details page.

  3. Click the object name link under the Display Name column to navigate to the Manage Mapping page.

  4. If you don't have an existing mapping, then click Create Import Mapping to create a mapping.

  5. On the Edit Import Mapping page, map the required field attributes by dragging them from the Target Attributes section to the Source File section. Save the mapping when you're done.

  6. Click the link in the Mapping Number column of the required mapping.

    Note: You can filter the mappings using the Find drop-down list.
  7. On the Edit Import Mapping page, select Download Template from the Actions drop-down list.

  8. Save the template CSV file to a location on your desktop.

You must edit the template CSV file and provide valid values for the required attributes. In the following sample source file, the import CSV file uses MemberNumber and LoyProgramName information from a legacy system to identify the member and the program records. In the first row, ContactFirstName and ContactLastName are provided to enroll a new contact and associate it with a member. In the second row, a value is provided for PartyNumber which identifies the existing contact to associate with the member.

MembernNumber LoyProgramName MemberTypeCode ContactFirstName ContactLastName PartyNumber EnrollFlag

MEM00000001

ABC Reward

ORA_MEM_TYPE_INDIVIDUAL

Steve

Braun

 

Y

MEM00000002

ABC Reward

ORA_MEM_TYPE_INDIVIDUAL

 

 

Party_7231354

N

In the following sample source file, the user enters MemberNumber to identify the member, updating the StatusCode of the member in Oracle Loyalty Cloud.

MemberNumber StatusCode

MEM00000001

ORA_MEM_STATUS_INACTIVE

MEM00000002

ORA_MEM_STATUS_CANCEL

In the following sample source file, the user enters MemberNumber to identify the member, deleting the member in Oracle Loyalty Cloud by the given MemberNumber. The child member records for the member will be cascade deleted.

MemberNumber

MEM00000001

MEM00000002

Create the Member Import Activity

To import data into Oracle Loyalty Cloud, you need to create an import activity and provide the CSV file as an input to the activity.

To create an import activity, do the following:

  1. Sign in as a setup user.

  2. Open Tools, and click Import Management.

  3. On the Manage Imports page, click Create Import Activity.

  4. In the Create Import Activity: Enter Import Options page, provide a name for the import activity, and select Loyalty Member from the Object drop-down list.

  5. In File Name, browse and upload the required CSV file, and click Next.

  6. In the Create Import Activity: Map Fields page, edit the attribute mappings if required, and click Next.

    Note: Click Validate Data to validate the mapping of the source file for unmapped columns and to check for data format issues.
  7. In the Create Import Activity: Review and Submit page, click Submit.

Review the Member Import Results

You can review the import results by checking for the import activity in the Manage Import Activity page. A file import activity is said to be successful when its status displays as Completed.

To check the status of the import activity, do the following:

  1. Sign in as a setup user.

  2. Open Tools, and click Import Management.

  3. On the Manage Imports page, search for the import activity that you created using one of the search criteria, such as status, name, object, and so on.

  4. Check the Status column for the import activity. The import is successful if the status displays as Completed. The other valid values for the import activity status are Queued for import, Preparing data for import, Importing data, Completed with errors, and Unsuccessful.

Note: On this page you can also quickly view the number and status of all active imports, completed imports, and unsuccessful imports that have been submitted.

Import Your Member Data Using Optimized Volume Import

Use this topic to import your data into Oracle Loyalty using optimized import. You can use the import functionality to create, update, or delete your records.

Use this import mode to import a large number of records for the objects that are supported. When importing the data, select the Enable High-Volume Import option. Optimized import is designed to import millions of records in one import job. This mode doesn't trigger any custom logic configured through the application composer.

Before You Start

Before using optimized import to import your member data, you must do the following:

  • Update your CSV file. Optimized import mode imports use the same CSV template file as standard imports. However, before running an optimized import, you must remove the attributes in the CSV file that only support standard import, and replace those attributes with the replacement attributes. For more information, see the topic Known Issue for Optimized Import.

  • Add the required role and date security. Before using optimized import to import contacts, accounts, and households, you must add the required role and data security policy. For more information, see the topic Add the Required Role and Data Security Policy.

Import Your Member Data In Optimized Import Mode

When you import your data using the optimized import mode, do so in the following order:

  1. Contacts (or accounts or households)

  2. Members

To import your data using the optimized import mode:

  1. Open Tools, and click Import Management.

  2. On the Manage Imports page, click Create Import Activity.

  3. On the Enter Import Options page, do the following:

    Note: Select Contact (or Account or Household), Member, then Transaction, in that order, for each import job.
    1. Enter a name for your import in the Name field (for example, Contact Import, Member Import, or Transaction Import), then select the object to import for the job from the Object field (for contact data, select Contacts; for member data, select Loyalty Member; for transaction data, select Loyalty Transaction).

    2. Select the CSV file to import (for example. MyContacts.csv, MyMembers.csv, or MyTransactions.csv) by clicking Browse beside File Name.

    3. Select the Enable High-Volume Import option in the Advanced Options section.

    4. Specify any other options as required, and click Next.

  4. On the next two pages, accept the defaults and click Next, and then click Submit Job on the last page.

  5. On the Manage Imports page, check that your job status is set to Completed.

  6. You can click your import job name to find details of your import job including any validation errors that are typically provided in the Import Attachments section.

  7. (Optional) You can also generate a diagnostic log by clicking Generate Diagnostics from the Actions field.

  8. Repeat these steps as required to import your contact (or accounts or households) and member data.