Hello Oracle
Retail Fans. In this article, I’m going to list down some the frequently asked
questions about RPM from various sources. Feel free to add if you have any
more. I’ll keep on adding to this article, as and when I come across anything
new. Please do let me know if you have any questions for comments.
Why
is there no conflict checking between Price Change and Clearance?
No conflict
checking is done between the Retail Price Change and the Clearance because
Clearance always takes precedence over the Retail Price Change. If a retail
price changes halfway through an active clearance, the clearance price
continues to be the active price, but the new permanent price will be activated
when the clearance resets. In essence, there really is no "strict"
overlap between Clearance and Retail Price Change since the system holds the
retail price change until the retail price for the item is reset.
How
to end a Clearance Event that may not have a Reset Date or to end a Clearance
Event earlier than planned?
To end a
Clearance event that may not have a Reset Date or to end a clearance earlier
than planned (i.e. already has a Reset Date), put the Clearance back to
Worksheet status and enter/change the Reset Date regardless if the Clearance is
already in effect or at least one Clearance Markdown has been downloaded to the
Point of Sale (POS).
After you have
approved and downloaded a clearance event, set it back to Worksheet status and
modify the Reset Date. You can modify clearance informat
Why
does a Clearance Event not have an "Extracted" status unlike a Retail
Price Change?
Clearance does
not have an "Extracted" status but it does have "Downloaded"
status for each Clearance Event Detail. When we define Price Change, it is for
a specific effective date (and it only has one effective date). That would
mean, all item-location involved on this price change will have this new price
on that effective date. Whereas with Clearance, each clearance event details
have its own effective date. If Price/Cost Change has already been extracted,
it cannot be put back in Worksheet status. Same
How To Create A Sample Worksheet In RPM?
1. Create Items in RMS:
- Create several “Regular” type items in RMS
-Add the Supplier and Retail By Zone information to the items
-Assign several locations to the items through the location link on the
Item Maintenance Window
-Be sure to make these items sellable and orderable
-Approve the items created in RMS
2.
Set up Competitive Pricing in RMS:
This
is required for a competitive strategy only. If competitor pricing does
not exist, then items in a worksheet generated by a competitive strategy will
not have a proposed retail.
- Create and save an
item list using some of the items created above
- Close the item list windows
- Enter the item list search container and select Use from the Action Drop Down
List Box
- Select Create Competitive Shop List from the Option Menu
- Enter a competitor record with a Shop Date=Vdate
- Save and close the item list containers
- Create and Save a Regular Price Type Competitive Price Entry for the item
list
3.
Create a Calendar:
- Create a calendar with a Start Date = vdate +
1.
- Select a calendar End Date where End Date > vdate + 1
- Set the Review Period Duration = 1
- Set the Days between Review Periods = 0
4.
Create a Candidate Rule:
- This is required in order to generate a
worksheet from a clearance strategy
- Create a candidate rule that will be met by the items created above in
RMS, such as a
department candidate rule. (Department=Item Department)
5.
Create a Zone Group/Zone:
- Create a Zone Group with 2 zones
- Add locations to each of the zones
- Be sure to select locations where the items created above in RMS are
ranged to (exist at).
6.
Create a Pricing Strategy:
Area
Differential:
- Create an area
differential strategy with one of the zones created above
- Select the department of the items created above
- Select the calendar created above
- Add one secondary area for the second zone in the zone group created
above
- Save and close the strategy
- Create another strategy with the same department and primary zone used
in the area differential.
The
strategy can be any type, except for another Area Differential. Note that two
worksheets will be generated for this strategy type, one for the primary and
one for the secondary area
Clearance:
- Create a Clearance
strategy with one of the zones created above
- Select the department of the items created above
- Select the calendar created above
- Add a markdown
- In order for a worksheet to be generated, at least one item in the
clearance strategy
department needs to meet an existing inclusion candidate
rule.
- In order for an item to have a proposed retail it must meet an
inclusion candidate rule
Competitive:
- Create a Competitive
strategy with one of the zones created above
- Select the department of the items created above
- Select the calendar created above
- Select a primary competitor and store
In
order for the item to have a proposed retail it must have a competitor retail
in RMS for the primary competitor and the item retail cannot equal the
competitor retail or fall inside the acceptable range
Margin:
- Create a Maintain
Margin strategy with one of the zones created above
- Select the department of the items created above
- Select the calendar created above
- Add a margin record
In
order for an item to have a proposed retail it must fall outside the acceptable
range if one exists, otherwise it must not be equal to the margin target
7.
Run Merchandise Extract:
-Run Merchandise Extract and worksheets should
be generated
8.
Set up Worksheet and Data Permissions:
-If worksheets are in the database but not
visible in RPM, data permissions need to be set up. To see whether you have the
worksheet data populated for a department you can execute the query below:
Select * from rpm_worksheet_status
where dept=''
-Set
up Department Permissions in RSM
9.
Reasons why a worksheet may not generated or
items do not make it into the worksheet:
- If no future cost records exist for
the strategy merchandise hierarchy, then no worksheet will be generated.
- If no future retail records for the strategy merchandise hierarchy, then no
worksheet will be generated.
- If all items in a strategy merchandise hierarchy meet an exclusion candidate
rule, then no worksheet
will be generated.
- If no items in the clearance strategy merchandise hierarchy meet an inclusion
candidate rule, then no
worksheet will be generated.
- If items in the strategy merchandise hierarchy do not exist at any of the
locations in the strategy zone
group/zone, then no worksheet will be generated.
- If an item’s Market Basket Code is not consistent across locations in a zone,
it will be excluded from
the worksheet.
- If an item’s Link Code is not consistent across locations in a zone, it will
be excluded from the worksheet
- If an item does not have the same selling UOM in all locations in the zone,
it will be excluded from the worksheet.
- If all Item/Locations that are part of a link are not included in the
strategy merchandise hierarchy and
zone group/zone, the item will be excluded from the worksheet.
- If an item is excluded in an Area Differential, it will not be included in
the worksheet
- If linked item/locations have varying UOM’s, they will be excluded from the
worksheet
- If the RPM_FURURE_RETAIL.SELLING_RETAIL and RPM_FUTURE_COST.PRICING_COST or
RPM_FUTURE_COST.BASE_COST fields are 0.
- If there is a row in the rpm_strategy table that does not have a
corresponding row in one of the strategy tables (rpm_strategy_margin,
rpm_strategy_competitive or rpm_strategy_clearance).
Threshold promotions can be defined as a compound or
exclusive promotion. Definition states that a compound promotion can be applied
with other promotions. However an item can not have overlapped promotions.
Explain how compound promotions can be applied with other promotions with an
example.
It is
correct that threshold promotions can be defined as exclusive or compound. The
Compound promotion can be applied with other promotions when the promotion
number is same i.e for a single promotion a compound promotion can exist along
with exclusive promotion. It is also correct that there can be only 1 promotion
for an item/location during a certain period. But the above case where the
compound promotion exists on an exclusive promotion doesn't mean that there are
2 promotion numbers. The promotion number is the same for both. An item can
exist on more than one threshold within the same promotion (if the thresholds
are compound) but a promotion will always be in conflict if another promotion
exists in approved status with the same item/location combination. The system
doesn't allow multiple promotions to exist for the same item/location/date. But
an item on a threshold promotion can be on multiple thresholds. If a threshold
is created within a promotion and the Compound Apply Type is selected then
items assigned to this threshold in this promotion can also be assigned to
other thresholds in the same promotion (the Apply Type for the other thresholds
would also have to be compound). Selecting compound does not dictate how the
discounts will be calculated when multiple thresholds exists it simply
indicates that the item (for a given location within this promotion) can exist
on more than one threshold.
An
example might help to illustrate:
Item A
is on a threshold promotion at location 123 on a specific date:
Item
is added to two thresholds on a promotion which are both marked as compound:
Threshold #1
Level
2-3 units 10% off
Level
4-5 units 15% off
Level
6+ units 20% off
Threshold #2
Level
3-4 units $5 off
Level
5+ units $10 off
The
system would allow the item to be added to both threshold if both were marked
as compound and the download would send both thresholds to the Point of Sale
(POS) system. It would be up to the POS system to determine how to apply both
of these threshold for the sale of an item. If a customer purchased say 4
units, the POS would need to determine whether it would apply the 15% off
first, or the $5 off first in determining the ultimate retail for the 4 units.
Is the sales value in the
sales upload (POSU) file including the discount value or the full selling
value?
Sales Value includes
the discount. An example might help to illustrate:
Buy item x = $10.00 and item y= $10.00 and get item z for free whose Regular
Selling Price = $5.00.
In the POSU file, sale of item z will reflect as sale value= $0.00 and discount
= $5.00
What
values should be expected in sales value and discount value fields for a mix n
match promotion on the sales upload file?
For a mix n
match promotion total discount is applied to the get item. Get items should
have zero sales value and the buy item should reflect the full selling
price.
Why
is Retail Price Management (RPM) not allowing you to choose a location type
as warehouse in the zone structure screen?
There is a
system option in RPM, "RECOGNIZE_WH_AS_LOCATIONS", that needs to be
set to 1 in order that warehouses can be displayed in the drop down list. Also,
the zone group selected must not be a promotion zone group.
Make sure of
the following points to allow this scenario:
1.
RPM_SYSTEM_OPTIONS.RECOGNIZE_WH_AS_LOCATIONS
is set to 1.
2.
Zone
group selected is not a promotion zone group.
When the customer assigns the primary price zone group to a
newly created department in Retail Price Management (RPM) there is an option of
defining the initial price markup % and type, this is not reflected in Retail
Merchandising System (RMS). Why is this?
When creating a new department
in RMS, provide the markup % in RMS, which is then inherited
throughout the merchandise hierarchy. It is then possible to associate or not
associate the merchandise hierarchy with a Prize Zone Group now.
While creating an item inside the new department, then add suppliers to
the item but clicking on the "retail by zone" throws up a pop-up
message to set the primary zone group in RPM.
In the RPM, go to zone structure, then primary zone group. You now have to
associate the newly created department with a Primary Zone Group. And
here, set the markup % in RPM for either retail or cost..
If the markup % is set in RPM and RMS, RPM wins. There is logic in RMS
that requires a primary zone group to exist to populate the retail by zone
screen which uses the markup % from RPM.
So, the markup % that is set in RPM does not get updated in RMS, but is
certainly used to calculate
the initial retail price and it overrides the markup % set, if any in RMS.
To check the markup % set in RPM in back end, then query on the table
'rpm_merch_detail_def'.
What is
the use of the ITEM_LOC.RPM_IND field and how is it handled by RMS ?
The ITEM_LOC.RPM_IND
field is used by the RPM System to indicate whether the item/location
combination has been processed by RPM or not. When RMS creates a new
item/location combination, the system will insert the ITEM_LOC.RPM_IND
with a value of 'N' which means that RPM has not yet processed this record.
Once the
Merchandise Extract batch program from the RPM Application is run, the
batch will pick up this record and create the Worksheet in the RPM System. Once
the Worksheet is created, the RPM System will then update the ITEM_LOC.RPM_IND
to Y. The value of this column will never be updated again once it has
been processed by RPM.
The value of ITEM_LOC.RPM_IND
does not mean whether the new item location record has been
sent to RPM or not, rather it is used to indicate whether the new
item/location record has been
processed by RPM or not.
What is the purpose of NewItemLocationBatch and why was it
added?
The NewItemLocationBatch was
added to replace the Retail Integration Bus (RIB) subscription mechanism to
improve performance . Clients who have performance issues with the API can use
the newitemloc batch. If a client's performance testing has not shown any
issues with performance on this API, they can continue to use the RIB API.
There is a new trigger on ITEM_LOC called RMS_TABLE_RPM_ITL_AIR that inserts
new item/locations into RPM_STAGE_ITEM_LOC and the newItemLoc reads that table
and inserts in RPM_FUTURE_RETAIL.
What parameters can/should be used when running
NewItemLocBatch?
User executes
batch application with shell script at Unix command line.
User provides username, password, staged status N (default) or E and
(errorChunkSize) at the command line.
Possible valid statements are:
. newItemLocationBatch.sh batchUser superSecretPassword
. newItemLocationBatch.sh batchUser superSecretPassword N
. newItemLocationBatch.sh batchUser superSecretPassword E
. newItemLocationBatch.sh batchUser superSecretPassword E 50
Under what conditions will exclusions be created for
promotions?
When the new
item/loc try to inherit a future promotion and the new item/loc goes to
negative retail then NIL will pull out an exclusion
Under what conditions will exclusions not be created?
When the new
item/loc try to inherit a future promotion and the new item/loc goes to
positive retail, no exclusion should be created.
What are the exact process steps taken by the NIL batch and
when are the errors written in the RPM_STAGE_ITEM_LOC table?
1. User executes batch
application with shell script at Unix command line
2. System authenticates username and password
3. System determines status to process
4. System reads batch control table for chunk size
5. System begins database transaction
6. System deletes rows from staged table (rpm_stage_item_loc), such that there
are no
a. duplicate item-loc combinations
b. item-loc combinations which already
exist on the future retail table
c. non-transaction level items
d. null selling unit retail or
non-sellable items (what determines if an item is sellable?)
e. null unit of measure (UOM) values
f. warehouse locations if the system
options indicate we should not treat them like stores
7. System deletes data from process table (rpm_stage_item_loc_clean) and event
table (rpm_stage_item_loc_event)
8. System loads approved items with a status of “N” (or E depending on command
line) from the staged table into the process table
9. System ends database transaction
10. System spins off threads. Each thread is given a number coinciding with the
chunk numbers in the process table
11. System begins database transaction
12. System using the chunk number creates seed rows in the future retail table.
a. The action date of the seed
record is derived from the system option: Future Retail Seed Days Before. The
action date value is set as vdate MINUS
rpm_system_options.fut_ret_seed_days_before
b. The reason for making the action
date on the seed record configurable is so we can include active promotions
when ranging item-locations. The client must fill this value so as to insure
all seed records precede all active promotions.
If this is not the case a NO_DATA_FOUND exception is thrown by the conflict
check PL/SQL. A NO_DATA_FOUND exception and a status of “E” is written to the
rpm_stage_item_loc table for each item-location combination in the chunk_number
From
which Retail Price Management (RPM) tables does the Price Inquiry screen
retrieve its data?
Price Inquiry Screen retrieves
its data from 2 tables:
1. RPM_FUTURE_RETAIL: searches for future retail records of item/locations
that satisfy the criteria
entered (please note that the date is also a criterion)
2. RPM_ZONE_FUTURE_RETAIL: If no specific location is entered, the search
results should display
zone level future retail information of the items that satisfy the search
criteria
What
is the purpose of Price Inquiry screen?
Price
Inquiry screen was a new feature added in Retail Price Management (RPM) 11.0.4
release. It's purpose is to view the current price and future price of an item
(on any given date) but not to find the price history of an item over a period
of time.
If the
user wants to know the price of an item over a period of time, please use the
price history screen in the Retail Merchandising System (RMS)
application.
Where do you find the Retrieve Item
Price functionality in Oracle Retail Price Management (RPM)?
The Oracle Retail Price Management (RPM) user guide advises:
"The Price Inquiry
workspace allows you to look up the price of an item for a selected date and
location."
The navigation
to perform this function is:
From Task Pad, select Price Inquiry > Retrieve Item
Price.
Can a price change be achieved with
the following applications in place?
Applications:
RSM, RSL, RIB(conflict checking
queue rpmTaskQueue binding to RPM achieved during RPM install),
RPM (configured with no rib option)
Yes. With the above applications in place, price changes can be
created/maintained.
Do
we need Store Inventory Management (SIM) to be installed for price events to
work?
SIM installation is totally optional
, it's not related to price events
If
you are using Retail Integration Bus (RIB) for price changes, is it mandatory
to have the RIBforRPM application to be installed and configured?
Yes. If you are using RIB you will
need to have RIBforRPM installed and configured
When
PriceEventExecution batch is run, does the price change data go to POS_MODS
table of Oracle Retail Management System (ORMS) to be picked up later
by Oracle Stores Inventory Management (SIM) application to reflect
the new prices in the stores?
When ORMS creates an item, the initial price is sent down
via POS_MODs. After that point, no price data is sent from ORMS. All pricing
events are published from ORPM over the Oracle Retail Integration Bus (ORIB)
and do not touch POS_MODS.
ORIB messages are directly carrying the data to Store systems and hence do not
need to depend on POS_MODS.
Explain
the Asynchronous Process Conflict Checking In Retail Price Management (RPM)?
In asynchronous processing, conflict
checking is done in RPM to ensure that rules are followed in order to avert
potential pricing problems.
Examples
of conflict checks include:
1.
Ensure that a given item/location
will not have more than one (1) retail value assigned for a given date.
2.
Ensure that parameters of Regular
Price Change, Clearance, and/or Promotion are not causing the retail value of
the item/location to go below zero.
Currently, the conflict check
process in RPM is a synchronous process. It can be kicked off by itself or as
part of another action (e.g. approving a price change), but it always blocks
the user while it runs. Asynchronous processing is a mechanism by which applications can run long
running operations in the background. We can enable/disable asynchronous process based on system options.
When conflict checking is done synchronously, the system performs conflict
checks immediately when Conflict Check is clicked from the Price Change,
Promotions, or Clearances workspaces. It also happens when state changes occur
that require conflict check. The system then displays a pop-up dialog showing
the conflicts whenever conflicts are found.
Conflict checking is always done synchronously in the following situations:
Retail Service Layer (RSL) calls
Retail Integration Bus (RIB) calls
batches
auto-generated price changes
When conflict checking is done
asynchronously, the conflict check processing happens in a background task or
when the system is not busy performing other tasks. The user who initiated the
action receives an alert once conflict checking is done.
The Conflict Check Results workspace allows you to review the results of
background conflict checking for worksheets, price changes, promotions, and
clearances. An alert appears in the Conflict column of the worksheet, price
change, promotion, or clearance maintenance pane when conflict checking is
complete. The RPM User Guide shows you how to view the results of background
conflict checking.
Conflict checking for location moves is expected to operate on extremely large
volume of data. It is not acceptable for the user to have to wait for minutes
to hours for processing of their request to complete. Thus, conflict checking
for location moves is always done asynchronously.
Constraints will be performed asynchronously at the same time as the conflict
check. When the user executes an action that kicks off a conflict check, the
user will indicate whether they want constraints checked. If constraints are
checked, they will be handled just like conflict check errors. There is no longer a need to perform constraint checks first.
Asynchronous Processing Flow
1.
The client requests the application
server to perform a process on a business object or set of business objects.
2.
The server’s application service
layer extracts information about the request (type of business object,
identifying ID, and requested action).
3.
When RPM determines that a task is
eligible for asynchronous processing:
1.
A JMS message is published to the
queue that contains specific information about the task.
2.
A record is inserted into the TASK
table. The task-specific information about the task is persisted as a Blob in
the table. This task-specific information is a Java object that when read from
the database is capable of calling an RPM application service to perform
asynchronous processing and generate an alert when the processing is completed.
4.
As soon as a message arrives in the
queue, the container triggers execution of the TaskMDB. TaskMDB is a message
driven bean used to facilitate RPM’s asynchronous processing capability.
Message Driven Beans acts as listeners to specified queues for messages.
5.
The task passes information to the
application service layer.
6.
The application service layer
performs a state transition on the requested business object (e.g., approving a
particular price change) basing on the information passed by the task.
7.
The results of this transition
(e.g., success or failure messages, conflict details) are recorded in the
RPM_CONFLICT_CHECK_RESULT table.
8.
The application service inserts a
record into the ALERT table.
9.
The client periodically polls the
Alerts application service which looks for new alerts in the ALERTS table
What is the goal of Edit Workflow permission related to
RPM?
In
the Edit Workflow Permission we can choose a role and then select the
Application in which
we want to set the permission for the role. Once we select the Application (ex
RPM) the role is
given default permission to all the RPM screens. There are 2 multi grid views
displayed one below another.
Second view reflects the existing permissions. Now, we can modify the
permissions by checking/ un-checking the columns in the first view and also
restrict the access by checking the 'No Access' column for the screen.
What is the goal of Edit data permission related to RPM?
In
this screen we can select a Role and we can assign data permission related to
the application. For example if a Role is having permission to RPM we can
assign permissions to the particular departments and zone group to the role.
How are HIERARCHY_PERMISSIONS and
ROLE_HIERARCHY_PERMISSIONS populated related to the RPM application?
When
we give permission to a particular department/zone group to a role two tables are
updated.
HIERARCHY_PERMISSIONS: This table contains a row for each department/ zone
group. A new record is populated in this table only once per department/ zone
group when the permission is set to any role for the first time. Irrespective
of number of roles there will be only maximum one record in this.
ROLE_HIERARCHY_PERMISSIONS: This is a child table of the above table. There
will be a new record populated in this when permission is assigned for each
role.
What
is the 'rpm.tasksCM' NAMED PERMISSION used for in RPM?
'rpm.tasksCM'
NAMED PERMISSION is the entry for the 'TASK' link in RPM task pad. This named
permission should be link with a user role in ROLE_NAMED_PERMISSION table, so
that the user can view the link and can access the functionality. For each and
every link in RPM taskpad we have an entry in NAMED PERMISSION table which
should be linked with ROLE_NAMED PERMISSION table for the user to access the
link.
RSM
permissions do not appear to apply to some screens in RPM. Why is that?
RSM permissions are
only applied to PRICE EVENTS in RPM. Screens like Price Inquiry and Price Guide
do not follow RSM security
Why
is a newly created store not visible in the location list of values (LOV) for price
changes? You also can not see the newly created zone group in the zone LOV for
price changes.
Since
permissions are necessary for creating transactions but not when doing an
inquiry, it is likely that the user does not have sufficient privileges
to see the location.
Please check data permissions in Retail Security Manager (RSM):
1.
Sign
on to RSM.
2.
Navigate
to role administration, edit data permission.
3.
Click
on the appropriate role, then click edit button.
4.
Click
in the "edit data permissions for role" pane in the
"data element" block, then scroll down and see if the zone is
visible in the location hierarchy.
5.
If
the zone is not visible it will need to be added.
You
should have the application cycled after giving permissions.
Does
Retail Service Layer(RSL) need to be installed separately for price events in
Retail Price Management (RPM) to work?
In the latest 12.0.x patch levels
RSLforRMS is only required by SIM. RPM does not require
RSLforRMS.
RPM contains an implementation of RSL. This one is called RSLforRPM. It is a
part
of RPM and nothing extra needs to be done to set it up.
Retail
Price Management (RPM) And Retail Security Manager (RSM) Security
General
Security
Each user is defined via the LDAP server.
RPM defines security at the role level, so each user can be
associated with one or more roles. (see USER_ROLE table).
Each role can then be granted data permissions and named
permissions.
Security data will be maintained via the RSM application.
Named
Permissions
Named permissions allow granting of
edit, view-only, or no access for each role to each functional area. Named
permissions are defined via NAMED_PERMISSIONS, and are linked to a role via
ROLE_NAMED_PERMISSION. The NAMED_PERMISSION table defines which actions apply
to each permission. In general, create permissions are edit only.
Maintain permissions can often grant
view only permission, or view/edit permission. ROLE_NAMED_PERMISSION defines which
actions apply to the particular role for each permission. If a permission is View and is not
Edit, when that functional area is displayed in the application, all fields,
buttons will be view only. If a permission is edit, the functional area will
allow modifications and saves.
Special Actions (Submit, Approve,
Emergency). Special actions are defined at the task pad entry level
(Promotions), not per each action in the Action pad. Submit and Approve
permission rules are different for each functional area that they apply to. In general, the Emergency permission
allows the user to ignore the today plus price change processing days rule.
Users with emergency permission can generally set these restricted dates to
today or later.
Data
Permissions
Data permissions allow particular
roles to see a restricted set of location hierarchy information (zone groups
and zones) or a restricted set of hierarchy information (departments, classes,
subclasses).
Data permissions are defined via
HIERARCHY_PERMISSION and HIERARCHY_TYPE, and are linked to a role via
ROLE_HIERARCHY_PERMISSION
Retail
Price Management (RPM) And Retail Service Layer (RSL) Calls
For real-time integration purposes,
RPM has two implemented RSL interfaces, one for price inquiry and one for price
event create, modify and delete.
Price inquiry simply looks up Retail (prices) for item, location, date
combinations.
Price event create is a more complex
process where the price events are created (along with their details) and then
approved. Price event modify simply modifies existing price events, and finally
delete removes the price events from RPM.
Event Payload
Definition
PriceChange/Promotion/Clearance PrcChg Create/Modify/Delete
Price Inquiry PrcInqReq
Price Inquiry
Request
Price Inquiry PrcInqDesc
Price Inquiry
Result
Message Headers Detail Structures
Message Header Message
Detail
PrcChg PrcChgDtl
RegPrcChgDesc
RegPrcChgDtl
ClrPrcChgDesc ClrPrcChgDtl
PrmPrcChgDesc PrmPrcChgDtl
RegPrcChgRef RegPrcChgDtlRef
ClrPrcChgRef ClrPrcChgDtlRef
PrmPrcChgRef PrmPrcChgDtlRef
PrcInqReq PrcInqReqDtl
PrcInqDesc PrcInqDtl
How To Add New
Retail Security Manager (RSM) Permissions To New Roles?
For example, set up two separate administrators one to just access
Retail Security Manager (RSM) and the other to just access Retail
Price Management (RPM).
Similar
to JAAS Permissions, permissions in Retail Security Manager (RSM) may contain
associated actions. Permissions in RSM are defined in table NAMED_PERMISSION
with each row (permission) having actions ("Edit", "View",
"Approve", "Submit", "Emergency") that are either
off or on (0 off, 1 on). If the given permission action is off (0) you cannot
assign this permission AND action to a role (you can assign just the
permission).
By
default application, RSM seeds one permission in its database (rsm.*) that uses
a wildcard. Also by default, one permission (rsm.application) is required to
access all content in the RSM user interface. If a client wishes to secure
access to individual parts of the RSM content (User Administration, Role
Administration, Password Map), updates must be made to the RSM content model at
conf/retek/content_model_rsm.xml in the RSM ear. Below you'll see a
section of the default RSM content model...
...and below is an example of
an updated RSM content model...
In
addition, whatever permissions are added in the content model must be manually
added to tables NAMED_PERMISSION and NAMED_PERMISSION_DSC (do not forget to add
the corresponding description or the UI will not be able to display it). In the
updated content model, the user must have access to the following permissions
to execute all the RSM functionality:
rsm.application
rsm.useradministration
rsm.roleadministration
rsm.roleadministration.roleadmin
rsm.roleadministration.workflow
rsm.roleadministration.dataaccess
rsm.passwordmapping
Note: Having access to wildcard permission rsm.* is equivalent to having access
to everything above. Having access to rsm.roleadministration.* is equivalent to
having access to the three role administration permissions.
Why
are RSM config files in "tmp" directory?
When running Retail Security Manager
v 12.0 install.sh script, it places new configuration files in the following
location:
/ssa/retail/rsm/appserverunix/rsm/application/rsm12/tmp/earcontents/afterconfig/conf
While this may appear odd, the
configuration files actually being used by the RSM server do not reside in that
temporary directory.
Here is an example from one of our
test RSM 12 environments:
$ pwd
/u03/rsm12tst/rsmoas1/oc4j/j2ee/home
$ find . -name hibernate.cfg.xml
./applications/rsm12/conf/hibernate.cfg.xml
./rsm-staging/rsm/application/rsm12/template/hibernate.cfg.xml
./rsm-staging/rsm/application/rsm12/tmp/earcontents/beforeconfig/conf/hibernate.cfg.xml
./rsm-staging/rsm/application/rsm12/tmp/earcontents/afterconfig/conf/hibernate.cfg.xml
The file actually in use is
the top one on this list (below the .../j2ee/home/applications path). The
others are all related to the installation process. So the directory including
the path "tmp/earcontents/afterconfig" is not the actual live
directory for those configurations. That is exactly as it appears - a temporary
directory.
Which
TCP/IP ports does RSM12 use to communicate between client and server?
Only the listener port specified in
"jndi_providers.xml."
Why
do we have to bounce RSM when we edit "users_rsm.xml"?
When updating "users_rsm.xml",
this does not impact the actual authentication through RSM until
after RSM server is bounced. Do we have to bounce the RSM server in a
production environment just to maintain users, such as adding users or changing
passwords?
No.
In production, it is presumed that a truly enterprise-level user repository
would be implemented... namely, LDAP. The XML authentication scheme is built
into RSM as a convenience to allow the Administrator and UAT team to setup and
test the integration deployment and make sure everything works acceptably
before increasing the complexity by also integrating with LDAP. The XML
authentication scheme is not intended for production use.
So,
when a new Retail Price Management (RPM) user is successfully added to the LDAP
repository, neither RPM nor RSM server will need to be bounced?
That is correct.
0 comments :
Post a Comment