Skip to main content
insightsoftware Documentation insightsoftware Documentation
{%article.title%}
Published:
Was this article helpful?
0 out of 0 found this helpful

The Example Transfer Price Adjustments App

The Solutions Framework contains an example transfer price adjustments app, that is always up to date with the latest changes. Use this app to create an initial Transfer Price Adjustments app, or to compare an existing Transfer Price Adjustments app to the latest example.

To start configuration of the Transfer Price Adjustments app:

  1. Select the Design module.
  2. In the Apps category, expand Data Collection.
  3. Expand Data View Input.
  4. Expand Existing Apps.
  5. Click on Transfer Price Adjustments to open it.
  6. Click the Customize button.
  7. Click Save.

Modifying the transfer price adjustments app

Transfer Price Targets allows the user to calculate and/or manually adjust the transfer price operating margin for an item. These adjustments are applied to the related counter party on submission. Depending on the requirements of your transfer pricing solution you may change:

  • The initial user selections (in include additional dimensions)
  • The data area definition to use the selections made by the user
  • The orientation of view depending how the details, segments and controls dimensions are used in your solution
  • The dimensions that are selected by the user

See “Creating data view input apps” in the Longview Designer Guide for general information on configuring data view input apps.

Modify symbol selections for DETAILS, SEGMENTS and CONTROLS

If DETAILS is to be selected by the user, no changes are required. The user will be able to select a single leaf or parent symbol. If the target attribute is set for DETAILS, the available selections will be from within the hierarchy defined by the attribute. If the target attribute is not set, the available selections will be from DETAILS_Total. This can be changed in the Pre-selection section of the app.

SEGMENTS and CONTROLS are both not selectable by default and are rendered as slices in the input view.

To make one of these dimensions selectable:

  1. Add a new user selection and select the dimension
  2. Leave the available selections and default selection blank (these are set in Pre-selection)
  3. Check:
    1. Select required
    2. Allow leaf selection
    3. Allow parent selection

Pre-selection

This section checks that configuration is correct for using transfer price targets:

  • System attribute ASLTPEntityRoot specifies a valid symbol
  • System attributes ASLTPCounterParties and ASLTPOffsetAccounts are set to a valid list of symbols
  • System attributes ASLTPProfitabilityD3Target, ASLTPProfitabilityD5Target, and ASLTPProfitabilityD7Target are each set to valid symbol

Assuming the configuration is correct, the user will be prompted to select a time period, entity, and detail, in user selections.

In addition, the pre-selection uses the resolve lock spec code library to create a lock that excludes the counterparty offset accounts. You may want to modify this logic if there are additional accounts you wish excluded or make additional changes if there is a simpler way to lock only the accounts that should be locked.

Variables created in pre-selection and their use

Variable Type Use

ACCOUNTSExclude

RANGE

Used to specify accounts to exclude from the lock. By default, this is set to the list of offset accounts, but may be expanded to include accounts calculated by other means.

ACCOUNTSQuery

RANGE

Used to specify the accounts to lock. By default, this is LTP_OP#99. Depending on your structure you may want to modify this.

ltpTargets

STRING

Used to define the targets available for calculating transfer price adjustments. If you are not using the minimum/maximum acceptable targets, remove them. These values are used to set the radio button values in the LeafGoalSeekOptions and ParentGoalSeekOptions forms.

ltpTargetsText

STRING

Used to define the targets available for calculating transfer price adjustments. If you are not using the minimum/maximum acceptable targets, remove them. These values are used to set the radio button text in the LeafGoalSeekOptions and ParentGoalSeekOptions forms.

sActualElement

STRING

The name of the ELEMENTS symbol that holds actual data for the current period. Derived from the system attribute ASLTPProfitabilityActualTarget. Used to determine the element to calculate when applying the transfer price adjustment retrospectively.

sFcstElement

STRING

The name of the ELEMENTS symbol that holds forecast data for the current period. Derived from the system attribute ASLTPProfitabilityFcstTarget. Used to determine the element to calculate when applying the transfer price adjustment prospectively.

sFullYearElement

STRING

The name of the ELEMENTS symbol that represents the full year forecast. This is the parent of the actual and forecast elements. Used to define the data area definition and view.

statusUnaccept

STRING

Used to apply the adjustment calculation only to instances where the status is Unacceptable. Set to “” or “Unacceptable” based on the selection in the ParentGoalSeekOptions form.

target

STRING

Used to specify the target to use when calculating the transfer price adjustment. Set via the LeafGoalSeekOptions or ParentGoalSeekOptions form.

Default is LTP_Target

targetElement

STRING

