C_FinancialTransactionNPVTP
Financial Transaction Net Present Value
C_FinancialTransactionNPVTP is a Consumption CDS View that provides data about "Financial Transaction Net Present Value" in SAP S/4HANA. It reads from 1 data source (R_FinancialTransactionNPVTP) and exposes 36 fields with key fields CompanyCode, FinancialTransaction, FinancialTransactionNPVType, NetPresentValueValidityDate. It is exposed through 1 OData service (UI_FINTRANSACTIONNPV_MNG). It is used in 1 Fiori application: Manage Net Present Values. Part of development package FTR_NPV_IMPL.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| R_FinancialTransactionNPVTP | R_FinancialTransactionNPVTP | projection |
Annotations (14)
| Name | Value | Level | Field |
|---|---|---|---|
| EndUserText.label | Financial Transaction Net Present Value | view | |
| AccessControl.authorizationCheck | #MANDATORY | view | |
| Metadata.allowExtensions | true | view | |
| Search.searchable | true | view | |
| VDM.viewType | #CONSUMPTION | view | |
| Metadata.ignorePropagatedAnnotations | true | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.sizeCategory | #M | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| AbapCatalog.extensibility.extensible | true | view | |
| AbapCatalog.extensibility.elementSuffix | NEX | view | |
| AbapCatalog.extensibility.quota.maximumFields | 200 | view | |
| AbapCatalog.extensibility.quota.maximumBytes | 20000 | view | |
| AccessControl.personalData.blocking | #NOT_REQUIRED | view |
OData Services (1)
| Service | Binding | Version | Contract | Release |
|---|---|---|---|---|
| UI_FINTRANSACTIONNPV_MNG | UI_FINTRANSACTIONNPV_MNG | V2 | C1 | NOT_TO_BE_RELEASED_STABLE |
Fiori Apps (1)
| App ID | App Name | Type | Description |
|---|---|---|---|
| F7601 | Manage Net Present Values | Transactional | With this app, you can manage your net present values. |
Manage Net Present Values
Business Role: Treasury Specialist - Back Office
With this app, you can manually enter net present values (NPVs) of financial transactions as well as display, change, and delete existing NPVs in the NPV table. The NPV of a financial transaction is the calculated value of a financial transaction on a specific date based on market data. Which calculation method is applied depends on the type of financial transaction. For most transactions, the NPV is determined by discounting the future cash flows. However, different calculation methods are used for options. The NPV calculation of financial transactions is a method of determining the fair value of a financial transaction on a specific date as required by accounting principles. The NPVs in the NPV table are either externally calculated NPVs that have been entered manually or via an API into the NPV table or NPVs that have been calculated by the system using the Calculate Net Present Values - With CVA and DVA app.
Key Features: Display Net Present Value Data The app displays the NPV data of financial transactions that are stored in the NPV table. The app provides an overview list of the NPV data selected as well as navigation to the details page for each entry in the NPV overview table. Detail Log For NPV data calculated by the system (using the Calculate Net Present Values - With CVA and DVA app), the app provides the Detail Log. The Detail Log shows calculation details and results as well as the calculation parameters and market data values (such as Evaluation Type, FX Rates, Yield Curves, Credit Spreads) that are used to calculate the NPV key figures and components. Display Transaction Details You can use the Transaction Details button to jump to the financial transaction for which the NPV data has been entered. Enter Net Present Value Data Choose the Create button to enter the NPV data for a financial transaction. Enter the header data: Choose the financial transaction using the value help available for the Transaction field. The value help provides several fields, such as Company Code, Product Type, Transaction Type, Counterparty, Created By, and Created On, as filters for selecting the financial transaction. After you choose a transaction, the Company Code field is filled automatically. Choose the price/NPV type. Enter the effective-from date. If you want to enter different NPVs for a financial transaction on the same date, you must enter them with different price/NPV types. Enter the NPV details. When you enter the NPV data manually for a financial transaction, the system validates the data entered: If either the CVA or the DVA field is filled for the NPV of a financial transaction, the NPV key figures must satisfy the following formula: NPV = risk-free NPV – CVA – DVA NPV data for options If the intrinsic value or time value is entered, the NPV key figures must satisfy the following formula: NPV = intrinsic value + time value Note To speed up data entry, you can use the Copy function. Change Net Present Values You can change the NPV data entered. Delete Net Present Values You can delete NPV data. Change Documents The creation of NPVs, changes made to NPV data, and the deletion of a data record from the NPV table are documented in the change documents for change document object FTR_NPV Manage Net Present Values. You can see change documents on the Change History tab. For the change type Insert, only the user who created the NPV data record and the date and time when it was created are stored in the change document. Change documents for the change type Change store the fields in which a change was made, the new and old values of those fields, the user who made the change, and the date and time of the change. Note To display change documents for the change type Delete (Single-Field Documentation) for deleted NPV records, use the Display Change Documents app. You can also add additional columns to the table using the Settings button. From the list, you can select additional fields, such as Table Name or Change Document Number, that you want to be shown in the table. If not all chosen columns are visible, you can use the Show More per Row button to display all details. You can switch back to the default view using the Show Less per Row button. Note Change documents are written in the system time zone. On the Change History tab, the system converts the times into the time zone of the user in accordance with their SAP Fiori launchpad settings. You can display the change documents using the Display Change Documents app. For more information, see also Show Change Documents.
Fields (36)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | CompanyCode | CompanyCode | ||
| KEY | FinancialTransaction | FinancialTransaction | ||
| KEY | FinancialTransactionNPVType | FinancialTransactionNPVType | ||
| KEY | NetPresentValueValidityDate | NetPresentValueValidityDate | ||
| CompanyCodeName | _CompanyCode | CompanyCodeName | ||
| FinancialTransactionNPVTypeTxtlocalized | ||||
| NetPresentValueCurrency | NetPresentValueCurrency | |||
| NetPresentValueAmountInNPVCrcy | NetPresentValueAmountInNPVCrcy | |||
| IntrinsicValueAmountInNPVCrcy | IntrinsicValueAmountInNPVCrcy | |||
| TimeValueAmountInNPVCrcy | TimeValueAmountInNPVCrcy | |||
| CleanPriceAmountInNPVCrcy | CleanPriceAmountInNPVCrcy | |||
| IncomingNPVAmountInNPVCrcy | IncomingNPVAmountInNPVCrcy | |||
| OutgoingNPVAmountInNPVCrcy | OutgoingNPVAmountInNPVCrcy | |||
| RiskFreeNPVAmountInNPVCrcy | RiskFreeNPVAmountInNPVCrcy | |||
| CreditValueAdjmtAmtInNPVCrcy | CreditValueAdjmtAmtInNPVCrcy | |||
| DebitValueAdjmtAmtInNPVCrcy | DebitValueAdjmtAmtInNPVCrcy | |||
| CreatedByUser | CreatedByUser | |||
| CreatedByUserDescription | _UserCreate | UserDescription | ||
| CreationTransactionCode | CreationTransactionCode | |||
| FinTransNPVCreationDateTime | FinTransNPVCreationDateTime | |||
| LastChangedByUser | LastChangedByUser | |||
| LastChangedByUserDescription | _UserLastChange | UserDescription | ||
| ChangeTransactionCode | ChangeTransactionCode | |||
| FinTransNPVChangeDateTime | FinTransNPVChangeDateTime | |||
| FinTransNPVLastChangeDateTime | FinTransNPVLastChangeDateTime | |||
| FinTransNPVCalculationLogUUID | FinTransNPVCalculationLogUUID | |||
| Counterparty | _FinancialTransaction | Counterparty | ||
| BusinessPartnerName | ||||
| FinancialInstrumentProductType | _FinancialTransaction | FinancialInstrumentProductType | ||
| FinancialInstrProdTypeNamelocalized | ||||
| TermEndDate | ||||
| FinancialInstrumentStatus | _FinancialTransaction | FinancialInstrumentStatus | ||
| FinancialInstrumentStatusNamelocalized | ||||
| _CompanyCode | _CompanyCode | |||
| _FinancialTransaction | _FinancialTransaction | |||
| _NPVType | _NPVType |
@EndUserText.label: 'Financial Transaction Net Present Value'
@AccessControl.authorizationCheck: #MANDATORY
@Metadata.allowExtensions: true
@Search.searchable: true
@VDM : { viewType: #CONSUMPTION,
usage.type: [ #TRANSACTIONAL_PROCESSING_SERVICE ] }
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel: {
semanticKey: [ 'CompanyCode', 'FinancialTransaction', 'FinancialTransactionNPVType', 'NetPresentValueValidityDate' ],
usageType: {
serviceQuality: #C,
sizeCategory: #M,
dataClass: #TRANSACTIONAL
}
}
@AbapCatalog.extensibility: {
extensible: true,
elementSuffix: 'NEX',
dataSources: ['FinancialTransactionNPV'],
quota: {
maximumFields: 200,
maximumBytes: 20000
}
}
@AbapCatalog.extensibility.allowNewCompositions
@AccessControl.personalData.blocking: #NOT_REQUIRED
define root view entity C_FinancialTransactionNPVTP
provider contract transactional_query
as projection on R_FinancialTransactionNPVTP as FinancialTransactionNPV
{
@Search.defaultSearchElement: true
@Search.fuzzinessThreshold: 0.8
@Search.ranking: #HIGH
@ObjectModel.text.element: [ 'CompanyCodeName' ]
@Consumption.valueHelpDefinition: [{ entity : { name: 'I_CompanyCodeStdVH', element : 'CompanyCode' }, useForValidation: true }]
key CompanyCode,
@Search.defaultSearchElement: true
@Search.fuzzinessThreshold: 0.8
@Search.ranking: #HIGH
@Consumption.valueHelpDefinition: [{ entity : { name: 'I_FinancialTransactionStdVH', element : 'FinancialTransaction' },
additionalBinding: [{ element: 'CompanyCode', localElement: 'CompanyCode' }] }]
key FinancialTransaction,
@Search.defaultSearchElement: true
@Search.fuzzinessThreshold: 0.8
@Search.ranking: #HIGH
@ObjectModel.text.element: [ 'FinancialTransactionNPVTypeTxt' ]
@UI.textArrangement: #TEXT_LAST
@Consumption.valueHelpDefinition: [{ entity : { name: 'I_FinancialTransactionNPVType', element : 'FinancialTransactionNPVType' } }]
key FinancialTransactionNPVType,
@Search.defaultSearchElement: true
// @Search.fuzzinessThreshold: 0.8
@Search.ranking: #HIGH
key NetPresentValueValidityDate,
@Semantics.text: true
_CompanyCode.CompanyCodeName,
@Semantics.text: true
_NPVType._Text.FinancialTransactionNPVTypeTxt : localized,
@Semantics.currencyCode: true
@Consumption.valueHelpDefinition: [{ entity: {name: 'I_CurrencyStdVH',
element: 'Currency'} }]
NetPresentValueCurrency,
@Semantics.amount.currencyCode : 'NetPresentValueCurrency'
NetPresentValueAmountInNPVCrcy,
@Semantics.amount.currencyCode : 'NetPresentValueCurrency'
IntrinsicValueAmountInNPVCrcy,
@Semantics.amount.currencyCode : 'NetPresentValueCurrency'
TimeValueAmountInNPVCrcy,
@Semantics.amount.currencyCode : 'NetPresentValueCurrency'
CleanPriceAmountInNPVCrcy,
@Semantics.amount.currencyCode : 'NetPresentValueCurrency'
IncomingNPVAmountInNPVCrcy,
@Semantics.amount.currencyCode : 'NetPresentValueCurrency'
OutgoingNPVAmountInNPVCrcy,
@Semantics.amount.currencyCode : 'NetPresentValueCurrency'
RiskFreeNPVAmountInNPVCrcy,
@Semantics.amount.currencyCode : 'NetPresentValueCurrency'
CreditValueAdjmtAmtInNPVCrcy,
@Semantics.amount.currencyCode : 'NetPresentValueCurrency'
DebitValueAdjmtAmtInNPVCrcy,
@UI.textArrangement: #TEXT_ONLY
@ObjectModel.text.element: ['CreatedByUserDescription']
@Semantics.user.createdBy: true
@Consumption.valueHelpDefinition: [ { entity: { name: 'I_BusinessUserVH', element: 'UserID' } } ]
CreatedByUser,
@Semantics.text: true
@UI.hidden: true
_UserCreate.UserDescription as CreatedByUserDescription,
CreationTransactionCode,
@Semantics.systemDate.createdAt: true
FinTransNPVCreationDateTime,
@UI.textArrangement: #TEXT_ONLY
@ObjectModel.text.element: ['LastChangedByUserDescription']
@Consumption.valueHelpDefinition: [ { entity: { name: 'I_BusinessUserVH', element: 'UserID' } } ]
LastChangedByUser,
@Semantics.text: true
@UI.hidden: true
_UserLastChange.UserDescription as LastChangedByUserDescription,
ChangeTransactionCode,
@Semantics.systemDate.lastChangedAt: true
FinTransNPVChangeDateTime,
@Semantics.systemDateTime.lastChangedAt: true
@UI.hidden: true
FinTransNPVLastChangeDateTime,
@UI.hidden: true
FinTransNPVCalculationLogUUID,
@UI.hidden: true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_FTR_NPV_ACTION_CONTROL'
virtual FinTransNPVCalcLogIsVisible :abap_boolean,
//financial transaction fields
@ObjectModel.text.element: ['BusinessPartnerName']
@UI.textArrangement: #TEXT_LAST
@Consumption.valueHelpDefinition: [{entity :{ name: 'I_FinTransacCounterPartyStdVH',element: 'BusinessPartner'} }]
_FinancialTransaction.Counterparty,
@Semantics.text: true
cast( _FinancialTransaction._Counterparty.BusinessPartnerName as ftr_npv_business_partner_name preserving type ) as BusinessPartnerName,
@UI.textArrangement: #TEXT_LAST
@ObjectModel.text.element: ['FinancialInstrProdTypeName']
@Consumption.valueHelpDefinition: [{entity :{ name: 'I_FinInstrProdTypeValueHelp', element: 'FinancialInstrumentProductType' } }]
_FinancialTransaction.FinancialInstrumentProductType,
@Semantics.text: true
_FinancialTransaction._FinancialInstrProdType._Text.FinancialInstrProdTypeName : localized,
_FinancialTransaction._CurrentActivity.TermEndDate,
@UI.textArrangement: #TEXT_ONLY
@ObjectModel.text.element: ['FinancialInstrumentStatusName']
@Consumption.valueHelpDefinition: [{ entity: { name : 'I_FinInstrumentStatus', element: 'FinancialInstrumentStatus' } }]
_FinancialTransaction.FinancialInstrumentStatus,
@Semantics.text: true
_FinancialTransaction._Status._Text.FinancialInstrumentStatusName : localized,
/* Associations */
_CompanyCode,
_FinancialTransaction,
_NPVType
}
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA