Friday, 21 March 2014

Oracle Service Contracts Approval Setup

Contract Approvals

Contract Approval is one of the most important setups. It determines who will the approver of the contract and upon successful approval only a contract become Active and entitled to offer service to customer. Prior to R12 contract approval is determined through a profile option 'OKC: Contract Approver'.

But in R12 the standard contract approval workflow integrated with Approval Management Engine (AME) to control and run the approval process. Key attributes are integrated in AME for Service Contracts. Below list provides bunch of service contract seeded attributes available in AME. If required you can create your own attributes as well.

AttributesTypeDescription
CONTRACT_OPERATING_UNITNumberService Contract Operating Unit
CUSTOMER_PARTYNumberService Contract Customer Party
CONTRACT_CATEGORYStringContract Category
CONTRACT_AMOUNTNumberAmount of the Contract
CURRENCY_CODEStringContract Currency


To get better idea on AME please refer to Oracle Approvals Management Implementation Guide.

Steps to setup AME in Service Contracts :-
  • Define AME condition based on the attributes.
  • Define action type for the actions.
  • Define action in AME by defining AME approval groups containing approvers as member.
  • Define rule considering conditions and actions.
Accessing Approval Management Engine is based on roles assigned to user. Follow the below post to understand how to access Approval Management Engine.

Starting with Contract Approval setup in AME

  • Navigate to Approval Management Business Analyst responsibility.
     
  • Goto Approval Process Setup region and search for 'Service Contracts Internal Approval'.
  • Click on any link below Attribute Conditions Action Types / Approver Groups or Rules to directly go that page.
Define AME condition based on the attributes
  • Navigate to Approval Management Business Analyst responsibility.
  • Search for 'Service Contracts Internal Approval' transaction type in Approval Process Setup region.
  • Goto Conditions Tab
  • Click on Create button.
  • Select Condition type Ordinary or Exception.
  • Select a contract attribute based on which you want to decide approval. In this case I used operating_unit to set contract approval.
  • Select operator from LOV of expression section.
  • Enter the desired value and click on apply.

Define AME action type for the actions
  • Navigate to Approval Management Business Analyst responsibility.
  • Search for 'Service Contracts Internal Approval' transaction type in Approval Process Setup region. If you are already under the transaction type then just go to Action Types tab or Click on Action Types link.
  • Click on button 'Use Existing Action Type'
  • Search and choose 'approval-group chain of authority'. You can choose any other action type based on the requirement or create your own.
  • Click Continue and Finish. The action type will now show in the page.
Define AME Approval Group
  • Navigate to Approval Management Business Analyst responsibility.
  • Search for 'Service Contracts Internal Approval' transaction type in Approval Process Setup region. If you are already under the transaction type then just go to Approval Groups tab or Click on Approval Groupslink.
  • Click on Create button to create new approver groups.
  • Enter Name and description of the new approver groups.
  • Enter an order number.
  • Choose a Voting Method from LOV
    • Consensus : The consensus regime assigns group-or-chain-member order number one to all members. All group members must approve
    • First Responder Wins :The first-responder-wins regime assigns group-or-chain-member order number one to all members. In this case, only the one responder must approve; all other members' responses are recorded but ignored.
    • Order Number : The order number regime sets each member's group-or-chain-member order number to the member's member order number. All group members must approve.
    • Serial : The serial regime assigns group-or-chain-member order numbers in ascending order of the member order numbers. All group members must approve.
  • Enter Usage Type Static Dynamic. If chosen dynamic then you must enter a sql statement to pull the values dynamically and validate.
  • In the Group Members region click on Add anther row
  • Chose Approval Type from LOV
    • FND Users : It pulls out the user define in Oracle Applications to access applications.
    • Nested Group : This is used when you have a group having multiple sub groups.
    • HR People : It pulls all the employees defined in Oracle Applications from HRMS module.
  • Click on search icon next to Approver and find respective group member and select it.
     
     
  • Apply