Used to specify the elements calculated for transfer price adjustments. This could be the actuals element, the forecast element or both.  Set via the LeafGoalSeekOptions or ParentGoalSeekOptions form.

Default is forecast element.

unacceptable

NUM

A flag that indicates whether a parent level calculation should only apply to instances where the status is Unacceptable.

User and Attribute Selections

User selections are enabled for time, entities, and details. Attribute selection is enabled for currency, based on the entity selected by the user.

Post-selection

The post selection creates and sets the templateName variable. This variable is used to set the lock and user submission description.

It also sets the CORE_TIMEPER dimension to the selected time period. This variable is used as part of the code library that transfers the transfer price targets into the input view for display and calculation.

Data Area Definitions

The app contains a data area definition to display the profitability analysis for the selected items and a data area definition to specify the area that is locked and thus editable by the user. The only difference in the two definitions is in the accounts.

Each definition uses:

  • the time period and entity selected by the user
  • the functional currency of the selected entity
  • the actual and forecast elements
  • Depending on the configuration:
    • The detail selected by the user, if user selections are enabled for DETAILS, or the symbol defined by system attribute ASLTPProfitabilityD3Target, or DETAILS_Total, if the attribute is not set
    • The segment selected by the user, if user selections are enabled for SEGMENTS, or the symbol defined by system attribute ASLTPProfitabilityD5Target, or SEGMENTS_Total, if the attribute is not set
    • The control selected by the user, if user selections are enabled for CONTROLS, or the symbol defined by system attribute ASLTPProfitabilityD7Target, or CONTROLS_Total, if the attribute is not set

Data Views

A single view is included the app. The default layout is:

ROWS: Accounts

COLUMNS: ELEMENTS, DETAILS

SLICE: SEGMENTS, CONTROLS

The layout should be modified to best suit how you are using the dimensions in your implementation.

The additional configuration section contains functions to:

  • Define the layout of the accounts dimension, including separators and protection
  • Define the decimals displayed (by account)
  • Enforce numeric input only
  • Filter values that are 0 for display purposes
  • Apply conditional styling to the status results

View Actions

View actions are used to add additional user capabilities to an input app. For transfer price adjustments there are two actions defined:

  • GoalSeek
    • Allows the user to calculate a transfer price adjustment to bring the results in line with the selected target (min or max acceptable, min or max target, or target)
    • This can be applied at a leaf level (in all dimensions) or at a parent level (one or more dimensions)
    • In this case there is an additional option to apply the adjustment on only intersections where the unadjusted status in “Unacceptable”
    • The parent level adjustment is applied if either the DETAILS, SEGMENTS or CONTROLS symbol is a parent
  • CounterpartyAdjustment
    • Allows the user to view via right-click context menu the source of any counterparty adjustment values

Calculations

Calculations are models that are applied to the data area at different points in the execution. Transfer price adjustments includes the following calculations:

  • Refresh: Is executed by post-refresh to:
    • Transfer the targets into the data area
    • Set the status
  • LeafAdjustment: is executed when the user requests a transfer price adjustment calculation on a leaf intersection (defined by DETAILS, SEGMENTS and CONTROLS).
  • ParentAdjustment: is executed when the user requests a transfer price adjustment calculation on a parent intersection (defined by DETAILS, SEGMENTS and CONTROLS).
  • DynamicRefresh: is executed as data is manually entered by the user to update metrics and status
  • GoalSeekRefresh: is executed by GoalSeek action to refresh revised metrics, variances and statuses after an adjustment is calculated

Forms

Forms are used to collect input from a user that is not directly entered into the data grid. Forms in Transfer Price Adjustments are used to allow the user to determine the settings applied to the GoalSeek action.

  • LeafGoalSeekOptions: presented to the user when the target is a leaf cell
    • Displays the target
    • Allows the user to select:
    • The elements to which the calculation is applied
    • The target used for the calculation
  • ParentGoalSeekOptions: presented to the user when the target is a parent cell
    • Displays the target
    • Allows the user to select:
    • The elements to which the calculation is applied
    • The target used for the calculation
    • To apply the calculation only to intersections where the status is “Unacceptable”

Instructions

Displayed in the instructions tab of the data grid. Instructions are intended as a quick overview of the app and not a replacement for documentation.

Publishing the transfer price adjustments app

The transfer price adjustments app should be published to the Targets and Adjustments category.

To publish the transfer price adjustmentsapp:

  1. Select the Design module.
  2. In the Administration category, select Apps Publisher.
  3. From the list of Apps, select Transfer Price adjustments.
  4. From the list of User Groups, select the user groups that will require access to the transfer price adjustments app.
  5. From the list of Categories, select LTPRDC01 - Targets and Adjustments.
  6. The app should now be accessible from the Data Collection category of the Transfer Pricing module.

