@AbapCatalog.sqlViewName: 'IORDER'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@Analytics.dataCategory: #DIMENSION
@ClientHandling.algorithm: #SESSION_VARIABLE
@ClientHandling.type: #CLIENT_DEPENDENT
@Metadata.allowExtensions: true
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.modelingPattern: #ANALYTICAL_DIMENSION
@ObjectModel.supportedCapabilities: [#ANALYTICAL_DIMENSION, #CDS_MODELING_ASSOCIATION_TARGET, #SEARCHABLE_ENTITY]
@ObjectModel.representativeKey: 'OrderID'
@ObjectModel.semanticKey: ['OrderID']
@ObjectModel.usageType: {serviceQuality: #A, sizeCategory: #L, dataClass: #TRANSACTIONAL}
@Search.searchable: true
@VDM.lifecycle.contract.type: #PUBLIC_LOCAL_API
@VDM.viewType: #BASIC
@EndUserText.label: 'Order Header'
// basic view for existence check on orders of any category (AUFTYP);
// details on orders are provided e.g. by basic views I_LogisticsOrder or I_InternalOrder
/*+[hideWarning] { "IDS" : [ "CALCULATED_FIELD_CHECK" ] } */
define view I_Order
as select from I_OrderBasic as aufk
left outer to one join I_LogisticsOrderBasic as afko on afko.OrderID = aufk.OrderID
association [1..1] to E_LogisticsOrder as _Extension on $projection.OrderID = _Extension.OrderID
{
// Key
@ObjectModel.hierarchy.association: '_OrderHierarchyNode'
@ObjectModel.text.element: ['OrderDescription']
@Search:{
defaultSearchElement: true,
fuzzinessThreshold: 0.8,
ranking: #HIGH
}
key aufk.OrderID,
// Category and Type
@ObjectModel.foreignKey.association: '_OrderCategory'
@Search:{
defaultSearchElement: true,
fuzzinessThreshold: 0.8,
ranking: #LOW
}
aufk.OrderCategory,
@ObjectModel.foreignKey.association: '_OrderType'
@Search:{
defaultSearchElement: true,
fuzzinessThreshold: 0.8,
ranking: #LOW
}
aufk.OrderType,
// Internal ID
@ObjectModel.foreignKey.association: '_OrderInternalID'
@Search:{
defaultSearchElement: true,
fuzzinessThreshold: 0.8,
ranking: #LOW
}
afko.OrderInternalID,
// Text
@Semantics.text: true
@Search:{
defaultSearchElement: true,
fuzzinessThreshold: 0.8,
ranking: #LOW
}
aufk.OrderDescription,
aufk.OrderHasLongText,
// Additionals
@Search:{
defaultSearchElement: true,
fuzzinessThreshold: 0.8,
ranking: #LOW
}
aufk.Plant,
@Search:{
defaultSearchElement: true,
fuzzinessThreshold: 0.8,
ranking: #LOW
}
afko.MRPController,
@Search:{
defaultSearchElement: true,
fuzzinessThreshold: 0.8,
ranking: #LOW
}
aufk.ControllingArea,
@Search:{
defaultSearchElement: true,
fuzzinessThreshold: 0.8,
ranking: #LOW
}
aufk.CompanyCode,
@Search:{
defaultSearchElement: true,
fuzzinessThreshold: 0.8,
ranking: #LOW
}
aufk.ProfitCenter,
aufk.ObjectInternalID,
aufk.IsStatisticalOrder,
aufk.IsMarkedForDeletion,
// Associations
aufk._OrderCategory,
aufk._OrderType,
afko._OrderInternalID,
aufk._OrderHierarchyNode
};
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_LOGISTICSORDERBASIC",
"I_ORDERBASIC"
],
"ASSOCIATED":
[
"E_LOGISTICSORDER",
"I_ORDERCATEGORY",
"I_ORDERHIERARCHYNODE",
"I_ORDERINTERNALID",
"I_ORDERTYPE"
],
"BASE":
[
"I_LOGISTICSORDERBASIC",
"I_ORDERBASIC"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/