Defining Milestones

To define milestone classifications, use the Milestone Classification component (CA_MS_CLASS_PNLG_GBL).

To define milestone templates, use the Milestone Template component (CA_MS_DEFN_PNLG_GBL). Use the CA_MS_DEFN_PNLG_CI component interface to load data into the tables for this component.

This section provides an overview of milestone templates and discusses how to define milestone classifications, define milestone templates, define milestone condition templates, and define SQL statements for milestone conditions.

Page Name

Definition Name

Usage

Milestone Classification Page

CA_MS_CLASS_PNL

Define milestone security by creating milestone classifications. A milestone classification is a set of permission lists. When you associate a milestone classification with a generic milestone, the ability to manage that milestone is limited to users who belong to one of the primary permission lists specified for the milestone classification.

Milestone Template Page

CA_MS_DEFN_PNL

Define generic milestone templates. When you set up a contract, you will use generic milestone templates to which you can add contract-specific data.

Milestone Conditions Template Page

CA_MS_COND_DEFN

Define the conditions used by the application processor to determine whether a milestone is ready for processing. You can establish multiple conditions for a single milestone. Condition types can be either system-triggered events or manual events.

SQL Statement Page

CA_MS_SQL_DEFN_SEC

Create a custom SQL statement to be used as a milestone condition.

A milestone is a significant event in the life cycle of a contract. Milestone functionality in PeopleSoft Contracts enables you to associate activities, such as billing or revenue recognition, with reaching a milestone. Application Engine processing or e-mail notifications can be triggered when that milestone is reached. During system setup, you define a generic set of milestone templates and milestone conditions. You then use these generic milestones and milestone conditions to establish contract-specific milestones when setting up your contracts.

When you define a generic milestone, you can specify one or more milestone conditions. The application uses the status of a milestone's condition to determine when the milestone is reached. PeopleSoft Contracts supports these milestone condition types: Date, User Init (user initiated), Milestone, and SQL.

You can define any number of conditions for each milestone, and then make the triggering of the milestone conditional upon the completion of one condition or all conditions associated with that milestone.

Because the completion of a milestone can result in a bill being generated or revenue being booked, you need to enable milestone security to restrict the ability to manage milestones to a limited set of employees. You enable milestone security by creating milestone classifications and then associating each generic milestone with a milestone classification.

Use the Milestone Classification page (CA_MS_CLASS_PNL) to define milestone security by creating milestone classifications.

A milestone classification is a set of permission lists. When you associate a milestone classification with a generic milestone, the ability to manage that milestone is limited to users who belong to one of the primary permission lists specified for the milestone classification.

Navigation:

Set Up Financials/Supply Chain > Product Related > Contracts > General Options > Setup Contract Milestone Class

This example illustrates the fields and controls on the Milestone Classification page. You can find definitions for the fields and controls later on this page.

Milestone Classification page

Field or Control

Description

Primary Permission List

Select the permission lists that will have access to manage milestones associated with the value in the Milestone Classification field.

Use the Milestone Template page (CA_MS_DEFN_PNL) to define generic milestone templates.

Navigation:

Set Up Financials/Supply Chain > Product Related > Contracts > Templates > Setup Contract Milestone Tmplt

When you set up a contract, you will use generic milestone templates to which you can add contract-specific data.

This example illustrates the fields and controls on the Milestone Template page. You can find definitions for the fields and controls later on this page.

Milestone Template page

Field or Control

Description

Milestone Classification

Select a value. These classifications, which were defined on the Milestone Classification page, are used to limit the ability to manage a milestone to users who are logged on as a member of a permission list specified for the selected classification.

All Contract Types

Select to make this milestone template available for all contract types you defined for this SetID on the Contract Types page.

If you do not select this check box, you must manually add to the Contract Types scroll area the contract types for which this milestone template is available. This milestone template is then accessible on lists for only those contracts of the defined contract types.

Use the Milestone Conditions Template page (CA_MS_COND_DEFN) to define the conditions used by the application processor to determine whether a milestone is ready for processing.

You can establish multiple conditions for a single milestone. Condition types can be either system-triggered events or manual events.

Navigation:

Set Up Financials/Supply Chain > Product Related > Contracts > Templates > Setup Contract Milestone Tmplt . Select the Milestone Conditions Template tab.

This example illustrates the fields and controls on the Milestone Conditions Template page. You can find definitions for the fields and controls later on this page.

Milestone Conditions Template page

Milestone Conditions Definitions

Add the milestone conditions that apply to the milestone template selected. You can define multiple conditions for a milestone template. For example, billing can only occur based on the completion of product installation or based on a specified date, whichever is earlier. You can define two conditions within a milestone to meet this event. One condition (installation) could be another milestone, and the second condition could be the specific date. When you use the milestone on a contract, you can specify whether one or all of the conditions must be met for the milestone to be satisfied. If you specify that only one condition is needed to satisfy the milestone, then whichever condition is true first will trigger the milestone.

Field or Control

Description

Milestone Condition Type

Your selection determines the actions that you need to complete when you add this milestone to a contract. You can set up multiple milestone condition definitions for each milestone condition type. Values are:

Date: Select to create a date-driven milestone. When you use this milestone condition type on a contract, you associate it with a date that is specific to that contract. The milestone is triggered when the system date reaches the date that you specified for the condition.

Milestone: Select to link a milestone with another milestone. If this value is selected, you must enter values for the Milestone Source and Days Lag fields.

User Init: Select to create a milestone condition that is satisfied when a user manually updates the condition status from Pending to Ready. An example would be a service contract for which billing cannot occur until a signed work order is received from the customer.

SQL: Select to associate the milestone with a SQL statement that you wrote. SQL milestones enable you to create custom milestones that are specific to your business.

Milestone Source

Used with the Milestone condition type. Select another milestone defined in PeopleSoft Contracts or one that is defined in PeopleSoft Project Costing. Specify the exact milestone to which you are linking.

Days Lag

Enter the number of days after the milestone to which you are linking has been triggered before the system should trigger this milestone.

SQL Statement

Used with the SQL condition type. Click to enter your SQL statement.

Use the SQL Statement page (CA_MS_SQL_DEFN_SEC) to create a custom SQL statement to be used as a milestone condition.

Navigation:

Click the SQL statement link on the Milestone Conditions Template page.

Enter the SQL statement representing the condition that the system should test.

For example:

EXISTS (SELECT 1 FROM PS_CA_CONTR_HDR WHERE CONTRACT_NUM = 
PS_CA_MS_COND.CONTRACT_NUM AND LEGAL_REVIEW_FLG = Y)

The SQL that is run for SQL conditions in the Milestone Application Engine follows. The first bind statement is the SQL statement that you wrote, so it must logically fit into the syntax:

UPDATE PS_CA_MS_COND
SET MS_COND_STATUS = C, COMPLETION_DATE = %CurrentDateIn 
WHERE %Bind(CA_MS_AET.SQL_STMT, NOQUOTES, STATIC)
AND PS_CA_MS_COND.MS_COND_SEQ = %Bind(CA_MS_AET.MS_COND_SEQ) 
AND PS_CA_MS_COND.MS_SEQNUM = %Bind(CA_MS_AET.MS_SEQNUM) 
AND PS_CA_MS_COND.CONTRACT_NUM = %Bind(CA_MS_AET.CONTRACT_NUM)

Important! SQL milestone conditions are an advanced option that should be created only by persons with extensive knowledge of SQL. Oracle advises that these conditions be reviewed by the manager of your information systems department.