@VDM: {
lifecycle.contract.type: #SAP_INTERNAL_API,
viewType: #TRANSACTIONAL
}
@ObjectModel: {
usageType: {
dataClass: #TRANSACTIONAL,
serviceQuality: #C,
sizeCategory: #L
},
semanticKey: ['SalesQuotation', 'SalesQuotationItem']
}
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Sales Quotation Item - TP'
define view entity R_SalesQuotationItemTP
as select from I_SalesQuotationItem as SalesQuotationItem
composition [0..*] of R_SalesQuotationItemPartnerTP as _ItemPartner
composition [0..*] of R_SalesQuotationItemTextTP as _ItemText
composition [0..*] of R_SlsQtanItemPricingElementTP as _ItemPricingElement
association [0..1] to I_SlsDocItemEnhancedFields as _ItemEnhancedFields on $projection.SalesQuotation = _ItemEnhancedFields.SalesDocument
and $projection.SalesQuotationItem = _ItemEnhancedFields.SalesDocumentItem
association [0..1] to I_SalesDocumentItemCategory as _HigherLevelItemCategory on $projection.HigherLevelItemCategory = _HigherLevelItemCategory.SalesDocumentItemCategory
association to parent R_SalesQuotationTP as _SalesQuotation on $projection.SalesQuotation = _SalesQuotation.SalesQuotation
//Extension Association
association [1] to E_SalesDocumentItemBasic as _Extension on $projection.SalesQuotation = _Extension.SalesDocument
and $projection.SalesQuotationItem = _Extension.SalesDocumentItem
{
key SalesQuotationItem.SalesQuotation,
key SalesQuotationItem.SalesQuotationItem,
//Quotation
SalesQuotationItem.ItemOrderProbabilityInPercent,
@ObjectModel.foreignKey.association: '_ItemCategory'
SalesQuotationItem.SalesQuotationItemCategory,
@ObjectModel.foreignKey.association: '_ItemCategoryGroup'
_ItemEnhancedFields.ItemCategoryGroup,
@ObjectModel.foreignKey.association: '_SDDocumentItemUsage'
_ItemEnhancedFields.SDDocumentItemUsage,
@ObjectModel.foreignKey.association: '_HigherLevelItemCategory'
SalesQuotationItem._HigherLevelItem.SalesQuotationItemCategory as HigherLevelItemCategory,
@ObjectModel.foreignKey.association: '_SDPricingProcedure'
SalesQuotationItem._SalesQuotation.SDPricingProcedure,
@Semantics.text: true
SalesQuotationItem.SalesQuotationItemText,
SalesQuotationItem.PurchaseOrderByCustomer,
//Sales
@ObjectModel.foreignKey.association: '_SalesDocumentRjcnReason'
SalesQuotationItem.SalesDocumentRjcnReason,
//Product
@ObjectModel.foreignKey.association: '_Product'
SalesQuotationItem.Product as Product,
SalesQuotationItem.MaterialByCustomer,
@ObjectModel.foreignKey.association: '_ProductGroup'
SalesQuotationItem.ProductGroup,
SalesQuotationItem.Batch,
@Semantics.quantity.unitOfMeasure: 'RequestedQuantityUnit'
SalesQuotationItem.RequestedQuantity,
SalesQuotationItem.RequestedQuantityUnit,
@ObjectModel.foreignKey.association: '_Plant'
SalesQuotationItem.Plant,
@Semantics.quantity.unitOfMeasure: 'ItemWeightUnit'
SalesQuotationItem.ItemGrossWeight,
@Semantics.quantity.unitOfMeasure: 'ItemWeightUnit'
SalesQuotationItem.ItemNetWeight,
@ObjectModel.foreignKey.association: '_ItemWeightUnit'
SalesQuotationItem.ItemWeightUnit,
@Semantics.quantity.unitOfMeasure: 'ItemVolumeUnit'
SalesQuotationItem.ItemVolume,
@ObjectModel.foreignKey.association: '_ItemVolumeUnit'
SalesQuotationItem.ItemVolumeUnit,
SalesQuotationItem.AlternativeToItem,
//Pricing
@ObjectModel.foreignKey.association: '_CustomerPriceGroup'
SalesQuotationItem.CustomerPriceGroup,
@ObjectModel.foreignKey.association: '_MaterialPricingGroup'
SalesQuotationItem.MaterialPricingGroup,
SalesQuotationItem.PricingDate,
SalesQuotationItem.TransactionCurrency,
@Semantics.amount.currencyCode: 'TransactionCurrency'
SalesQuotationItem.NetAmount,
//Shipping
@ObjectModel.foreignKey.association: '_IncotermsClassification'
SalesQuotationItem.IncotermsClassification,
SalesQuotationItem.IncotermsLocation1,
SalesQuotationItem.IncotermsLocation2,
@ObjectModel.foreignKey.association: '_IncotermsVersion'
SalesQuotationItem.IncotermsVersion,
@ObjectModel.foreignKey.association: '_ShippingType'
SalesQuotationItem.ShippingType,
@ObjectModel.foreignKey.association: '_StorageLocation'
SalesQuotationItem.StorageLocation,
@ObjectModel.foreignKey.association: '_Route'
SalesQuotationItem.Route,
@ObjectModel.foreignKey.association: '_ShippingCondition'
SalesQuotationItem.ShippingCondition,
@ObjectModel.foreignKey.association: '_DeliveryPriority'
SalesQuotationItem.DeliveryPriority,
@ObjectModel.foreignKey.association: '_PartialDeliveryItem'
cast( PartialDeliveryIsAllowed as partial_delivery_allowed preserving type ) as PartialDeliveryIsAllowed,
@Semantics.valueRange.minimum: '0'
SalesQuotationItem.MaxNmbrOfPartialDelivery,
_ItemEnhancedFields._RequestedDeliveryDate.RequestedDeliveryDate,
@ObjectModel.foreignKey.association: '_ShippingPoint'
SalesQuotationItem.ShippingPoint,
//Reference
@ObjectModel.foreignKey.association: '_ReferenceSDDocument'
SalesQuotationItem.ReferenceSDDocument,
@ObjectModel.foreignKey.association: '_ReferenceSDDocumentItem'
SalesQuotationItem.ReferenceSDDocumentItem,
SalesQuotationItem.HigherLevelItem,
//Payment
@ObjectModel.foreignKey.association: '_CustomerPaymentTerms'
SalesQuotationItem.CustomerPaymentTerms,
//Billing
BillingDocumentDate,
//Accounting
SalesQuotationItem.ProfitCenter,
@ObjectModel.foreignKey.association: '_BusinessArea'
BusinessArea,
//Status
@ObjectModel.foreignKey.association: '_SDProcessStatus'
SalesQuotationItem.SDProcessStatus,
@ObjectModel.foreignKey.association: '_ItemGeneralIncompletionStatus'
cast(ItemGeneralIncompletionStatus as item_general_incompletion_sts preserving type ) as ItemGeneralIncompletionStatus,
@ObjectModel.foreignKey.association: '_SDDocumentRejectionStatus'
SalesQuotationItem.SDDocumentRejectionStatus,
@ObjectModel.foreignKey.association: '_TotalSDDocReferenceStatus'
SalesQuotationItem.TotalSDDocReferenceStatus,
@ObjectModel.foreignKey.association: '_SDDocReferenceStatus'
SalesQuotationItem.SDDocReferenceStatus,
@ObjectModel.foreignKey.association: '_PricingIncompletionStatus'
SalesQuotationItem.PricingIncompletionStatus,
@ObjectModel.foreignKey.association: '_ChmlCmplncStatus'
SalesQuotationItem.ChmlCmplncStatus,
@ObjectModel.foreignKey.association: '_DangerousGoodsStatus'
SalesQuotationItem.DangerousGoodsStatus,
@ObjectModel.foreignKey.association: '_SafetyDataSheetStatus'
SalesQuotationItem.SafetyDataSheetStatus,
@ObjectModel.foreignKey.association: '_TrdCmplncEmbargoSts'
SalesQuotationItem.TrdCmplncEmbargoSts,
// For Access control
@Consumption.hidden: true
_SalesQuotation.SalesQuotationType,
@Consumption.hidden: true
_SalesQuotation.OrganizationDivision,
@Consumption.hidden: true
_SalesQuotation.SalesOrganization,
@Consumption.hidden: true
_SalesQuotation.DistributionChannel,
//Compositions
_ItemPartner,
_ItemText,
_ItemPricingElement,
//Associations
_SalesQuotation,
_Product,
_Plant,
_ProductGroup,
_MaterialPricingGroup,
_RequestedQuantityUnit,
_TransactionCurrency,
_SDProcessStatus,
_IncotermsClassification,
_IncotermsVersion,
_ItemCategory,
_ItemVolumeUnit,
_ItemWeightUnit,
_ReferenceSDDocument,
_ReferenceSDDocumentItem,
_CustomerPaymentTerms,
_SalesDocumentRjcnReason,
_ShippingType,
_BusinessArea,
_ShippingCondition,
_StorageLocation,
_Route,
_CustomerPriceGroup,
_DeliveryPriority,
_PartialDeliveryItem,
_ChmlCmplncStatus,
_DangerousGoodsStatus,
_SafetyDataSheetStatus,
_TrdCmplncEmbargoSts,
_ShippingPoint,
_ItemEnhancedFields._ItemCategoryGroup,
_ItemEnhancedFields._SDDocumentItemUsage,
_HigherLevelItemCategory,
_ItemGeneralIncompletionStatus,
_SDDocumentRejectionStatus,
_TotalSDDocReferenceStatus,
_SDDocReferenceStatus,
_PricingIncompletionStatus,
SalesQuotationItem._SalesQuotation._SDPricingProcedure
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_SALESQUOTATION",
"I_SALESQUOTATIONITEM",
"I_SLSDOCITEMENHANCEDFIELDS",
"I_SLSDOCITEMREQDDELIVERYDATE",
"R_SALESQUOTATIONTP"
],
"ASSOCIATED":
[
"I_BUSINESSAREA",
"I_CHMLCMPLNCSTATUS",
"I_CURRENCY",
"I_CUSTOMERMATERIALITEMUSAGE",
"I_CUSTOMERPAYMENTTERMS",
"I_CUSTOMERPRICEGROUP",
"I_DANGEROUSGOODSSTATUS",
"I_DELIVERYPRIORITY",
"I_INCOTERMSCLASSIFICATION",
"I_INCOTERMSVERSION",
"I_ITEMCATEGORYGROUP",
"I_ITEMGENINCOMPLETIONSTATUS",
"I_MATERIALPRICINGGROUP",
"I_PARTIALDELIVERYITEM",
"I_PLANT",
"I_PRICINGINCOMPLETIONSTATUS",
"I_PRODUCT",
"I_PRODUCTGROUP_2",
"I_ROUTE",
"I_SAFETYDATASHEETSTATUS",
"I_SALESDOCUMENT",
"I_SALESDOCUMENTITEM",
"I_SALESDOCUMENTITEMCATEGORY",
"I_SALESDOCUMENTRJCNREASON",
"I_SDDOCREFERENCESTATUS",
"I_SDDOCUMENTREJECTIONSTATUS",
"I_SDPROCESSSTATUS",
"I_SHIPPINGCONDITION",
"I_SHIPPINGPOINT",
"I_SHIPPINGTYPE",
"I_SLSPRICINGPROCEDURE",
"I_STORAGELOCATION",
"I_TOTALSDDOCREFERENCESTATUS",
"I_TRDCMPLNCCHECKSTATUS",
"I_UNITOFMEASURE",
"R_SALESQUOTATIONITEMPARTNERTP",
"R_SALESQUOTATIONITEMTEXTTP",
"R_SALESQUOTATIONTP",
"R_SLSQTANITEMPRICINGELEMENTTP"
],
"BASE":
[
"I_SALESQUOTATION",
"I_SALESQUOTATIONITEM",
"I_SLSDOCITEMENHANCEDFIELDS"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/