C_Customer360FulfillmentIssue

DDL: C_CUSTOMER360FULFILLMENTISSUE Type: view_entity CONSUMPTION

Customer 360 Fullfillment Issues

C_Customer360FulfillmentIssue is a Consumption CDS View that provides data about "Customer 360 Fullfillment Issues" in SAP S/4HANA. It reads from 2 data sources (I_SalesOrderFlfmtIssueBasic, I_SalesDocument) and exposes 20 fields with key fields SoldToParty, SalesDocument, Issue, DueDays.

Data Sources (2)

SourceAliasJoin Type
I_SalesOrderFlfmtIssueBasic Issue inner
I_SalesDocument SalesDocument from

Annotations (8)

NameValueLevelField
AccessControl.authorizationCheck #CHECK view
EndUserText.label Customer 360 Fullfillment Issues view
ObjectModel.representativeKey SoldToParty view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #S view
ObjectModel.usageType.dataClass #MIXED view
Metadata.allowExtensions true view
VDM.viewType #CONSUMPTION view

Fields (20)

KeyFieldSource TableSource FieldDescription
KEY SoldToParty I_SalesDocument SoldToParty
KEY SalesDocument I_SalesDocument SalesDocument
KEY Issue I_SalesOrderFlfmtIssueBasic Issue
KEY DueDays I_SalesOrderFlfmtIssueBasic DueDays
CustomerName
NmbrOfAllIssues I_SalesOrderFlfmtIssueBasic NmbrOfAllIssues
IssueName
TotalNetAmount I_SalesDocument TotalNetAmount
CurrencyName
TransactionCurrency I_SalesDocument TransactionCurrency
SalesDocumentType I_SalesDocument SalesDocumentType
SalesDocumentTypeName
SalesOrganization I_SalesDocument SalesOrganization
SalesOrganizationName
DistributionChannel I_SalesDocument DistributionChannel
DistributionChannelName
OrganizationDivision I_SalesDocument OrganizationDivision
DivisionName
SDDocumentCategory I_SalesDocument SDDocumentCategory
_SoldToParty I_SalesDocument _SoldToParty
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Customer 360 Fullfillment Issues'
@ObjectModel.representativeKey: 'SoldToParty'
@ObjectModel.usageType:{
    serviceQuality: #D,
    sizeCategory: #S,
    dataClass: #MIXED
}
@Metadata.allowExtensions: true
@VDM.viewType: #CONSUMPTION


define view entity C_Customer360FulfillmentIssue
  as select from I_SalesDocument             as SalesDocument
  --AT12.8.2019: no longer usage of "old" C_SalesOrderFulfillmentIssueQ for performance & consistency reasons

    inner join   I_SalesOrderFlfmtIssueBasic as Issue on  SalesDocument.SalesDocument         = Issue.SalesOrder
                                                      and SalesDocument.SalesOrganization     = Issue.SalesOrganization
                                                      and SalesDocument.DistributionChannel   = Issue.DistributionChannel
                                                      and SalesDocument.OrganizationDivision  = Issue.OrganizationDivision
    --AT16.4.2018 added further join criteria to enable filter push-down into both sides
                                                      and SalesDocument.RequestedDeliveryDate = Issue.RequestedDeliveryDate
                                                      and SalesDocument.SalesGroup            = Issue.SalesGroup
                                                      and SalesDocument.SalesOffice           = Issue.SalesOffice
                                                      and SalesDocument.SoldToParty           = Issue.SoldToParty
  //association [0..1] to C_Customer360_Issues as IssueCategory on $projection.IssueCategoryName = IssueCategory.IssueCategoryName

  //  association        to parent C_CUSTOMER360 as _Cust360_Header on $projection.SoldToParty = _Cust360_Header.Customer

  //  association [0..*] to I_IssueText as _IssueText on $projection.Issue = _IssueText.Issue

  //  association [0..1] to I_Division                     as _OrganizationDivision          on  $projection.OrganizationDivision = _OrganizationDivision.Division

