Code Robo
Virtual Service
Tester / Comparator
Converter
Utility
Java Code Complience
Validator
Formatter
EncoderDecoder

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.
Questions and Answers:
What is DB customization or DB Extension.?
To store some cutom values (spectic to customer need), we can add column in the product table or add new table altogether. There is a speciic way to do database extenstion. We need to follow the product guide line and to the DB extension.
  • Adding column to the product table: To store some custom values we add column to product table.
  • Adding custom table : We can add a independent table in database throung extension.
  • Adding Hang-off table: We can add a database table as a child table of any product table. In this case child table is called hang-off table. Here also all product table does not support hang-off table. Check product documentation before adding it
Note: We can not add column any product table. All the product table do not support extension. We need to check product documentation whether table is extensionable or not (refer Entity Relationship Diagram (ERD) located in the install_dir/xapidocs/ERD directory.).
Now question is when we need to add column in the existing product table? when we should create a new independent table? When we should create a hang-off table.
  • when you need to store few custom values and mapping of your custom values with product entity is 1:1, you should add column to the related existing product product table
    Examples:
  • You need to store a set of values which are not directly related to any of the product entity (e.g. Order, Invoice, Shipment), you should create a independent table.
    Examples:
  • You need to store a set of values which are directly related to your product entity (e.g. Order, Invoice, Shipment), and it hold 1:n relationship with product entity, you should create a Hang-off table.
    Examples:
Advantages Of Hang-off Table: If we add a table as a hang-off table to any product table, Data can be retrieved or inserted thrugh product standard api. Even data can be purged using standard purge agent also.
Steps To Do Database Extension (DB customization):
To do the database customization, we need to make entries in the extension.xml file. In the xml entires there will be element and couple of attributes. Read the production document for details and should know the meaning and use of each atrribute.
High Label Steps are:
  1. Make entry in extension.xml
  2. build entity jar
  3. Do a ear deployment.
Once entity build is done it generates the SQL statements to add column or create table. You need to take those SQL statements, connect to databse and execute on the database.
How do you test there extension is successful or not?
  1. If you are adding column, you can invoke product api and check it. Example: If you added column in item table, you should invoke get Item List api and pass your column xml name in the output template under Extn tag.
  2. If you are adding custom table, you need to create a service in Application Manager and invoke that service from api tester
  3. If you are adding a Hang-Off table, invoke product api with proper tempalte. Example, if you added hang-off table on order header table, use get Order List. or create Order api. There is way to pass the element and column names related to hang-off table in the api template. Its under Extn tab (For details follow product documentation)

What are the mandatory columns in custom table or hang-off table?
  • Primary Key column: Its data type has to be Key(defined in DataType.xml) OR Any numeric data type
  • CREATETS: Its data type has to be TimeStamp(defined in DataType.xml)
  • MODIFYTS: Its data type has to be TimeStamp(defined in DataType.xml)
  • CREATEUSERID: Its data type has to be UserId(defined in DataType.xml)
  • MODIFYUSERID: Its data type has to be UserId(defined in DataType.xml)
Nice to have / should have columns(Optional columns): A custom or hang-off table can have the following column(Optional):
  • CREATEPROGID: Its data type has to be ProgramID(defined in DataType.xml)
  • MODIFYPROGID: Its data type has to be ProgramID(defined in DataType.xml)
  • LOCKID: Its data type has to be Lockid(defined in DataType.xml)
  • MODIFYUSERID: Its data type has to be UserId(defined in DataType.xml)
What is the use of DataType.xml?
DataType.xml is a xml file where all the data type defination are stored. Its a prodcut file and you can view it after installation. Example: In Extions.xml when we add a custom table we made entry for lockid column some thing like:
<Attribute ColumnName="LOCKID" DataType="Lockid" DefaultValue="0" Description="Lock ID"/>
Here the DataType 'Lockid' is defined in DataType.xml. 'LockId' is not a standard Database (e.g. Oracle) data type. When we do entity jar build, the data type 'LockId' is translated actual database data type(Numeric).

One customer want to disable cache for common code values? How would you cache common code values
There is a dbclassCache.properties proerty file where all the DB cache related information is there. There is a property for COMMON CODE tables to enable cache. Just override that value according to your need in customer_overrides.properties. set .enabled=false in customer_overrides.properties to disable cache for common codes