Define AME Rules based on Conditions and Actions
  • Navigate to Approval Management Business Analyst responsibility.
  • Search for 'Service Contracts Internal Approval' transaction type in Approval Process Setup region. If you are already under the transaction type then just go to Rules tab or Click on Rules link.
  • Click on Create button, it will open the create new rule page.
  • Enter the Name of the rule.
  • Select a Rule Type
      • Combination- List Creation : Combination rules combine actions from action types having different allowed rule types. You can use a combination rule when several of your business rules apply to exactly the same cases. This allows action types for list-creation rules, list-creation exceptions, production rules, pre-chain of authority rules, and post-chain of authority rules
    • Combination- List Modification : Combination rules combine actions from action types having different allowed rule types. Use a combination rule when several of your business rules apply to exactly the same cases. This allows action types for list-modification and substitution rules
    • List Creation : List-creation rules generate chains of authority. They use action types that ascend an organizational hierarchy to generate one or more chains of authority. A required attribute typically identifies the first approver in each chain, and the specific action Rules determines how many approvers are in each chain.
    • List Creation Exception : List-creation exceptions also generate chains of authority. The difference between a list-creation rule and a list-creation exception is that an exception suppresses selected list-creation rules. 
    • List Modification : List Modification rules used to modify the default chain of authority generated by all applicable list-creation and exception rules. A list-modification rule can have (but need not have) ordinary conditions. However, it must have exactly one list-modification condition. Sometimes you want to make exceptions regarding the approval authority granted to specific approvers, rather than the approval authority required for specific kinds of transactions. To do this, you need a list-modification rule.
    • Substitution : To delegate one approvers authority to another user we user Substitution.
    • Pre List Approver Group : If you want to have one or more groups of specialists approve a transaction before or after the chain of authority does. In such cases, you need a pre- or post-list approval-group rule.
    • Post List Approver Group : Same goes with Post List of Approver Group but it happens after the chain of authority
  • Select Start Date and End Date for the rules effectivity.
  • Click next to go to next stage.
  • Click on Add Condition and choose the available conditions that we defined earlier.
     
  • Click next to go to next stage
  • Click on Add Action and choose action from Action LOV.
     
  • Click next to review the rule. 
  • Finish to complete the rule setup.
Test Approval Rules
  • Navigate to Approval Management Business Analyst responsibility.
  • Search for 'Service Contracts Internal Approval' transaction type in Approval Process Setup region. If you are already under the transaction type then just go to Test Workbench tab or Click on Test Workbench link.
  • Click on create to create new test case
  • Enter the desired value in the attributes, since I defined contract approval for operating unit I will provide the operating unit detail.
  • You can save it for later testing by clicking on Save for Later button or click on Run Test Case to execute the test.
  • Next page will show the results. Here you will notice that it shows the approval rule that we defined and its pulling the details if the group member to whom approval will go.
  • To more details you can click on the View Approval Process Stage. This is really helpful to understand complex rules.

Oracle Service Contracts Auto Numbering Setup

Auto Numbering

Auto Number is an import feature of Service Contracts. It lays out the rules how the contract number will be generated. Contract numbers can be sequential number or a combination of defined prefix and suffix that can alpha-numeric.


There are number of attribute provided by Oracle that can be used in different combinations to achieve a numbering sequence. These are:
  • Site - The rule can be setup at Site level that impact the entire site. All contracts created under that site even of different business group / Operating Unit / Class will follow as numbering sequence.
  • User Function - You can write you own pl/sql to generate the numbering sequence. Till now what ever I worked I haven't seen using function to generate contract numbers.
  • Business Group - If setup at this level all contract under the business group use the same number sequence unless a specific Class or Category is chosen. If it further dependent on Class / Category then it will unique numbers with the specified combination.
  • Operating Unit - Same goes with Operating Unit. All contract under same Operating Unit will have same numbering sequence unless is further classified based on Class / Category.
  • Class - If set only at Class, all contract created for a particular class have same sequence. Contract Class is like Service Agreement, Project Contract etc.
  • Category - If set at Category level, all contract for a particular category will have same numbering sequence. Contract categories are like Service Agreement, Warranty and Extended Warranty, Subscription Agreement etc...

Define Auto Numbering

  • Navigate to Service Contracts Manager -> Setup -> Service Contracts -> Autonumbering.
  • Choose appropriate level or combination from the available options as number generation combination. Most of the organization prefers to have contract generated based on  Operating Unit and Contract category to identity the contract OU and category by looking at the number.
  • Choose below radio button
    • Operating Unit
    • Category
  • Sequential Detail
    • Operating Unit - Pull Operating Unit from LOV, for me its 'Vision Operation'
    • Category - Pull contract category from LOV, for me its 'Service Agreement'
    • From - Enter the initial number of the contract.
    • To - You can enter the last number of the contract or leave blank.
    • Format Length - You must enter format length if you are not entering To field.
    • Perfix - Choose a prefix. I love to see contract start with OU name to its 'VO-' in my case. Its no mandatory but gives better visibility to the contract.
    • Suffix - Choose a suffix. I opted the choose contract category like 'SC' / 'WR'.
    • Allow Manual - Choose if you would like to manually enter contract number while you are creating it. If selected the contract number field will not be read only. If not select then it will be read only field.
