Service Contracts From OM

Embed Size (px)

Citation preview

  • 8/2/2019 Service Contracts From OM

    1/21

    R12: Service Contract from Order Management Part IIn an earlier article I discussed how to create a warranty contract from Order Management. In this article I

    am discussing how to sell service and how to create service contracts from order management.Presentation ishere. This presentation lasts for about 7 mins.

    http://www.oraclebusinessapps.com/2008/07/25/r12-service-contract-from-order-management-part-i/http://www.oraclebusinessapps.com/2008/07/25/r12-service-contract-from-order-management-part-i/http://www.oraclebusinessapps.com/2008/07/25/r12-service-contract-from-order-management-part-i/http://www.oraclebusinessapps.com/2008/07/25/r12-service-contract-from-order-management-part-i/http://createwindow%28%27/videos/omtooks/start.html','window2','width=1000,height=600,top=200,left=140,status,scrollbars')http://createwindow%28%27/videos/omtooks/start.html','window2','width=1000,height=600,top=200,left=140,status,scrollbars')http://createwindow%28%27/videos/omtooks/start.html','window2','width=1000,height=600,top=200,left=140,status,scrollbars')http://createwindow%28%27/videos/omtooks/start.html','window2','width=1000,height=600,top=200,left=140,status,scrollbars')http://www.oraclebusinessapps.com/2008/07/25/r12-service-contract-from-order-management-part-i/http://www.oraclebusinessapps.com/2008/07/25/r12-service-contract-from-order-management-part-i/
  • 8/2/2019 Service Contracts From OM

    2/21

  • 8/2/2019 Service Contracts From OM

    3/21

  • 8/2/2019 Service Contracts From OM

    4/21

  • 8/2/2019 Service Contracts From OM

    5/21

  • 8/2/2019 Service Contracts From OM

    6/21

  • 8/2/2019 Service Contracts From OM

    7/21

  • 8/2/2019 Service Contracts From OM

    8/21

  • 8/2/2019 Service Contracts From OM

    9/21

  • 8/2/2019 Service Contracts From OM

    10/21

  • 8/2/2019 Service Contracts From OM

    11/21

  • 8/2/2019 Service Contracts From OM

    12/21

  • 8/2/2019 Service Contracts From OM

    13/21

  • 8/2/2019 Service Contracts From OM

    14/21

  • 8/2/2019 Service Contracts From OM

    15/21

  • 8/2/2019 Service Contracts From OM

    16/21

  • 8/2/2019 Service Contracts From OM

    17/21

    R12: Service Contract from OM Part IIThis is the third one in the series of articles that I have been discussing on this topic. First we created

    Warranty Contract from Order Management, next was on creating a Service Contract from OM. In this

    article, I will just walk you through technical details of the process of creating service contracts from order

    management (not warranties).

    Proir to R12, ASO_ORDER_FEEDBACK_T (you can find an article here in this blog on the same) queue

    table was used to communicate order line information to CRM applications. Starting R12 the architecture

    is changed (from service contract creation perspective). Obviously ASO queue approach had issues.

    Once the order is booked, order lines were queued to be processed later by the respective subscribers.

    But once the queue is dequeued, and if there are any issues, the queue was lost and contract was never

    created. Sometimes IB was not updated as the customer product thought the order line is shipped or

    fulfilled and was stuck in the IB interface errors table due to some issues. Hence this IB is not visible for

    the program to create as covered product.

    http://www.oraclebusinessapps.com/2008/07/25/r12-service-contract-from-order-management-part-ii/http://www.oraclebusinessapps.com/2008/07/25/r12-service-contract-from-order-management-part-ii/http://www.oraclebusinessapps.com/2008/07/25/r12-service-contract-from-order-management-part-ii/http://www.oraclebusinessapps.com/?p=6http://www.oraclebusinessapps.com/?p=6http://www.oraclebusinessapps.com/?p=6http://www.oraclebusinessapps.com/?p=6http://www.oraclebusinessapps.com/2008/07/25/r12-service-contract-from-order-management-part-ii/
  • 8/2/2019 Service Contracts From OM

    18/21

    In R12 this queue is not used any more. Though the queue is still built when the order is booked, the

    queue is not used anymore for this process. But if you are using this process in 11i, all the existing queue

    details will be migrated to the new architecture when the upgrade happens from old to new architecture.

    Goinginto the details, a new table is introduced to capture the eligible lines for service contract creation

    program:oks_reprocessing. When the order is shipped and fulfilled or just fulfilled, a record is created in

    this table for further processing. The record is created by fulfillement logic of the order management. So

    without fulfillment node in the order line workflow service contract cannot be created. From code

    perspective, oe_fulfill_wf.start_fulfillement called in the order line workflow will

    calloe_line_fullfill.process_fulfillement. This in turn calls oe_line_fulfill.fulfill_line. This is exactly where the

    row gets inserted intooks_reprocessing. Fulfilling process

    calls oks_omint_pub.interface_service_order_lines which inserts row into this table.

    The row is inserted for all the service items in the order line. These lines are identified by the

    item_category_code in order lines which is stored as SERVICE. From implementation perspective,

    fulfillment is a must in the order line workflow.

  • 8/2/2019 Service Contracts From OM

    19/21

    Once the row is available, we run the program Service Contracts Order Processing in Service contracts to

    create service contract. The code behind this program oks_ocint_pub.order_reprocess. This uses this

    table as the base and creates contract if everything is good. If the contract cannot be created for some

    reason, the record is left in this table for processing at a later point of time. A new screeen is provided to

    see the errored records for selecting and processing.

    R12: Service Contract From OM

    Part III

    Problem: How to bill a service contract that is created from Order Management?

    OK, you have seen how to create a service contract from order management and some technical details

    so far. What we have done so far is, understanding the standard functionality. Knowing this basic

    functionality is the key to understanding what we are going to discuss in this article.

    When a service contract is created from order management service line is always billed from order

    management. Let us take an example. Assume that you are on a shopping binge this weekend. On the

    list say you have 65 TV, one Black Berry and internet connection at home.

    When you walk into a store to buy a TV, you might end up buying a service contract apart from warranty

    that comes along with the product. We all do this to protect ourselves from the risks that we might

    encounter with the product. When we buy the service contract, we get billed for the service right there.

    We pay for it and get out with the TV. To enter the same transaction in the system, this is what we do: we

    enter the TV item in the first line and enter the service line in the next line and assign service referenceinformation in the service tab of order lines. Once we fulfill the transaction this line goes to the receivables

    interface (ra_interface_lines_all) for it to be imported into the AR. The companies can recognize the

    revenue over the period of service contract by using the revenue contingencies or accounting rules. Good

    for the retailer in this industry that the out of the box functionality works here.

    http://www.oraclebusinessapps.com/2008/07/26/r12-service-contract-from-order-management-part-iii/http://www.oraclebusinessapps.com/2008/07/26/r12-service-contract-from-order-management-part-iii/http://www.oraclebusinessapps.com/2008/07/26/r12-service-contract-from-order-management-part-iii/http://www.oraclebusinessapps.com/2008/07/26/r12-service-contract-from-order-management-part-iii/
  • 8/2/2019 Service Contracts From OM

    20/21

    Say you next move on to buy a cell phone. As the deal says, you get the instrument for about $100 and

    there is a two year service contract. There is a base charge for about $50 per month and if you exceed

    the minimum number minutes usage you will be charged 10 cents for each minute of usage. I will

    discuss the usage at a later point of time. Let us talk about the base charge. The agreement is that the

    base charge invoice for $50 should be generated and sent to you every month. This is where the problem

    starts. Unlike service agreement for TV retailer cannot charge one time invoice for entire service contract

    amount in this case. A $50 dollar invoice needs to be generated every month. So we cannot create a

    service contract from order management in this case as this is expected to bill from Order Management

    and have to create this manually in Service Contracts or you have to extend either workflow in OM or by

    other means to create service contract.

    This disjointed process hurts productivity. Think about it, we create an order for the sale and service

    contract has to be authored manually in order to bill from the service contract for 2 years (we call this as

    bill schedule).

    What can be done?

    With the change in the way the service contracts are created from OM starting R12, there is a flexibility to

    automate this process. Please see the part II of this series to understand the technical details behind this

    process.

    The code behind the program (package oks_ocint_pub) has some extendable custom package. The goodthing about this package (OKS_OMIB_INT_EXTNS_PUB) is that if the contract is successfully created, it

    gets contract ID, topline_id and subline_id as parameters to this procedure post_integration. That is it. If

    you understand the service contract modules data model you can manipulate the contract to make it

    eligible for billing again. So, when you are creating a service line in the order, you do not invoice it there,

    but you will only fulfill that line so that the contract can be billed from here.

    What exactly happens behind the scenes to

    prevent the contract from billing into AR? Contract is created

    Line is created with a covered line that has item instance which was shipped in the order.

    Bill schedules are created with date_completed pre-populated in the oks_level_elements.

  • 8/2/2019 Service Contracts From OM

    21/21

    oks_bill_cont_lines is pre-populated with the with btn_id (id from oks_bill_transactions) as -44 for

    contract line ID (topline_id). This is the same when we suppress the credits for a termination of

    contract line.

    And finally there is a row created in the okc_k_rel_objs for the contract line id that is created.

    Billing program ignores these contract lines from being billed.

    So we need to do this:

    Take care of the tables oks_bill_cont_lines and oks_bill_sub_lines.

    Take care of the table oks_level_elements (since date_completed is already populated).

    Take care of the table where related objects are populated (okc_k_rel_objs).

    And finally recreate the schedule so that the billing can happen every month for the period of the

    contract.

    Created a simple package that takes the out values from the post_integration procedure of the API

    OKS_OMIB_INT_EXTNS_PUB and did all the above. Contract got billed!

    That is it folks. You can download the codehere. There is table script to capture the out variables of the

    API. Please note that this article provides you a guideline and not a complete solution!

    http://c/Users/mihail.k.mihaylov/Documents/Projects/GENBAND/2.%20Jullian%20Cripps/1B/Service%20Contracts%20from%20OM/alter_contract_from_om1.ziphttp://c/Users/mihail.k.mihaylov/Documents/Projects/GENBAND/2.%20Jullian%20Cripps/1B/Service%20Contracts%20from%20OM/alter_contract_from_om1.ziphttp://c/Users/mihail.k.mihaylov/Documents/Projects/GENBAND/2.%20Jullian%20Cripps/1B/Service%20Contracts%20from%20OM/alter_contract_from_om1.ziphttp://c/Users/mihail.k.mihaylov/Documents/Projects/GENBAND/2.%20Jullian%20Cripps/1B/Service%20Contracts%20from%20OM/alter_contract_from_om1.zip