Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Author:
Date:
Version:
Brian Moe
Tuesday, June 21, 2016
Revision 1.0
Revision History
Revision
ID
1.0
Page 2 of 54
Date
By
Description
24-Jul-01
Brian Moe
Initial version.
Table of Contents
1.
Goals.............................................................................................................. 5
2.
System Setup.............................................................................................. 5
3.
4.
5.
5.1
5.2
6.
6.1
6.2
6.3
6.4
6.5
6.6
6.7
6.8
6.9
Billing Functionality................................................................................37
CCNBill.................................................................................................................................. 37
Billing Review (9161, 9162, 9163).....................................................................................37
Global Functions.......................................................................................38
GetMTMTableNames.............................................................................................................. 38
GetApplicablePriceFactors................................................................................................. 39
AssignPriceFactorOrder..................................................................................................... 39
ArbitratePrecedence.......................................................................................................... 40
ApplyPriceFactors.............................................................................................................. 40
GetComponentParent........................................................................................................ 40
GetComponentPrice.......................................................................................................... 41
ComputeLineItemPrice...................................................................................................... 41
ComputeProratedPrice....................................................................................................... 42
Page 3 of 54
7.
7.1
7.2
Page 4 of 54
1. Goals
The goals of Nortels ClearContracts release (Release version 4) with respect to Pricing and
Discounting are:
Goal
Assist the user in determining the
Equipment that is covered on a Contract
(Line Item).
Determine the Price of a Contract Line Item
(based on the Equipment that is covered
and the level of service (Support Program)
specified).
Automatically determine and apply the
Price Factors that apply to a Contract Line
Item.
Achieved by
Equipment List creating an
Equipment List of Site Parts
installed at a Site, and assigning it to
a Contract Line Item
Equipment List computing the
Support Prices for each Part
included in the Equipment List, and
setting the Line Item price to that
price
Discounting routines that determine
the pre-existing, header, and
automatic Price Factors that are
applicable, and arbitrating among
them to determine the final set of
Price Factors to be applied.
Header Level Discounts (on the
Contract Header form)
Line Item Adjustment form
Price Factor Conditions and SubConditions, Applies To
2. System Setup
A number of items and data elements need to be established before the Pricing and Discounting
functionality will work as designed. Those items are shown in this section. Some of them wont
make a great deal of sense at this point in the document, but they are all referenced later, and
many of them will point forward to places where they are used or discussed in more detail.
The setup areas to be discussed are:
Page 5 of 54
Level 1 values
Not Specified
DOM AGGR
DOM DIST
DOM SYS INT
DOM TELCO
DOM VAR HI VOL
DOM VAR LO VOL
EMEA SYS INT
EMEA NORDIC TELCO
EMEA TELCO
EMEA VA DIST
EMEA VAR HI VOL
EMEA VAR LO VOL
EMEA VOL DIST
ICON SYS INT
ICON TELCO
ICON VA DIST
ICON VAR HI VOL
ICON VAR LO VOL
ICON VOL DIST MATURE
ICON VOL DIST GROWTH
VPA 15% DISCOUNT
VPA 20% DISCOUNT
VPA 25% DISCOUNT
VPA 30% DISCOUNT
BAY NETWORKS
DOM DCD END-USER
DOM DCDMSO 5K+ VOL
DOM DCDMS0 1K-5K VOL
DOM DCDMSO 1-1K VOL
EMEA DCD END-USER
EMEA DCDMSO 5K+ VOL
EMEA DCDMSO 1K-5K VO
EMEA DCDMSO 1-1K VOL
EMEA DCD VAR/SI
ICON DCD VAR/SI
ICON DCD END-USER
ICON DCDMSO 5K+ VOL
ICON DCDMSO 1K-5K VO
ICON DCDMSO 1-1K VOL
EMEA ESP
Disty
VARHV/NSP
ASPAC/Japan VAR
ESP - Level 1
ESP - Level 2
VARLV
Page 6 of 54
Comments/Instructions
Price Groups for Sites
Default ???
x_Sales_Region
Not Specified
US
EMEA
Other
x_link_materials
Any One Is Required
Material
Material Price Group
Material sub Group
x_link_sales_org
Default ???
Sales Regions
Default ???
x_link_sold_to
Optional
Required
Disallowed
x_link_sold_to_price_group
Optional
Required
Disallowed
Default
Validation parameters for creating Price
Factor Conditions
Default
2.2Configuration Items
The following four Configuration Items must be defined using the Policies & Customer | Action |
Configuration Items functionality.
Name:
Description:
Value Type:
Scope:
Value:
Page 7 of 54
Name:
Description:
Value Type:
Scope:
Value:
Name:
Description:
Value Type:
Scope:
Value:
Name:
Description:
Value Type:
Scope:
Value:
Page 8 of 54
General Information
This is an existing form.
The Price Group dropdown list was added. It data source is the x_site_price_group User
Defined Pop-Up List.
Specific Changes
Item
Control
Type
Price Group
Dropdown
List
Chang
e
New
Notes
Used to specify the Site Price Group for the Site.
Page 9 of 54
General Information
This is an existing form.
The Material Price Group dropdown list (the data source is the x_spt_prog_price_group) and
the Material Sub Group dropdown list (the data source is the x_spt_prog_sub_group) were
added..
Specific Changes
Item
Control
Type
Material Price
Dropdown
Group
List
Material Sub
Dropdown
Group
List
Chang
e
New
New
Notes
Used to specify the Material Price Group for the
Support Program.
Used to specify the Material Sub Group for the
Support Program.
2.5Parts Domains
While specific domain names are identified in this document, the actual names are really identified
in several Configuration Item entries that are described elsewhere in the document (see the
Configuration Items section). The names shown here are the actual names used in Nortels
Clarify implementation, however.
The following domains must be set up:
Page 10 of 54
Page 11 of 54
General Information
This is an existing form.
The Components button is only enabled if the Part is a member of a Domain that is identified in
the Pricing Category Domain Name Configuration Item.
Specific Changes
Item
Control
Type
Components
Button
Chang
e
New
Notes
If the Components button is clicked, the Select
Components form is displayed (see below).
2.6.1
This form is used to maintain the Component List for a Pricing Category Part. Once completed,
note that the Pricing Category now has Component children and that each Component Part now
Page 12 of 54
General Information
This is an existing form.
The Components button is only enabled if the Part is a member of a Domain that is identified in
the Pricing Category Domain Name Configuration Item.
Note that in the search that is performed, the program will only search for and display Parts that
are members of a Domain that is identified in the FRU Domain Name Configuration Item.
Specific Changes
Item
Control
Type
Part No
Text Box
Part Desc
Text Box
Button
Possible Parts for
Inclusion
Components
Grid
Chang
e
New
New
New
New
Button
New
Grid
New
Notes
Enter a Part Number search string
Enter a Part Description search string
Perform a search; results are displayed in the
Possible Parts for Inclusion grid.
After clicking on one or multiple items in the grid,
click the
button to move the selected Part from
the Possible Parts for Inclusion grid to the
Components grid.
Click this button after selecting one or multiple items
in the Possible Parts for Inclusion grid to move
those items to the Components grid.
After clicking on one or multiple items in the grid,
click the
button to remove the selected Part
Program from the Components grid.
Page 13 of 54
New
When the Save button is clicked the Components list is saved in the database and related to the
Pricing Category Part.
2.7Site Parts
While there were no changes made to the out-of-the-box Clarify Site Parts functionality for Pricing,
in order for automatic Pricing to work on Contract Line Items, one of the forms to be subsequently
discussed (the Equipment List form) requires that some Site Parts have been installed at the
Contract Line Items Covered At Site.
2.8Support Prices
Support Prices must be set up such that they can be utilized on the Equipment List (which will be
discussed later (see the Contract Line Item Equipment List section) and in the
ComputeLineItemPrice function (see the Global Functions section).
A Support Price is used to indicate that for a specific Pricing Category parent Part, for a specific
Support Program, for a specific Price Schedule, there is unit price that can be applied to each
Component child of the Pricing Category parent.
How are Support Prices set up in the system? There is no GUI view of Support Prices, so they can
not be viewed, added, removed, or modified directly via the GUI.
However, Support Prices are imported via the GUI Clarify client. On the Actions menu there is an
item named Import Support Prices.
Page 14 of 54
2.8.1
When Import Support Prices is selected from the Action menu, the following form is displayed.
General Information
This is a new form.
Specific Changes
Item
Control
Type
Import File Name Text Box
Chang
e
New
Browse
Button
New
Text Box
Text Box
New
New
Import
Button
New
Notes
Enter a file name to be imported or click the
Browse button.
Displays a standard Windows file open dialog box to
find a user-specified file.
Read-Only: Displays the log file name.
As the program goes about importing data, results
are shown in this box.
Click this button to start the Import.
Page 15 of 54
This Excel spreadsheet should be exported to a comma- or tab-delimited file, which is then
imported into via the Import Support Prices form into the database.
Conversion Rules
If any row has a value that does not match an existing record as required, or a value that does
not convert as required, it will be reported as an error and will not be stored in the
x_support_price table.
Page 16 of 54
The start_date to end_date range for any Support Program ID / Pricing Category ID / Price List ID
combination can not overlap.
If any row matches the Support Program ID, Pricing Category ID, Price List ID, Start Date, and
End Date of an existing x_support_price table record, and the rows Price value is different than
the records, then the rows Price field will be used to overwrite the price in the x_support_price
record.
If any row does not match the Support Program ID, Pricing Category ID, Price List ID, Start Date,
and End Date of an existing x_support_price table record, then the a new x_support_price record
will be created.
If any row matches the Support Program ID, Pricing Category ID, Price List ID, Start Date, and
End Date of an existing x_support_price table record, and the rows Price value starts with
Remove then the x_support_price record will be deleted from the database.
If any row has a blank Start Date or End Date, the Start or End Date of the Price List identified in
Column B will be substituted.
This is the form used to list and select existing Price Factors, and to begin creating a New Price
Factor.
General Information
Page 17 of 54
While this form was a baseline Clarify form, the following changes have been made:
General Information
This form has changed such that many of the controls (Factor Type, Fixed Amount, Currency,
Minimum %, Maximum %, Automatic/Manual, High and Low Order Precedence) are no longer
entered by the user but rather are determined by the program based upon the values for the
Condition that is selected for the Price Factor.
If a different Condition is selected from the dropdown, then various field values will be changed
and the user may be required to enter additional fields that were not filled out before.
The user should be sure to bring up the Price Factor Application form (see below) by clicking the
Applies To button for all Automatic Price Factors so that the relations between this Price
Factor and other system data objects can be specified, so that the Price Factor can be applied
correctly to various Contract scenarios.
Specific Changes
Item
Control
Chang Notes
Type
e
Condition
Dropdown
New
Used to select a Condition. To view all Condition,
List
click the Condition button.
Conditions
Button
New
Starts the Price Factor Conditions form (see below) to
maintain the Conditions.
Apply to Header
CheckBox
New
Determines whether or not the Price Factor may be
selected as a Header Level Discount Price Factor.
Note: this button only applies to Manual Price
Factors and is disabled for Automatic Price Factors.
Automatic
Radio Button New
Determines whether or not the Price Factor is an
Automatic or Manual Price Factor.
Page 18 of 54
Manual
Radio Button
New
Minimum (%)
Text Box
New
Maximum (%)
Text Box
New
High Order
(Precedence)
Text Box
New
Low Order
(Precedence)
Text Box
New
Applies To
Button
New
Page 19 of 54
This form allows the user to specify the data values for the Conditions that serve as the base data
sources for Price Factors. Both Conditions and Sub-Conditions are created and maintained on this
form.
This form is new. Condition information is maintained top grid, the fields, and the Data Links
section. Sub-Conditions are maintained in the Precedence grid in the bottom section.
3.4.1
Data Links
The Data Links and Precedence sections are only activated for Automatic Price Factors they
do not apply to Manual Price Factors.
Data Links are used to determine which of the 6 areas (Revenue Sites, Site Price Group, Sales
Org, Material, Material Sub Group, Material Price Group) of the Price Factor Application form (see
below) are both enabled and/or required when a Price Factor based on this Condition is
manipulated. For example, if the Revenue Site data link has a value of Required, then when the
user goes to the Price Factor Application form to define the Contract scenarios in which the Price
Factor applies, the user will be required to link at least one Revenue Site to the Price Factor.
Page 20 of 54
Revenue Site
Optional
Disallowed
Required
Optional
dSite Price
Group
Sales Org
Material/
Material Sub
Group/
Material Price
Group
Revenue Sites
Site Price Group
Disallowed
Required
Optional
Disallowed
Required
Any One Is
Required
Sales Org
Material
Material
Material Price
Group
Material sub Group
Material
Material
Material
Material
Material
Material
Sub Group
Price Group
Material
Material
Material
Material
Material
Sub Group
Price Group
Sub Group
Price Group
Sub Group
Price Group
is
Enabled & Optional
Disabled & Disallowed
Enabled & Required
Enabled & Optional
Disabled & Disallowed
Enabled & Required
Enabled & Optional
Disabled & Disallowed
Enabled & Required
Enabled & Optional
General Information
This is a new form.
Many of the controls on this form (Factor Type, Fixed Amount, Currency, Minimum %, Maximum %,
Automatic/Manual, High and Low Order Precedence) were copied from the Price Factor form
(above); the values entered for the Condition are used as data sources for Price Factors based on
the Condition.
Specific Changes
Item
Control
Chang Notes
Type
e
(List)
Grid
New
Select a Condition to maintain.
Condition Name
Text Box
New
Each Condition must have unique name.
Type
Dropdown
New
The type of the Condition and the Price Factors that
List
are based on this Condition.
Applies To
Dropdown
List
New
Page 21 of 54
Automatic
Radio Button
New
Manual
Radio Button
New
Minimum (%)
Text Box
New
Maximum (%)
Text Box
New
High Order
(Precedence)
Text Box
New
Low Order
(Precedence)
Text Box
New
Data Links
Dropdown
Lists
New
3.4.2
Precedence
The Precedence section and grid are used to define the order in which Price Factors based upon
this Condition are to be applied in other words, the Low Order Precedence for an Automatic Price
Factor is determined from the Sub-Conditions that are defined in this Precedence grid.
For example, suppose nearly identical Price Factors (PF1, PF2) are defined. They are alike in every
way except that PF1 is linked to a specific Revenue Site, and PF2 is linked to a Site Price Group
(which is a group of Revenue Sites). How do we determine which of these should be applied?
The answer is that, given our ordering assumption (see next paragraph), since PF1 is more specific
than PF2 with regard to Revenue Site, it should be applied first (e.g., a Price Factor for Goodyear
should be applied before a Price Factor for tire manufacturers).
Our ordering assumption is that there is a hierarchy of data links that we apply, from those which
most specifically identify a Contract scenario to those which least specifically identify a Contract
scenario, as follows:
Page 22 of 54
Overall
A "Who Is Buying" Price Factor is applied before
A "Who Is Selling" Price Factor, which is applied before
A "What Is Being Sold" Price Factor.
When the Generate button is clicked, the program evaluates all of the values in the Revenue Site,
Site Price Group, Sales Org, and Material/Material Sub Group/Material Price Group dropdown lists. It
creates a list of all of the options that are possible given those dropdowns, sorts them according to
the ordering assumption above, and presents the list. The first item in the list is assigned a Low
Order Precedence value equal to the Low Order Precedence field value from the Condition fields
at the top of the form plus 1, and each subsequent item is assigned the next sequential Low Order
Precedence value.
The user may select a Precedence item and move it up or down in the list; if so, the Low Order
Precedence values are re-ordered such that the list is always ordered by Low Order Precedence.
If the user has changed the list but not yet Saved the Condition record, then they click the
Restore button to return the Precedence list to its previous (or original) state.
When Save is clicked on the Condition form, the Precedence list entries are stored as SubConditions of the Condition.
Item
(List)
Generate
,
Restore
Control
Type
Grid
Button
Chang
e
New
New
Buttons
New
Button
New
Notes
Select a Sub-Condition to move up or down.
When clicked, generates an order list of SubConditions based on the values of the Revenue Site,
Site Price Group, Sales Org, and Material/Material Sub
Group/Material Price Group dropdown lists.
Moves the selected item up or down one position
(and revises its Low Order Precedence value).
Return the Precedence list to its previous (or
original) state.
Page 23 of 54
Sites Applied To
Sales Org
Page 24 of 54
Button
New
Grid
New
Button
New
Grid
New
Button
New
Grid
New
Checkbox
New
click the
button to move the selected Revenue
Sites from the Selected Sites grid to the Sites
Applied To grid.
Click this button after selecting one or multiple items
in the Selected Sites grid to move those items to
the Sites Applied To grid.
After clicking on one or multiple items in the grid,
click the
button to remove the selected
Revenue Sites from the Sites Applied To grid.
Click this button after selecting one or multiple items
in the Sites Applied To grid to remove those items
from the grid.
Click on any item to select it as the unique Site Price
Group for this Price Factor
Clear any and all selections of the Site Price Group
grid.
Click on any item to select it as the unique Sales Org
for this Price Factor
If checked, selected all Sales Orgs; if unchecked,
deselects all Sales Orgs.
Support
Programs
Applied To
Material Price
Group
Grid
Button
New
Grid
New
Button
New
Grid
New
Button
New
Material Sub
Group
Grid
New
Checkbox
New
Group grid.
Click on any item to select it as the unique Material
Sub Group for this Price Factor
Clear any and all selections of the Material Sub Group
grid.
Page 26 of 54
The Sub-Conditions shown in the Precedence Grid for Condition ZCU1 specify that the
Sub-Condition with the Low Order Precedence of 56 is to be applied when there are Revenue
Sites, no Site Price Group, All Sales Org, no Support Program, a Material Sub Group, and no
Material Price Group. This Sub-Condition matches the values Price Factor ID Anne of
Stonedale.20010724174109.20, so that Price Factor is given the Low Order Precedence 56
from the matching Sub-Condition record.
This form is displayed when the Header Discount button is clicked on the Contract Header tab.
While Clarify has a feature that allows Price Factors to be applied to Contract Schedules, and this
would seemingly duplicate this Header Level Discount feature, the two are different. The out-ofthe-box Schedule Discounts apply Price Factors to each Schedule, but not to all Schedules, and the
operate on the gross value and net values of the Schedule. Nortels requirement was that the
identified Price Factors be applied to each and every Line Item (which implies to each and every
Schedule as well).
General Information
Page 27 of 54
Chang
e
New
New
Condition
Text Box
New
Description
Text Box
New
Type
Text Box
New
List
Button
New
Selected Price
Factors
Grid
Applied Price
Factors
Percent / Amount
To Apply
ID
Condition
Type
Percent
Min %
Max %
Amount
Page 28 of 54
Button
New
Grid
New
Button
New
Group
New
Text
Text
Text
Text
Box
Box
Box
Box
New
New
New
New
Text Box
Text Box
Text Box
New
New
New
Button
New
Notes
Enter a search term for Price Factor IDs to be found.
Enter a search term for Price Factor Names to be
found.
Enter a search term for Price Factor Conditions to be
found.
Enter a search term for Price Factor Descriptions to
be found.
Enter a search term for Factor Types to be found (e.g.,
"Discount - Percentage", "Discount - Fixed Amount",
"Surcharge - Percentage", "Surcharge - Fixed
Amount").
Find the Price Factors identified by the search terms
and display them in the Selected Price Factors grid.
After clicking on one or multiple items in the grid,
click the
button to move the selected Support
Program from the Selected Price Factors grid to the
Applied Price Factors grid.
Click this button after selecting one or multiple items
in the Selected Price Factors grid to move those
items to the Applied Price Factors grid.
After clicking on one or multiple items in the grid,
click the
button to remove the selected Price
Factor from the Support Programs Applied To grid.
Click this button after selecting one or multiple items
in the Applied Price Factors grid to remove those
items from the grid.
When one item is selected in the Applied Price
Factors, the 7 controls below are displayed for the
selected item.
Read-only: the ID of the Price Factor.
Read-only: the Condition of the Price Factor.
Read-only: the Type of the Price Factor.
If the selected Price Factor has a Type that requires
a Percentage, the Percentage value from the Price
Factor is displayed; the user may modify that value
(though it must be between (inclusively) the
Minimum and Maximum % values).
Read-only: the Minimum % of the Price Factor.
Read-only: the Maximum % of the Price Factor.
If the selected Price Factor has a Type that requires
a Fixed Amount, the Amount value from the Price
Factor is displayed; the user may modify that value.
If the user has selected a single Price Factor from the
Applied Price Factors grid and changed either the
Percent or Amount value, then this button must be
clicked in order to copy the new amounts to the grid
so that they will be used when the Price Factors are
Tuesday, June 21, 2016
Apply
Button
New
Applies.
When this button is clicked, the Price Factors
identified in the Applied Price Factors grid will be
applied to each and every Contract Line Item for the
Contract. A progress bar is displayed, and the user
may click Done when the Price Factors have been
applied.
Note that while Header Level Discounts are obviously applied to each and every Contract Line
Item when the Apply button is clicked, they are also applied to each Line Item individually
whenever the following occur:
For each Line Item when a Contract is Renewed (for the new renewed Contract)
When the Line Adj button is clicked for a Contract Line Item (i.e., the Line Adjustments
form)
When the Use or Use/Done button is clicked on the Select Product form (when Adding A
Line to a Contract.
Pricing Categories
Component Lists
Support Prices
Site Parts
Revenue Sites
Support Programs
Price Factors that are tied to Revenue Sites, Site Price Groups, Sales Orgs, Materials
(Support Programs), Material Sub Groups, and Material Price Groups)
the system can now automatically determine the prices for Contract Line Items and then
automatically determine and apply the appropriate Price Factors.
The Covered At Site must be identified (enter a Site ID, click the
the Save Line button.
Click the Equipment List button.
Page 29 of 54
General Information
This is an existing form.
For Pricing and Discounting, the Equipment List button and the Line Adj; button are of primary
interest.
Specific Changes
Item
Control
Type
Equipment List
Button
Chang
e
New
Notes
When clicked, starts the Select and Price Equipment
List form (see below).
General Information
This is a new form.
The Contract #, Product (Support Program), and Site ID and name are supplied by the system
from the Contract and Contract Line Item upon which the Equipment List button was clicked.
Specific Changes
Item
Control
Type
Part No
Text Box
Chang
e
New
Part Desc
Text Box
New
Serial #
Text Box
New
Include Parts
Covered By
Check Box
New
Notes
Enter a search term for Part Number(s) to be found.
Note that these are the Part Numbers of Site Parts
that have previously been installed at the Contract
Line Items Covered At Site.
Enter a search term for Part Description(s) to be
found. Note that these are the Part Descriptions of
Site Parts that have previously been installed at the
Contract Line Items Covered At Site.
Enter a search term for Serial Number(s) to be found.
Note that these are the Serial Numbers of Site Parts
that have previously been installed at the Contract
Line Items Covered At Site.
If the box is checked, then the system will include in
the search results Site Parts that are already covered
Page 31 of 54
Button
Installed Parts
For Inclusion
New
Grid
Button
Sort By:
Part
Pricing
Category Price
Equipment List
Button
New
Button
New
Grid
New
button to
Part No
Desc
Serial #
Qty
Pricing Category
Page 32 of 54
Group
Text Box
Text Box
Text Box
Dropdown
New
The
New
New
New
The
The
The
The
The
and
buttons to their right are displayed.
Part Number for the selected Site Part.
Part Description for the selected Site Part.
Serial # for the selected Site Part.
installed quantity for the selected Site Part.
Pricing Category for the selected Site Part.
Tuesday, June 21, 2016
Price
Text Box
New
Total Price
Text Box
New
Items
Text Box
New
Pricing
Categories ID
Text Box
New
Pricing
Categories Name
Text Box
New
Button
New
Button
New
Reprice
Button
New
Save/Done
Button
New
Page 33 of 54
4.2.1
Note in the screen below that the Contract Line Items Unit/Overrride value has been adjusted to
reflect the value from the Select and Price Equipment List form. (The Line Items Product (Support
Program) is a BF230000, which is an Independent Support Program).
Note also that the Line Adj value is $3,840.00 and the Net Price is $6,160.00, so some Price
Factors have been automatically applied, and that will be discussed below.
Page 35 of 54
General Information
This is an existing form, but significant modifications were made to provide the Automatic Price
Factor functionality.
The Applied Price Factors grid was changed to reflect additional (new) fields for the Price Factors
that are applied.
The form works much the way that the out-of-the-box form works, except that the grid at the top
only displays Manual Price Factors (since the Automatic Price Factors are applied by the
system, not the user).
The fields in the middle of the form (Price Factor ID, Name, Effective Start Date, Effective
End Date, Adj Type, Apply To) are now read-only since they cannot be modified.
When the form is initiated the GetApplicablePriceFactors global function is called to find the
applicable Price Factors. Those Price Factors are passed back to the form, which displays them
and allows the user to add, remove, and modify Manual Price Factors.
The form also finds any Manual Price Factors that are identified in the Default Manual Price
Factors Configuration Item and displays them in the Manual Price Factors grid at the top of the
form.
When the Done button is clicked the ApplyPriceFactors global function is called to actually
apply the Price Factors to the Line Item and compute the revised net price.
Specific Changes
Item
Control
Type
Min/Max %
Text Boxes
Chang
e
New
Automatic/Manu
al
Text Box
New
Button
New
4.3.1
Notes
Read-only: Shows the Minimum and Maximum
Percentage value for the Price Factor that is selected
(from either the Manual Price Factors grid or the
Applied Price Factors grid) if the Price Factor is a
Percentage type.
Read-only: Shows the Automatic or Manual value for
the Price Factor that is selected (from either the
Manual Price Factors grid or the Applied Price
Factors grid).
When clicked, starts the Price Factor Application
Audit form
Since the detailed behavior of the GetApplicablePriceFactors global routine is hidden to the user,
the following form is provided to allow the user to see how the Price Factors that the system
identified (and that the user subsequently modified) were determined and which Price Factors were
examined and discarded in the process. The Audit information is updated after each addition or
removal of a Manual Price Factor (since, depending on the High Order Precedence and Low Order
Precedence values of the Manual Price Factor, may force some of the previously identified
Automatic or Manual Price Factors to be discarded).
Page 36 of 54
5. Billing Functionality
Several minor modifications were made to Clarifys out-of-the-box Billing functionality:
5.1CCNBill
The CCNBill program (a CBBatch program file that is run either by the Rule Manager or a DOS or
UNIX window or via a UNIX cron job) was changed as follows:
After a Contract is billed, the Contracts "ready_to_bill" field is set to zero [Note that no
changes were made to the default Clarify billing algorithm; it creates period_amt and updates
Ling Items, Schedules, and/or Contracts as it always did.]
After a Schedule is billed:
the period_amt record for the Schedule are examined one-by-one, and:
the "bill_prd_amt" and "gross_prd_amt" fields are run through the RoundToTwo function
(see below) to set them to two significant decimal digits.
two new fields, x_bill_prd_start_dt" and "x_bill_prd_end_dt", are set to the appropriate
date values depending on the charge start or charge end dates that Clarify has
already inserted into the record.
the "bill_prd_amt" and "gross_prd_amt" amounts in the last record of each sequence of
period_amt records are adjusted so that the totals for the set of record is correct.
Page 37 of 54
6. Global Functions
The following global modules are frequently used and will be described in more detail below.
Global Routine
GetMTMTableNames
GetApplicablePriceFactors
AssignPriceFactorOrder
ArbitratePrecedence
ApplyPriceFactors
GetComponentParent
GetComponentPrice
ComputeLineItemPrice
ComputeProratedPrice
RoundToTwo
Purpose
This routine gets the names of the MTM tables that relate Price
Factors to Revenue Sites, Site Price Groups, Material Price Groups,
and Material Sub Groups.
This function returns a list of the Price Factors (in contr_pr_pf view
format) that apply to a Contract Line Item.
This routine sorts the supplied list of Price Factors (in contr_pr_pf view
format) by High Order Precedence then Low Order Precedence.
This routine 'arbitrates' among the Price Factors in the input list based
upon their High and Low Order Precedence values, and return a list.
This routine finds and applies all Price Factor records to a Contract
Line Item.
This routine finds the "Component Parent" part_num/mod_level for a
part number.
This routine finds the default Price of a Component (Child) Part for a
specified Service Price Category, Price Program, and Support Program.
This routine finds all of the Site Parts that are covered by a Contract
Line Item, then re-computes their price, stores that price for the
'covered part' (x_covered table), and applys the total price of all of
those parts to the Line Item.
This routine computes the Prorated Price for a Line Item.
This routine rounds a number to 2 decimal places (to the right of the
decimal point).
Note that these global variables are used in some of the functions:
Global Variable
sSalesOrgMTMTableName
sSoldToPriceGroupMTMTableN
ame
sMtrlPriceGroupMTMTableNam
e
sMtrlSubGroupMTMTableName
sAuditMessage
iAuditCount
lstDefaultManualPriceFactors
Purpose
The name of the MTM table that contains the relationship between
Price Factors and Sales Orgs (hgbst_elm).
The name of the MTM table that contains the relationship between
Price Factors and Site Prigr Groups (hgbst_elm).
The name of the MTM table that contains the relationship between
Price Factors and Material Price Groups (hgbst_elm).
The name of the MTM table that contains the relationship between
Price Factors and Material Sub Groups (hgbst_elm).
An array of messages that the GetApplicablePriceFactors and other
routines to create an 'audit trail' of the Price Factors that are found
and applied.
This is a pointer to the most recently used element of the
sAuditMessage array.
This list is created by function GetApplicablePriceFactors ... it is a
list of the Price Factors (p_factor_view records) that are represented
by the config_itm "Default Manual Price Factors"; it is likely that
only the Line Adjustment form needs this list.
6.1GetMTMTableNames
Function
Page 38 of 54
This routine gets the names of the MTM tables that relate Price Factors to
Tuesday, June 21, 2016
None
None (however, the 4 global variables above will be supplied with values)
This routine must be called before the GetApplicablePriceFactors function is
called. This routine may be called multiple times. It checks to see if it has
already executed and exits if it has.
GetMTMTableNames
6.2GetApplicablePriceFactors
Function
Calling
Parameters
Values
Returned
Calling Notes
Example
This function returns a list of the 'Automatic' Price Factors (in contr_pr_pf view
format) that apply to a Contract Line Item, based on these matches:
that Contract Line Revenue Site
that Revenue Sites Site Price Group
the Contract Line Item's Support Program
that Support Program's Material Price Group
that Support Program's Material Sub Group.
See the Price Factor Application Scenario section below for more information.
Long Contract Line Itme objid
String Date to be used to determine which Price Factors apply. If blank, the
'right now' time is used.
The returned list is ordered by a) High Order Precedence, b) Low Order
Precedence. It may be empty. It may be directly transposed to a set of
contr_pr records (Price Factors that are applied to a Contract Line Item) which
are written to the database (related to the Contract Line Item and the Price
Factor).
As a side-effect, the lstDefaultManualPriceFactors global list is also returned; it
contains the Price Factors that were identified in the Default Manual Price
Factors Configuration Item.
Dim lstNewlyAppliedPriceFactors as New List
set lstNewlyAppliedPriceFactors = GetApplicablePriceFactors
(lContrLineItemObjid, "")
Page 39 of 54
6.3AssignPriceFactorOrder
Function
Calling
Parameters
Values
Returned
Calling Notes
Example
This routine sorts the supplied list of Price Factors (in contr_pr_pf view format) by
High Order Precedence and Low Order Precedence. After sorting, it also assigns
the 'pr_precedence' value of the record.
List - a list of Price Factors (in contr_pr_pf view format) to be ordered
The original lilst that is passed is ordered and returned in place.
The list may be empty.
Dim lstOfAppliedPriceFactors as New List
AssignPriceFactorOrder lstOfAppliedPriceFactors
6.4ArbitratePrecedence
Function
Calling
Parameters
Values
Returned
Calling Notes
Example
This routine 'arbitrates' among the Price Factors in the input list, as follows:
If any two or more Price Factors have the same High Order Precedence value,
keep the one with the lowest Low Order Precedence value and remove the
others (with higher Low Order Precedence values) from the list.
If any Price Factors have the same High Order Precedence value and the same
Low Order Precedence value, keep them both in the list (since we can't
decide between them).
If a Price Factor has a Low Order Precedence of 0 (zero), then no Price Factors
should be applied (all should be removed) after that one, it is exclusive from
that point forward.
List - a list of Price Factors (in either contr_pr_pf or p_factor_view format) - see
next parameter
String the name of the list type (either "contr_pr_pf" or "p_factor_view")
String - the 'title' of the arbitration; this title is recorded in the Audit Array as
the purpose of the arbitration, before the results of the arbitration)
The original list that is passed is ordered and returned in place.
ArbitratePrecedence lstApplicablePriceFactorRecords, "p_factor_view", "Pass 1 These Price Factors Matched Initial Selection Criteria:"
6.5ApplyPriceFactors
Function
This routine finds and applies all Price Factors (contr_pr records that have already
been stored in the database and related to a Contract Line Item) by calculating
the Discount or Surcharge amount for each Price Factor and updating the Line
Item with that amount. It updates the contr_pr, contr_itm, contr_sched, and
contract records with updated totals.
Note that since the Contract, Contract Schedule(s), and Contract Line Item(s) are
updated in the database, any forms that are currently displaying them are out-ofdate, so they should refresh themselves or be sent a message to refresh
themselves. The global message glRefreshContractInfo, along with the Contract
ID, may be sent to forms 9133 (Contract Header) and 9136 (Contract Line Item)
to instruct them to refresh themselves, as follows:
Calling
Parameters
Values
Page 40 of 54
ApplyPriceFactors lContrItmObjid
6.6GetComponentParent
Function
Calling
Parameters
Values
Returned
This routine finds the "Component Parent" part_num/mod_level for a part number.
In other words, it checks to see if the given part number (identified by it's objid)
has a Parent part number in the 'Components List' hierarchy. The Parent Part is a
"Service Pricing Category" type of part.
Long the objid of the mod_level record for the Part.
The result of the function is the (long) objid of the Service Pricing
Category/Component Parent mod_level record, or, if there is no Service Pricing
Category/Component Parent, a zero.
Other returned fields are:
String - the name of the Service Pricing Category
String - the description Service Pricing Catgeory
Calling Notes
Example
6.7GetComponentPrice
Function
Calling
Parameters
Values
Returned
Calling Notes
Example
This routine finds the default Price of a Component (Child) Part for a specified
Service Price Category, Price Program, and Support Program.
Long the objid of the mod_level of the Service Pricing Category
String - the Service Pricing Category name
String the Price Program Name
String - the (string) Support Program ID
String - the date to use for determining which Price Factors apply. If blank,
the 'right now' time is used.
Double the default price value for the combination of Service Price
Category/ Price Program/ Support Program, for the supplied date.
Other returned fields are:
Integer the number of price values found:
if 0 (zero), no prices were found, and the function result is zero
if 1 (one), there is a single price, and the function result is that price
if 2 (two), there were more than one price records found; if this happens
the function result is zero since the program has no way to figure out
which one to use
String - the updated Service Pricing Category name
String - the updated description of the Service Pricing Category.
Either parameter 1 or 2 may be supplied - if the Service Pricing Category objid is
supplied it will be used, but if it is zero then the Service Pricing Category name
will be used. The results are the same in either case, and the code assumes that
you will supply one or the other.
dItemPrice = GetComponentPrice (lPriceCatModLevelObjid, sPriceCategory,
sPriceProgramName, sSupportPgm, "", iNumOfPricesFound, sPriceCategoryDesc)
6.8ComputeLineItemPrice
Tuesday, June 21, 2016
Page 41 of 54
Example
This routine finds all of the Site Parts that are covered by a Contract Line Item,
then re-computes their price, stores that price for the 'covered part' (x_covered
table), and applys the total price of all of those parts to the Line Item.
Long - the objid of the Contract Line Item record
String - the date to use for determining which Price Factors apply. If blank,
the 'right now' time is used.
None the Contract Line Item record is updated and saved in the database.
This routine only changes the Line Item 'Override Price', so this routine should
immediately be followed by calls to GetApplicablePriceFactors to get the
applicable Price Factors and ApplyPriceFactors to apply those Price Factors and
determine the net prices.
ComputeLineItemPrice lContrItmObjid, ""
6.9ComputeProratedPrice
Function
Calling
Parameters
Values
Returned
Calling Notes
Example
This routine computes the Prorated Price for a Line Item. It looks at the 'price' (or
the 'override price' if it is non-zero), and at the Line Item's 'Proration Type' field,
and calculates the Prorated Price (pro_prc). It also sets the "extn", "gross_prc",
and "rollup_prc".
Long - the objid of the Contract Line Item record
6.10 RoundToTwo
Function
Calling
Parameters
Values
Returned
Calling Notes
Example
This routine rounds a number to 2 decimal places (to the right of the decimal
point). It is used to help Clarify get the math right when it adds or multiples
numbers. For e example, it takes the currency value 12,234.6789 and returns
12,345.6800.
Currency the value that is to be rounded
Currency the new rounded value
Works on either positive or negative numbers
recContrItm.SetField "pro_prc", CStr(RoundToTwo(CCur(dProratedItemPrice *
recContrItm.GetField ("quantity"))))
The Revenue Site for the Contract (identified on the Contract Header tab)
The Site Price Group for that Revenue Site (identified on the Site Contracts tab)
The Sales Org for the Contract (identified on the Contract Header tab)
The Material for the Contract Line Item (identified by the Product field on the Contract
Line Item tab)
The Material Sub Group for that Material on the Contract Line Item (identified by the
Material Sub Group field on the Support Program form for the Support Program.
The Material Price Group for that Material on the Contract Line Item (identified by the
Material Price Group field on the Support Program form for the Support Program.
2) The system finds all of the Price Factors that previously existed for the Contract Line Item.
3) The system identified all of the Header Level Discount Price Factors that are defined for the
Contract.
4) All of the newly identified Automatic Price Factors are anded together to form a single group of
all the Automatic Price Factors that could be potentially applied to the Contract Line Item.
5) One by one, these potential Price Factors are examined to determine whether or not they meet
all of the matching criteria (as defined on the Apply Price Factors form). The matching criteria
are defined in the Sub-Conditions for the Condition for the Price Factor.
If a Price Factor does not meet all of the criteria, it is thrown out of the result set. If it meets all
criteria it is added to the list of Price Factors that meet all criteria (which is passed on to the
next step).
6) If any of the Automatic or Header Level Price Factors thus far identified are already in the list of
pre-existing Price Factors, they are removed from that list (so they wont duplicated later)
7) The Automatic or Header Level Price Factors thus far identified are merged with the list of preexisting Price Factors
8) Any Price Factors that have start and/or end dates which make the Price Factor invalid as of a
certain date (either todays date, by default, or a specified date) are removed from the result
set
9) An arbitration occurs to determine the final members of the set of Price Factors to be applied
and the order in which they should be applied (and some of the previously identified Price
Factors are thrown out of the result set; see the Price Factor Arbitration section, below).
If a Price Factor has the same High Order Precedence as the previous Price Factor in the list
and the same Low Order Precedence as the previous Price Factor in the list, then it will be
included in the result set (i.e., both of then will be included).
Page 43 of 54
If a Price Factor has the same High Order Precedence as the previous Price Factor in the list
but an inferior Low Order Precedence (i.e., a higher number) as the previous Price Factor in
the list, then it will not be included in the result set (i.e., only the superior Low Order
Precedence value (i.e., a lower number) will be included).
If a Price Factor has the same Low Order Precedence value of 0 (zero), then it is included in
the result set and no further Price Factors will be evaluated; the list is ended with the zero
Price Factor.
A Price Factor can be applied more than once; since such Price Factors have the same High
and Low Order Precedence values as each other, then neither will be thrown out; if the first
one is applied, the second (and subsequent) ones will be applied as well.
Examples:
List of Price
Factor (High
Order, Low
Order)
Precedences
10,10
10,20
20,10
20,20
10,10
10,10
10,20
20,10
20,20
10,10
10,10
10,20
20,0
20,10
30,10
30,20
Result Set
Explanation
10,10
20,10
10,10
10,10
20,10
10,10
10,10
20,0
Page 44 of 54
Legend
Database Relationships
Database References
Significantly Modified
Data Objects
"Revenue Site"
hgbst_elm
site
"Site Price Group" link, "Sales Org" link, "Material Sub Group" link,"Material Price Group" link
"Contract"
contract
"Price Schedule"
x_header_price_factor
price_prog
"Contract Schedule"
"Support Price"
contr_schedule
x_support_price
part_num
mod_level
contr_itm
part_num
x_prcfctr_condition
x_covered
(MTM)
contr_pr
part_num
"Price Factor"
mod_level
mod_level
"Site Part"
price_factor
site_part
"Materal" link
Obj.
Id
Object
Type
site_part
15
Table
contact
site
45
52
contract
86
Item
Data
Type
Table
Table
Field/
Relation/
Join
Field
Relation
Relation
Relation
Field
x_component_status
x_covrd_part2contr_itm
site_part2x_covered
x_contact2x_contract_role
x_site_price_group
Table
Relation
Relation
Relation
Field
x_ship_to_site2schedule
x_soldto2x_contract
x_soldto_site2x_price_factor
x_billable
String / 1
MTM
OTM
OTM
String /
20
OTM
OTM
MTM
String / 1
Field
x_non_bill_reason
Field
x_sales_region
Field
x_sales_org
String /
20
String /
20
String /
Field Contents/
Relation Target/
View Source
Temporary field
contr_itm
x_covered
x_contract_role
contr_schedule
contract
price_factor
Y or N, billable or
not
Non-billable reason
Sales Org value
Business Unit
Page 45 of 54
price_factor
contr_itm
contr_pr
Page 46 of 54
99
142
157
Table
Table
Table
20
Integer
String /
30
String /
200
String /
30
String /
15
Field
Field
x_bill_status
x_revision
Field
x_std_text
Field
x_mop_pin
Field
x_sapid
Field
x_taxable ???
Relation
Relation
Relation
x_contract2x_contract_role
x_contract2x_soldto
x_contract2header_pf
String /
20
OTM
MTO
OTM
Field
x_auto_or_manual
String / 1
Field
x_high_order
Integer
Field
x_low_order
Integer
Field
x_minimum_percent
Integer
Field
x_maximum_percent
Integer
Field
x_condition
String /
20
Field
x_use_as_header_level
String / 1
Field
x_temp
Integer
Relation
Relation
Relation
Relation
Relation
Relation
Relation
x_price_factor2spt_pgm
x_price_factor2soldto_site
x_price_factor2sales_org
x_price_factor2soldto_prcgrp
x_price_factor2mtrl_prcgrp
x_price_factor2mtrl_subgrp
x_price_factor2header_pf
MTM
MTM
MTM
MTM
MTM
MTM
OTM
Field
x_tpm
Field
x_response_time_string
Relation
Relation
Field
x_contr_itm2covrd_part
contr_itm2x_covered
x_auto_or_manual
String /
20
String /
30
MTM
OTM
String / 1
Field
x_high_order
Integer
Field
x_low_order
Integer
value
Contract revision ID
Standard text to be
sent to SAP
Method of Payment
- Pin Number
SAP contract id
created by sending
clarify contract to
SAP
Taxable field with
popup list
x_contract_role
site
x_header_price_fact
or
Whether Price
Factor is Automatic
or Manual; M or A
High order
precedence value
Low order
precedence value
Minimum
percentage value
Maximum
percentage value
Name of Condition
upon which this
Price Factor is
based
Indicates whether
the Price Factor can
be used as a
Header Level
Discount; 'Y' or 'N'
No permanent
value - needed for
Discount
processing.
part_num
site
hgbst_elm
hgbst_elm
hgbst_elm
hgbst_elm
x_header_price_fact
or
Third Party
Maintainer value
Response Time for
this Line ITem
site_part
x_covered
Whether Price
Factor is Automatic
or Manual; M or A
High order
precedence value
Low order
Tuesday, June 21, 2016
hgbst_elm
217
Table
price_prog
part_num
224
328
Table
Table
mod_level
329
Table
contr_pr_pf
426
View
x_contract_
role
new
2009
Table
x_covered
new
2010
Table
Field
x_minimum_percent
Integer
Field
x_maximum_percent
Integer
Field
x_condition
String /
20
Field
x_header_discount_id
Integer
Relation
Relation
Relation
Relation
Relation
Field
x_sales_org2price_factor
x_soldto_prcgrp2price_factor
x_mtrl_prcgrp2price_factor
x_mtrl_subgrp2price_factor
x_price_prog2support_price
x_part_price_group
Field
x_part_sub_price_group
MTM
MTM
MTM
MTM
OTM
String /
20
String /
20
Relation
x_spt_pgm2price_factor
MTM
Relation
x_spt_pgm2support_price
OTM
Relation
x_nmp_part2fru_part
MTM
Relation
x_fru_part2nmp_part
MTM
Relation
x_price_cat2support_price
OTM
Relation
x_price_cat2covered
OTM
Field
x_minimum_percent
Field
x_maximum_percent
Field
x_condition
Field
x_auto_or_manual
Field
x_high_order
Field
x_low_order
Field
x_header_discount_id
Indicates the role that a Contact plays for a Contract
Field
x_role_name
String /
80
Field
x_active
Integer
Field
Relation
Relation
x_access_id
x_contract_role2contract
x_contract_role2contact
String 40
MTO
MTO
precedence value
Minimum
percentage value
Maximum
percentage value
Name of Condition
upon which this
Price Factor is
based
Indicates whether
or not the Price
Factor was applied
as a Header Level
Discount; if not,
value is zero; if so,
value is the objid of
the the
x_header_price_fact
or which represents
it.
price_factor
price_factor
price_factor
price_factor
x_support_price
Price Group for the
Support Program
Sub-Price Group for
the Support
Program
price_factor
x_support_price
mod_level
mod_level
x_support_price
x_covered
price_factor
price_factor
price_factor
contr_pr
contr_pr
contr_pr
contr_pr
Name of role that
the Contact plays
for the Contract
Indicates whether
Active
Acccess ID
contract
contact
Holds the unit and extended (quantity) prices for a Site Parts
inclusion under a Contract Line Item.
Field
x_role
Field
x_configured_price
String /
20
Currency
Field
x_extended_price
Currency
x_contract_
role_view
x_purch_ord
_acct_view
new
4900
new
4901
View
x_covered2site_part
x_covered2contr_itm
x_covered2price_cat
x_first_name
View
Field
Field
Field
Field
Field
Field
Field
x_last_name
x_phone
x_e_mail
x_role_name
x_active
x_access_id
x_po_id
contact
contact
contact
x_contract_role
x_contract_role
x_contract_role
purchase_ord
View
Field
Field
Field
Field
x_org_id
x_org_name
x_contract_id
x_nmp_part_num
bus_org
bus_org
contract
part_num
x_nmp_description
x_fru_part_num
x_fru_description
modlevel_name
part_num
part_num
part_num
mod_level
NOT USED!
x_compone
nt_list_view
new
4902
MTO
MTO
MTO
configured prict)
site_part
contr_itm
mod_level
contact
Relation
Relation
Relation
Field
x_mp
new
4903
View
Field
Field
Field
Field
x_price_fact
or_part_vie
w
new
4904
View
Field
Field
part_id
x_part_no
mod_level
part_num
View
Field
Field
Field
Field
x_description
field x_price_factor_id
x_price_factor_name
site_id
part_num
price_factor
price_factor
site
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
site_name
serial_no
warranty_end
part_number
part_desc
part_domain
model_num
mod_level
active
part_line
part_family
part_type
part_status
p_standalone
p_as_parent
p_as_child
install_date
is_sppt_prog
site_part_qty
mod_eff_dt
mod_exp_date
sn_track
x_component_status
x_contract_id
x_contract_condition
x_contract_status
x_contract_end_date
x_level_to_part
site
site_part
site_part
part_num
part_num
part_num
part_num
mod_level
mod_level
part_num
part_num
part_num
part_num
part_num
part_num
part_num
site_part
part_num
site_part
mod_level
mod_level
part_num
site_part
contract
condition
gbst_elm
contract
site_part
x_c_install_
part
Page 48 of 54
new
4905
x_prcfctr_co
ndition
new
4906
new
4907
View
Table
Field
site_id
site
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
site_name
serial_no
warranty_end
part_number
part_desc
part_domain
model_num
mod_level
active
part_line
part_family
part_type
part_status
p_standalone
p_as_parent
p_as_child
install_date
is_sppt_prog
site_part_qty
mod_eff_dt
mod_exp_date
sn_track
x_component_status
x_contract_id
x_contract_condition
x_contract_status
x_contract_end_date
x_create_dt
x_line_no_txt
x_life_cycle_date
x_life_cycle_status
x_level_to_part
site
site_part
site_part
part_num
part_num
part_num
part_num
mod_level
mod_level
part_num
part_num
part_num
part_num
part_num
part_num
part_num
site_part
part_num
site_part
mod_level
mod_level
part_num
site_part
contract
condition
gbst_elm
contract
contract
contr_itm
part_num
part_num
site_part
Conditions are an objects upon which Price Factors are based. Each
Condition describes some of the basic data attribute values for a
Price Factor; then, when a Price Factor is created, it is based on a
Condition. This ensures that all Price Factors of the same type have
similar basic data and operate in the same way.
Conditions also set limits on the way that a Price Factor can be
applied to various Contract scenarios.
Field
x_name
Field
x_type
Field
Field
Field
Field
x_fxd_amt
x_pct
x_factor_base
x_auto_or_manual
String /
20
String /
40
Currency
Decimal
Integer
String / 1
Field
x_high_order
Integer
Field
x_low_order
Integer
Field
x_minimum_percent
Integer
Field
x_maximum_percent
Integer
Field
x_currency_name
String /
Condition name
Condition type
Fixed amount
Percentage
Factor base
Whether Price
Factor is Automatic
or Manual; M or A
High order
precedence value
Low order
precedence value
Minimum
percentage value
Maximum
percentage value
Name of currency
Page 49 of 54
x_support_p
rice
x_support_p
rice_view
x_priced_eq
Page 50 of 54
new
4908
new
4909
new
Table
View
View
20
String /
20
Field
x_sales_org_link
Field
x_sold_to_link
String /
20
Field
x_soldto_price_group_link
String /
20
Field
x_soldto_materials_link
String /
20
Relation
x_condition2sub_condition
OTM
x_price
Currency
Field
x_start_date
Date
Field
x_end_date
Date
Relation
Relation
Relation
Field
x_support_price2spt_pgm
x_support_price2price_cat
x_support_price2price_prog
x_price
MTO
MTO
MTO
Field
Field
Field
Field
x_start_date
x_end_date
x_support_program_part_nu
m
x_support_program_active
Field
x_support_program_part_flag
Field
x_price_category_part_num
Field
x_price_category_part_desc
Field
x_price_category_part_active
Field
Field
Field
Field
x_price_prog_name
x_currency_name
x_entitlement_category
site_id
x_header_p
rice_factor
x_hdr_price
_factor_vie
w
4910
New
4918
New
4919
Table
View
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
site_name
serial_no
warranty_end
x_site_part_part_number
x_site_part_description
x_site_part_part_domain
x_site_part_model_num
x_site_part_mod_level
x_site_part_active
x_site_part_part_line
x_site_part_part_family
x_site_part_part_type
x_site_part_part_status
x_site_part_p_standalone
x_site_part_p_as_parent
x_site_part_p_as_child
x_install_date
x_site_part_is_sppt_prog
x_site_part_qty
x_site_part_mod_eff_dt
x_site_part_mod_exp_dt
x_site_part_sn_track
site
site_part
site_part
part_num
part_num
part_num
part_num
mod_level
mod_level
part_num
part_num
part_num
part_num
part_num
part_num
part_num
site_part
part_num
site_part
mod_level
mod_level
part_num
Field
Field
Field
Field
Field
x_contract_id
x_contract_condition
x_contract_status
x_contract_end_date
x_pricing_category
Field
x_pricing_category_desc
Field
Field
Field
x_component_status
x_covered_configured_price
x_covered_extended_price
contract
condition
gbst_elm
contract
part_num (pricing
category)
part_num (pricing
category)
site_part
x_covered
x_covered
x_header_fxd_amt
Currency
Field
x_header_pct
Currency
Relation
Relation
Field
x_header_pf2contract
x_header_pf2price_factor
x_header_fxd_amt
MTO
MTO
Field
x_header_pct
Field
Field
Field
Field
Field
Field
Field
x_factor_id
x_name
x_description
x_type
x_start_date
x_end_date
x_precedence
Gives a fixed
currency amount
for the discount or
surcharge
The percentage to
be applied as a
discount or
surcharge
contract
price_factor
x_header_price_fact
or
x_header_price_fact
or
price_factor
price_factor
price_factor
price_factor
price_factor
price_factor
price_factor
Page 51 of 54
x_po_acct_v
iew
acct_site_vi
ew
qry_ccn_hdr
_view
Page 52 of 54
New
4922
Table
x_active
x_fixed_amt
x_percentage
x_factor_base
x_eligible_hdr
x_eligible_dtl
x_auto_or_manual
x_high_order
x_low_order
x_minimum_percent
x_maximum_percent
x_condition
x_contract_id
x_contract_title
price_factor
price_factor
price_factor
price_factor
price_factor
price_factor
price_factor
price_factor
price_factor
price_factor
price_factor
price_factor
contract
contract
x_precedence
Field
x_revenue_site
Field
x_site_price_group
Field
x_sales_org
Field
x_material
Field
x_material_sub_group
Field
x_material_price_group
View
Relation
Field
x_sub_condition2condition
x_org_id
5031
View
Field
Field
Field
Field
Field
x_org_name
x_contract_id
x_po_id
x_cond_title
x_site_price_group
Bus_org
Contract
Purchase_ord
conditoin
site
5050
View
Field
x_sales_org
contract
x_sales_region
contract
New
4990
MTO
The precedence
that will be
assigned to this
record.
The Requirements
for Revenue Sites
that meet this subCondition: must be
Yes or No.
The Requirements
for Site Price
Groups that meet
this sub-Condition:
must be Yes or No.
"The Requirements
for Sales Orgs that
meet this subCondition: must be
One or All or No.
The Requirements
for Material that
meet this subCondition: must be
Yes or No.
The Requirements
for Material Sub
Groups that meet
this sub-Condition:
must be Yes or No.
The Requirements
for Material Price
Groups that meet
this sub-Condition:
must be Yes or No.
x_prcfctr_condition
Bus_org
5051
Table
Field
x_tpm
period_amt
5056
Table
Relation
Field
x_schedule2ship_to_site
x_bill_prd_start_dt
String /
20
MTO
Date
Field
x_bill_prd_end_dt
Date
View
Field
x_auto_or_manual
site
The SAP-compatible
start date of the
billing period.
The SAP-compatible
end date of the
billing period.
price_factor
View
Field
Field
Field
Field
Field
Field
Field
x_high_order
x_low_order
x_minimum_percent
x_maximum_percent
x_condition
x_temp
x_quantity
price_factor
price_factor
price_factor
price_factor
price_factor
price_factor
site_part
Field
Field
Field
Join
x_component_status
x_part_number
x_description
mod_level.part_info2contr_it
m=
contr_itm.contr_itm2mod_lev
el
site_part
part_num
part_num
View
Field
x_tpm
contr_itm
View
Field
Field
Field
x_response_time
x_domain
x_level_to_part
contr_itm
part_num
site_part
x_life_cycle_date
x_life_cycle_status
x_part_price_group
x_part_sub_group
x_bill_prd_start_dt
part_num
part_num
part_num
part_num
period_amt
p_factor_vie
w
contr_sp_ch
k
Not used
supreceede
d by
x_contr_sp_
chk, 6091
contract_it
m_lst
c_install_pa
rt
5062
5063
5065
5097
c_sppt_ent
5099
View
c_sched_pd
_amt
5195
View
Field
Field
Field
Field
Field
pd_amt_line
5196
View
Field
Field
x_bill_prd_end_dt
x_bill_prd_start_dt
period_amt
period_amt
pd_amt_line
5197
View
Field
Field
x_bill_prd_end_dt
x_bill_prd_start_dt
period_amt
period_amt
x_contr_sp_
chk
new
6091
View
Field
Field
x_bill_prd_end_dt
line_no
period_amt
contr_itm
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
Field
parent_line_no
quote_sn
cancel_dt
auto_inst_ind
site_name
site_id
warranty_dt
serial_no
sched_id
sched_cancel_dt
contr_id
condtitle
x_quantity
x_component_status
contr_itm
contr_itm
contr_itm
contr_itm
site
site
site_part
site_part
contr_schedule
contr_schedule
contract
condition
site_part
site_part
Page 53 of 54
Page 54 of 54
x_part_number
x_description
part_num
prt_num