IBM Sterling Commerce interview question and answer related to OMS implementation. . .
This page lists down the common interview question and answers on OMS
implementation by IBM Sterling Commerce. It has question related to
basic customization and advanced business requirment implementation.
Main objective of this page is to guide you to answer interview
questions and provide detail usnderstanding on IBM Sterling OMS
implementation. Here I documented question and answer from my OMS
implementation experience. Many question asked from the project where
you have worked on. So go-through your project implementation documents
and try to give a thought why those design and implementation decision
were taken. You need to read the api documentation and IBM Knowledge
centre documentation.
Support
Whatsapp No. 7439236696 for any question / suggestion |
Questions and Answers:
201).
Difference between Schedule and Release
transactions?
202).
What is event template and api template how
they differ?
203).
Customer wants to send the invoice to their
account reciveable system. How do you implement that?
204).
After order purge ?
205).
Suppose in callcenter UI you need to show
the last 4 digit of the credit card one group of user in order details
screen and las 6 digit in another group of user. How do you implement
it ?
206).
What does record container activity do ?
207).
Can one seller be associated with two
enterprise ?
Yes. But there will be one Primary enterprise for the seller.
Subsequent Question:
Then whats the difference marking one enterprise as primary enterprise
and other is non primary enterprise.
208).
What are the factors which governs the
implementation of a user exit by a Service or a Java Class ?
209).
Is all screens are customizable in
Callcenter UI? Tell me one screen which is not customizable ?
210).
Is all screens are customizable in
Callcenter UI? Tell me one screen which is not customizable ?
211).
One electronic retailer wants to sell
service plan (3 free service in the first year of purchase on payment
of 10$ extra) with their product(e.g. tv ) ? How would you implement
this requirment.
212).
One retailer sell branded new cycle. They
decided now onwards they will purchase old cycels (within 5 years of
purchase ) and resale them again. How would you implement this
requirment.
213).
What is delivery order. Have you
implemented any delivery order fulfillment. What are the challenges you
faced?.
214).
How to setup transfer relationship and node
transfer schedule between two nodes/stores?
For each pair of node, node transfer relationship (From Relationship Or
To Relationship) can be defined. It can be defined from two places.
- IN Participant modelling. Open the node setup/configuration
details. From there you can define both Form and To relationship
- IN DOM. Go to Node Control under DOM and setup setup/configure
both Form and To relationship
For each node transfer relation ship you
can define a node transfer schedule and transit time.
Subsequent Question:
Can I create a transfer order without having a transfer relationship
defined?
Yes. You can. But you wil not have the flexibility to define the transit
time. transfer schedule(In which day transfer is allowed ) and what is
the cut-off time of the store.
215).
How to implement Cash and Carry order?
You need to consider following points when implementing Cash and Carry
order.
- Delivery Method needs to be "CARRY"
- Order should not have BillToAddress
- While configuring EntryType in Application Manager, please
check the check box "Allow Cash and Carry Line"
- Order Line should have ShipNode and it needs to be released to
the same store
- You should have a UI in Web Store UI to capture the order. SOM
had the order capture UI.
216).
How transit time is calculated when
transfer happens between two stores?
There is two mode to calcultate transit time
- Basic Mode
- Advanced Mode
In configuration you can mention which mode (radio button) you would
like to enabled.
If you enable baisic mode, it use node transfer time schedule and node
notification time to calculate the transit time.
If you enable Advanced Mode option, Carrier and Carrier Service Code
configuration data can be used. Or only Carrier Service configuration
data .
217).
Have you used AdditionalDataProvider for
Store UI? What's the use of it
218).
How to extend a out of the box Store UI
screen? Just mention the steps.
219).
How to create a new screen? Just mention
the steps.
220).
Steps to create a Related Task?.
221).
hi , could you add more details on the
differences between sourcing rule and scheduling rule.?.
Sourcing rule tells us where the inventory is? It means what are the
nodes where inventory available. Scheduing rule does the optimization on
the result(outcome) of the sourcing rule and finally decide the shipnode
for from where the order needs to be fulfilled.
Sourceing rules are configured per fulfillment type. And sourcing rule
can be defined based on :
- Sourcing Classification
- Item attributes
- Ship To Region
Where as On installation, by default one scheding rule become available
with the name "SYSTEM". But we can add more rule scheduing rule based on
our requirment. Scheduing rules are NOT per in fulfillment type.
Mainly in the scheduling rule, we define the shipping constraints (e.g.
All line shipping together from a single node). Whether to optimized on
Date or Number of shipment.
Subsequent Question::
When there are multiple Scheduing rule are configured in the system, how
it's determind which sourcing rule to allpy/use to determine the final
shipnode.
222).
What is SLA indicator in StoreUI.? How to
implement it?.
223).
What are the differences (usd of)
ExpectedShipmentDate and ExpectedDeliveryDate.
224).
when (in which situation) order moved to
backorder satus after schedule. Can you give an practical example?.
225).
when (in which situation) order moved to
backorder satus after Released. Can you give an practical example?.
226).
One customer reported their scheduling
process is taking longer time? What would be your approach to triage
this issue.
227).
What is the use of
OMPProcessRoutingExternallyUE? Can you give an example.
228).
What is the use of
OMPGetExternalCostForOptionsUE? Can you give an example.
229).
If I want to run RTAM fullsync only for US
region, how can I acheive it? What could be the drawback of this
approach (running only for one region)
230).
What are the difference between transaction
and api. Difference between createOrder api and createOrder transaction
231).
One retailer sell digital item (e.g.
camera) with 1 year warranty on camera lens. How would you
implement(fulfill) product and service plan. After 1 year, customer may
extend the warranty upto 2 years paying extra charges.
232).
What is IBA (Item Based Allocation).
IBA is a process that reallocates the uncommitted and committed demands
for items of existing orders to more suitable supplies based on user
configuration and supply and demand changes in the system.
There are two types of item-based allocation:
- FIFO prioritization -It gives orders that are placed first a
higher priority than those placed later.
- User-configured prioritization - It is based on order
attributes, giving the specified orders higher priority than others
When user-configured IBA priorities are not set, or they are set and
completed, Sterling Selling and Fulfillment Foundation defaults to
system-configured IBA priorities.
Example:
Suppose in the node (DC1) there is no onhand inventory for the Item1.
You captured an customer order (say SO1) for 5 quantity of Item1 against
a PO (say PO1) which will reach to DC1 on 20-JUN-20222 and Demand ship
date is 21-JUN-2022 (assume 1 day node processing time) and you have
scheduled the order also.
Same way you capture antoher order (say SO2) for the ITEM1 for 5
quantity against PO2 which will reach DC1 on 25-JUN-2022. And demand
ship date is 26-JUN-2022 and you scheduled the order also.
Now let say SO1 got cancelled on customer request. As PO1 is reaching on
20-JUN-2022, YOU would like to fulfill the SO2 with the PO1 inventory
with shipdate 21-JUN-2022.
If you enable IBA, and if you choose FIFO IBA, you can achieve it.
For IBA, Please refer the following documentsation:
FIFO
-IBA
(https://www.ibm.com/docs/en/order-management-sw/9.4.0?topic=allocation-fifo-iba)
USER
CONFIGURED
IBA(https://www.ibm.com/docs/en/order-management-sw/9.4.0?topic=allocation-user-configured-ibaF)
233).
How to push/publish the inventory pciture
from IV to other applications (e.g. ATG)?
IV is not meant for running push mechanisms in real time to other
down-stream and up-stream systems. It's expected every application will
do a api/service call to IV to get availability pciture of an item
instantly on real time.
But practical implementation challenge is that. Other applications (e.g.
ATG) take time to make changes so that they can directly invoke the IV
api and services.
As an interim solution they ask IV to push the imnventory picture as
currently being happening through RTAM.
IV can pushes the inventory picture to marketplaces which are not ready
to call Sterling Inventory Visibility APIs directly.
When other applications (e.g. ATG) is not ready to invoke IV, we can
push/publish inventory picture to other applications as short term
measure in following ways:
- Data((Inventory Picture)) pushed to IBM Cloud Object Storage
and clients need to download from IBM Cloud Object Storage to process
the data.
- Data(Inventory Picture) are pushed to a client's REST webhook.
For
more details please visit product documentation
(https://www.ibm.com/docs/en/order-management-sw/10.0?topic=isiv-using-sterling-inventory-visibility-as-inventory-management-system-phase-2)
234).
How to purge a custom table?
235).
One retailer wants to ship their high
selling items from DC (DC is first choice), Medium selling items from
Store (here store is first preference) and low selling item from Legacy
Store (one type of store) ? How would you implement it?
Ans: Product support item based sourcing. That means we can define
sourcing rule based on the item attribute.
Here we can use VelocityCode attribute (DB column name VELOCITY_CODE) to
mark the fast , medium and slow mooving item. Or we can have custom
column in Item table to store the velocity of the item.
We can use following VelocityCode
- A - High moving item
- B - Medium moving item
- C - Low moving item
Now we can define soucing rule based on the VelocityCode item attribute
and we can give the DC DG (adding DC into a DG) is the first prority
when VeloityCode='A'. Even if we are using custom attribute, that custom
attribute can be mentioned in the sourcing rule(Custom attribute appears
in the Configurator UI).
236).
One retailer allows transfer from Store to
DC if inventory is not there in the DC (only 1 DC). But to reduce the
cost, if there is multiple transfer on the same date from same store to
DC, they would like to pack multiple items (from same or different
orders) into a single box during. How would you allow to pack multiple
items from different orders into a single box (container) during
packing. It's not like that all the order will be consolidated to
single shipment before it moving to ready for backroom pick?
237).
How to you unpack a shipment/container
after shipment gets confirmed. Example- Carrier pciked up the box from
store for delivery but they could not delivered it. They return back to
shipment (container) to Store. Now store want to send the same shipment
with another carrier with a new tracking number?
238).
One of our customer (who does b2b business)
do not want to payment processing in OMS but would like to show the
payment statuses which are available in forntend aplication in OMS (e.g
atg)
239).
What is Template Organization (
Organization who play the "Template" role)?
A role is a well-defined set of activities that can be performed by an
organization. Each organization is assigned at least one role.
A Template organization defines the point-of-sale rules and
configurations for a store or a group of stores. A Template organization
is not a logical organization.
Product Documentation:
https://www.ibm.com/docs/en/order-management-sw/10.0?topic=organization-organizations-roles-participant-associations
240).
What is IBM Sterling Intelligent Promising?
It is an another offering from IBM in Order Promising and fulfillment
area. It is a stand-alone SaaS solution which provides reliable
inventory promises dynamically based on shopper location and ship nodes.
It is very similar to IV offering. IBM Sterling Intelligent promising
works in conjunction with IV. As a pre-rquisite customer have to use IV
to get enabled for Intellignet Promising. Customer who are not using IV,
they will not be able to intelligent promising SaaS solution.
For more details please refer the production documentation page.
https://www.ibm.com/docs/en/intelligent-promising?topic=overview
241).
What is Driver Date?
In the Details screen of Order Fulfillment process type, There is a item
"Driver Date". Either Requested Ship Date or Requested Delivery Date can
be marked as Driver Date
. Fulfillment process is driven by the Driver Date
Requested Ship Date Select this option if you want the fulfillment
process to be driven by the order document's requested ship date.
Requested Delivery Date Select this option if you want the fulfillment
process to be driven by the order document's requested delivery date.
In the scheduling rule, we can define how much early or how much late we
can allow to schedule an order. Example: - We can mention we will allow
30 days early and 50 days beyond the requested date to allow schduling.
In the Process type defination if we mark "Requested Ship Date" is the
driver date, then schduling engine will calculate 30 days and 50 days
based on Expected Ship Date value.
242).
What is Sterling Fulfillment Optimizer.?
It minimize total cost-to-serve. It optimizes an order, order-line or
order-line quantity for the lowest total cost based on actual cost and
profit drivers.
Utilize inventory at its most profitable price point. Prioritize slow
moving or obsolete store inventory to support e-Commerce demand. Execute
new sourcing decisions in real-time to minimize shipping costs. Leverage
AI capabilities to continuously learn and improve. It optimize
transportation costs and SLA at time of selecting sourcing node.
Optimize delivery dates, Split order automatically to reduce costs
For more details please refer the production documentation page.
https://www.ibm.com/downloads/cas/Y3GO0RZP
243).
What is Commercial Invoice? How to generate
commercial invoice?
244).
What is Hold (e.g. Order Hold)? How it is
used? How it block the transactions
245).
How to find list of events from where a
service is being invoked? Sometimes we have the service name but we do
not know from which transaction events the service is being invoked or
it is being invoked from another service. How to get this information?
We can this find this information by executing query in the database.
1. First figureout whether this service is being invoked from another
service or not?
To do that we can execute following query:
select * from subflow where config xml like '%service name'%';
2. Then figureout whether this service is being invoked from other
transaction events or not?
SELECT * FROM action actn, invoked flows ivf, flow flw where actn.action
key = ivf.action key and ivf.flow key=flw.flow key and flw.flow_name=?
SELECT * FROM from EVENT evnt , EVENT CONDITION evcon, TRANSACTION trn
where evcon.event key=evnt.event key and evnt.transaction
key=trn.transaction key and action key=?
Mainly you need to query use tables to findout the answer:
- Flow
- Sub Flow
- Action
- Event
- Event Condition
- Invoked Flows
- Transaction
246).
What is Order HUB?
If you have used / worked-on in IBM Sterling Commerce, you are aware of
Sterling Admin Console. Sterling admin console is the UI for IBM
Sterling Commerce application. Here we can search and view order and
shipment details.
But major constrint of admin console is it is IE browser specific. Admin
console does not work with other broser like Chrome, Mozila or Edge.
Microsoft gradually will gradually move to Edge from IE. So to remove
the dependency with IE, IBM has stopped admin console from version 10.0
and introduced a new UI (Order HUB) to search and view order and
shipment details. Order HUB is compatible to any modern browser.
Order HUB is very similar to Admin console. Just Order HUB is compatible
to any modern browser.
But main differece is that Configurator (Application Manager) can not be
launched from Order HUB. So how do we launch Application Manager? We
need to use application client jar and launch configurator / application
manger from command line.
247).
can you please explain what is the
Difference between getOrderList and getOrderDetails api?
Thanks for usiung easycodeforall! There are many differences between
getOrderDetails and getOrderList api. But here I am nothing down the
couple of easy differences.
- getOrderList api can provide multiple order information in the
api output.. Its a list of order information Where as getOrderDetails
api alwyas provide the one order information It's a single order
details
- getOrderList api can be invoked by an empty order XML (Input
XML does not contain any attribute. e.g. <Order /> ) where
getOrderDetails api alwyas need OrderHeaderKey or (OrderNo,
DocumentType and EnterpriseCode). Output template structure of
getOrderList and getOrderDetails are different.
- getOrderList api does not support any UE. Where as
getOrderDetails api have/support some UE. Examples are
ConvertCurrencyUE, GetFundsAvailableUE
- getOrderList api does not lock any record or table on
ORDER_HEADER table or any other table in database. It just trigger a
simple select statement(DDL) on the database. Whereas getOrderDetails
API acquires DB lock ( row lock only. No DB table lock.) on
Order_Header table for the order requested. It triggers a SELECT FOR
UPDATE query in the underling database.
- getOrderList api support complex query. getOrderDetails api
does not suppirt complex query.
Subsequent Question:
- In which situation I should us getOrderDetails api and in
which situation I need to use getOrderList api.?
- Does really getOrderList api is faster than getOrderDetails
api?
- What will happen if some one invoke getOrderList api with
empty oder XML (e.g. <Order />)
- Does all list api (e.g. getItemList, getShipmentList) does not
lock record on any DBf table?
Note:
To know answer of the Subsequent questions, you need join our training
courses.
248).
What is Common Code? How it is used?
Common code is kind of lookup code and lookup values.
We use common code to store a set of values for a type (Common code
values and common code type). There is underling table (BASE COMMON CODE
and COMMON CODE) to store the multiple code values for a code type.
Product provided apis (getCommoncodeList) to retrieve code values for a
code type.
Mainly we store multiple code values against a code type
Advantage of using Common Code is :
- We can store multiple values against one code type
- Values are stored in DB. So values can be changed on rumtime.
No deployment is required.
- Common code values are cached on startup of the application by
default. If you want, you can change this behavior.
- There is standard API(e.g. getCommonCodeList) to store and
retrieve the common code values
Subsequent Question:
- What are the disadvantages of Using Common code?
- Can you please tell me in what situation we should not use
common code? Can you give an example
- What are the alternatives of Common Code
249).
What is invokeUE? When and how its used?
invokeUE is an api like other api added in some 9.x version. It is used
to directly invoke any UE just passing an XML.
It is very useful if just want to test an UE. You can use API tester and
test any UE easily. You do not invoke the transaction. Directly invoke
the UE with the use of invokeUE api.
But there are some limitation. All UE can not be invoke(tested) thorough
invokeUE API
- UE needs to accept XMl as input (Some UE accept Struct as
input. e.g. recalculate header taz ue)
- UE needs to return an XML (Some UE return string or other
value. e.g. getOrderNo ue return String. So it can not be
tested/invoked using invokeUE api )
We use common code to store a set of values for a type (Common code
values and common code type). There is underling table (BASE COMMON CODE
and COMMON CODE) to store the multiple code values for a code type.
Support
Whatsapp No. 7439236696 for any question / suggestion |