Published:

The Example Transfer Price Adjustments App

The Solutions Framework contains an example transfer price adjustments app, that is always up to date with the latest changes. Use this app to create an initial Transfer Price Adjustments app, or to compare an existing Transfer Price Adjustments app to the latest example.

To start configuration of the Transfer Price Adjustments app:

  1. Select the Design module.
  2. In the Apps category, expand Data Collection.
  3. Expand Data View Input.
  4. Expand Existing Apps.
  5. Click on Transfer Price Adjustments to open it.
  6. Click the Customize button.
  7. Click Save.

Modifying the transfer price adjustments app

Transfer Price Targets allows the user to calculate and/or manually adjust the transfer price operating margin for an item. These adjustments are applied to the related counter party on submission. Depending on the requirements of your transfer pricing solution you may change:

  • The initial user selections (in include additional dimensions)
  • The data area definition to use the selections made by the user
  • The orientation of view depending how the details, segments and controls dimensions are used in your solution
  • The dimensions that are selected by the user

See “Creating data view input apps” in the Longview Designer Guide for general information on configuring data view input apps.

Modify symbol selections for DETAILS, SEGMENTS and CONTROLS

If DETAILS is to be selected by the user, no changes are required. The user will be able to select a single leaf or parent symbol. If the target attribute is set for DETAILS, the available selections will be from within the hierarchy defined by the attribute. If the target attribute is not set, the available selections will be from DETAILS_Total. This can be changed in the Pre-selection section of the app.

SEGMENTS and CONTROLS are both not selectable by default and are rendered as slices in the input view.

To make one of these dimensions selectable:

  1. Add a new user selection and select the dimension
  2. Leave the available selections and default selection blank (these are set in Pre-selection)
  3. Check:
    1. Select required
    2. Allow leaf selection
    3. Allow parent selection

Pre-selection

This section checks that configuration is correct for using transfer price targets:

  • System attribute ASLTPEntityRoot specifies a valid symbol
  • System attributes ASLTPCounterParties and ASLTPOffsetAccounts are set to a valid list of symbols
  • System attributes ASLTPProfitabilityD3Target, ASLTPProfitabilityD5Target, and ASLTPProfitabilityD7Target are each set to valid symbol

Assuming the configuration is correct, the user will be prompted to select a time period, entity, and detail, in user selections.

In addition, the pre-selection uses the resolve lock spec code library to create a lock that excludes the counterparty offset accounts. You may want to modify this logic if there are additional accounts you wish excluded or make additional changes if there is a simpler way to lock only the accounts that should be locked.

Variables created in pre-selection and their use

Variable Type Use

ACCOUNTSExclude

RANGE

Used to specify accounts to exclude from the lock. By default, this is set to the list of offset accounts, but may be expanded to include accounts calculated by other means.

ACCOUNTSQuery

RANGE

Used to specify the accounts to lock. By default, this is LTP_OP#99. Depending on your structure you may want to modify this.

ltpTargets

STRING

Used to define the targets available for calculating transfer price adjustments. If you are not using the minimum/maximum acceptable targets, remove them. These values are used to set the radio button values in the LeafGoalSeekOptions and ParentGoalSeekOptions forms.

ltpTargetsText

STRING

Used to define the targets available for calculating transfer price adjustments. If you are not using the minimum/maximum acceptable targets, remove them. These values are used to set the radio button text in the LeafGoalSeekOptions and ParentGoalSeekOptions forms.

sActualElement

STRING

The name of the ELEMENTS symbol that holds actual data for the current period. Derived from the system attribute ASLTPProfitabilityActualTarget. Used to determine the element to calculate when applying the transfer price adjustment retrospectively.

sFcstElement

STRING

The name of the ELEMENTS symbol that holds forecast data for the current period. Derived from the system attribute ASLTPProfitabilityFcstTarget. Used to determine the element to calculate when applying the transfer price adjustment prospectively.

sFullYearElement

STRING

The name of the ELEMENTS symbol that represents the full year forecast. This is the parent of the actual and forecast elements. Used to define the data area definition and view.

statusUnaccept

STRING

Used to apply the adjustment calculation only to instances where the status is Unacceptable. Set to “” or “Unacceptable” based on the selection in the ParentGoalSeekOptions form.

target

STRING

Used to specify the target to use when calculating the transfer price adjustment. Set via the LeafGoalSeekOptions or ParentGoalSeekOptions form.

Default is LTP_Target

targetElement

STRING

Used to specify the elements calculated for transfer price adjustments. This could be the actuals element, the forecast element or both.  Set via the LeafGoalSeekOptions or ParentGoalSeekOptions form.

