Updated: November 24, 2020 12:33pm

Enterprise and Connection Manager

PDF - 1.14.6

PDF - 1.14.7

This topic has information related to replicating data between Prism servers and between Prism and the source RIL Oracle database, including:

  • Background information about the Prism enterprise hierarchy structure and how data flows throughout the enterprise
  • Requirements for joining a new server to the enterprise
  • Steps for initializing a new server with data, either from the source RIL Oracle database or from another Prism above it in the hierarchy (a "point of authority" or POA)
  • Information about creating profiles and assigning them to connections
  • Troubleshooting information
  • Information about how specific data types are replicated

About the Prism Enterprise Hierarchy
Prism is typically deployed in a two- or three-tier hierarchy consisting of headquarters (HQ) at the top, an optional intermediate layer in the middle, and individual store servers at the bottom. Smaller enterprises with fewer than 50 stores can deploy Prism in a two-level hierarchy with store servers directly under the Prism HQ. If the enterprise has more than 50 stores, there must be an intermediate level of Point of Authority (POA) server between the HQ and the store servers. The POAs and store servers join the enterprise through a Technicians Toolkit process. This structured hierarchy enforces synchronization of data throughout the enterprise.

Prism hierarchy

  
Enterprise Hierarchy Notes
HQ
A single "HQ" system serves as the root authority for the company's servers.
Data created at the HQ flows downstream from the HQ to POAs and from POAs to stores
Data created at stores flows upstream to POAs and on to the HQ
You cannot send data directly from one store to another; to send data from one store to another store, data first must flow upstream to the POA and/or HQ and then downstream to the destination node.
After initialization, the source RIL and the Prism HQ server maintain a connection and continue to exchange data. Using "profiles" in Prism Connection Manager, you control the data that is sent from RIL to Prism and from Prism to RIL. For example, the HQ will send documents, customers and other new or changed records to RIL via a prism-to-RIL profile. Using an RIL-to-Prism profile, changes made in RIL (e.g. new Inventory items) will be propagated to Prism.
POA Level
A server's Point of Authority (POA) is the upstream server in charge of enterprise data (from this server's point of view). In a deployment of fewer than 50 stores, the HQ server can serve as the POA for the store servers. Deployments of more than 50 stores require an intermediate POA level between the HQ and store servers. Data is sent downstream by the HQ to the POA and then from the POA to the store server(s). Data is sent upstream by the stores to the store's designated POA and then from the POA to the HQ.
Store Level
At the store level, create a profile to communicate daily with the POA (Prism-to-Prism). When data is created/edited at the store level, it is communicated up the enterprise chain to the top. Store servers are not allowed to replicate data directly with each other; instead, the data must first flow up the hierarchy to the POA and then back down the hierarchy to the target store.
Joining the Enterprise
All servers other than the Prism HQ server must go through the Join-the-Enterprise process. Joining the Enterprise adds the server as a new node to an enterprise hierarchy. As part of the JTE process, the user must identify each server's POA.
Prerequisites for Joining the Enterprise
The server must have online connectivity to the POA
The user doing the configuration must know the IP addresses or FQDNs
The Prism HQ root authority does not have a POA and should be installed first

Basic Steps for data replication
These steps assume the enterprise already has RIL Oracle installed. The basic steps listed here are explained in more detail in following sections.
Prism HQ Server
1.    Make sure the machine has a working TCP/IP connection to the RIL (or Retail Pro 9) database that will be the data source. The RIL Oracle database can be on the same machine as the Prism HQ server or a different machine.
2.    Install the full Prism stack (Apache, Prism Server, Prism Proxy and Prism DRS). The Prism HQ server machine should be the first server on which Prism is installed (subsequent servers will "join the enterprise" and take their place in the hierarchy under the HQ server).
3.    Launch the Prism Proxy using the desktop shortcut and log in using sysadmin/sysadmin credentials. Configure the following:

  • Prism Proxy > Admin Console > Installation Defaults: Edit the Controller Name and RIL Address and save the changes.
  • Prism Proxy > Admin Console > Connection Manager > RIL Dashboard: If you added the RIL Address in Installation Defaults, the server name will be available in the drop-down. If you did not add the RIL Address in Installation Defaults, click the "Add a New Connection" button, add the server name, save, and then select the server from the drop-down. Additional tabs on the RIL Dashboard become available.
  • Prism Proxy > Admin Console > Connection Manager > RIL Dashboard > Profiles: Create an RIL-to-Prism initialization profile.
  • Prism Proxy > Admin Console > Connection Manager > RIL Dashboard > Initializations: Initialize the Prism HQ server with data from RIL using the created profile.
  • Prism Proxy > Admin Console > Connection Manager > RIL Dashboard > Connections: Select the RIL connection. Link the RIL-to-Prism Profile to the RIL connection. At this time, you can also click the Plus sign icon and add a Prism-to-RIL profile for sending data back to RIL.

4.    Log out and log back in using your Retail Pro username and password.
5.    Configure any Prism preferences and permissions that you want to propagate to the POAs or Store servers that will subsequently be installed.
6.    Install subsequent servers.

POA:
[Note: Depending on the complexity of the setup, there can be one or more levels of child POAs under the Prism HQ server, with store servers installed under the POAs. If the deployment has more than 50 stores, an intermediate-level POA is required (one POA per 50 stores.)]
1.    Install the full Prism stack (Apache, Prism Server, Prism Proxy, Prism DRS).
2.    Launch Tech Toolkit at the HQ server:

  • Click the appropriate node in the server hierarchy and select "Add Server." If adding a POA server, select the HQ node and select "Add Server."
  • On the Identity screen, edit the default Controller Number (default = 1) and Controller Name (default = RPS). The Controller Number must be unique.
  • On the Verify screen, enter the new server's POA information (the HQ server is the POA for intermediate-level POA servers.

3.    Launch the Prism Proxy and configure the following:

  • Prism Proxy > Admin Console > Connection Manager > Prism Dashboard > Connections: Select the connection to the HQ server (or appropriate POA) and connect to the server.
  • Prism Proxy > Admin Console > Connection Manager > Prism Dashboard > Profiles: Create a Prism-to-Prism profile. This profile will be used to initialize the new POA or store server.
  • Prism Proxy > Admin Console > Connection Manager > Prism Dashboard > Initialization: Initialize the POA or store server with data from the HQ (or appropriate POA) using the Prism-to-Prism profile you created.
  • Prism Proxy > Admin Console > Connection Manager > Prism Dashboard > Profiles: After initialization is complete, create a Prism-to-Prism profile for Day-to-Day replication of data from the POA back to the HQ.
  • Prism Proxy > Admin Console > Connection Manager > Prism Dashboard > Connections: Select the HQ connection and link the Prism-to-Prism Profile to the HQ connection.

4.    At each installation, create any additional profiles that will be needed for Day-to-Day replication and link the profiles to connections.
Replication Best Practices

  • Install Prism servers from the top down. First, install the HQ (root authority) and initialize. Second, install child POAs, join each to the enterprise and initialize with data from the HQ. Third, install store servers, join each to the enterprise and initialize with data from the appropriate POA.
  • To initialize a node, the node must be on the same Prism version as the POA.
  • Edit the default Controller Name and Controller No of POA and store servers in Tech Toolkit when adding the server. The Controller No of each controller must be unique within the enterprise.
  • To access or edit a node, the server must be up and running.
  • To send data out from a server, you must create a profile and link it to a connection.
  • Nodes can modify the controller data for themselves and any subordinate nodes (in Tech Toolkit).
  • Any node other than the root authority can leave the enterprise; a superior node can remove a subordinate node that is offline via the "Remove Subordinate" option in Tech Toolkit.
  • At the Root Authority (HQ) create a separate profile for each subsidiary to prevent each subsidiary from getting overwhelmed with data from other subsidiaries (if the data from other subsidiaries is not needed).
  • Avoid generating unneeded traffic by being careful about what data is replicated and where it is sent. For example, if you turn on replication of all resources at every location, it could cause the replication message queues to back up and prevent data from being delivered in a timely manner.
  • Prism-to-Prism replication should be the primary form of replication and should be turned on in all directions for all servers. Only the HQ server should replicate data with RIL. [Note: This recommendation may be modified by the Retail Pro Professional Services team based on the size and complexity of the installation.]
  • You cannot send documents directly from one store to another. A POA can create documents and send them to stores, and a store directly under the POA can create documents and send them to the POA; however, two stores under a POA cannot send documents to each other without first going through the POA.
  • Certain fields that update quantity and cost are designated as protected fields. These protected fields will update values at a subordinate server when replicated from a POA to a subordinate. When data is replicated from a subordinate to a POA, the protected fields are not updated. See the "Protected Fields" section.
  • If you have any special characters in your RIL records, those records will NOT be replicated. Special characters are characters such as: -@ $ * ! " & ~ ' ? ` [ ] \ =.
  • For effective communication between web clients and the Proxy, the Proxy should point at a server on the local network. This enables the proxy to fulfill its primary purpose, which is enabling web clients in the POS lanes to communicate with printers and other POS hardware. If you need to change the server to which the Proxy points, first uninstall the Proxy and then reinstall the Proxy, this time pointing to the desired local server.

