Code Robo
Formatter
Comparator
Tester
Converter
Utility
Java Code Complience
Validator
EncoderDecoder
Virtual Service
IBM Sterling Commerce Interview Question And Answer
       Talk to EasyAssistant

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


Previous Page Next Page  
 

Questions and Answers:

101). What is inventory synchronization? How it is used


102). What is inventory Consideration? How it is used


103). What is inventory Adjustment? In how many ways you can do inventory adjustment


104). What are apis are there to check the availability of an item?

105). How inventories are tracked in IBM Sterling Commerce?


106). How inventories are tracked in IBM Sterling Commerce?


107). What is ATP rule? How it us used?


108). How to modify the fulfillment type an orderline? what are the challenges you faced in modifying fulfillment type of an order line

109). Have you used splitLine api? Any challenges faced on implementation


110). What is backordered from node. How it is different from normal backorder.

111). What is order modification rule? how they are used? How to know what are modification rule applicable for an order. How it is different from normal backorder.

112). How to add custom backorder reasons.

113). What are the differences between Instructions and Notes.

114). Have you implemented pre-order? do we need to have seperate scheduling rule for pre-order?.


115). What is Fulfillment Rule?.


116). What is chain order consolidation template? How to enable it?

br>
117). How to create a custom agent. Please share the how custom agent works,and some sample code .
Agent: Agent is a backend java process which does batch processing. It pull a chunk of records (bydefault chunk/batch size is five thousand). There are couple of out of the box proudct agent. Such as schedule order agent, release order agent, purge agent, close order agent, shipment monitor agent. Implement of this agent is there in the product code. But for your customer business requirement, you can create custome agent.
To create a custom agenet you need to do two thing.
  • Write a java class. I will explain below how write a java class for an agent
  • Once java class is ready, configure a new transaction in application manager(configurator). Agents are time-triggered transaction. So while configuring mark it as a time-trigger transaction and point to your java class. Add criteria and criteria parameters. One agent server can run with multiple criteria.
  • Running an agent is two steps process:
    • Start the agent server. there is a product sh file to start the agent server. Pass your agent server name in the argument
    • Triggering the agent. Once agent server is up, you can trigger the agent for a criteriaID just invoking another script. triggerAgent Criteria_ID. Or you can mark the agent to trigger after every certain interval (say 15 min)
Agents are two types- Task based and Non-task based. You can write custome agent which can be task based or non task based depending customer needs
  • Task based agent - It extends TaskBasedAgent java class
  • Non Task based agent - It extends BaseAgent java class
Agent will have two methods. getJobs() and executeJobs().
Task Based Agent: It works on TaskQ table. it means it pull records from TaskQ table of database based on the transaction id, available date and prepare jobs in getJobs mehtod. Execute jobs method just process all jobs one by one prepared by getJobs method. As taskbaed agent works on the TaskQ table, we DO NOT need to provide the implementation for getJobs method(Do not need to write code for getJobs method). Task based agent extends TaskBasedAgent class of product library. GetJobs method implementation has been provided by the product.
Non-Task Based Agent: It extends BaseAgent class. we need to provide implementaion for both the getJobs and executeJobs mehtods. In the getJObs mehod we need to write the code to prepare the jobs (One job is nothing but a small XML message which is passed to executeJob mehtod).
In excuteJobs mehtod implementation, it's our custom logic how we want to perform the job/task. Job(XML message) prepared in getJobs method are passed to executeJobs method. In exefute Job mehtod normally we do some api call to update some records
Key Points:
  • For task baed agent need to extends TaskBasedAgent java calss and proivde the implementation of executeJob() method only.
  • For non-task baed agent need to extends BasedAgent java calss and proivde the implementation of both getJobs() and executeJob() method .
  • getJobs() method invoked multiple times unless it return null or empty message. Its NOT one time
  • When you are implementing getJobs() method, think of how same agent can be run with multiple box simultaniuously with out interfaering each other.
  • You have noticed certain product agent(e.g. schedule order agents) runs from two or more boxes in production in the same time. How they manage cuncurrency.
  • Agents are efficient thnn integration servers as they process record bach wise. In one read they pull 5000 records. So reading time per record is very less for agents
  • For the task based agent, its previous transaction in the pipeline insert the record in the TaskQ table.