Note :When a contract is create from concurrent program the number is automatically generated even if the contract numbering is not setup and 'Sequential Numbering' profile option is not set. The concurrent program internally sets the profile option at session level.

This is how the contract number will look based on our configuration

Bus UnitOp UnitClassCatPrefixSuffixSeq FromSeq ToLengthFirst Number
--Vision Operations--Service AgreementVO--SC10000999995VO-10000-SC
--Vision Operations--Warranty & Extended WarrantyVO--WR10000999995VO-10000-WR

Auto Numbering Truth Table

Its really helps in understanding what all permutation combination of Autonumbering is permissible. So here we go.
DescriptionUser FunctionSiteBusiness GroupOperating UnitClassCategory
User, no other attributes can be selectedYNNNNN
Site, no other attributes can be selectedNYNNNN
Business Group can be selected with ClassNNYNYN
Business Group can be selected with CategoryNNYNNY
Business Group can be selected without Class or CategoryNNYNNN
Operating Unit can be selected with ClassNNNYYN
Operating Unit can be selected with CategoryNNNYNY
Operating Unit can be selected without Class or CategoryNNNYNN
Class can be selected without Business Group/ Operating UnitNNNNYN
Category selected without Business Group/ Operating UnitNNNNNY

Note : If you try to change the Auto Numbering attributes, like from Business Group to Operating Unit, a decision widow displays the below warning :
You are changing the current contract numbering setup. Existing sequence numbering rules will no longer be effective. Do you want to continue?
If you click Yes, another window opens and asks:
Do you went to delete existing sequence numbering rules?
If you click Yes, then existing sequence numbering rules are deleted and there is no way you can retrieve those sequence numberings
If you click No, then existing sequence numbering rule will be kept in the system. Later if you want to change back to old attribute like Business Group, the old sequence numbering rules show up.

Oracle service Contracts setup Part 6

Service Contract Setup - Part : 6

Contract Groups

Contract Groups lets you organize the contracts that helps in accessing it and perform certain action for contracts in the group like mass change etc. A contract can be associated with multiple groups at a time.

Defining Contract Groups

  • Navigate to Service Contracts Manager -> Contract Groups -> Contract Group
  • Enter Name and Description
  • If you want to create a group as public then click on checkbox 'Public'. If you don't check the box then group is private and its accesible by you. For you to be able to create Public group you must set the profile option 'OKC: Public Group Creator' toYes.
  • Save

Oracle Service Contracts Billing

racle Service Contracts - Part-V (Billing a Contract)

Billing Service Contract

There is a concurrent program ‘Service Contract Main Billing Program’ that needed to run to bill the contract. Once we run the program it will interface data to Receivable to generate invoice.

Note – After Service Contract Main Billing program completes service contract will show as Billed in service contract. It does not mean an Invoice is generated. To generate the invoice we need to run Auto Invoice from Receivables.

Service Contract Manager -> View -> Request -> Submit a New Request -> Choose ‘Service Contract Main Billing Program’ form LOV

Contract Number – Input contract number that you want to bill. You can leave other null.
 Upon completion service contract will be showing as billed. 

Point to be noted – The billed amount only shows as $45. The billing schedule is created for 3 years annually. Right now only eligible line is of value $45. Others have interface date in future.

To generate the actual invoice in AR follow the steps.

Choose Responsibility – Receivable Manager
  • Navigate to Interfaces - >AutoInvoice -> Submit a Request
  • Select – Auto Invoice Master Program
Parameters :-
  • Invoice  Source – OKS_CONTRACTS
  • Default Date – SYSDATE
  • Sales Order Number – Contract Number 
Once completed it will generate invoice.To view the invoice details in Service Contract run the below program.

Service Contract Manager -> View -> Request -> Submit a New Request -> Choose ‘Service Contract Fetch Receivables Info for Billing’ form LOV

This will fetch all the invoice details related to service contract and can be view in Service contract form by navigating Tools -> Invoice Details
 OR Navigate to Lines -> Pricing / Product -> Billing -> History

That concludes a cycle of service contract creation to billing. 

Oracle Service Contracts Approval Setup

Contract Approvals Contract Approval is one of the most important setups. It determines who will the approver of the contract and upon ...