Navigating Connection Manager
The Connection Manager area of the Admin Console provides an interface for working with
Connections, Profiles, Day-to-Day replication and Initialization.
The Connection Manager area is divided into a set of dashboards. Select the appropriate dashboard for the task you want to accomplish:

Dashboard Description
Prism Dashboard Work with Prism-to-Prism connections, profiles and initializations
RIL Dashboard Work with RIL-to-Prism and Prism-to-RIL connections, profiles and initializations. Normally only the root authority (HQ) needs to replicate data to/from RIL.
Custom Dashboard Work with custom connections to external systems

Prism Dashboard
The Prism Dashboard is divided into the following tabs:

Tab Description
Connections Select the Connections tab to add, edit or remove connections to other Prism servers.
Profiles Select the Profiles tab to add, edit or delete Prism-to-Prism profiles.
Day to Day Select this tab to display the results of Day-to-Day replication. For each job, you can drill-down to view failure/success of individual resources and records.
Initializations Select the Initializations tab to start Prism-to-Prism initialization.

RIL Dashboard
The RIL Dashboard is organized into the following tabs:

Tab Description
Connections Select the Connections tab to add, edit or remove connections. All RIL to Prism connections that your RIL knows about will be displayed
Profiles Select the Profiles tab to add, edit or delete profiles. Profiles Tab will only contain Sender profiles defined on the RIL side. so From RIL to another system.
Day to Day Select this tab to display the results of Day-to-Day replication. For each job, you can drill-down to view failure/success of individual resources and records.
Initializations Select the Initializations tab to start initialization from RIL to Prism. You can select the serve

Sample RIL Dashboard:
Sample RIL Dashboard
Custom Dashboard
The Custom Dashboard is for custom connection activity (e.g. a Prism customization). You can use it for creating custom profiles and viewing results of Day-to-Day replication to and from a custom connection.

Notes
Status reporting for messages on the inbound side only.
Custom connections are not replicated to other systems.
Connection tab will only contain the Prism Connection information.
Profiles Tab contains Sender profiles defined on the Prism side; in other words, sending data From Prism to another system and from another Prism system to this system.

Initialization, JTE and D2D Replication
About Initialization
Initialization is the process of loading a new Prism server with data. In the case of the Prism HQ server, the data that is loaded comes from a source RIL Oracle database. In the case of a POA or Store server, the data comes from an existing Prism server. Typically initialization is a one-time process, done at the time of install. The amount of time required to initialize Prism will depend on the size of your database, especially the size of inventory and customers. The larger the data set, the more time is required. Please set aside enough time for initialization to complete. Initialize servers in the proper order, starting with the PrismHQ server at the top of the hierarchy and then POAs, and then store servers.
Initialize Prism HQ with Data from RIL
Launch the Prism Proxy and log in using the default username and password combination.
Navigate to Admin Console > Installation Defaults. Change the RIL Address to the hostname or IP address of the source RIL Oracle. The Controller Name and RIL Address should not be the same computer name. By default, the Ctrl No (Controller Number) is set to "1" for the first Prism server installed. Each server in the enterprise must have a unique Ctrl No. By default, the Controller Name is set to "RPS" and should be edited (otherwise all controllers will have the same name).
Installation Defaults at root authority HQ
 Navigate to Admin Console > Connection Manager.  Click the RIL Dashboard.
RIL Dashboard add connection
If you added the RIL Address in Installation Defaults, then you can select the server from the Server Address dropdown. If you didn't, you will have to add the RIL Address. Click the Add \ Edit Local RIL Server Button.
Under "Server Address" enter the computer name of the HQ installation (it should match the RIL Address that you entered under Installation Defaults). Click Save.
RIL Dashboard Add Connection
 
Click the Connect button.
RrIL Dashboard connect to server
 
The connection between the two servers is established. Once the connection is established, additional tabs (Profiles, Day to Day and Initializations) become available on the RIL Dashboard.
RIL Dashboard with all tabs showing
Click the Profiles tab.
RIL Dashboard add profile
Click the Add button. The Create Profile screen is displayed.
RIL Dashboard new profile

Under "Type" select "RIL to Prism". Name the Profile something to indicate that information will be transferred from HQ to RIL.
Select the specific resources that should be sent from the HQ to the POA during initialization.
Select the subsidiaries whose data should be copied to this new Prism server during the initialization.
Save the profile.
Click the Initializations tab on the RIL Dashboard.  Select the RIL server in the dropdown and click Start Initialization.
RIL Dashboard start initialization
You will see a screen that enables you to select the servers to initialize and the profile to use for the initialization. Select the checkbox for the server and select the Profile you created in the dropdown. Click the Start button.
RIL Dashboard start initialization

You can monitor the progress of the initialization.
RIL Dashboard - Initialization finished

RIL Dashboard - Initializations tab
On the RIL Dashboards - Initializations tab, you can see initialization information about each of the servers initialized by RIL connections, including Number of Sent, Received Failed records, the date of the most recent initialization, the profile used for initialization, the Total messages and messages sent and the number of servers. You can navigate among the replication records by clicking the pagination buttons.

Delete Batch
If you need to delete an initialization, make sure that the initialization message queue has finished processing and then click the Delete button. If you delete an initialization while it is still processing, some messages will be stuck in the queue. A confirmation is displayed. Click Yes.

Failed/Stopped Initializations
Initialization can take a long time for larger databases and can sometimes fail to complete successfully. If an initialization fails or is stopped for whatever reason:
Create a new Sender profile that starts from the resource after the last COMPLETED resource. For example, if the initialization was in the middle of the Inventory resource when the failure occurred, the new Sender profile should include Inventory and the rest of the resources to the bottom of the list. Run initialization again using the new Sender profile.
When you create a new Sender profile and restart, it may take a while to process the first resource (the resource that was being initialized when the failure occurred). This is because the program must do a slower UPDATE operation on each of the resource's records that are already in the tables. Once the program finishes the updates and reaches the unprocessed records for the resource, it switches to the much faster INSERT operation. There currently is no way to restart a failed/stopped initialization from the specific point of failure. The entire resource in which the failure occurred must be sent again.

Restart PrismMQ after Deleting Replication Records
The key service involved with replication, PrismMQ, caches records aggressively to improve performance. If the record is in the cache, it is assumed that the record exists and PrismMQ doesn't need to confirm its existence in the database. This is usually not a problem; however, it can become a problem if you have deleted replication-related records (e.g. replication status) from tables while troubleshooting. The record you removed as part of your troubleshooting efforts may still be in the cache. Therefore, you should restart PrismMQ as soon as possible after deleting replication-related records. Restarting PrismMQ will clear the cache.

Join the Enterprise
Join the Enterprise refers to the process of adding a new server to the existing enterprise hierarchy. All servers except for the root authority (HQ) server must join the enterprise before initialization. The server being added must have online connectivity to the POA to manage enterprise data or use enterprise features and the user doing the setup must know the IP Address, FQDN or hostname information for servers. All servers other than the Prism HQ server must go through the Add Server/Join-the-Enterprise process. Joining the Enterprise adds the server as a new node to an enterprise hierarchy. As part of the JTE process, the user must identify each server's POA.
The server must have online connectivity to the POA and the user doing the configuration must know the IP addresses or FQDNs.
1.    At the HQ server machine, launch. To access Tech Toolkit, enter the following in the browser address bar: /TTK
A list of prism servers is displayed on the left side of the screen. If this is the first POA server and it is yet to join the enterprise, only the HQ's own server will be listed.
Highlight the server and click the hamburger icon. Select Add Server.
Add server menu option
2. On the Identity screen, enter the IP Address or FQDN of the server that is joining the enterprise. Enter the username and password that will be used to connect to the server.
Click the arrow button to proceed.
Add server, Identity screen

 