How do you implement subscription order? One customer sell Magazine on yearly subscription and would like to fufill their order using Sterling Commerce What would be your design?
There is a document type Master Order (DocType=0007) and process type "MO_FULFILLMENT(Master Order Fulfillment)" in IBM Sterling commerce. Master Order can be used to fulfill the subscription order.
A master order is a document indicating expected recurring sales of multiple products or same product over a period of time. A master order is typically created for a customer to purchase a series of products for shipping at different time with some interval. For master order we can have seperate financial and fulfillment rule setup similar to sales order (DocType 0001). As Master order has different document type and process type, it is having different set of statuses, transaction and pipelines.

What is draft order? Is confirm Draft Order and create Order same?
Draft order is a Order document with DraftOrderFlag=Y. Draft Order means order is not confirmed. Its in draft staus which can undergo some changes before confirming it. There is a transaction to create draft order (createDraftOrder). It move the order to 1000 status. There is a another trasaction to confirm the draft order (confirmDraftOrder) and move it to created status(1100).
CreateOrder is a seperate transaction to create an order (confirm order). It directly moves to the order to created (status). confirmDartOrder and createOrder are two different transaction and their events are also different. One common thing is they both can move order to created status (1100).

What is purchase order? How to implement it? I mean, what are the key configuration required to implement PO
Purchase order is a chained order. When Organization does not have inventory, they procure it from supplier (vendor) and fulfil the customer order. There two type of procurement. 1.) Drop-Ship - Vendor directly deliver the item to customer address. 2.) Wrap n Lable - Company bring the item to ware house and then ship it to customer address from warehouse. . Or it could be a situation, Company allowes vendor to uses company's platform(website) to sell their item (market place). . Both the cases Purchase Order is created to fulfill the customer order.
Implemting PO fulfillment in IBM Sterling Commerce is not very easy. You can follow the below steps to implent PO.
  • Mark the item procurable in SBC or Application Manager
  • Change the Configuration for ShipNode (e.g.DC) so that it can procure item from other node.
  • Mark vendor organization is a separate Legal Entity .
  • Create Distribution Group and add Vendor DC in this distribution group.
  • Add Distribution Group in sourcing rule for your fulfillment type. You can configure it with default fulfillment type also
Once above seting is done. Adjust inventory in vendor DC so that it will have available quantity to fulfill the order.
Now create an order. Schedule it. Order will move to Awaiting Chain Order Create status. It means sales order is ready to cut the PO.
Invoke createChainOrder api to create the PO. There is a out of the box agent also which does the same thing(cut the PO). A sample participant setup is given blelow to implement PO. Purchase Order Implementation

What is Transfer order (Procurement Transfer Order)? How to implement it? I mean, what are the key configuration required to implement TO
Transfer Order (Procurement Transfer Order or TO in short) is also a chained order. But it is used to transfer item from one node to another node(e.g. StoreA to StoreB). Here both the node belongs to same organization (Both of them share same legal entity).
Example: Store does not have the inventory. It can procure form anoter store or DC to fufill the customer order. You many have the question in your mind, why do we need to transfer, instead ship the item from the node (e.g. DC) where inventory is available.
All the order are not shipto order. There could be pickup order where customer will come to store to collect their item and customer prefered to come to his nearby store only. So we need to transfer the item to customer nearby store to fulfill the customer order. There could be other constraint also which fource us to do the transfer.

Implemting TO fulfillment in IBM Sterling Commerce is not very easy. You can follow the below steps to implement Procurement Transfer Order.
  • Mark the item procurable in SBC or Application Manager
  • Change the Configuration for ShipNode (e.g.DC) so that it can procure item from other node.
  • All the nodes must belong to same legal entity
  • Create Distribution Group and add Stores.
  • Add Distribution Group in sourcing rule for your fulfillment type. You can configure it with default fulfillment type also
    In the sourcing template check the checkbox "Procure when not available"
  • Create Procurement Distribution Group and add DC to it.
  • Create Procurement sourcing Rule
  • Add Procurement Distribution Group in procurement rule for your fulfillment type.
Once above seting is done. Adjust inventory in DC. Make store inventory zero so that it procure it from DC to fulfill the order.
Create a sales order (customer order). Schedule it. Procurement Transfer Order(Transer Order) will be created. Transfer Order Implementation

