@AbapCatalog.sqlViewName: 'CSDDMRWFINBOX'
@AbapCatalog.preserveKey:true
@EndUserText.label: 'Debit Memo Request Workflow Inbox'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #('TRANSACTIONAL_DATA')
@AccessControl.privilegedAssociations: ['_CreatedByUser', '_LastChangedByUser']
@VDM.viewType: #CONSUMPTION
@ObjectModel.usageType.dataClass: #TRANSACTIONAL
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #L
@ClientHandling.algorithm: #SESSION_VARIABLE
@Consumption.semanticObject: 'DebitMemoRequest'
@UI.headerInfo:{
title.value: 'DocumentTitle'
}
define view C_DebitMemoReqWorkflowInbox as select from I_DebitMemoRequest as DebitMemoRequest
left outer to many join I_DebitMemoReqPartner as DebitMemoRequestPartner
on DebitMemoRequest.DebitMemoRequest = DebitMemoRequestPartner.DebitMemoRequest
and DebitMemoRequestPartner.PartnerFunction = 'WE'
association [0..*] to C_DebitMemoReqItmWorkflowInbox as _DebitMemoReqItmWorkflowInbox
on $projection.DebitMemoRequest = _DebitMemoReqItmWorkflowInbox.DebitMemoRequest
association [0..1] to I_Customer as _ShipToParty
on DebitMemoRequestPartner.Customer = _ShipToParty.Customer
//Extensibility
association [0..1] to E_SalesDocumentBasic as _Extension
on $projection.DebitMemoRequest = _Extension.SalesDocument
{
@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: 'DebitMemoRequestSales'
},
{
label: 'Administrative Data',
id: 'Administrative',
parentId: 'GeneralInformation',
type: #FIELDGROUP_REFERENCE,
position: 30,
targetQualifier: 'DebitMemoRequestAdministrative'
},
{
label: 'Items',
id: 'Items',
type: #LINEITEM_REFERENCE,
position: 30,
targetQualifier: 'DebitMemoRequestInItems',
targetElement: '_DebitMemoReqItmWorkflowInbox'
}
]
@UI.identification: {position: 10}
@Consumption.semanticObject: 'DebitMemoRequest'
key DebitMemoRequest.DebitMemoRequest,
concat_with_space(concat_with_space(_DebitMemoRequestType._Text[1: Language=$session.system_language].SalesDocumentTypeName, '-', 1),
ltrim(DebitMemoRequest.DebitMemoRequest,'0'), 1) as DocumentTitle,
_SoldToParty.CustomerName as SoldToPartyName,
@UI.identification: {position: 20}
@ObjectModel.text.element: [ 'SoldToPartyName' ]
@Consumption.semanticObject: 'Customer'
DebitMemoRequest.SoldToParty,
_ShipToParty.CustomerName as ShipToPartyName,
@UI.identification: {position: 30}
@ObjectModel.text.element: [ 'ShipToPartyName' ]
@Consumption.semanticObject: 'Customer'
cast(DebitMemoRequestPartner.Customer as kunwe) as ShipToParty,
@UI.identification: { position: 40 }
@EndUserText.label: 'City'
DebitMemoRequestPartner._DfltAddrRprstn.CityName,
DebitMemoRequestPartner._DfltAddrRprstn._Country._Text[1: Language=$session.system_language ].CountryName,
@UI.identification: { position: 50 }
@EndUserText.label: 'Country or Region'
@ObjectModel.text.element: [ 'CountryName' ]
DebitMemoRequestPartner._DfltAddrRprstn.Country,
@UI.identification: {position: 60}
DebitMemoRequest.PurchaseOrderByCustomer,
@Semantics.currencyCode: true
DebitMemoRequest.TransactionCurrency,
@UI.dataPoint: { qualifier: 'DataPoint01' }
@UI.identification: {position: 70}
@Semantics.amount.currencyCode: 'TransactionCurrency'
DebitMemoRequest.TotalNetAmount,
_SDDocumentReason._Text[1: Language=$session.system_language ].SDDocumentReasonText,
@ObjectModel.text.element: [ 'SDDocumentReasonText' ]
@UI.fieldGroup: { qualifier: 'DebitMemoRequestSales', position: 10, importance: #MEDIUM }
DebitMemoRequest.SDDocumentReason,
_DebitMemoReqApprovalReason._SDApprovalReasonT[1: Language=$session.system_language ].SDApprovalReasonName as DebitMemoReqApprovalReasonName,
@ObjectModel.text.element: [ 'DebitMemoReqApprovalReasonName' ]
@UI.fieldGroup: { qualifier: 'DebitMemoRequestSales', position: 20, importance: #MEDIUM }
DebitMemoRequest.DebitMemoReqApprovalReason,
_TotalCreditCheckStatus._Text[1: Language=$session.system_language ].TotalCreditCheckStatusDesc,
@EndUserText.label: 'Overall Credit Status'
@ObjectModel.text.element: [ 'TotalCreditCheckStatusDesc' ]
@UI.fieldGroup: { qualifier: 'DebitMemoRequestSales', position: 25, importance: #MEDIUM }
DebitMemoRequest.TotalCreditCheckStatus,
_SalesOrganization._Text[1: Language=$session.system_language ].SalesOrganizationName,
@ObjectModel.text.element: [ 'SalesOrganizationName' ]
@UI.fieldGroup: { qualifier: 'DebitMemoRequestSales', position: 30, importance: #MEDIUM }
DebitMemoRequest.SalesOrganization,
_DistributionChannel._Text[1: Language=$session.system_language ].DistributionChannelName,
@ObjectModel.text.element: [ 'DistributionChannelName' ]
@UI.fieldGroup: { qualifier: 'DebitMemoRequestSales', position: 40, importance: #MEDIUM }
DebitMemoRequest.DistributionChannel,
_OrganizationDivision._Text[1: Language=$session.system_language ].DivisionName,
@ObjectModel.text.element: [ 'DivisionName' ]
@UI.fieldGroup: { qualifier: 'DebitMemoRequestSales', position: 50, importance: #MEDIUM }
DebitMemoRequest.OrganizationDivision,
_CreatedByUser.UserDescription as UserName,
@ObjectModel.text.element: [ 'UserName' ]
@UI.fieldGroup: { qualifier: 'DebitMemoRequestAdministrative', position: 80, importance: #MEDIUM }
DebitMemoRequest.CreatedByUser,
@UI.fieldGroup: { qualifier: 'DebitMemoRequestAdministrative', position: 90, importance: #MEDIUM }
cast(DebitMemoRequest.CreationDate as erdat) as CreationDate,
_LastChangedByUser.UserDescription,
@ObjectModel.text.element: [ 'UserDescription' ]
@UI.fieldGroup: { qualifier: 'DebitMemoRequestAdministrative', position: 100, importance: #MEDIUM }
DebitMemoRequest.LastChangedByUser,
@UI.fieldGroup: { qualifier: 'DebitMemoRequestAdministrative', position: 110, importance: #MEDIUM }
DebitMemoRequest.LastChangeDateTime,
DebitMemoRequest.DebitMemoRequestType,
//Associations
@ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
_DebitMemoReqItmWorkflowInbox,
_SoldToParty,
_TransactionCurrency,
_SalesOrganization,
_DistributionChannel,
_OrganizationDivision,
_DebitMemoReqApprovalReason,
_TotalCreditCheckStatus,
_SDDocumentReason,
_DebitMemoRequestType,
_CreatedByUser,
_LastChangedByUser
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_ADDRESS_2",
"I_COUNTRY",
"I_COUNTRYTEXT",
"I_CUSTOMER",
"I_DEBITMEMOREQAPPROVALREASON",
"I_DEBITMEMOREQPARTNER",
"I_DEBITMEMOREQUEST",
"I_DEBITMEMOREQUESTTYPE",
"I_DISTRIBUTIONCHANNEL",
"I_DISTRIBUTIONCHANNELTEXT",
"I_DIVISION",
"I_DIVISIONTEXT",
"I_SALESDOCUMENTTYPETEXT",
"I_SALESORGANIZATION",
"I_SALESORGANIZATIONTEXT",
"I_SDAPPROVALREASONT",
"I_SDDOCUMENTREASON",
"I_SDDOCUMENTREASONTEXT",
"I_TOTALCREDITCHECKSTATUS",
"I_TOTALCREDITCHECKSTATUSTEXT",
"I_USER"
],
"ASSOCIATED":
[
"C_DEBITMEMOREQITMWORKFLOWINBOX",
"E_SALESDOCUMENTBASIC",
"I_CURRENCY",
"I_CUSTOMER",
"I_DEBITMEMOREQAPPROVALREASON",
"I_DEBITMEMOREQUESTTYPE",
"I_DISTRIBUTIONCHANNEL",
"I_DIVISION",
"I_SALESORGANIZATION",
"I_SDDOCUMENTREASON",
"I_TOTALCREDITCHECKSTATUS",
"I_USER"
],
"BASE":
[
"I_DEBITMEMOREQUEST"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/