@VDM: {
lifecycle.contract.type: #SAP_INTERNAL_API,
viewType: #TRANSACTIONAL
}
@AccessControl: {
authorizationCheck: #CHECK,
personalData.blocking: #('TRANSACTIONAL_DATA')
}
@ObjectModel: {
usageType: {
dataClass: #TRANSACTIONAL,
serviceQuality: #C,
sizeCategory: #XL
}
}
@ObjectModel.semanticKey: ['SalesContract', 'PricingProcedureStep', 'PricingProcedureCounter']
@Metadata.ignorePropagatedAnnotations: true
@EndUserText.label: 'Pricing Elemnt for Sls Contr - TP'
define view entity R_SlsContrPricingElementTP
as select from I_SalesContractPricingElement as SalesContractPrcgElmnt
association to parent R_SalesContractTP as _SalesContract on $projection.SalesContract = _SalesContract.SalesContract
{
key SalesContractPrcgElmnt.SalesContract,
key SalesContractPrcgElmnt.PricingProcedureStep,
key SalesContractPrcgElmnt.PricingProcedureCounter,
@ObjectModel.foreignKey.association: '_ConditionApplication'
SalesContractPrcgElmnt.ConditionApplication,
@ObjectModel.foreignKey.association: '_PricingConditionType'
SalesContractPrcgElmnt.ConditionType,
SalesContractPrcgElmnt._PricingConditionType._Text_2[1: Language=$session.system_language].ConditionTypeName as ConditionTypeName,
SalesContractPrcgElmnt.ConditionCalculationType,
@Semantics.amount.currencyCode: 'ConditionCurrency'
@OData.v2.amount.noDecimalShift: true
SalesContractPrcgElmnt.ConditionRateAmount,
@Semantics.quantity.unitOfMeasure: 'ConditionRateRatioUnit'
SalesContractPrcgElmnt.ConditionRateRatio,
@Semantics.amount.currencyCode: 'TransactionCurrency'
@OData.v2.amount.noDecimalShift: true
SalesContractPrcgElmnt.ConditionBaseAmount,
@Semantics.quantity.unitOfMeasure: 'ConditionQuantityUnit'
SalesContractPrcgElmnt.ConditionBaseQuantity,
@Semantics.quantity.unitOfMeasure: 'ConditionQuantityUnit'
SalesContractPrcgElmnt.ConditionQuantity,
@Semantics.amount.currencyCode: 'TransactionCurrency'
SalesContractPrcgElmnt.ConditionAmount,
@ObjectModel.foreignKey.association: '_ConditionCurrency'
SalesContractPrcgElmnt.ConditionCurrency,
@ObjectModel.foreignKey.association: '_TransactionCurrency'
SalesContractPrcgElmnt.TransactionCurrency,
@ObjectModel.foreignKey.association: '_ConditionQuantityUnit'
SalesContractPrcgElmnt.ConditionQuantityUnit,
SalesContractPrcgElmnt.ConditionRateRatioUnit,
SalesContractPrcgElmnt.ConditionIsForStatistics,
SalesContractPrcgElmnt.ConditionIsManuallyChanged,
@ObjectModel.foreignKey.association: '_ConditionInactiveReason'
SalesContractPrcgElmnt.ConditionInactiveReason,
@ObjectModel.foreignKey.association: '_ConditionClass'
SalesContractPrcgElmnt.ConditionClass,
@ObjectModel.foreignKey.association: '_ConditionOrigin'
SalesContractPrcgElmnt.ConditionOrigin,
@Semantics.booleanIndicator: true
cast(
case
when ConditionRateRatioUnit = ''
then 'X'
else ''
end as boole_d ) as ConditionRateValueIsAmount,
@Semantics.booleanIndicator: true
cast(
case
when ConditionRateRatioUnit = ''
then ''
else 'X'
end as boole_d ) as ConditionRateValueIsRatio,
@Semantics.booleanIndicator: true
cast(
case
when ConditionCalculationType = 'A'
or ConditionCalculationType = 'B'
or ConditionCalculationType = 'H'
or ConditionCalculationType = 'I'
or ConditionCalculationType = 'J'
or ConditionCalculationType = 'K'
or ConditionCalculationType = 'W'
then ''
else 'X'
end as boole_d ) as ConditionBaseValueIsQuantity,
@Semantics.booleanIndicator: true
cast(
case
when ConditionCalculationType = 'A'
or ConditionCalculationType = 'B'
or ConditionCalculationType = 'H'
or ConditionCalculationType = 'I'
or ConditionCalculationType = 'J'
or ConditionCalculationType = 'K'
or ConditionCalculationType = 'W'
then 'X'
else ''
end as boole_d ) as ConditionBaseValueIsAmount,
@Semantics.booleanIndicator: true
cast(
case
when ConditionRateAmount is initial
and ConditionRateRatio is initial
then 'X'
else ''
end as boole_d ) as ConditionRateValueIsNull,
@Semantics.booleanIndicator: true
cast(
case
when ConditionQuantity is initial
then 'X'
else ''
end as boole_d ) as ConditionQuantityIsNull,
@Semantics.booleanIndicator: true
cast(
case
when ConditionAmount is initial
then 'X'
else ''
end as boole_d ) as ConditionAmountIsNull,
//for DCL
@Consumption.hidden: true
_SalesContract.SalesContractType,
@Consumption.hidden: true
_SalesContract.SalesOrganization,
@Consumption.hidden: true
_SalesContract.DistributionChannel,
@Consumption.hidden: true
_SalesContract.OrganizationDivision,
//Associations
_SalesContract,
SalesContractPrcgElmnt._ConditionApplication,
SalesContractPrcgElmnt._PricingConditionType,
SalesContractPrcgElmnt._ConditionCurrency,
SalesContractPrcgElmnt._Currency as _TransactionCurrency,
SalesContractPrcgElmnt._ConditionQuantityUnit,
SalesContractPrcgElmnt._ConditionInactiveReason,
SalesContractPrcgElmnt._ConditionClass,
SalesContractPrcgElmnt._ConditionOrigin
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_PRICINGCONDITIONTYPE",
"I_PRICINGCONDITIONTYPETEXT",
"I_SALESCONTRACTPRICINGELEMENT",
"R_SALESCONTRACTTP"
],
"ASSOCIATED":
[
"I_CONDITIONAPPLICATION",
"I_CONDITIONCLASS",
"I_CONDITIONINACTIVEREASON",
"I_CONDITIONORIGIN",
"I_CURRENCY",
"I_PRICINGCONDITIONTYPE",
"I_UNITOFMEASURE",
"R_SALESCONTRACTTP"
],
"BASE":
[
"I_SALESCONTRACTPRICINGELEMENT"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/