@ClientHandling.algorithm: #SESSION_VARIABLE
@EndUserText.label: 'Customer Return Workflow Inbox'
@AbapCatalog: {
preserveKey: true,
sqlViewName: 'CSDCRWRKFLWIN',
compiler.compareFilter: true
}
@AccessControl: {
authorizationCheck: #CHECK,
personalData.blocking: #('TRANSACTIONAL_DATA'),
privilegedAssociations: [ '_CreatedByUser', '_LastChangedByUser' ]
}
@ObjectModel: {
compositionRoot: true,
semanticKey: ['CustomerReturn'],
usageType: {
dataClass: #TRANSACTIONAL,
serviceQuality: #C,
sizeCategory: #L
}
}
@VDM.viewType: #CONSUMPTION
@UI.headerInfo: {
title:{ type: #STANDARD,
value: 'DocumentTitle'
}
}
define view C_CustomerReturnWrkflwInbox
as select from I_CustomerReturnEnhanced as CustomerReturn
left outer to one join I_CustomerReturnPartner as CustRetPartner on CustomerReturn.CustomerReturn = CustRetPartner.CustomerReturn
and CustRetPartner.PartnerFunction = 'WE' //Ship-to party
left outer to one join I_Customer as ShipToParty on CustRetPartner.Customer = ShipToParty.Customer
//Associations
association [0..*] to C_CustomerReturnItmWrkflwInbox as _CustomerReturnItem on $projection.CustomerReturn = _CustomerReturnItem.CustomerReturn
{
@UI.facet: [
{
label: 'General Information',
id: 'GeneralInformation',
isSummary,
type: #COLLECTION,
position: 10
},
{
label: 'Basic data',
id: 'BasicData',
parentId: 'GeneralInformation',
type: #IDENTIFICATION_REFERENCE,
position: 10
},
{
label: 'Sales Data',
id: 'Sales',
parentId: 'GeneralInformation',
type: #FIELDGROUP_REFERENCE,
position: 20,
targetQualifier: 'CRSales'
},
{
label: 'Administrative Data',
id: 'Administrative',
parentId: 'GeneralInformation',
type: #FIELDGROUP_REFERENCE,
position: 30,
targetQualifier: 'CRAdministrative'
},
{
label: 'Items',
id: 'Items',
purpose: #STANDARD,
type: #LINEITEM_REFERENCE,
position: 30,
targetElement: '_CustomerReturnItem'
}
]
@Consumption.semanticObject: 'CustomerReturn'
@UI.identification: { position: 10 }
@EndUserText.label: 'Return'
key CustomerReturn.CustomerReturn,
CustomerReturn.CustomerReturnType,
concat_with_space(concat_with_space(CustomerReturn._CustomerReturnType._Text[1: Language=$session.system_language].SalesDocumentTypeName, '-', 1),
ltrim(CustomerReturn.CustomerReturn,'0'), 1) as DocumentTitle,
//_SoldToParty.CustomerName as CustomerName,
@Semantics.text:true
@Consumption.filter.hidden: true
@ObjectModel.virtualElement: true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_CUSTRET_UI_PARTNER_UTIL'
cast('' as ad_namtext ) as SoldToPartyName,
@UI.identification: { position: 20 }
@ObjectModel.text.element: [ 'SoldToPartyName' ]
@Consumption.semanticObject: 'Customer'
CustomerReturn.SoldToParty,
//ShipToParty.CustomerName as ShipToPartyName,
@Semantics.text:true
@Consumption.filter.hidden: true
@ObjectModel.virtualElement: true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_CUSTRET_UI_PARTNER_UTIL'
cast('' as ad_namtext ) as ShipToPartyName,
@UI.identification: { position: 30 }
@ObjectModel.text.element: [ 'ShipToPartyName' ]
@Consumption.semanticObject: 'Customer'
@EndUserText.label: 'Ship-To Party'
CustRetPartner.Customer as ShipToParty,
@UI.identification: { position: 40 }
@EndUserText.label: 'City'
CustRetPartner._DfltAddrRprstn.CityName,
CustRetPartner._DfltAddrRprstn._Country._Text[1: Language=$session.system_language ].CountryName,
@UI.identification: { position: 50 }
@EndUserText.label: 'Country or Region'
@ObjectModel.text.element: [ 'CountryName' ]
CustRetPartner._DfltAddrRprstn.Country as Country,
@UI.identification: { position: 60 }
CustomerReturn.PurchaseOrderByCustomer,
@Semantics.currencyCode: true
CustomerReturn.TransactionCurrency,
@UI.dataPoint: { qualifier: 'DataPoint01' }
@UI.identification: { position: 70 }
@Semantics.amount.currencyCode: 'TransactionCurrency'
CustomerReturn.TotalNetAmount,
CustomerReturn._SDDocumentReason._Text[1: Language=$session.system_language ].SDDocumentReasonText,
@ObjectModel.text.element: [ 'SDDocumentReasonText' ]
@UI.fieldGroup: { qualifier: 'CRSales', position: 10, importance: #MEDIUM }
CustomerReturn.SDDocumentReason,
CustomerReturn._CustRetApprovalReason._SDApprovalReasonT[1: Language=$session.system_language ].SDApprovalReasonName,
@EndUserText.label: 'Approval Request Reason'
@ObjectModel.text.element: [ 'SDApprovalReasonName' ]
@UI.fieldGroup: { qualifier: 'CRSales', position: 20, importance: #MEDIUM }
CustomerReturn.CustomerReturnApprovalReason,
CustomerReturn._SalesOrganization._Text[1: Language=$session.system_language ].SalesOrganizationName,
@ObjectModel.text.element: [ 'SalesOrganizationName' ]
@UI.fieldGroup: { qualifier: 'CRSales', position: 30, importance: #MEDIUM }
CustomerReturn.SalesOrganization,
CustomerReturn._DistributionChannel._Text[1: Language=$session.system_language ].DistributionChannelName,
@ObjectModel.text.element: [ 'DistributionChannelName' ]
@UI.fieldGroup: { qualifier: 'CRSales', position: 40, importance: #MEDIUM }
CustomerReturn.DistributionChannel,
CustomerReturn._OrganizationDivision._Text[1: Language=$session.system_language ].DivisionName,
@ObjectModel.text.element: [ 'DivisionName' ]
@UI.fieldGroup: { qualifier: 'CRSales', position: 50, importance: #MEDIUM }
CustomerReturn.OrganizationDivision,
@Semantics.text: true
CustomerReturn._CreatedByUser.UserDescription as UserName,
@ObjectModel.text.element: [ 'UserName' ]
@UI.fieldGroup: { qualifier: 'CRAdministrative', position: 90, importance: #MEDIUM }
CustomerReturn.CreatedByUser,
@UI.fieldGroup: { qualifier: 'CRAdministrative', position: 100, importance: #MEDIUM }
@EndUserText.label: 'Created On'
CustomerReturn.CreationDate,
@Semantics.text: true
CustomerReturn._LastChangedByUser.UserDescription,
@ObjectModel.text.element: [ 'UserDescription' ]
@UI.fieldGroup: { qualifier: 'CRAdministrative', position: 110, importance: #MEDIUM }
CustomerReturn.LastChangedByUser,
@UI.fieldGroup: { qualifier: 'CRAdministrative', position: 120, importance: #MEDIUM }
@EndUserText.label: 'Last Changed On'
CustomerReturn.LastChangeDate,
//Associations
@ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
_CustomerReturnItem,
_SoldToParty,
_TransactionCurrency,
_SalesOrganization,
_DistributionChannel,
_OrganizationDivision,
_CustRetApprovalReason,
_SDDocumentReason,
_CustomerReturnType,
_CreatedByUser,
_LastChangedByUser
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_ADDRESS_2",
"I_COUNTRY",
"I_COUNTRYTEXT",
"I_CUSTOMER",
"I_CUSTOMERRETURNAPPROVALREASON",
"I_CUSTOMERRETURNENHANCED",
"I_CUSTOMERRETURNPARTNER",
"I_DISTRIBUTIONCHANNEL",
"I_DISTRIBUTIONCHANNELTEXT",
"I_DIVISION",
"I_DIVISIONTEXT",
"I_SALESDOCUMENTTYPE",
"I_SALESDOCUMENTTYPETEXT",
"I_SALESORGANIZATION",
"I_SALESORGANIZATIONTEXT",
"I_SDAPPROVALREASONT",
"I_SDDOCUMENTREASON",
"I_SDDOCUMENTREASONTEXT",
"I_USER"
],
"ASSOCIATED":
[
"C_CUSTOMERRETURNITMWRKFLWINBOX",
"I_CURRENCY",
"I_CUSTOMER",
"I_CUSTOMERRETURNAPPROVALREASON",
"I_DISTRIBUTIONCHANNEL",
"I_DIVISION",
"I_SALESDOCUMENTTYPE",
"I_SALESORGANIZATION",
"I_SDDOCUMENTREASON",
"I_USER"
],
"BASE":
[
"I_CUSTOMERRETURNENHANCED"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/