Have you used complex query? What is it?
Answer: Normally in the api input xml we will be able to pass one value. Like in the getOrderList api, we will be able to pass only one order header key in the imput xml and we will get only details of one order only. But there are situation we want to pass multiple values for a attribute in input xml and want to get details of multile records. Complex Query is a way to pass multiple values for a attribute in the list api and get the details of multiple records.
Also with complex query we can do like search. Like get all the order where order number starts with "1"
Note: All the api does not support complex query. Few api only supports complex query. Some of the complex query supported APIs are getOrderList, getItemList. Check api documentation to findout whehter the api supports multi api or not

Have you used multi api? What is it
Answer: MultiApi is an api in IBM Sterling Commerce. It has specifc input an output format like other apis. It is used to invoke more than one api in one go as a single transaction. If you invoking two api with multi api and one api fails, other api will also rollbacked along with failed api.
What is event? How it is used


What is listener ? How it is used


How to create a custom service? Please provide what are the configuration required and what code needs to be written to implement the service


What is User Exit? How it is used


Difference between user exit and event



What is agent? How taskbased agent works



What is connector


How order status and order line status are derived?


What is abstract transaction?


What are the payment statues an order can have?


What are the payment statues an order can have?

What is hub rule?


Have you developed any condition to be used in hub rule? And faced any challenges

What are difference between line type and fulfillment type

Have you used ConditionVariable1 or ConditionVaribale2 attribute in your project?


What are the use of following order attributes?
  • Entry Type
  • Order Type
  • Order Sourcing Classification
  • Division
  • Purpose



What are the use of ReqCancelDate and AutoCancelDate attribute? attributes?


What are the minimum data we need to pass in createOrder xml to create a order (confirmed order. Not draft order)

What are the order statuses in your order pipeline has?


What are the difference between instruction and notes in a order?


What is order hold? Can you give an example? Can you name a hold sensitive transaction


In order Hold configuration UI, there is a checkbox "Resolve hold on cancel". What is the use of it? Why should we check this check box when creating any new hold type


What are the Hold Statuses? How can you resolve a hold?


What is shpment consolidtaion window? How it is configured?


What is scheduling rule and what is fulfillment rule?

What is monitoring rule and monitoring event? How it's configured?

What are order modification rules? How do I know what are rules applied on my order?

I would like to get list of all my return orders as a out put of getOrderList api. Say my sales order header key value is 20210101897899. what would be the input xml structure and output tempalte structure ?
Answer: You need to pass sales order header key in the place of derrived from order header key and document type value 0003 .
Input XML:
<Order DocumentType="0003">
    <OrderLines>
        <OrderLine DerrivedFromOrderHeaderKey="20210101897899"/>
    </OrderLines>
</Order>
I would like to get list of all transfer orders for my sales orders as a out put of getOrderList api call. Say my sales order header key value is 202101018972299. what would be the input xml structure and output template structure ?
Answer: You need to pass sales order header key in the place of chained from order header key and document type value 0006(transfer order document type) .
Input XML:
<Order DocumentType="0006">
    <OrderLines>
        <OrderLine ChainedFromOrderHeaderKey="20210101897899"/>
    </OrderLines>
</Order>

I would like to get list of all purchased orders for my sales orders as a out put of getOrderList api call. Say my sales order header key value is 20210101127899. what would be the input xml structure and output template structure ?
Answer: You need to pass sales order header key in the place of chained from order header key and document type value 0005(purchase order document type) .
Input XML:
<Order DocumentType="0005">
    <OrderLines>
        <OrderLine ChainedFromOrderHeaderKey="20210101897899"/>
    </OrderLines>
</Order>

What are use if loadInventoryMismatch and syncLoadedInventory inventory. How they work?


What is backordered from node and what is its status? How a backorder from node item is resourced from another node?


What is reship? Sometime customer call the callcenter representative and complain that they haven't received the product. In case of premium customer, company would like to reship the item to customer without charging them. How would you implement reship?


What is RTAM? How do you setup RTAM agent?

What are the difference between alert and integration error in IBM Sterling Commerce?


A sales order not being purged by the purge agent. What could be the reason of not being purged


What are the payment methods and payment types are supported by IBM Sterling Commerce?

What are the uses of recordExternalCharges api. can you give an example

Have you used/implemented any user exit? Can you give on example?

What are the precaution you should take when you are implementing user exit

How do you calculate tax for an order in IBM Sterling Commerce?


What are the difference between get Order Details and getOrderList APi?

How payment processing happens for return order?

Customer wants to charge their customer first on the Gift Card, then Credit Card. How would you implement