Default is forecast element.

unacceptable

NUM

A flag that indicates whether a parent level calculation should only apply to instances where the status is Unacceptable.

User and Attribute Selections

User selections are enabled for time, entities, and details. Attribute selection is enabled for currency, based on the entity selected by the user.

Post-selection

The post selection creates and sets the templateName variable. This variable is used to set the lock and user submission description.

It also sets the CORE_TIMEPER dimension to the selected time period. This variable is used as part of the code library that transfers the transfer price targets into the input view for display and calculation.

Data Area Definitions

The app contains a data area definition to display the profitability analysis for the selected items and a data area definition to specify the area that is locked and thus editable by the user. The only difference in the two definitions is in the accounts.

Each definition uses:

  • the time period and entity selected by the user
  • the functional currency of the selected entity
  • the actual and forecast elements
  • Depending on the configuration:
    • The detail selected by the user, if user selections are enabled for DETAILS, or the symbol defined by system attribute ASLTPProfitabilityD3Target, or DETAILS_Total, if the attribute is not set
    • The segment selected by the user, if user selections are enabled for SEGMENTS, or the symbol defined by system attribute ASLTPProfitabilityD5Target, or SEGMENTS_Total, if the attribute is not set
    • The control selected by the user, if user selections are enabled for CONTROLS, or the symbol defined by system attribute ASLTPProfitabilityD7Target, or CONTROLS_Total, if the attribute is not set

Data Views

A single view is included the app. The default layout is:

ROWS: Accounts

COLUMNS: ELEMENTS, DETAILS

SLICE: SEGMENTS, CONTROLS

The layout should be modified to best suit how you are using the dimensions in your implementation.

The additional configuration section contains functions to:

  • Define the layout of the accounts dimension, including separators and protection
  • Define the decimals displayed (by account)
  • Enforce numeric input only
  • Filter values that are 0 for display purposes
  • Apply conditional styling to the status results

View Actions

View actions are used to add additional user capabilities to an input app. For transfer price adjustments there are two actions defined:

  • GoalSeek
    • Allows the user to calculate a transfer price adjustment to bring the results in line with the selected target (min or max acceptable, min or max target, or target)
    • This can be applied at a leaf level (in all dimensions) or at a parent level (one or more dimensions)
    • In this case there is an additional option to apply the adjustment on only intersections where the unadjusted status in “Unacceptable”
    • The parent level adjustment is applied if either the DETAILS, SEGMENTS or CONTROLS symbol is a parent
  • CounterpartyAdjustment
    • Allows the user to view via right-click context menu the source of any counterparty adjustment values

Calculations

Calculations are models that are applied to the data area at different points in the execution. Transfer price adjustments includes the following calculations:

  • Refresh: Is executed by post-refresh to:
    • Transfer the targets into the data area
    • Set the status
  • LeafAdjustment: is executed when the user requests a transfer price adjustment calculation on a leaf intersection (defined by DETAILS, SEGMENTS and CONTROLS).
  • ParentAdjustment: is executed when the user requests a transfer price adjustment calculation on a parent intersection (defined by DETAILS, SEGMENTS and CONTROLS).
  • DynamicRefresh: is executed as data is manually entered by the user to update metrics and status
  • GoalSeekRefresh: is executed by GoalSeek action to refresh revised metrics, variances and statuses after an adjustment is calculated

Forms

Forms are used to collect input from a user that is not directly entered into the data grid. Forms in Transfer Price Adjustments are used to allow the user to determine the settings applied to the GoalSeek action.

  • LeafGoalSeekOptions: presented to the user when the target is a leaf cell
    • Displays the target
    • Allows the user to select:
    • The elements to which the calculation is applied
    • The target used for the calculation
  • ParentGoalSeekOptions: presented to the user when the target is a parent cell
    • Displays the target
    • Allows the user to select:
    • The elements to which the calculation is applied
    • The target used for the calculation
    • To apply the calculation only to intersections where the status is “Unacceptable”

Instructions

Displayed in the instructions tab of the data grid. Instructions are intended as a quick overview of the app and not a replacement for documentation.

Publishing the transfer price adjustments app

The transfer price adjustments app should be published to the Targets and Adjustments category.

To publish the transfer price adjustmentsapp:

  1. Select the Design module.
  2. In the Administration category, select Apps Publisher.
  3. From the list of Apps, select Transfer Price adjustments.
  4. From the list of User Groups, select the user groups that will require access to the transfer price adjustments app.
  5. From the list of Categories, select LTPRDC01 - Targets and Adjustments.
  6. The app should now be accessible from the Data Collection category of the Transfer Pricing module.

For an optimal Community experience, Please view on Desktop