Subsequent Question:
  • What is the role of queue in Sterling agent framework? Why do we need a physical queue just to create an agent though agent does batch processing based on some underlying database table records?.
  • Difference between starting an agent and triggering an agent. In case of Integration server, we just need to start the process(Integration server).
  • At what point (end of getJObs or end of executeTask) records get deleted from TASK Q table .
  • At what point (end of getJObs or end of executeTask) records get deleted from TASK Q table .
  • You have noticed if we stop the agent in middle of processing and start it again, there is no record (job/task) loss. How it is achieved?.
  • You have creating an agent how do you make sure that same record is not getting processed again and again.
  • Suppose you are running an agent from two linux boxes. Can the getJobs methods run concurrently from two JVMs? If not how its handled

Note: To know the answers of the Subsequent questions, you may join our training courses.

118). Can you please add how to configure monitoring rule and how it works?

Monitoring: Lest take an example. Customer has given us following requirement.
  1. If any order line(item) goes to backordered (item not available in any store or DC) and if it remains in backordered status for 24 hrs, company wants to send an email to their customer
  2. Company wants to inform customer that item is reaching soon wnen order line moved to shipped status
  3. If order does not moved to shipped status within the requested ship date, company would would like to send an regret SMS to their customer .
Now question is how would we fulfill this customer requirement.?
To implement above requirments, we can use Enhanced Order Monitor (earlier it was know as Order Monitor) agent. Enhance order monitor is an out of the box agent.
How order montior works ane how to use it?
  • Agent: Enhance order monitor is an OOB agent. If its not enabled in your environment, need to enabled it. Enabling an this agent process is same as like other agents
  • Monitoring Rule:Enhance order monitor works based on monitoring rule. Monitoring rules are defined per pipeline. To implement above requirement, monitoring rule needs to be defined on sales order pipeline. To add monitoring rule to a pipeline, open the pipeline in application manager. select the pipeline in the left panel and right click on it. You will get option.
    There are 4-5 types of monitoring rule. For requirement 1. you should select the monitoring rule type "Order Line In a Status". Monitoring rule can be defined with conditions also. You need to open the configuration and check what are the types of monitoring rule are available in OMS
  • Monitoring Event: To define a monitoring rule you need to have an Monitoring Event. This event will be raised by the agent if rule satisfies for any order. To add a monitoring event, you need to go to DOM > Sales Order Document > Monitoring Event
  • Service: To define a monitoring event you need to have an Service. You need to define the service (SDF service) in the sales order process type. When event will be raised by the monitoring agent, this service will be invoked. Inside the service we can write any custom logic. Or we can have just have a email component inside the service to send email to customer. This event will be raised by the agent if rule satisfies for any order. To add a monitoring event, you need to go to DOM > Sales Order Document > Monitoring Event
Key Points / Subsequent Questions:
  • One order has 5 lines(Customer ordered 5 items). Two lines went to backorder status and remained on backorder for 24 hrs. In this case will the monitoring agent will send two email or one email?
  • When we will be sending the email to customer, we need to send the status of all the items of the order in the email. Not just the status of two items which are on backorder now?
  • When we will be sending the email to customer, we need to send the status of all the items of the order in the email. Not just the status of two items which are on backorder now. How you achieve that?
  • When we will be sending the email to customer, we need to send the status of all the items of the order in the email. Not just the status of two items which are on backorder now. How you achieve that?
  • After 24 hours if order remains on backorde company wants to send email to their customer in every next 7 hrs ? How would you implement this requirment