What are the configuration required to enable payment processing for an enterprise?

Order audit informations are heavy. Customer wants to store order audit information in some external database (not in OMS database). How would you implement it?


What is DateType? what is the use of it?

What is Milestone? what is the use of it?

By default order numbers are starts with'Y' (e.g. Y00000000129)? One customer (ABC Corp.) wants to generate order number starting with '1' and having digit only (e.g. 170002789 ). How would you implement it?


What smart sourcing?
One grocery retailer they they want to do substitution at the time of picking and packing the shipment.
Example: Let say customer ordered a 2KG pack sugar. But in the store currently there is no 2KG pack. But there are many 1KG pack. In such situation customer wants to replace one 2KG pack sugar with two 1kg pack sugar with same price (not charging extra to customer). What would be your solution to implement this requirement


What regiomn schema?
One US Retailer ship order from both store and DC. But they want to prioratize Store over the DC. Their requirement is If any store within the 300 miles of radious of ShipTo address can ship the entire order, select that store as fulfillment node. Otherwise look into the entire network (including DC) and fulfill the order from nearest node

One retailer wants to fufill their prime customer orders from primary DC (DC1). And if inventory is not their in the DC1, they like to procure from nearby store and fulfill it.


One retailer wants to fufill their prime customer orders from primary DC (DC1). And if inventory is not their in the DC1, they like to procure from nearby store and fulfill it.

Have used unschedule transation? In which situation, this transaction is used?


Have you used release consolidation? How it works


What are the differences between Order Invoice and Shipment Invoice


One customer selling head-set free with mobile. retailer they they want to ship it to customer together (in one shipment). How would you implement this requirement?




What is sourcing rule?

What are the difference Promotions and Awards in Order Management System of IBM Sterling Commerce?


What procurement rule?

One retailer want to sell personalized item or promotional item(e.g. Customer name printed to T-shirt, Logo printed on the item ). How would you implement this reqdF


What are the differences between findInventory and getStoreAvailability API. Rather in which situation you should use getStoreAvailability api and in which situation you should use findInventoyrAPI



What is unassigned inventory?

How do you implement store prioratization for procurement. Suppose there is two store 660 and 689. DC does not have inventory, it wants to procure it from store. Inventory and capacity is there in both 660 and 689 stores. But you want to give priority to store 689 over 660 for procurement. How would you implement this requirement



One US retailer wants to select node based on inventory depth. Node which has maximum availability would like to release the order to that node. How would you implement this requirement.



What are the new feature added in Version 10?
  • Sourcing Audit: Sourcing and Scheduling rules determines the best ship node to source the items to an order. With the help of sourcing audit, we can find the effectiveness of the current sourcing and scheduling configuration setup. Sourcing audit provides us the insight of various aspects of sourcing and scheduling process. It helps us to identify the exact reasons why the ship node was selected as a sourcing location to fulfill the order.
  • GDPR(General Data Protection Regulation compliance): Now it became compliant of GDPR() laws for personal data protection
  • In-built Integration with IV( Inventory Visibility):
  • In-built Integration with IV( Inventory Visibility):
  • In-built BOPIS capability:
  • In-built OMS Chat Bot (Watson Assistant For OMS):
  • Data Driven Modeling (DDM) framework:
  • Agent and Integration Server Dashboard in SMA:
  • Property management UI in SMA:
  • Support for data driven modeling is introduced in Visual Modeler and Configurator.:


What are the new feature added in Version 9.5?


What are the new feature added in Version 9.21?

What is OMOC? What are the differences from normal on premise installation.



What is IBM Sterling Fulfillment Optimizer



What is IV?


What is developer toolkit(DTK)?

What are the differences between getSupplyCorrectionUE and getAvailabilityCorrectionForItemListUE? Rather in which context you will prefer to use getAvailabilityCorrectionForItemListUE over getSupplyCorrectionUE