3. Prism will attempt to connect to the new server. Notice that the Controller Number and Controller Name match the Installation Defaults entered on the POA1 server.
On this screen, you can edit the Controller Number and Controller Name, if needed.
Click the arrow button to proceed.
Add server, verify poa screen

4. When you click the arrow button, the JTE process starts.
As part of the JTE process, core resources are imported. The core resources are certain basic resources that are required for initialization. When the initialization of Core Resources is finished, click the checkmark button to finish.
Add server, core resources initialization complete
 
The server you added is now listed in the menu. The new server's listing is indented to show that is located under the HQ server in the enterprise hierarchy.
 HQ server menu with POA

Day-to-Day Replication
Day-to-Day (D2D) Replication refers to the sending of data on a regular basis between servers. Unlike initialization, which is typically a one-time operation that sends all available data downstream, Day-to-Day replication occurs on a regular basis, in each direction, and sends only the needed subset of data resources.
D2D replication is carried out by creating one or more profiles that include the desired resources and then linking each profile to the correct connection. When creating profiles for D2D, you select the specific data types needed by the receiving location. This reduces overhead and replication times. Resources that are unlikely to change, like Departments or Vendors, can be excluded, or sent only occasionally. You can use the Advanced Filters feature to apply fine-grained control over the specific records that are replicated.
When a server joins the enterprise, Prism performs a type of mini-initialization and copies a group of resources known as the core resources from the POA to the subordinate system. The core resources are resources that are required for initialization to take place. As a result, when you go into the Profiles area on the Prism Dashboard, you will see a Core Resources profile already exists. The core resources profile is read-only and by default is not included in Day-to-Day replication.

RIL Dashboard - Day to Day Tab
The Day-to-Day tab is split into two sub-tabs: Completed and Pending.
The Completed tab displays a list of the day-to-day replication records for the server. For each resource, you can see the number of records sent, received, and the number of failed records. When you drill down, it shows the messages that have been completed (i.e. put on the message bus).
The Pending tab shows messages that are in the process of being put on the message bus.
If you click a connection (server), it shows summation information of all pending messages in the queue for that server that are Pending and IN Process for delivery to the bus. You can select a server to drill down to the list of resources sent. With a resource selected, you can then drill down to view individual SIDs.

Element Description
   Records that have been sent to this server.  Click the link to display the list.
  Records that have been sent from this server. Click the link to display a list of the records sent from this server.
  Errors. Click the link to display the list.
  A green arrow pointing up indicates the server is currently up. A red arrow pointing down indicates the server is currently down.
  When several servers are available, you can filter the list. Type the name of the machine. Click the icon to filter for only servers with errors.
  Click the link to refresh the server list.
  Shows the total number of links sent to this server and the number of errors.
  Displays the number of batches included in the replication results.

The data in the Identifier and Status columns is a link. The Date is the date of the initialization, not the date the record was created or updated.
If you click in the Identifier link it will take you directly to view the data which was sent. This view will show the last modified date/time for the record.
If you click on the Status link it will simply show the message in the status line.  This is useful if there is a long message which cannot be seen completely within the width of the status column.

Connections
To replicate data between two Prism servers, the servers must establish a TCP/IP connection. Data is replicated according to the instructions specified in the profile assigned to the connection. Each end of the connection can use a different profile when replicating data to the other end of the connection.
How do servers establish a connection?
When configuring the root authority (HQ) server, the user must add a connection to an RIL server (or select an existing server). When adding a server to the enterprise, the user must enter the IP Address or FQDN of the server's POA. The JTE process creates a connection between the server and its POA and copies core resources to the new server.
Linking Profiles to Connections
Connections are listed on the Connections tab of the Prism and RIL Dashboards. If the Connected Only checkbox is selected, only connections to servers that are up and have a working connection are displayed in the list. To view the profiles associated with a connection, click the connection. The profiles involving that connection (in each direction) are displayed. For data to be sent via a connection, the Linked checkbox must be selected. Selecting the Linked checkbox links the profile to the connection. If you want to stop sending data, clear the Linked checkbox. Note: More than one profile can be linked to a connection in each direction.

Connection Fields

Field Description
Connected If selected, indicates the connection is established and currently connected.
Active If selected, indicates the connection is active and available for use.
Remote Address The IP address of the other side of the connection.
Remote Description A description of the other side of the connection. By default, displays the IP address of the server on the other side of the connection, but can be edited.
Local Address The IP address of the user's server.
Local Description A description of the local machine's part of the connection.

RIL Dashboard - Connections tab
The Connections tab displays RIL connections for the enterprise. The Remote Description column lists the individual Prism servers installed. The Remote Address column lists the FQDN or IP Address of the machine. You can filter the list by typing a remote name or number into the Filter text field. Each connection must have a profile assigned on both the Send/Receive sides. You can select the Connected Only checkbox to view only servers that are currently connected. Click the Show Un-Linked link to display unlinked profiles.

RIL Dashboard connections tab

Filter by Remote Description
You can type the name of a Remote connection in the text box to automatically filter the list of connections. This is especially useful when there is a long list of connections.

Display Connected Only
By default, only connections for connected installations are displayed. If you clear the checkbox, any unconnected installations are displayed, too.
Creating Connections to other (non-POA) Machines
There is no restriction as to the connections you can create. If you have credentials to another system, you can create a connection to it. At a store server, the connection to the POA is all you need to replicate data to other systems in the enterprise.

Profiles
A profile specifies the resources that will be replicated from one end of a connection to another. There are three types of profiles that you will work with. The dashboard you are using determines which profile types are available.

Profile Type Description
RIL to Prism For sending data from RIL Oracle database to Prism. Available on the RIL Dashboard.
Prism to RIL For sending data from Prism to an RIL Oracle database. Available on the RIL Dashboard
Prism to Prism For sending data from one Prism server to another Prism server. Available on the Prism dashboard

To replicate data, you must link a profile to a connection. Only linked profiles are used for replicating data. If a connection does not have a profile linked for one or both directions, data will not be sent in the unlinked directions. You can define one profile that specifies the data that is sent from Store 001 to its POA, and a different profile for data sent in the opposite direction, or you can reuse the same profile. You can define as many profiles as needed. The important thing is that you link a profile to each side of the connection.
You can specify which subsidiaries are included in Profiles. You can select any or all Subs. If you select All Subs, then all Subs that currently exist will be selected, AND ANY SUBS ADDED IN THE FUTURE. Selecting this option helps ensure that any new subs added to the company are included when replicating data using the profile. Keep in mind that when this option is selected, any new subs will be added automatically. If this is a concern, then you can select the individual subsidiaries.
You must add the profiles you want to use for initialization and the profiles you want to use for day-to-day.
It is important to select the correct resources for profiles. Make sure you understand the data types you want to replicate so you can include the appropriate resources in the profile.

Copy and Import Profiles
Users can copy an existing profile, create a new profile at the desired location, and import (paste) the contents into the new profile. In early versions of Prism, users had to create profiles at each location. This process was tedious and error-prone. Now, users can copy an existing profile and then import (paste) the contents into a new blank profile at a different location. The only restriction is that the profile being created must be of the same type as the copied profile. This enables a user at a central location to create profiles and then assign the needed profiles to individual locations. This simplifies the profile creation process and helps ensure consistency.
When you display a profile in edit mode, at the bottom of the screen is a Copy button. Click the Copy button to copy the profile's contents to the clipboard.

add profile

Next, start a new profile of the same type that was copied. At the bottom of the Create Profile screen is an Import button. The Import button is only available if you are creating a profile of the same type (e.g. Prism-to-Prism). 
If you click the Import button, the contents of the copied profile (except the Name) are copied into the new profile.  
 Enter a Name for the new profile. Make any other needed changes. Save the profile.
Add/edit/delete profiles on Connection Screen
Previously, a technician would use Remote Desktop to go into each individual server to create/edit the profile. This was very time consuming and added significant support costs to Prism deployments.
Profiles can be created, edited and deleted from the connection screen.

Button Description
create profile button Create a new profile. This shortcut launches the Create Profile dialog for the type of connection you are working with.
link profile button Select the checkbox to link the profile to the connection. Clear the checkbox to unlink the profile.
edit profile button Edit the profile.
delete profile button Delete the profile.


Notes

  • When a profile is linked, the delete button is disabled
  • Delete and edit functionality are disabled for internal profiles (core resources)
  • When creating or editing a profile from the connection screen, the profile type is auto-detected based on the server and connection type

