@AbapCatalog.viewEnhancementCategory: [#NONE]
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Customer 360 Customer Return'
@Metadata.ignorePropagatedAnnotations: true
@Search.searchable: true
@ObjectModel.usageType:{
serviceQuality: #X,
sizeCategory: #S,
dataClass: #MIXED
}
@Metadata.allowExtensions: true
@VDM.viewType: #CONSUMPTION
define view entity C_Customer360CustomerReturn
as select from I_CustomerReturn as CustomerReturn
inner join I_Customer360BusDocSetting as Customer360BusDocSetting on Customer360BusDocSetting.BusinessDocumentIsEnabled = 'X'
and Customer360BusDocSetting.Cust360BusDocCategory = 'H'
association [0..1] to I_RetsMgmtCompnProcgStatus as _RetsMgmtCompnProcgStatus on $projection.retsmgmtcompnprocgstatus = _RetsMgmtCompnProcgStatus.RetsMgmtCompnProcgStatus
association [0..1] to I_RetsMgmtProcgStatus as _RetsMgmtProcgStatus on $projection.retsmgmtlogprocgstatus = _RetsMgmtProcgStatus.RetsMgmtProcessingStatus
association [0..1] to C_SalesDocumentUserVH as _CreatedByUser on $projection.CreatedByUser = _CreatedByUser.UserID
association [0..1] to C_SalesDocumentUserVH as _LastChangedByUser on $projection.LastChangedByUser = _LastChangedByUser.UserID
//Extension Association
association [0..1] to E_SalesDocumentBasic as _Extension on $projection.CustomerReturn = _Extension.SalesDocument
{
@Search.defaultSearchElement: true
@Search.fuzzinessThreshold: 0.8
@Search.ranking: #HIGH
key CustomerReturn.CustomerReturn,
CustomerReturn.SoldToParty,
CustomerReturn.RetsMgmtProcess,
CustomerReturn.CreationDate,
CustomerReturn.CustomerReturnDate,
@Search.defaultSearchElement: true
@Search.fuzzinessThreshold: 0.9
@Search.ranking: #HIGH
CustomerReturn.PurchaseOrderByCustomer as PurchaseOrderByCustomer,
@ObjectModel.foreignKey.association: '_RetsMgmtCompnProcgStatus'
@ObjectModel.text.element: ['RetsMgmtCompnProcgStatusDesc']
CustomerReturn._RetsMgmtProcess._RetsMgmtProcessingStatus.RetsMgmtCompnProcgStatus,
CustomerReturn._RetsMgmtProcess._RetsMgmtProcessingStatus._RetsMgmtCompnProcgStatus._Text[1:Language = $session.system_language].RetsMgmtCompnProcgStatusDesc as RetsMgmtCompnProcgStatusDesc,
@ObjectModel.foreignKey.association: '_RetsMgmtProcgStatus'
@ObjectModel.text.element: ['RetsMgmtProcessingStatusDesc']
CustomerReturn._RetsMgmtProcess._RetsMgmtProcessingStatus.RetsMgmtLogProcgStatus,
CustomerReturn._RetsMgmtProcess._RetsMgmtProcessingStatus._RetsMgmtLogProcgStatus._Text[1:Language = $session.system_language].RetsMgmtProcessingStatusDesc as RetsMgmtProcessingStatusDesc,
@Semantics.amount.currencyCode: 'TransactionCurrency'
@DefaultAggregation: #NONE
CustomerReturn.TotalNetAmount,
@ObjectModel.foreignKey.association: '_TransactionCurrency'
@ObjectModel.text.element: ['CurrencyName']
CustomerReturn.TransactionCurrency,
CustomerReturn._TransactionCurrency._Text[1:Language = $session.system_language].CurrencyName as CurrencyName,
@ObjectModel.text.element: ['SalesDocumentTypeName']
CustomerReturn.CustomerReturnType,
CustomerReturn._CustomerReturnType._Text[1:Language = $session.system_language].SalesDocumentTypeName as SalesDocumentTypeName,
CustomerReturn.ReferenceSDDocument,
@ObjectModel.text.element: ['SalesOrganizationName']
CustomerReturn.SalesOrganization,
CustomerReturn._SalesOrganization._Text[1:Language = $session.system_language].SalesOrganizationName as SalesOrganizationName,
@ObjectModel.text.element: ['DistributionChannelName']
CustomerReturn.DistributionChannel,
CustomerReturn._DistributionChannel._Text[1:Language = $session.system_language].DistributionChannelName as DistributionChannelName,
@ObjectModel.text.element: ['DivisionName']
CustomerReturn.OrganizationDivision,
CustomerReturn._OrganizationDivision._Text[1:Language = $session.system_language].DivisionName as DivisionName,
@ObjectModel.text.element: ['SalesOfficeName']
CustomerReturn.SalesOffice,
CustomerReturn._SalesOffice._Text[1:Language = $session.system_language].SalesOfficeName,
@ObjectModel.text.element: ['SalesGroupName']
CustomerReturn.SalesGroup,
CustomerReturn._SalesGroup._Text[1:Language = $session.system_language].SalesGroupName,
@ObjectModel.text.element: ['OverallSDProcessStatusDesc']
CustomerReturn.OverallSDProcessStatus,
CustomerReturn._OverallSDProcessStatus._Text[1:Language = $session.system_language].OverallSDProcessStatusDesc as OverallSDProcessStatusDesc,
@Search.defaultSearchElement: true
@Search.fuzzinessThreshold: 0.9
@ObjectModel.foreignKey.association: '_CreatedByUser'
@ObjectModel.text.element: ['CreatedByUserDescription']
CustomerReturn.CreatedByUser,
@Search.defaultSearchElement: true
@Search.fuzzinessThreshold: 0.9
@Search.ranking: #HIGH
CustomerReturn._CreatedByUser.UserDescription as CreatedByUserDescription,
@ObjectModel.foreignKey.association: '_LastChangedByUser'
@ObjectModel.text.element: ['LastChangedByUserDescription']
CustomerReturn.LastChangedByUser,
CustomerReturn._LastChangedByUser.UserDescription as LastChangedByUserDescription,
_RetsMgmtCompnProcgStatus,
_RetsMgmtProcgStatus,
CustomerReturn._CustomerReturnType,
CustomerReturn._OverallSDProcessStatus,
CustomerReturn._SalesOrganization,
CustomerReturn._DistributionChannel,
CustomerReturn._OrganizationDivision,
CustomerReturn._SalesOffice,
CustomerReturn._SalesGroup,
_CreatedByUser,
_LastChangedByUser,
CustomerReturn._TransactionCurrency
}
where
CustomerReturn.CustomerReturnDate > dats_add_days( tstmp_to_dats(tstmp_current_utctimestamp(), abap_system_timezone( $session.client,'NULL' ), $session.client, 'NULL'), -Customer360BusDocSetting.BusDocumentDurationInDays, 'INITIAL')
and CustomerReturn.CustomerReturnDate <= $session.system_date
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_CURRENCY",
"I_CURRENCYTEXT",
"I_CUSTOMER360BUSDOCSETTING",
"I_CUSTOMERRETURN",
"I_DISTRIBUTIONCHANNEL",
"I_DISTRIBUTIONCHANNELTEXT",
"I_DIVISION",
"I_DIVISIONTEXT",
"I_OVERALLSDPROCESSSTATUS",
"I_OVERALLSDPROCESSSTATUSTEXT",
"I_RETSMGMTCOMPNPROCGSTATUS",
"I_RETSMGMTCOMPNPROCGSTATUSTEXT",
"I_RETSMGMTPROCESS",
"I_RETSMGMTPROCESSWTHPROCGSTS",
"I_RETSMGMTPROCGSTATUS",
"I_RETSMGMTPROCGSTATUSTEXT",
"I_SALESDOCUMENTTYPE",
"I_SALESDOCUMENTTYPETEXT",
"I_SALESGROUP",
"I_SALESGROUPTEXT",
"I_SALESOFFICE",
"I_SALESOFFICETEXT",
"I_SALESORGANIZATION",
"I_SALESORGANIZATIONTEXT",
"I_USER"
],
"ASSOCIATED":
[
"C_SALESDOCUMENTUSERVH",
"I_CURRENCY",
"I_DISTRIBUTIONCHANNEL",
"I_DIVISION",
"I_OVERALLSDPROCESSSTATUS",
"I_RETSMGMTCOMPNPROCGSTATUS",
"I_RETSMGMTPROCGSTATUS",
"I_SALESDOCUMENTTYPE",
"I_SALESGROUP",
"I_SALESOFFICE",
"I_SALESORGANIZATION"
],
"BASE":
[
"I_CUSTOMERRETURN"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/