{

       @ObjectModel.text.element: ['CustomerName']   
      @ObjectModel.foreignKey.association: '_SoldToParty'
  key SalesDocument.SoldToParty                                                                               as SoldToParty,
  
  
  key SalesDocument.SalesDocument                                                                             as SalesDocument,
      @ObjectModel.text.element:['IssueName']
  key Issue.Issue,


  key Issue.DueDays                                                                                           as DueDays,
  
        @UI.hidden: true
      SalesDocument._SoldToParty.CustomerName as CustomerName,
      @DefaultAggregation: #SUM
      Issue.NmbrOfAllIssues,
      @EndUserText.label: 'Issue Category'
      concat (concat (concat (
      cast (
      case when Issue.NmbrOfIssuesInOrder = 1 then
      Issue.IssueCategoryName   else '' end as sstring ),
      cast (
      case when Issue.NmbrOfIssuesInDelivery = 1 then
      Issue.IssueCategoryName   else '' end as sstring )),
      cast(
      case when Issue.NmbrOfIssuesInInvoice = 1 then
      Issue.IssueCategoryName   else '' end as sstring )),
      cast(
      case when Issue.NmbrOfIssuesInSupply = 1 then
      Issue.IssueCategoryName    else '' end as sstring ))                                                    as IssueCategoryName,
      //key

      case dats_is_valid(SalesDocument.RequestedDeliveryDate)
      when 1 then SalesDocument.RequestedDeliveryDate
      end                                                                                                     as RequestedDeliveryDate,
      // @ObjectModel.foreignKey.association: '_IssueCategory'

      //_IssueCategory.IssueCategory                                                                            as IssueCategory,


      @UI.hidden: true
      Issue._Issue._Text[1:Language = $session.system_language].IssueName                                     as IssueName,


      @Semantics.amount.currencyCode: 'TransactionCurrency'
      SalesDocument.TotalNetAmount                                                                            as TotalNetAmount,

      @UI.hidden: true
      SalesDocument._TransactionCurrency._Text[1:Language = $session.system_language].CurrencyName            as CurrencyName,
      @ObjectModel.text.element: ['CurrencyName']
      SalesDocument.TransactionCurrency,
      @UI.hidden: true
      @ObjectModel.text.element: ['SalesDocumentTypeName']
      SalesDocument.SalesDocumentType,
      @UI.hidden: true
      SalesDocument._SalesDocumentType._Text[1:Language = $session.system_language].SalesDocumentTypeName     as SalesDocumentTypeName,
      @UI.hidden: true
      @ObjectModel.text.element: ['SalesOrganizationName']
      SalesDocument.SalesOrganization,
      @UI.hidden: true
      SalesDocument._SalesOrganization._Text[1:Language = $session.system_language].SalesOrganizationName     as SalesOrganizationName,
      @UI.hidden: true

      @ObjectModel.text.element: ['DistributionChannelName']
      SalesDocument.DistributionChannel,
      @UI.hidden: true
      SalesDocument._DistributionChannel._Text[1:Language = $session.system_language].DistributionChannelName as DistributionChannelName,
      @UI.hidden: true
      @ObjectModel.text.element: ['DivisionName']
      SalesDocument.OrganizationDivision,
      @UI.hidden: true
      SalesDocument._OrganizationDivision._Text[1:Language = $session.system_language].DivisionName           as DivisionName,
      
      SalesDocument.SDDocumentCategory,
      
      
      
      SalesDocument._SoldToParty




}
where
  Issue.IsPotentialFutureIssue = '0'
//group by

//  SalesDocument.SalesDocument,

//  SalesDocument.TotalNetAmount,

//  SalesDocument.TransactionCurrency,

//  SalesDocument.RequestedDeliveryDate,

//  SalesDocument.SoldToParty,

//  Issue.DueDays,

//  Issue.Issue,

//  SalesDocument.SDDocumentCategory,

//  //  _IssueText.IssueName,

//  SalesDocument.SalesDocumentType,

//  SalesDocument.SalesOrganization,

//  SalesDocument.DistributionChannel,

//  SalesDocument.OrganizationDivision

// DistributionChannelName

// SalesDocument._Division;

/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_CURRENCY",
"I_CURRENCYTEXT",
"I_CUSTOMER",
"I_DISTRIBUTIONCHANNEL",
"I_DISTRIBUTIONCHANNELTEXT",
"I_DIVISION",
"I_DIVISIONTEXT",
"I_ISSUE",
"I_ISSUETEXT",
"I_SALESDOCUMENT",
"I_SALESDOCUMENTTYPE",
"I_SALESDOCUMENTTYPETEXT",
"I_SALESORDERFLFMTISSUEBASIC",
"I_SALESORGANIZATION",
"I_SALESORGANIZATIONTEXT"
],
"ASSOCIATED":
[
"I_CUSTOMER"
],
"BASE":
[
"I_SALESDOCUMENT"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/