Advanced Filters
Advanced filters allow you to apply logic to return only certain records from the server. The basic syntax for a filter is (ATTRIBUTE,OPERATOR,CRITERIA). The attribute is the name of the attribute to search in, the operator provides the type of comparison, and the criteria is the value to look for.

Available Comparison Operators
The current operators you can use in a filter are as follows:
•    EQ - Equal to
•    NE - Not equal to
•    LT - Less than
•    GT - Greater than
•    LE - Less than or equal to
•    GE - Greater than or equal to
•    NL - Is null
•    NN - Not Null
•    LK - Like

Exceptions

While most of these operators use the pattern mentioned above, there are a couple of exceptions.
•    In Inventory, the Active flag is not true false but rather 0, 1. Your filter will therefore need to be modified to say (active,eq,1) not (active,eq,true).
•    NL and NN do not accept a criteria element e.g. filter=active,nn
•    LK filter uses a as a wildcard. For example s matches all entries starting with s
Resource Filter Examples
Note: The filters are not case- or space-sensitive.

Example Description
(Active,eq,true)  Send active customers
(Active,ne,true)  Send inactive customers
(Cost,le,4.50) Send inventory items with a cost less than or equal to 4.50
(AdjNo,gt,200) Send adjustment memos with an Adj No value greater than 200.


Compound Filters
Compound filters can also use AND and OR clauses with parenthesis to establish grouping. e.g. (FirstName,eq,jack)AND(LastName,eq,harkness)

Filtering Documents by Subsidiary
Here's an example of filtering documents by subsidiary for Prism Day-to-Day replication.

  1. Create a new filter in Connection Manager.    
  2. For the filter, select the Document resource.    
  3. Click the Advanced Filter link.    
  4. Enter a filter for the subsidiary whose documents you want to send. (sbsno,eq,2)    
  5. Click the Back button and then save the profile.     

advanced filter

Core Resources
The core resources are resources considered to be core and not necessarily part of the standard day-to-day traffic. Generally they are defined as those resources that would be replicated from the POA to its members, but not necessarily back to the POA from a member. The following are the core resources: Controller, Tenant, Subsidiary, CustomSchema, Transformdesign, Season, TaxArea, PriceLevel, Currency, StoreType, Store

  • Core Resources must be selected for Prism Day-to-Day replication
  • When creating initialization profiles, the Core resources must be explicitly added if desired

The best and easiest way to correct replication , is to edit your D2D P2P profiles. Add Core Resources, select ALL resources, then uncheck: Controller, Customschema, Store, Subsidiary, Tenant, TransformDesign, Subsidiary, Tenant and Transformdesign. This is because they are already in the un-editable ‘CoreResources' profile.
Core resources replicate in both directions.
Central Resources
When creating a new profile, you will see a check box for Central Resources. The only resource included in the Central Resources is ltycustcentral. If you are using customer loyalty, you will need to create a profile that includes the central resources and initialize stores using that profile.
Create Profile screen showing central resources (ltycustcentral resource):
Loyalty profile

You can specify which subsidiaries are included in Profiles. You can select any or all Subs.
If you select All Subs, then all Subs that currently exist will be selected, AND ANY SUBS ADDED IN THE FUTURE. Selecting this option helps ensure that any new subs added to the company are included when replicating data using the profile. Keep in mind that when this option is selected, any new subs will be added automatically. If this is a concern, then you can select the individual subsidiaries.

Review, Troubleshoot Replication
Use "Show Successful Records" setting for troubleshooting only
By default, the successful records sent during replication are not preserved. This helps keep hard drives from getting filed with the files. However, during troubleshooting and other times, you may want to change this setting so that you can drill down and see individual records. The default value for Show Successful Messages is False, meaning that successful records are not preserved. Keeping the default value of False is important for customers with large data sets. If set to True, large quantities of unneeded data (sometimes millions of rows) could be preserved. Therefore, the setting should only be changed to True when doing troubleshooting. Before Initialization, edit the PrismMQService.ini file so that the PreserveSuccessRecords setting is set to TRUE and select the Show Successful Messages checkbox on the Prism Dashboard > Initializations screen.

Reprocess Errors
If any errors occur during initialization, you can correct the problem and then reprocess the specific links that failed. You can click a server's link to drill down to view more information.Click the column header to sort the list by the Failed column. This brings the errors to the top of the list.  Next, go into the resource with the errors. Select the individual elements you want to reprocess and the click the Reprocess Selected button. If you click the View button, you can see details about the selected resource. You can see a lot of info on this screen, so scroll to the right to display more columns.
If Replication, Initialization Fails or is Stopped
If replication services are interrupted (reboot, computer freezes), Day-2-Day replication will resume where it left off. Initialization can take a long time for larger databases and unfortunately, initialization can sometimes fail to complete successfully. If an initialization fails or is stopped for whatever reason, here is what you should do:
Create a new Sender profile that starts from the resource after the last COMPLETED resource. For example, if the initialization was in the middle of the Inventory resource when the failure occurred, the new Sender profile should include Inventory and the rest of the resources to the bottom of the list. Run initialization again using the new Sender profile. When you create a new Sender profile and restart, it may take a while to process the first resource (the resource that was being initialized when the failure occurred). This is because the program must do a slower UPDATE operation on each of the resource's records that are already in the tables. Once the program finishes the updates and reaches the unprocessed records for the resource, it switches to the much faster INSERT operation. There currently is no way to restart a failed/stopped initialization from the specific point of failure. The entire resource in which the failure occurred must be sent again.
Pause/Resume Initialization
You can pause/resume the initialization process. You cannot pause the Sender, but each downstream system that is consuming the resources being sent can be paused and/or resumed.
There are some key properties in the PrismMQService.ini file that are related to this feature. These properties are set to True by default. The user will need to change to false if they don't want the performance hit.

[PRISM]
INITGUARANTEEDMESSAGEDELIVERY=True
RESUMEINITONSTARTUP=True

[V9]
INITGUARANTEEDMESSAGEDELIVERY=True

By setting ResumeInitOnStartup to true if a consumer does down during an initialization, when it is restarted it will resume initialization automatically. In tandem with this property the user must also set the INIGUARANTEEDMESSAGEDELIVERY to true on the sending server for whichever initialization type he wants to guarantee that if RabbitMQ goes down that no messages are lost.
Here's a typical situation when this setting can be used: Lets say you start an initialization and realize the consumer's 20 thread default is too low for the power of the machine. Now, you can pause that consumer, change the thread count and then resume the consumer. Initialization will pick up where it left off with the new thread count. If a consumer stops responding for some reason, when PrismMQ restarts, the initialization can resume either automatically or manually by the user.
In contrast, if GMD is set to False, then some messages may be lost if there is a RabbitMQ Failure (not just a PMQ failure). In such a case, even a restart of initialization will likely get stuck and not finish, and the initialization will have to be cancelled and restarted from the last completed resource.
Slower Initialization when using INIGUARANTEEDMESSAGEDELIVERY
When turning on GMD for a system that has both sender and consumer on same system (i.e., RIL and Prism installed together on same system) will slow down initialization somewhat for this system and any others that might be included in an initialization batch with this system. If these properties are set to false then Pausing and resuming will still work as long as RabbitMQ on a given consumer does not go down.
Cancel or Delete Batch
You can cancel or delete a batch. The buttons to cancel or delete a batch are available on the View Initialization tab. These buttons enable technicians to kill initialization for one or more servers. This saves technicians from having to wait until the entire initialization runs to completion.

  • If you cancel an initialization batch, all running initializations will be stopped.
  • If you delete an initialization batch, all messages currently in the queue will be lost.

 
