Users/Account Overview


All users must be assigned one account to belong to. This way, when users navigate the site and data is used to price the items they are viewing, we can reference the information from their associated account. This allows many users to have the same information and one account to have as many users as desired by the account administrator.

The account the user’s belong to are considered the Parent Address. These Parent Addresses are the highest level of the address book hierarchy maintained in the K-Rise tables.

Address Book Hierarchy

For each address that you would like used in the K-Rise portal, a record for that address must exist in the K-Rise AddressBook table. We then store in another table, the AddressBookHierarchy, how the accounts are related. The relationship between all the addresses you wish to use form the hierarchy.

This address book hierarchy could be the same hierarchy that exists in JDE already, but it could also be a new structure that will pull its information from JDE, but does not exist in the JDE data. This might be desired if the JDE data is not as organized as the site administrator would like. That admin could implement an address book hierarchy within the K-Rise tables since we will have our own records for each address and our own records for how they are related.

User Authorization Types

Each user that exists, must have a designated User Authorization Type. This is assigned to the user when the user is created. There are two main categories for these types: Customer and Internal.

Customer types will exist under an account that can be used to retrieve prices and create orders. This account is a valid address book number in JDE.

Internal types exist under an internal account that cannot retrieve prices or create orders on their own. These users are intended to be admins, IT personnel, customer service reps, marketing personnel, etc. These users can change aspects of the site, like marketing carousels or active promotions, for the customer type users. The only way internal users can place orders is if the order is placed on behalf of a customer type user. These orders would be placed by the internal type user, but with the information of the customer type user (JDE address book number for billing and shipping).

Address Book Hierarchy

The hierarchy shown above is a possible address book hierarchy that could exist in JDE. In this scenario, the “Parent Addresses” would show in the “Work with Accounts” page. Users would belong to the Parent Address and have access to the associated Billing and Shipping Addresses.

Our EASYCommerce set up is equipped to handle this and other variations as the hierarchy relationship varies, though it requires some changes during set up based on the relationship rules. The following configuration questions will need to be answered for any address book hierarchy to be applied.

  • How is a Parent Address identified?
  • Given a Parent Address, how are its associated Billing Addresses found?
  • Given a Billing Address, how are its associated Shipping Addresses found?

Base Hierarchy

While the above functionality is possible, the base functionality of EASYCommerce handles the following Address Book hierarchy:

In this scenario, the “Billing Addresses” would show in the “Work with Accounts” page. Users would belong to the Billing Address and have access to the associated Shipping Addresses.

This is how EASYCommerce treats the relationship in order to accomplish this while still being able to maintain the previously mentioned scenario.

The Billing Addresses are the highest level of the hierarchy in this scenario. These are used to contain the users and separate the accounts.

Base Hierarchy Configuration

In order to determine the rest of the setup, the same configuration questions will still need to be asked in order to determine the relationship rules. These questions will differ for each Account Type they are being asked for.

How is a Parent Address Identified?

For the Base Hierarchy, this question becomes: how is the Billing Address identified? This is still a valid question, because all Billing Addresses that exist in the JDE Address Book Master could be targeted to show in the EASYCommerce portal, but this may not be desired.

For JDE Account Types, this subset of the Address Book Master is targeted with a query and is expected to select very many addresses. Each address found becomes a JDE Account Type in the KRise Address Book.

For Guest Account Types, a list of addresses from the JDE Address Book Master is given and put in a configuration variable so EASYCommerce can identify the guest accounts. These addresses in JDE are considered generic addresses that don’t receive special discounts on items or have special rules upon order placement. This is because the users for this guest account will not have to log in to gain access to the site.

Given a Parent Address, How are its Associated Billing Addresses Found?

For the base hierarchy, this question is immediately answered. There is only one; the ERPAddressNumber we are using as the Parent Address is also the Billing Address.

Given a Billing Address, How are its Associated Shipping Addresses Found?

This question is asked for the base hierarchy the same as it is asked in the scenario with three distinct address tiers and for each Account Type with Shipping Addresses. Given the ERPAddressNumber which we are using as the Billing Address, how are its associated Shipping Addresses found?

By default, Shipping Addresses are found for a given Billing Address with the following query:

SELECT ABAN8 FROM F0101 WHERE ABAN81 = [Billing Address] AND ABAT1 IN ('CS','CG','P','C','I','S','LI')

The ABAT1 in the above query is an example value. This is pulled from a configuration variable ($EP_Profile_AddressImportSettings_Default_ShippingAddressTypes) which is used to specify the AddressTypes which should be pulled in.

JDE to K-Rise Address Data Mapping

Each address (Parent, Billing, or Shipping) has its information pulled from JDE and stored in the KRise database. Here are the JDE to KRise data mappings used by default:

JDE Column