What are the differences between userExit and event?
Both userExit and Events are customization/plugin point. Customization point means its the place where we can plugged in custom logic(code) to execute as part of transaction.
Both are completely different. And has different purpose of altogether.
UserExit:
Its a hook where we can pluging our custom code to ovverride the product default behavior. This user exits are predefined for transaction and apis. Based on our business requriements, we need to identify the right userExit and implement it to override the default behavior.
Example: You have noticd that if you create a order from webconsole or through api tester(not passing order number in input xml). product generate order number starting with 'Y' (e.g. Y000100000234). But cutomer said they want to generate order number starting wtih 'K' as their organization name starts with K.Now question is how would you fufill this requirement? Product is generating order number starting with 'Y' as they have default logic(product code) implementation to generate order number starting with 'Y' But our customer doesn't want that behavior. So we can override that behavior(order number generation starting with'Y') thorugh UE inplementation. We can implement GetOrderNoUE to override the product default behavior(implementation logic). UE can be used to external service also within the transactional context.
Once you give the above answer, following subsequent question interviewer may ask you above answer.
  • Can I add the logic to generate order number starting with 'K' in beforeCreateOrderUE instead of GetOrderNoUE
  • I want generate order number starting with 'K' for sales order only not for return order. What I need to do for that
  • I want generate order number starting with 'K' only for UK business unit only. Not for US business unit. How to do that?
Event:
Event are raised on certain stage of the transaction. Mainly it is raised to expose/send data(xml message) to other systems(external world). Example - ON_SUCCESS event is raised when order gets created successfylly. we use this event to send update (message) to other systems (e.g. ATG, SAP). Prouct just raise the event and expose the data (event XML). Its up to the implementor how to use this message. Sometimes we put the message to the JMS queue or invoke some other service passing that message. What data will be exposed as part of an event is governed by the event template.
Event call Action. Action call service. We provide custom logic as part of the service implementation. One event can invoke a chain of actions(sequential exectuion). One action can invoke 'n' numeber of service (parallel execution).
To understand how product code invoke our custom java code on runtime ( custom methods), please go-through the Java Reflection API. It will give you confidence
Event does not return any value. Where as user exit always return a value (document).

Can I attach a Listiner in order pipeline to Listen to WorkOrder pipeline ?
What is Base Document, DocumentType and Process Type?

What is Base Document, DocumentType and Process Type?


Business rules are define at Prcocess Type or Document Type level?

Can I change the DocumentType of sales order(0001)?


What is tired order, chained order, derived order?

What do you mean by Chained Order Creation By Proces"?

What are the differences between ExceptionType, ExceptionTypeRole and OrganizationExceptionType? How they are used?


What is inventory synchronization? How it is used


What is inventory Consideration? How it is used


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


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

How inventories are tracked in IBM Sterling Commerce?


How inventories are tracked in IBM Sterling Commerce?


What is ATP rule? How it us used?


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

Have you used splitLine api? Any challenges faced on implementation


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

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.

How to add custom backorder reasons.

What are the differences between Instructions and Notes.

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


What is Fulfillment Rule?.


What is chain order consolidation template? How to enable it?

br>
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.

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
We provide free consultation on Sterling Commerce OMS implementation. Please email us at easycodeforall@gmail.com if you have any such requirment.


User Comments:
anonymous:
Can you please add the difference between userexit and event? Please share some example also.
    Reply;
easycodeforall:
We have added the differences of user exit and events. Please go-through it.
    Reply

Naveen Gupata:
Can you please add how to configure monitoring rule and how it works?
    Reply;
easycodeforall:
Added a section on Order Monitoring and its implementation. Hope you got your answer. You may post more questions. We will try to answer.
    Reply

vijay kumar:
Please share the how custom agent works,and some sample code .
    Reply;
easycodeforall:
Added implementation details for both taskbased and non-taskbased agent.Hope it will help you. You may post more questions. We will try to answer.
    Reply

anonymous:
At what stage we should create invoice for drop-ship order. And what kind of invoice( create orderInvoice or Shipment invoice) we should create?
    Reply;

Praveen Lanka:
What are the difference between drop-ship Purchase Order and Procurement Purchase Order. How they are implemented?
    Reply;

Rahul Ghosh:
Hi, Another excellent contribution from you. It will help a lot of people. Thank you. best regards, Rahul Ghosh
    Reply;
Susanta:
Thank you so much Rahul!
    Reply

anonymous:
In our project we are doing POC to implement Procurment Purchase Order. But after scheduling sales order line status is moving to 1600("Awaiting Chain Order Creation" ) status not to 2030 ("Awaiting Procurement Purchase Order Creation"). I want to move our sales order status to move to 2030 ("Awaiting Procurement Purchase Order Creation"). Can you please help me?
    Reply;

vijay kumar:
if we return the order ,payment method should be default method ,but need to revert money in Gift Card, what is process and customization
    Reply;


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