Sent and Received Messages
The Sent Messages and Received Messages area enables you to drill down the replication hierarchy and view replication information by resource or even by individual record. Click a server's link to drill down to view more information. Click the column header to sort the list by the Failed column. This brings the errors to the top of the list.
Next, go into the resource with the errors. Select the individual elements you want to reprocess and then click the Reprocess Selected button.
If you click the link, you can see details about the selected resource.
Initialization Guaranteed Message Delivery
This setting is typically only used during troubleshooting. If enabled, PrismMQ takes special steps to ensure that no messages are lost if there is a RabbitMQ failure. If Initialization Guaranteed Message Delivery is set to False, then some messages may be lost if there is a RabbitMQ Failure (not just a PrismMQ failure). In such a case, even a restart of initialization will likely get stuck and not finish, and the initialization will have to be restarted from the last completed resource.
If you enable Init Guaranteed Message Delivery, then you also should enable Resume Init On Startup.  
By setting ResumeInitOnStartup to true, if a consumer does down during an initialization, when it is restarted it will resume initialization automatically. In tandem with this property the user must also set the INIGUARANTEEDMESSAGEDELIVERY to true on the sending server for whichever initialization type the user wants to guarantee that if RabbitMQ goes down that no messages are lost.
There is a performance hit to using this setting. These properties are set to False by default. After changing the properties to True and doing troubleshooting, the user will need to change InitGuaranteedMessageDelivery and ResumeInitonStartup to False to avoid the performance hit.
Here's a typical use case: Let's say you start an initialization and realize the consumer's 20 thread default is too low for the power of the machine. You can pause that consumer, change the thread count and then resume the consumer. Initialization will pick up where it left off with the new thread count. If GMD is set to False, then some messages may be lost if there is a RabbitMQ Failure (not just a PMQ failure). In such a case, even a restart of initialization will likely get stuck and not finish, and the initialization will have to be restarted from the last completed resource. When turning on GMD for a system that has both sender and consumer on same system (i.e., RIL and Prism on same system) will slow down initialization for this system and any others that might be included in an initialization batch with this system.

Here are the how you should configure the settings for both the [Prism] and [RIL] sections of the PrismMQService.ini file.
[PRISM]
INITGUARANTEEDMESSAGEDELIVERY=True
RESUMEINITONSTARTUP=True
[RIL]
INITGUARANTEEDMESSAGEDELIVERY=True

Adjust Customer History Process for High Volume Locales
If you will be operating Prism in a high-volume environment in which all or most of the customers are defined customers in the database, special configuration is required to ensure that Customer History is processed more quickly than the default setting of once every 15 minutes. In a high-volume environment, when using the default Customer History settings, transactions will accumulate before the next processing. By setting the processing timer to a smaller value, e.g. two minutes or five minutes, customer history will be processed more quickly, preventing the build-up of unprocessed transactions.
Launch Technician's Toolkit. On the top toolbar, click the Scheduler icon.  
Navigate to the Schedule Manager area. Locate the Customer History Daily Process.
Right-click in any cell and select Open Form View.
In the displayed Form View, navigate to the Repeat Every (minutes) field. The default setting is 15, which means the process is run every 15 minutes. Change it to a smaller value, such as 2 or 5.
 
•    High Volume POS transactions for CH purposes means transactions with customers that have an account. If half of the transactions are to customers without an account with the store, CH processing ignores those when fetching documents to process - so no impact on memory.
•    When setting Repeat Every to a lower number, Days of Run History should be reduced to 2 or 3 so that Prism is not storing needless thousands of run history records.
•    These edits can also be made directly in the Scheduled Task grid.
•    Default Start & End Times should be tweaked per store business hours. Otherwise CH will run needlessly and create task run records.

Leave the Enterprise
Warning: Extreme caution must be used when leaving/rejoining the enterprise. If a server leaves and then later rejoins the enterprise, the server must rejoin in exactly the same position as it was in before. The Prism controller hierarchy, which provides the way to track all activity within an enterprise, can be easily disrupted by servers leaving and then rejoining the enterprise in a different position. In other words, once the enterprise structure has been set, it shouldn't be rearranged. Therefore, carefully consider the desired server hierarchy before installing servers.
Administrators can leave the enterprise. This sometimes is necessary due to store closings or changes in the corporate hierarchy. Leaving the enterprise will remove records from the POA and local machine. Later, the machine can rejoin the same POA, if desired. This enables retailers to adapt to changing circumstances while maintaining the integrity of the replication hierarchy.
Neither removing or leaving will change the v9 connection. This can be done manually in the Connection manager in AC. Removing a server from the enterprise is intended for the case when a machine is down and will not be brought back online. If a machine will be brought back online then the recommended practice is to bring the machine back online and leave the enterprise.
When a remote leaves the enterprise (or is removed from the enterprise by the POA), care must be taken to avoid errors. We recommend that you disconnect the machine from the network first, and then leave the enterprise at the remote. If the machine is connected to the network, it will try to communicate with the old RIL.
Leaving the Enterprise Rules and Notes
The v9 connection is left in place. You must manually remove this connection. If you don't remove the connection, data may continue to be sent from the Prism server to the old RIL.

  • Unless otherwise noted, all the data from the enterprise remains on both sides of the separation.
  • The Controller records for the opposite side of the separation are Archived.
  • The Remote Connection records connecting each side are deleted

If a server leaves (or is removed from) the enterprise, the server must be configured for a new RIL Oracle database with which it will communicate. This includes:

  1. Disconnect the machine from the network first. If the machine is connected to the network, it will try to communicate with the old RIL.    
  2. Go into the Prism Technician's Toolkit.    
  3. Select the connection that you want to leave the enterprise.    
  4. Click the Leave the Enterprise button.    
  5. Enter login credentials for this server's POA. Click OK.    
  6. Delete the old RIL connection. Add a new connection to the new RIL Oracle server. 
  7. Edit the Default RIL Address in the Installation Defaults area of preferences.    

Remove Subordinate Server
If a server is forcibly removed (in other words the subordinate is not online for some reason) the proper recovery if the remote system either:
Is brought back up and desires to remain independent of the enterprise (it has no knowledge that it left the enterprise
It is desired to restore the system to the enterprise
(Note: If the system will be offline permanently, no action is needed)
SCENARIO:
1. An enterprise is set up.
2. A subordinate server in the enterprise goes down.
3. At the Root Authority, it is determined that the best course of action is to remove the subordinate (e.g. because the server will be down for an extended time).
ACTIONS:
At the down servers POA, Remove the powered-down Server from the enterprise.
IF DESIRED FOR THAT SYSTEM TO RE-JOIN ENTERPRISE AT A LATER DATE:
At the Removed system, log into TTK, it will show the former enterprise tree (since the system has no knowledge it has been removed from the enterprise)
At the Removed system, log into the subordinate server's former POA (this is required for the next step).
At the Removed system, select the menu icon associated with the local Server (the removed subordinate server) and select Remove. Now the enterprise tree will correctly reflect that this system is not attached to an enterprise.
At the POA which this server will re-join, follow the "Add Former Server" process,

Rejoin the Enterprise
If a server identity file was saved (see previous section), then you can reference the file when reinstalling Prism. Using the Server Identity file ensures that the correct Controller, Subsidiary, Store and Tenant table records can be used.
After reinstalling Prism on the machine using the Server Identity File, launch the Tech Toolkit.
Select the hamburger icon for the desired node and select Re-Join the Enterprise.

Protected Fields
At the HQ or POA, certain fields that are important to tracking inventory and customer values can only be modified by documents (cannot be manually edited). This protects the integrity of inventory valuations and customer balances and ensures that the values are not overwritten during Day-to-Day replication. In Prism, we refer to these fields as Protected Fields.
When replicated from a subordinate to a POA DOES NOT OVERWRITE the key fields at the POA.
When replicated from a POA to a subordinate, the files DO OVERWRITE the key fields at the subordinate.
The following tables list the protected fields in inventory and customer records.
Customer table:

CreditLimit CreditUsed StoreCredit
FirstSaleDate LastSaleDate LastReturnDate
LastSaleAmt    

Invn_Sbs_Item table:

FirstRcvdDate LastRcvdDate LastSoldDate

Invn_Sbs_Price table:

Price    

Invn_Sbs_Qty table

Qty TransferInQty TransferOutQty
SoldQty RcvdQty OnOrderedQty
ASNInTransitQty LatOnHandQtyDate ToInOrderedQty
TOInSentQty ToOutOrderedQty ToOutSendQty
PoOrderedQty SoOrderedQty SoSentQty

RabbitMQ
The PrismMQ service plays a key role in data replication. PrismMQ, built upon the familiar RabbitMQ messaging platform, facilitates the processing of data from system to system.
This section of the document provides information about PrismMQ configuration settings and using the RabbitMQ administration console to monitor messaging activity.
PrismMQ Caching Behavior and Troubleshooting Considerations
PrismMQ, caches records aggressively and therefore does not always check the database to confirm whether a particular record actually exists. If the record is in the cache, it is assumed that the record is in the database. This aggressive caching behavior can become a problem if you have deleted replication-related records (e.g. replication_status) from tables while troubleshooting. In that case, the record may still be in the cache even though the record is deleted from the database. If the record is still in the cache, Prism assumes it is still in the database. Therefore, you should restart PrismMQ as soon as possible after deleting replication-related records. This will clear the cache.

Server Mode
The Server Mode configuration option for the PrismMQ service helps improve performance for high-performance, multi-CPU systems (four CPU cores or more) when high-throughput and increased processing power are needed. For example, during initialization, the server is trying to quickly import and process many records; however, Windows default power management settings can end up throttling performance on high-performance machines. Server Mode enables you to bypass some of these default Windows power management settings so that servers can make more efficient use of available computing resources.
Enabling Server Mode results in increased CPU usage. We recommend that you only enable Server Mode when it is needed and then disable it when no longer needed.

Limitations
Limited to systems with four CPU cores or more.
Server Mode is intended  If you use the same machine as both a server and a workstation, then you probably shouldn't use Server Mode. The Server Mode feature is meant for machines dedicated for use as a server.
Intended for use on a temporary basis during times when increased processing power and throughput are needed.
Server Mode is one of the configuration options for the PrismMQ service. The PrismMQ Service controls many settings related to replication, including the number of threads available during replication.
By default, the thread counts for Prism and V9 Day-to-Day and Initialization are set to half the CPU Count (CPU Count / 2). This setting ensures that Prism doesn't consume too much of the CPU power when it is first installed.
When Server Mode is enabled, the maximum thread count for Prism and V9 Day to Day and Initialization is set to one less than the total number of CPU cores (CPU Count - 1). Consumer threads will spin up as needed and spin down when no longer needed.
If you later disable Server Mode, the thread counts will be reset to the defaults. (Five threads for Day to Day, 20 for initialization). To enable Server Mode, edit the PrismMQ configuration file in the Service Manager area of Tech Toolkit. The Server Mode checkbox is found toward the bottom of the configuration screen, in the "General" area.

Compression Threshold
The PrismMQService.ini file has a Compression Threshold parameter that helps avoid problems when replicating large files, such a large Promotions file. The Compression Theshold parameter has a default setting of 100KB. This means that any payload greater than 100KB will be compressed.  Setting the parameter to "0" will turn off compression. A typical 10MB file will compress to about 200KB.

Resume Initialization at Startup
If you set ResumeInitOnStartup to true, then if a consumer does down during an initialization, when the consumer is restarted it will resume initialization automatically. VERY IMPORTANT: In tandem with this property the user must also set the INIGUARANTEEDMESSAGEDELIVERY to true on the sending server for the desired initialization type (RIL to Prism, or Prism to Prism) to guarantee that if RabbitMQ goes down, no messages are lost. For example, if you start an initialization and realize the consumer's 20-thread default is too low for the power of the machine. You can now pause that consumer, change the thread count and then resume the consumer and it will pick up where it left off with the new thread count. Also, if a consumer goes down for some reason or stops responding for some reason, when PrismMQ restarts Initialization can resume either automatically or manually by the user. IF GMD is False then some messages may be lost in the event of a RabbitMQ Failure (not just a PMQ failure) and even a restart of initialization will likely get stuck and not finish, and then have to be cancelled and restarted from the last completed resource. NOTE: YOU CANNOT PAUSE THE SENDER, BUT EACH DOWNSTREAM CONSUMER SYSTEM CAN NOW BE PAUSED AND OR RESUMED.

Replication of Specific Data Types
The following table has notes about replication of specific data types.

Data Type Replication Notes
address types The "addresstypes" resource replicates the address types defined in Admin Console > Node Preferences > Data Types.
adjustments The "adjustments" resource replicates adjustment memos (quantity, price, cost) and is available on all profile types.
allocation patterns Allocation patterns are used to allocate items on purchase orders or transfer orders among different stores. Allocation patterns that you create in RIL are copied to the Prism server during initialization. Allocation patterns that you create in Prism are replicated to RIL and to other Prism servers using the "allocationpattern" resource.
asn vouchers ASN vouchers are replicated using the receiving resource. The receiving resource sends both ASN vouchers and vouchers.
Replication of Batch Receiving (Shipping Package Numbers)
Shipping package numbers and other batch receiving information replicates as part of the ASN voucher.
biometrics The "biometric" resource replicates biometric login information. Two database columns play a key role in biometric login: user_name and empl_name:
The EMPLOYEE table includes user_name and empl_name columns. The BIOMETRICS table includes empl_name column.
The user_name column is unique across all subsidiaries. When a user does a regular log in using user name and password, the server looks in the EMPLOYEE table and tries to find a matching record. The employee resource is a core resource and cannot be filtered or excluded from replication. As a result, you can use the user_name and password of any employee and login to Prism at any store.
The empl_name column is unique within a single subsidiary. When a user logs in using a fingerprint, the server first looks in the BIOMETRICS table and retrieves the empl_name and sbs_sid. The server tries to match the retrieved information with a corresponding empl_name and orig_sbs_sid in the EMPLOYEE table. If a match is found, the server uses the user_name and its password from the EMPLOYEE table for the login.
The biometrics resource is not a core resource; therefore, you can apply a filter or simply not replicate the resource. If you want to filter your data by subsidiary but still want all fingerprints to be replicated you must create a separate profile that only includes the biometrics resource and do not apply any filter to it. The rule is: empl_name + orig_sbs_sid from EMPLOYEE table MUST match empl_name + sbs_sid from BIOMETRICS table. Therefore when you create a biometrics record, you should pass empl_name and sbs_sid equal to empl_name and orig_sbs_sid (important! Not employee sbs_sid but employee orig_sbs_sid) of the employee who you are creating the fingerprint for. This resource is only available for Prism-to-Prism profiles.
calendar This refers to the retail calendars used for reporting purposes. Calendars in RIL are copied to the Prism server during initialization.
charge terms The "chargeterm" resource replicates customer charge terms (used on receipts tendered by Charge). Charge terms are copied to the Prism server during initialization. Charge terms can be included in Prism-to-Prism and RIL-to-Prism profiles. In Prism, there is currently no way to define receipt charge terms.
In RIL (or RP9), define charge terms in Options > System Preferences > Local Preferences > Point of Sale > Receipts > Tenders/Terms.
comment Comments defined in RIL are replicated to Prism and are available for selection on Prism transactions; however, you cannot add Comments in Prism and have them replicate back to RIL. You can enter freeform comments on transactions in Prism, but those comments are not replicated back to RIL.
coupon sets The serialized coupons feature is available in the Promotions module, provides retailers with a versatile tool for managing coupons as part of a coupon set. Prism-to-Prism profiles can include the couponset and couponsetcoupon resources.
country The "country" resource replicates countries.
currency The "currency" resource replicates the currencies added or edited in Admin Console > Global Preferences > Currency > General. Currencies in RIL are copied to Prism during initialization.
customer Customer information (except UDF, loyalty information, class and store credit, which are handled by separate resources).
customer class The "customerclass" resource is available on Prism-to-Prism profiles.
customer document history In Prism, certain key data about each transaction and its items is stored as part of the customer record. This data is replicated along with the customer record. If a customer is available at an installation, then the customer history will be available, too, although the full document may not be. If a user wants to view a document that does not exist locally, then the document will have to be viewed at the POA (or the document can be replicated separately). If you want to view a document that does not exist locally, make sure the customerdocumenthistory resource is selected. The "customerdocumenthistory" resource is available on Prism-to-Prism profiles.
customer loyalty When you initialize Prism using "All Resources," most loyalty information is copied over, including loyalty programs and loyalty levels. The only loyalty information that is not copied over when initializing Prism using All Resources is the Loyalty Points balance for each customer. To copy the Loyalty Points balance from RIL to Prism, initialize Prism using the special loyalty resource. To replicate points from Prism to RIL (for transactions created in Prism), create the Prism to RIL profile and link it to the appropriate connection. This will cause any points earned in Prism to be replicated to RIL as part of day-to-day replication.
Important! Be sure to link the profiles to their connections. If you find that loyalty points are not replicating, check to make sure the profiles are linked to connections. Customer Loyalty information is replicated using multiple resources:
inventory: Replicates Item Loyalty Redeem and Loyalty Reward point values from RIL to Prism (item-based loyalty programs). The Item Reward program information is for those items that part of programs that have a Redeem Type of "Item Reward."
ltylevel: (RIL-to-Prism profiles only) Use this resource to replicate loyalty levels and programs to Prism.
ltycustcentral: Use this resource to replicate customer point balances. You must create a separate profile that only includes this resource.
customer udf This refers to the options available for each customer udf field. The "customerudf" resource is available for all profile types.
In Prism, define customer udf fields in Admin Console > Node Preferences > Customers > UDF Fields. If you want to define customer udf fields in RIL (or RP9), they are found in Options > System Preferences > Customers > UDF/Aux.
dcs Department information is replicated using the "dcs" resource. The "dcs" resource is available for all profile types.
docposflag This refers to the options available for each POS flag field.
In Prism, define POS flags in Admin Console > Node Preferences > Transactions > POS Flags. If you decide to edit POS flags in RIL (or RP9) they are found in Options > System Preferences > Local Preferences > Point of Sale > General > POS Flags/Notes.The "docposflag" resource is available for all profile types.
document Documents created in Prism BEFORE the profile is linked to the connection ARE NOT replicated to RIL. Only documents created AFTER the profile is linked to the connection are replicated to RIL. If a transaction includes both sale and order items, the document is split into separate receipt and order documents in RIL.
document designs There is no resource for replicating Document Designs; however, Document Designer includes an "import/Export" feature that can be used to copy document designs between locations.
documentfeetype The fee types defined in RIL are copied to the Prism server during initialization. The "documentfeetype" resource is used to replicate the fee types defined for use at POS. These fee types are defined in . The "documentfeetype" resource is available on Prism-to-Prism and Prism-to-RIL profiles.
drawerevent Drawer Events are replicated via the "drawerevent" resource from Prism to Prism, or Prism-to-RIL only (not from RIL to Prism). Important! The Pop Drawer event is NOT replicated. The Paid In, Paid Out and Cash Drop drawer events ARE replicated. In addition, Z-Out drawer open events are replicated via the drawerevent resource.
email types Email types added or edited in Prism are replicated to RIL and Prism servers using the "emailtype" resource.
employee

The "employee" resource controls the replication of general employee information. When you initialize Prism, employee groups and employees are copied to the Prism server; however, not all employee and employee group information is replicated between Prism and RIL. The data that is NOT REPLICATED includes group permission assignments (Prism has its own permissions). The "employee" resource is available on all profile types.

employeeudf Employee user-defined fields. The "employeeudf" resource is available on all profile types.
exchangerate Exchange rates defined in Admin Console > Global Preferences > Currencies > Exchange Rates. The "exchangerate" resource is available on Prism-to-Prism and Prism-to-RIL profiles. Exchange rates are not copied to Prism during initialization.
fees The fee types defined in RIL are copied to the Prism server during initialization. The "documentfeetype" resource is used to replicate fees.
grid formats

The "griddata" resource controls the replication of grid format information (defined in Admin Console > Node Preferences > Grid Formats). The "griddata" resource is only available on Prism-to-Prism profiles. Changes to grid formats made at the Corp, Subsidiary, or Store level will replicate with other preferences. Workstation settings will not replicate. Any workstation-specific grid format settings must be made at each individual workstation that needs them.

images Images are not replicated between Prism and RIL. To use images in Prism, you must first export the images using the RILImageExport.exe tool. You must then copy the extracted \image folder to the \ProgramData\RetailPro\Server folder. You can add customer images in Prism; however, you cannot add item or style images. Item and Style images must be exported from RIL.
inventory Inventory information is replicated using the "inventory" resource. The "inventory" resource is available on all profile types.
invnlot Inventory item lot number information is replicated using the "invnlot" resource. The "invnlot" resource is available on all profile types.
invnserial Inventory item serial number information is replicated using the "invnserial" resource.The "invnserial" resource is available on all profile types.
inventory styles Inventory item style information is replicated using the "inventorystyleview" resource. The "inventorystyleview" resource is available on all profile types.The "inventorystyleview" resource is only available on Prism-to-Prism profiles.
invnudf This refers to the options available for each inventory udf field.
In Prism, define inventory user-defined fields in Admin Console > Node Preferences > Merchandise > UDF Fields. If you decide to edit inventory udf fields in RIL (or RP9), they are found in Options > System Preferences > Local Preferences > Merchandise > User-defined/Auxiliary. The "invnudf" resource is available on all profile types.
job  Job Titles. Job titles defined in RIL are replicated during initialization and available for selection in Employee records. The "job" resource is available for all profile types.
kit component Kit component information is replicated using the "kitcomponent" resource. Kit components are the individual items that together comprise a kit item. In Prism, there is currently no way to define kit components. When you list an item, if the item is configured as a kit item, the component items will be shown in the item grid. In RIL (or RP9), define kit components in Merchandise > Inventory > Packages and Kits. The "kitcomponent" resource is available on all profile types.
languages The "language" resource replicates languages added (or changed) in Prism. The "language" resource is available on Prism-to-Prism and Prism-to-RIL profiles.
markdowns The "markdown" resource replicates scheduled price markdown information (created using Price Manager). The "markdown" resource is available on Prism-to-Prism and RIL-to-Prism profiles.
mediatype  
permissions Information about the permissions assigned to each employee group is replicated from the POA to a subordinate.
If you change preferences at the Corp/Sub/Store level, then the following will occur:
Root Authority will automatically propagate to POA & vassal
POA will automatically propagate to vassal
In no case will changes flow up the enterprise.
pi sheet data PI sheets and their counts are replicated using the "pisheetdata" resource.
pos flags POS Flags are replicated back and forth between Prism and RIL; however, the Required flag and the Default menu option are stored in a different table and ARE NOT copied during initialization. Prism users must set the Required flag and default menu option for each flag in Admin Console > Node Preferences > Transactions > POS Flags.
price level Price levels are replicated using the "pricelevel" resource. The "pricelevel" resource is available on all profile types.
preferences Preferences are replicated as part of the Core Resources. The Core Resources are defined as those resources that are replicated from the POA to its members, but not back to the POA from a member.
If you change preferences at the Corp/Sub/Store level, then the following will occur:
Root Authority will automatically propagate to POA & vassal
POA will automatically propagate to vassal
In no case will changes flow up the enterprise.
When defining preferences, it is important to be aware of the various levels and which level you are changing: Corporate, Subsidiary, or Store (Workstation preferences are never replicated). Each of the levels of preferences exist at every Prism installation and can be configured by users (regardless of whether the installation is the Corp HQ, a Subsidiary server, a Store, or an individual workstation).
Preferences overwritten by POA when Joining the Enterprise
When joining the enterprise, the server will inherit preference settings from the POA (Corp, Sub, Store levels).
Store level changes will only affect that store.  Therefore if a user drills into Store 1 and makes changes, systems will not see the changes unless the WS is assigned to that store. If the Root Authority changes a Corp-level preference and the store has a store level setting for the same preference, the store's preference wins.
promotions The "pcppromotion" resource is responsible for replicating promotions. Add the pcppromotion resource to individual profiles to replicate promotions from one. When you press the Broadcast button, promotions are prepared for replication.
Promotions are sent one promotion per message (instead of one large message with all promotions). If the promotion contains a long list of items it will still be a large message, but not as large as before. Also, since promotions are now sent as multiple messages, they can be processed in parallel with multiple day-to-day consumer threads.
A field in the PCP_PROMOTION table - PUBLISHED_DATETIME - tracks the date and time when that specific promotion was broadcast. The PUBLISHED_DATETIME is compared to the MODIFIED_DATETIME on the same record and if the MODIFIED_DATETIME is older than the PUBLISHED_DATETIME, the promotion will NOT be sent when you press the Broadcast button. This means that only those promotions edited after the last broadcast will be sent.
The Promotions list is created and managed at the headquarters location (or designated central location). The headquarters location then broadcasts the list to stores. Important! When you broadcast promotions, Promotions will be overwritten at the locations that receive the broadcast. The actual promotions that can be used at each individual store will be limited to those promotions assigned to the store itself or to "All Stores."
Broadcast Promotions from HQ to Stores
Currently, any location can broadcast Promotions simply by clicking the Broadcast button on the interface.; however, you should only broadcast Promotions from the HQ server down to the child POAs and stores. If stores broadcast promotions back up to the POA, then there is a chance that promotions priority can be duplicated at locations across the enterprise, leading to unexpected results.
The "pcppromotion" resource is available for Prism-to-Prism profiles only.
purchaseorder Replicates purchase orders. The "purchaseorder" resource is available on Prism-to-Prism and Prism-to-RIL profiles.
purch fee type Purchasing fee types. These are the reasons for fees on purchase orders. Define purchasing fee types in Admin Console > Node Preferences > Purchasing > Vouchers > PO/Voucher Fee Types. The "purchfeetype" resource is available on all profile types.
reasons

Reasons are short labels that help explain why a certain action was taking by a user (e.g. granting a discount). In Prism, define reasons in Admin Console > Node Preferences > System > General. In RIL (or RP9), define reasons in Options > System Preferences > Local Preferences > Documents > Reason Codes. Reasons created in RIL are copied to Prism during initialization. Reasons created in Prism are replicated to RIL if the "reason" resource is included in the profile.
RIL Replication Notes
If both systems were initialized from an RIL Connection, then changing an attribute like Reason Name in Prism creates a new (duplicate) record during replication.
If the POA was initialized from RIL, but other servers were initialized from the POA, then all Reasons will have the same SIDs and changing an ID Attribute like Reason Name will not create a new record.
The "reason" resource is available on all profile types.

receiving The "receiving" resource replicates receiving vouchers. The "receiving" resource is available on Prism-to-Prism and Prism-to-RIL profile types.
regions This resource replicates corporate regions (created in Admin Console > Global Preferences > Regional Inventory > Corporate Regions.
scales The "scale" resource is available for all profile types.
scale patterns The "scalepattern" resource is available for all profile types.
season Seasons can be assigned to items and price levels when using seasonal pricing. In Prism, define seasons in Admin Console > Global Preferences > Season. If you decide to edit seasons in RIL (or RP9), they are found in Options > System Preferences > Global Preferences > Calendars > Seasons. We recommend that you only add or edit seasons in one system or another (Prism or RIL). The "season" reasource is available on RIL-to-Prism and Prism-to-RIL profiles.
shipping methods The "shippingmethod" resource is available on Prism-to-Prism profiles only. In Prism, there is currently no way to define shipping methods. Shipping Methods defined in RIL are available for selection on Prism transactions on the Shipping tab in Item Details.
store Store information is replicated using the "store" resource The "store" resource is available on Prism-to-RIL and RIL-to-Prism profiles.
store credit The CreditLimit, CreditUsed and StoreCredit fields are "protected" fields. This means that when replicated from a subordinate to a POA DOES NOT OVERWRITE the key fields at the POA.When replicated from a POA to a subordinate, the files DO OVERWRITE the key fields at the subordinate.
subsidiary Subsidiary information is replicated using the "subsidiary" resource. The "subsidiary" resource is available on Prism-to-RIL and RIL-to-Prism profiles.
tax areas The "taxarea" resource replicates tax area information, including tax rules (created in Admin Console > Node Preferences > Taxes > Tax Areas). The "taxarea" resource is available on all profile types.
tax codes The "taxcode" resource replicates tax codes (created in Admin Console > Node Preferences > Taxes > Tax Areas). The "taxcode" resource is available on all profile types.
till This refers to the till records. In Prism, define tills in Admin Console > Node Preferences > Reporting > X/Z-Out. If you decide to edit tills in RIL (or RP9), they are found in Options > System Preferences > Local Preferences > Point of Sale > General > Options. The "till" resource is available for all profile types.
time clock records The "timeclock" resource replicates check in/check out records for employees. The "timeclock" resource is available on Prism-to-Prism and Prism-to-RIL profiles.
title This refers to the titles (Mr., Mrs., Dr., etc.) that can be assigned to Customers and vendor contact persons. In Prism, define titles in Admin Console > Node Preferences > Data Types. If you decide to edit titles in RIL (or RP9), they are found in Options > System Preferences > Local Preferences > System > Titles. Titles in RIL are copied to the Prism server during initialization. Titles added or edited in Prism are replicated to RIL and Prism servers using the "title" resource. We recommend that you only edit titles in one system (Prism or RIL).
touch menus The "touchmenu" resource replicates the touch menus defined in Admin Console > Node Preferences > Touch  POS. The "touchmenu" resource is available on Prism-to-Prism profiles.
tranfeetype This resource replicates fee types for transfers. Transfer fee types added or edited in Prism are replicated to RIL and Prism servers using the "tranfeetype" resource. The "tranfeetype" resource is available on all profile types.
transfer orders This resource replicates transfer orders. Transfer orders are not replicated from RIL to Prism during initialization. Transfer orders created in Prism are replicated to RIL and other Prism servers using the "transferorder" resource.
transfer slip The "transferslip" resource replicates transfer slips. Transfer slips are not replicated from RIL to Prism during initialization. Transfer slips created in Prism are replicated to RIL and other Prism servers using the "transferslip" resource.
transfer slip comments Transfer slip comments are not replicated at the current time. You can enter comments on transfer slips in the Transfer Slip Details area of the slip.
transfer resolution rules


The "transrules" resource replicates the Transfer Resolution Rules defined in Admin Console > Node Preferences > Transfers > Resolution Rules. These rules dictate how the system will handle discrepancies in the sent/received items and quanties on out slips when compared to the voucher on which the items were received. The "transrule" resource is available in RIL-to-Prism and Prism-to-Prism profiles.

usergroup This resource replicates employee groups. Employee groups in RIL are copied to the Prism server during initialization. Employee groups added or edited in Prism are replicated to RIL and other Prism servers using the "usergroup" resource.
userpasswordhistory User password history. The userpasswordhistory resource is available in Prism-to-Prism profiles. This enables you to replicate passwords between Prism servers.
vendor This resource replicates vendors. Vendors created in RIL are copied to the Prism server during initialization. Vendors added or edited in Prism are replicated to RIL and to other Prism servers using the "vendor" resource.
vendorinvoice This resource replicates vendor invoices created in Prism to RIL or to other Prism servers. Vendor invoices are not copied from RIL to Prism during initialization.
vendorudf This refers to the options available for each vendor udf field. In Prism, define vendor udf options in Admin Console > Node Preferences > Merchandise > Vendors > UDF Fields. Select a UDF field and then define the options. If you decide to edit vendor udf fields in RIL (or RP9), they are found in Options > System Preferences > Local Preferences > Merchandise > Vendors > User-defined.We recommend that you only add or edit Vendor UDF fields in one system or the other (Prism or RIL).
vouchers Vouchers are replicated using the "receiving" resource. See the listing in this table for "receiving."
zoutcontrol Z-Out reports. Z-Out reports are not replicated between RIL and Prism; however, Z-Out Drawer Open and Drawer Close reports are replicated from Prism store servers to the POA (Prism-to-Prism) and from child POAs to the HQ. Z-Outs are replicated via the drawerevent resource. The "zoutcontrol" resource is available on Prism-to-Prism profiles.

Preferences overwritten by POA when Joining the Enterprise
When defining preferences, it is important to be aware of the various levels and which level you are changing: Corporate, Subsidiary, or Store (Workstation-level-defined preferences are never replicated). Each of the levels of preferences exist at every Prism installation and can be configured by users (regardless of whether the installation is the Corp HQ, a Subsidiary server, a Store, or an individual workstation). When joining the enterprise, the server will inherit preference settings from the POA (Corp, Sub, Store levels). This is usually the desired behavior. A downside is that if you have configured custom preferences at any level, those custom settings will be overwritten by the POA's settings during JTE.

Replicating Preferences from Prism to Prism (POA to New Server)
Currently if the POA has already been set up and you connect a new system to this POA the preferences are not sent to the new server. The user must make an edit to the POA preferences to have the new system get the POA's preferences. In future versions, users will be able to propagate preferences to from an existing Prism server to a new Prism server (Prism-to-Prism).

Forcibly Removing a Server
If a Server is forcibly removed (in other words the subordinate is not online for some reason) the proper recovery if the remote system either:
Is brought back up and desires to remain independent of the enterprise (it has no knowledge that it left the enterprise
It is desired to restore the system to the enterprise
(Note: If the system will be offline permanently, no action is needed)
SCENARIO:
1. An enterprise is set up.
2. A subordinate server in the enterprise goes down.
3. At the Root Authority, it is determined that the best course of action is to remove the subordinate (e.g. because the server will be down for an extended time).
ACTIONS:
At the down servers POA, Remove the powered-down Server from the enterprise.
IF DESIRED FOR THAT SYSTEM TO RE-JOIN ENTERPRISE AT A LATER DATE:
At the Removed system, log into TTK, it will show the former enterprise tree (since the system has no knowledge it has been removed from the enterprise)
At the Removed system, log into the subordinate server's former POA (this is required for the next step).
At the Removed system, select the menu icon associated with the local Server (the removed subordinate server) and select Remove. Now the enterprise tree will correctly reflect that this system is not attached to an enterprise.
At the POA which this server will re-join, follow the "Add Former Server" process,