Note: You need to practice montoring rule implementation in your environment. Just reading it you will not be able remember it and explain the interviewer.
Above examples are given for order monitoring. Similar way we can monitor Shipment and Inventory. There are out of the box Shipment monitor and Reat Time inventory monitor, Exception Monitor, WorkOrder Monitor agent.

In Monitoring Context there are two more important topic for study. They are given below. Its difficult to explain everything here:
  • Date Type Id
  • Milestone

119). What is LOS(Level Of Service)? SCAC and Carrier Service Code? What is their important for order fulfillment?

SCAC : Is the carrier which can be used to transport the item to customer address. It's typical values are FedEX, UPS. You can pass SCAC attribute in the created order XML

Carrier Service Code: Each Carrier (SCAC. e.g FexEx) provide multiple services. Example. UPS may provide 3 type of service - Air-NextDay, Taxi-SameDay, Ground-Standard. There will be carrierService code for each service provided by the carrier. And for each carrier serivce code, you can define/configure(in Logistic Management > CrossAppication > CarrierService) Minimum Trasit Day, how many miles(distance) it can travel/cover in sigle day.
Based on this configuration, promise date (ExpectedDeliveryDate) is calculated if CarrierServiceCode is passed in the input of the Promising APIs (e.g. getStoreAvailability). Rather when ExpectedDelivery date is calculated, this parameter are consider.

LOS (Level Of Service)(DOM > CrossAppication > LevelOfService): Example -Indicates the level of service required for the order. Its a order header level attribute. You can configure level of service for your order and for your level of service(LOS) you can define node transfer schedule, Transit Time and give the node notification time. Those parameters will be consider if there is a tranfer (e.g. store to store transfer) requried to fulfill the order and in promise date calculation those values will be used.
Suppose you need to implement same day delivery. To support same day delivery you may define a level of service as "SAMEDAY"

120). What is Landed cost and how its used to for determining procurement node?


121). What is node transfer schedule and how you define it?


122). How do you setup cut-off time for a node transfer schedule?


123). In how many ways you can setup node transfer relationship?


124). What is idle asset and how its used to determine procurement node?

125). One US retailer ship their product from their only one warehouse located at BOSTON. They have near about 1000 stores all over US. They do not ship item from store. They only ship item from their Boston Warehouse. But when warehouse does not have inventory company wants to procure the item from nearest store to warehouse and then ship it to customer home address from warehouse? How would you configure procurement rule so that it alwyas procure from nearest store.

126). One What are the differences between Schedule and Release Transactions? Can we have Schedule & Release together?

127). How payment process happens or how customer get refund when customer returns few items?

128). One Difference between agent and integration server?

129). One What is difference between GetOrderDetails vs GetOrderList API ?

130). What is RTAM ? Have you used it?

131). Have you used payment processing?

132). Have you used payment processing?

133). What is exchange order? what is even exchange and non-even exchange?

134). What is item with variation? Have you used such items.?

135). How to add custom/external(3rd party) jar into configuration related files ?

136). How to create and test dynamic condition ?

137). What is abstract Transaction ?

138). How to create A custom transactions in OMS ?

139). How to create custom status ? Can it be added to pick uo and drop status of any transaction

140). What is Hub rule and how to use it?

141). Have you faced any challenge in using condition in Hub rule?

142). What is Item Based Allocation (IBA) ?

143). What is Smart Sourcing? Have you used it

144). What is Purging? One customer reported their most of the aged orders are not getting purged. What could be the reason for order not being purged

145). What is Landed Cost? Have you used it

146). How to search order from history table?

147). What is reprocessing? How does it configured and works ?

148). What are the differneces Delivery services, Provided services and Special services ?

149). How to override any property value or add custom property?

150). What is composite service? When Composite Service should be used ? What is the advantage of using Composite Service ?




Support Whatsapp No. 7439236696 for any question / suggestion


Previous Page Next Page  
 


Post Your Comment:
Name :
Email ( Optional) :
Comments / Suggestion (* Required) It is required: :
: