@ClientHandling.algorithm: #SESSION_VARIABLE
@EndUserText.label: 'Sales Order Item for Import'
@VDM: {
viewType: #BASIC
}
@AccessControl: {
authorizationCheck: #CHECK,
personalData.blocking: #('TRANSACTIONAL_DATA')
}
@AbapCatalog: {
sqlViewName: 'ISDSOITEMIMPORT',
compiler.compareFilter: true,
preserveKey: true
}
@ObjectModel: {
representativeKey: 'SalesOrderItem',
usageType: {
dataClass: #TRANSACTIONAL,
serviceQuality: #C,
sizeCategory: #XL
},
supportedCapabilities: [ #ANALYTICAL_DIMENSION, #CDS_MODELING_ASSOCIATION_TARGET, #SQL_DATA_SOURCE, #CDS_MODELING_DATA_SOURCE ],
modelingPattern: [ #ANALYTICAL_DIMENSION ]
}
@Analytics: {
dataCategory: #DIMENSION,
internalName:#LOCAL
}
@Metadata: {
allowExtensions: true,
ignorePropagatedAnnotations: true
}
define view I_SalesOrderItemImport
as select from I_SalesOrderItem as SalesOrderItem
//Associations
association [1..1] to I_SalesOrderImport as _SalesOrder on $projection.SalesOrder = _SalesOrder.SalesOrder
//WBSElenent ExternalID
association [0..1] to I_WBSElementByExternalID as _WBSElementExternalID on $projection.WBSElementInternalID = _WBSElementExternalID.WBSElementInternalID
//Extensibility
association [0..1] to E_SalesDocumentItemBasic as _Extension on SalesOrderItem.SalesOrder = _Extension.SalesDocument
and SalesOrderItem.SalesOrderItem = _Extension.SalesDocumentItem
{
//Key
@ObjectModel.foreignKey.association: '_SalesOrder'
key SalesOrder,
// @ObjectModel.text.element: 'SalesOrderItemText'
key SalesOrderItem,
// SalesOrderItemUUID,
// Category
// @ObjectModel.foreignKey.association: '_ItemCategory'
SalesOrderItemCategory,
SalesOrderItemType,
IsReturnsItem,
//Admin
CreatedByUser,
@Semantics.systemDate.createdAt: true
CreationDate,
CreationTime,
@Semantics.systemDate.lastChangedAt: true
LastChangeDate,
//Org
// @ObjectModel.foreignKey.association: '_Division'
Division,
//Product
// @Consumption.valueHelpDefinition: [
// { entity: { name: 'I_MaterialStdVH',
// element: 'Material' }
// }]
// @ObjectModel.text.association: '_MaterialText'
// @ObjectModel.foreignKey.association: '_Material'
@VDM.lifecycle.status: #DEPRECATED
@VDM.lifecycle.successor: 'Product'
Material,
// @Consumption.valueHelpDefinition: [
// { entity: { name: 'I_ProductStdVH',
// element: 'Product' }
// }]
// @ObjectModel.text.association: '_ProductText'
// @ObjectModel.foreignKey.association: '_Product'
Product,
// @Consumption.valueHelpDefinition: [
// { entity: { name: 'I_ProductStdVH',
// element: 'Product' }
// }]
// @ObjectModel.text.association: '_OrigMaterialText'
// @ObjectModel.foreignKey.association: '_OriginallyRequestedMaterial'
OriginallyRequestedMaterial,
MaterialByCustomer,
InternationalArticleNumber,
// @Consumption.valueHelpDefinition: [
// { entity: { name: 'I_BatchStdVH',
// element: 'Batch' },
// additionalBinding: [{ localElement: 'Plant',
// element: 'Plant' },
// { localElement: 'Material',
// element: 'Material' }]
// }]
// @ObjectModel.foreignKey.association: '_Batch'
Batch,
// @ObjectModel.foreignKey.association: '_ProductHierarchyNode'
ProductHierarchyNode,
ProductCatalog,
// @ObjectModel.foreignKey.association: '_MaterialSubstitutionReason'
MaterialSubstitutionReason,
// @ObjectModel.foreignKey.association: '_MaterialGroup'
@VDM.lifecycle.status: #DEPRECATED
@VDM.lifecycle.successor: 'ProductGroup'
MaterialGroup,
// @ObjectModel.foreignKey.association: '_ProductGroup'
ProductGroup,
// @ObjectModel.foreignKey.association: '_MaterialPricingGroup'
MaterialPricingGroup,
// @ObjectModel.foreignKey.association: '_AdditionalMaterialGroup1'
AdditionalMaterialGroup1,
// @ObjectModel.foreignKey.association: '_AdditionalMaterialGroup2'
AdditionalMaterialGroup2,
// @ObjectModel.foreignKey.association: '_AdditionalMaterialGroup3'
AdditionalMaterialGroup3,
// @ObjectModel.foreignKey.association: '_AdditionalMaterialGroup4'
AdditionalMaterialGroup4,
// @ObjectModel.foreignKey.association: '_AdditionalMaterialGroup5'
AdditionalMaterialGroup5,
// @ObjectModel.foreignKey.association: '_Plant'
Plant,
// @ObjectModel.foreignKey.association: '_StorageLocation'
StorageLocation,
DeliveryGroup,
ProductConfiguration,
BOMExplosionDate,
//Sales
@Semantics.text: true
SalesOrderItemText,
PurchaseOrderByCustomer,
PurchaseOrderByShipToParty,
UnderlyingPurchaseOrderItem,
ExternalItemID,
@Semantics.quantity.unitOfMeasure: 'OrderQuantityUnit'
OrderQuantity,
@Semantics.unitOfMeasure: true
// @ObjectModel.foreignKey.association: '_OrderQuantityUnit'
OrderQuantityUnit,
OrderToBaseQuantityDnmntr,
OrderToBaseQuantityNmrtr,
@Semantics.quantity.unitOfMeasure: 'TargetQuantityUnit'
TargetQuantity,
@Semantics.unitOfMeasure: true
// @ObjectModel.foreignKey.association: '_TargetQuantityUnit'
TargetQuantityUnit,
TargetToBaseQuantityDnmntr,
TargetToBaseQuantityNmrtr,
@Semantics.quantity.unitOfMeasure: 'OrderQuantityUnit'
ConfdDelivQtyInOrderQtyUnit,
@Semantics.quantity.unitOfMeasure: 'OrderQuantityUnit'
TargetDelivQtyInOrderQtyUnit,
@Semantics.quantity.unitOfMeasure: 'BaseUnit'
ConfdDeliveryQtyInBaseUnit,
@Semantics.unitOfMeasure: true
// @ObjectModel.foreignKey.association: '_BaseUnit'
BaseUnit,
@Semantics.quantity.unitOfMeasure: 'OrderQuantityUnit'
CommittedDelivQtyInOrdQtyUnit,
CommittedDelivCreationDate,
CommittedDeliveryDate,
@Semantics.quantity.unitOfMeasure: 'RequestedQuantityUnit'
RequestedQuantity,
@Semantics.unitOfMeasure: true
// @ObjectModel.foreignKey.association: '_RequestedQuantityUnit'
RequestedQuantityUnit,
@Semantics.quantity.unitOfMeasure: 'BaseUnit'
RequestedQuantityInBaseUnit,
@Semantics.quantity.unitOfMeasure: 'ItemWeightUnit'
ItemGrossWeight,
@Semantics.quantity.unitOfMeasure: 'ItemWeightUnit'
ItemNetWeight,
@Semantics.unitOfMeasure: true
// @ObjectModel.foreignKey.association: '_ItemWeightUnit'
ItemWeightUnit,
@Semantics.quantity.unitOfMeasure: 'ItemVolumeUnit'
ItemVolume,
@Semantics.unitOfMeasure: true
// @ObjectModel.foreignKey.association: '_ItemVolumeUnit'
ItemVolumeUnit,
ServicesRenderedDate,
// @ObjectModel.foreignKey.association: '_SalesDistrict'
SalesDistrict,
// @Consumption.valueHelpDefinition: [
// { entity: { name: 'I_SalesDealStdVH',
// element: 'SalesDeal' }
// }]
// @ObjectModel.foreignKey.association: '_SalesDeal'
SalesDeal,
SalesPromotion,
RetailPromotion,
// @ObjectModel.foreignKey.association: '_CustomerGroup'
CustomerGroup,
// @ObjectModel.foreignKey.association: '_SalesDocumentRjcnReason'
SalesDocumentRjcnReason,
RequirementSegment,
SlsDocIsRlvtForProofOfDeliv,
// Pricing
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'TransactionCurrency'
NetAmount,
@Semantics.currencyCode: true
// @ObjectModel.foreignKey.association: '_TransactionCurrency'
TransactionCurrency,
PricingDate,
PricingReferenceMaterial,
ExchangeRateDate,
PriceDetnExchangeRate,
@Semantics.amount.currencyCode: 'TransactionCurrency'
NetPriceAmount,
@Semantics.quantity.unitOfMeasure: 'NetPriceQuantityUnit'
NetPriceQuantity,
@Semantics.unitOfMeasure: true
// @ObjectModel.foreignKey.association: '_NetPriceQuantityUnit'
NetPriceQuantityUnit,
// @ObjectModel.foreignKey.association: '_StatisticalValueControl'
StatisticalValueControl,
SalesDocumentItemProcgCode,
@Semantics.amount.currencyCode: 'TransactionCurrency'
TaxAmount,
ProductTaxClassification1,
ProductTaxClassification2,
ProductTaxClassification3,
ProductTaxClassification4,
ProductTaxClassification5,
ProductTaxClassification6,
ProductTaxClassification7,
ProductTaxClassification8,
ProductTaxClassification9,
MatlAccountAssignmentGroup,
@Semantics.amount.currencyCode: 'TransactionCurrency'
CostAmount,
@Semantics.amount.currencyCode: 'TransactionCurrency'
Subtotal1Amount,
@Semantics.amount.currencyCode: 'TransactionCurrency'
Subtotal2Amount,
@Semantics.amount.currencyCode: 'TransactionCurrency'
Subtotal3Amount,
@Semantics.amount.currencyCode: 'TransactionCurrency'
Subtotal4Amount,
@Semantics.amount.currencyCode: 'TransactionCurrency'
Subtotal5Amount,
@Semantics.amount.currencyCode: 'TransactionCurrency'
Subtotal6Amount,
SalesOrderCondition,
// @ObjectModel.foreignKey.association: '_CustomerPriceGroup'
CustomerPriceGroup,
//Shipping
// @Consumption.valueHelpDefinition: [
// { entity: { name: 'I_ShippingPointStdVH',
// element: 'ShippingPoint' }
// }]
// @ObjectModel.text.association: '_ShippingPointText'
// @ObjectModel.foreignKey.association: '_ShippingPoint'
ShippingPoint,
// @ObjectModel.foreignKey.association: '_ShippingType'
ShippingType,
InventorySpecialStockType,
// @ObjectModel.foreignKey.association: '_DeliveryPriority'
DeliveryPriority,
// @ObjectModel.foreignKey.association: '_Route'
Route,
DeliveryDateQuantityIsFixed,
DeliveryDateTypeRule,
// @ObjectModel.foreignKey.association: '_PartialDeliveryItem'
PartialDeliveryIsAllowed,
MaxNmbrOfPartialDelivery,
UnlimitedOverdeliveryIsAllowed,
OverdelivTolrtdLmtRatioInPct,
UnderdelivTolrtdLmtRatioInPct,
@Semantics.quantity.unitOfMeasure: 'BaseUnit'
MinDeliveryQtyInBaseUnit,
OpenDeliveryLeadingUnitCode,
ItemIsDeliveryRelevant,
//Incoterms
// @ObjectModel.foreignKey.association: '_IncotermsVersion'
IncotermsVersion,
// @ObjectModel.foreignKey.association: '_IncotermsClassification'
IncotermsClassification,
IncotermsTransferLocation,
IncotermsLocation1,
IncotermsLocation2,
//Payment
// @ObjectModel.foreignKey.association: '_CustomerPaymentTerms'
CustomerPaymentTerms,
PaymentMethod,
FixedValueDate,
AdditionalValueDays,
//Fashion
ProductSeasonYear,
ProductSeason,
ProductCollection,
ProductTheme,
FashionCancelDate,
ProductCharacteristic1,
ProductCharacteristic2,
ProductCharacteristic3,
ShippingGroupNumber,
ShippingGroupRule,
//Billing
BillingDocumentDate,
// @ObjectModel.foreignKey.association: '_ItemIsBillingRelevant'
ItemIsBillingRelevant,
// @ObjectModel.foreignKey.association: '_ItemBillingBlockReason'
ItemBillingBlockReason,
BillingPlan,
//Accounting
FiscalYear,
FiscalPeriod,
// @ObjectModel.foreignKey.association: '_CustomerAccountAssgmtGroup'
CustomerAccountAssignmentGroup,
// @Consumption.valueHelpDefinition: [
// { entity: { name: 'I_BusinessAreaStdVH',
// element: 'BusinessArea' }
// }]
// @ObjectModel.text.association: '_BusinessAreaText'
// @ObjectModel.foreignKey.association: '_BusinessArea'
BusinessArea,
ControllingArea,
ProfitCenter,
// @ObjectModel.foreignKey.association: '_WBSElementBasicData'
@VDM.lifecycle.status: #DEPRECATED
@VDM.lifecycle.successor: 'WBSElementInternalID'
WBSElement,
// @ObjectModel.foreignKey.association: '_WBSElementBasicData_2'
WBSElementInternalID,
_WBSElementExternalID.WBSElementExternalID as WBSElementExternalID,
OrderID,
ControllingObject,
@API.element.releaseState: #DECOMMISSIONED
@API.element.successor: 'ProfitabilitySegment_2'
ProfitabilitySegment,
ProfitabilitySegment_2,
OriginSDDocument,
OriginSDDocumentItem,
AccountingExchangeRate,
//Reference
// @ObjectModel.foreignKey.association: '_ReferenceSDDocument'
ReferenceSDDocument,
// @ObjectModel.foreignKey.association: '_ReferenceSDDocumentItem'
ReferenceSDDocumentItem,
// @ObjectModel.foreignKey.association: '_ReferenceSDDocumentCategory'
ReferenceSDDocumentCategory,
// @ObjectModel.foreignKey.association: '_HigherLevelItem'
HigherLevelItem,
HigherLevelItemUsage,
//Status
// @ObjectModel.foreignKey.association: '_SDProcessStatus'
SDProcessStatus,
// @ObjectModel.foreignKey.association: '_DeliveryConfirmationStatus'
DeliveryConfirmationStatus,
// @ObjectModel.foreignKey.association: '_PurchaseConfirmationStatus'
PurchaseConfirmationStatus,
// @ObjectModel.foreignKey.association: '_TotalDeliveryStatus'
TotalDeliveryStatus,
// @ObjectModel.foreignKey.association: '_DeliveryStatus'
DeliveryStatus,
// @ObjectModel.foreignKey.association: '_DeliveryBlockStatus'
DeliveryBlockStatus,
// @ObjectModel.foreignKey.association: '_OrderRelatedBillingStatus'
OrderRelatedBillingStatus,
// @ObjectModel.foreignKey.association: '_BillingBlockStatus'
BillingBlockStatus,
// @ObjectModel.foreignKey.association: '_ItemGeneralIncompletionStatus'
ItemGeneralIncompletionStatus,
// @ObjectModel.foreignKey.association: '_ItemBillingIncompletionStatus'
ItemBillingIncompletionStatus,
// @ObjectModel.foreignKey.association: '_PricingIncompletionStatus'
PricingIncompletionStatus,
// @ObjectModel.foreignKey.association: '_ItemDelivIncompletionSts'
ItemDeliveryIncompletionStatus,
// @ObjectModel.foreignKey.association: '_SDDocReferenceStatus'
SDDocReferenceStatus,
// @ObjectModel.foreignKey.association: '_SDDocumentRejectionStatus'
SDDocumentRejectionStatus,
// @ObjectModel.foreignKey.association: '_TotalSDDocReferenceStatus'
TotalSDDocReferenceStatus,
// @ObjectModel.foreignKey.association: '_ChmlCmplncStatus'
ChmlCmplncStatus,
// @ObjectModel.foreignKey.association: '_DangerousGoodsStatus'
DangerousGoodsStatus,
// @ObjectModel.foreignKey.association: '_SafetyDataSheetStatus'
SafetyDataSheetStatus,
// @ObjectModel.foreignKey.association: '_ItemDownPaymentStatus'
SlsOrderItemDownPaymentStatus,
//PBS
@Semantics.amount.currencyCode: 'TransactionCurrency'
CappedNetAmount,
CappedNetAmtAlertThldInPct,
//this field is relevant only for PBS scenario
@Semantics.amount.currencyCode: 'TransactionCurrency'
TotalStandAloneSellingPrice,
//Association
@ObjectModel.association.type: [#TO_COMPOSITION_PARENT,
#TO_COMPOSITION_ROOT]
_SalesOrder,
@ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
_ScheduleLine,
@ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
_Partner,
@ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
_PricingElement,
_WBSElementExternalID
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_SALESORDERITEM",
"I_WBSELEMENTBYEXTERNALID"
],
"ASSOCIATED":
[
"E_SALESDOCUMENTITEMBASIC",
"I_SALESORDERIMPORT",
"I_SALESORDERITEMPARTNER",
"I_SALESORDERITEMPRICINGELEMENT",
"I_SALESORDERSCHEDULELINE",
"I_WBSELEMENTBYEXTERNALID"
],
"BASE":
[
"I_SALESORDERITEM"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/