C_FinancialTransactionNPVTP

DDL: C_FINANCIALTRANSACTIONNPVTP Type: view_entity CONSUMPTION Package: FTR_NPV_IMPL

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)

SourceAliasJoin Type
R_FinancialTransactionNPVTP R_FinancialTransactionNPVTP projection

Annotations (14)

NameValueLevelField
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)

ServiceBindingVersionContractRelease
UI_FINTRANSACTIONNPV_MNG UI_FINTRANSACTIONNPV_MNG V2 C1 NOT_TO_BE_RELEASED_STABLE

Fiori Apps (1)

App IDApp NameTypeDescription
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)

KeyFieldSource TableSource FieldDescription
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
}