I_SlsDocNonStdPartner

DDL: I_SLSDOCNONSTDPARTNER Type: view COMPOSITE Package: SD_CHANGE_COCKPIT_ODATA

SD Document Non Std Complete Partners

I_SlsDocNonStdPartner is a Composite CDS View that provides data about "SD Document Non Std Complete Partners" in SAP S/4HANA. It reads from 1 data source (I_SDDocumentCompletePartners) and exposes 21 fields with key fields SDDocument, SDDocumentItem, PartnerFunction. It has 3 associations to related views. Part of development package SD_CHANGE_COCKPIT_ODATA.

Data Sources (1)

SourceAliasJoin Type
I_SDDocumentCompletePartners I_SDDocumentCompletePartners from

Associations (3)

CardinalityTargetAliasCondition
[1] I_SalesDocument _SalesDocument $projection.SDDocument = _SalesDocument.SalesDocument
[1] I_SalesDocumentItem _SalesDocumentItem $projection.SDDocument = _SalesDocumentItem.SalesDocument and $projection.SDDocumentItem = _SalesDocumentItem.SalesDocumentItem
[1] I_SalesDocumentPartner _AdditionalPartners $projection.SDDocument = _AdditionalPartners.SalesDocument and $projection.PartnerFunction = _AdditionalPartners.PartnerFunction

Annotations (13)

NameValueLevelField
ClientHandling.algorithm #SESSION_VARIABLE view
AbapCatalog.sqlViewName ISLSDOCNSTDPT view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #CHECK view
VDM.viewType #COMPOSITE view
VDM.lifecycle.contract.type #PUBLIC_LOCAL_API view
ObjectModel.representativeKey PartnerFunction view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XL view
EndUserText.label SD Document Non Std Complete Partners view
Metadata.ignorePropagatedAnnotations true view

Fields (21)

KeyFieldSource TableSource FieldDescription
KEY SDDocument SDDocument
KEY SDDocumentItem SDDocumentItem
KEY PartnerFunction
PartnerFunctionName
SDDocumentPartnerType _PartnerFunction SDDocumentPartnerType
Customer Customer
Supplier Supplier
BusinessPartner _AdditionalPartners Partner
BusinessPartnerFullName _AdditionalPartners FullName
Personnel Personnel
AddressID AddressID
AddressPersonID AddressPersonID
ContactPerson ContactPerson
PartnerIsOneTimeAccount PartnerIsOneTimeAccount
VATRegistration VATRegistration
_PartnerFunction _PartnerFunction
_DfltAddrRprstn _DfltAddrRprstn
_ContactPerson _ContactPerson
_SalesDocument _SalesDocument
_SalesDocumentItem _SalesDocumentItem
_AdditionalPartners _AdditionalPartners
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog: {
  sqlViewName: 'ISLSDOCNSTDPT',
  compiler.compareFilter: true,
  preserveKey: true
}
@AccessControl: {
  authorizationCheck: #CHECK,
  personalData.blocking: #('TRANSACTIONAL_DATA'),
  privilegedAssociations:  [ '_DfltAddrRprstn' ]
}
@VDM: {
  viewType: #COMPOSITE,
  lifecycle.contract.type: #PUBLIC_LOCAL_API
}
@ObjectModel: {
   representativeKey: 'PartnerFunction',
   usageType: {
     dataClass:      #TRANSACTIONAL,
     serviceQuality: #C,
     sizeCategory:   #XL
   }
}
@EndUserText.label: 'SD Document Non Std Complete Partners'
@Metadata.ignorePropagatedAnnotations:true
@Consumption.dbHints: ['USE_HEX_PLAN']

define view I_SlsDocNonStdPartner
  as select from I_SDDocumentCompletePartners
//  association [1] to I_WorkforcePerson       as _WorkforcePerson    on  $projection.Customer = _WorkforcePerson.Person

//  association [1] to I_PersonWorkAgreement_1 as _WorkAgreement      on  $projection.Personnel = _WorkAgreement.PersonWorkAgreement

  association [1] to I_SalesDocument         as _SalesDocument      on  $projection.SDDocument = _SalesDocument.SalesDocument
  association [1] to I_SalesDocumentItem     as _SalesDocumentItem  on  $projection.SDDocument     = _SalesDocumentItem.SalesDocument
                                                                    and $projection.SDDocumentItem = _SalesDocumentItem.SalesDocumentItem
  association [1] to I_SalesDocumentPartner  as _AdditionalPartners on  $projection.SDDocument      = _AdditionalPartners.SalesDocument
                                                                    and $projection.PartnerFunction = _AdditionalPartners.PartnerFunction

{
      @ObjectModel.foreignKey.association: '_SalesDocument'
  key SDDocument,
      @ObjectModel.foreignKey.association: '_SalesDocumentItem'
  key SDDocumentItem,
      @ObjectModel.foreignKey.association: '_PartnerFunction'
  key cast(PartnerFunction as parvw_unv preserving type ) as PartnerFunction,
      _PartnerFunction._Text[1:Language =  $session.system_language ].PartnerFunctionName,
      _PartnerFunction.SDDocumentPartnerType,
      Customer,
      Supplier,

      @ObjectModel.text.element:  [ 'BusinessPartnerFullName' ]
      //      case

      //        when Customer != ''

      //            then Customer

      //        when Supplier != ''

      //            then Supplier

      //        when Personnel != '00000000'

      //            then cast(Personnel as kunnr)  // cast to get the same data element length and also APLHA conversion done

      //        when ContactPerson != '0000000000'

      //            then cast(ContactPerson as kunnr) // cast to get the same data element length and also APLHA conversion done

      //        else

      //            ''

      //        end                                               as BusinessPartner,

      _AdditionalPartners.Partner                         as BusinessPartner,

      @Semantics.name.fullName: true
      @Semantics.text: true
      //      case

      //        when ContactPerson != '0000000000'

      //         then coalesce(_DfltAddrRprstn.AddresseeFullName, cast(substring(replace(concat(_ContactPerson.FirstName, concat(' &@', _ContactPerson.LastName)), '&@', ''),1,80) as adfullname ) )

      //        when Personnel != '00000000'

      //         then

      //           case when _WorkAgreement.PersonFullName is initial

      //             then  cast( _WorkAgreement._WorkforcePerson.LastName as adfullname )

      //           else

      //             _WorkAgreement.PersonFullName

      //         end

      //      else

      //         _DfltAddrRprstn.AddresseeFullName

      //      end                                                 as BusinessPartnerFullName,

      _AdditionalPartners.FullName                        as BusinessPartnerFullName,


      Personnel,
      AddressID,
      AddressPersonID,
      @ObjectModel.foreignKey.association: '_ContactPerson'
      ContactPerson,
      PartnerIsOneTimeAccount,
      VATRegistration,

      _PartnerFunction,
      _DfltAddrRprstn,
      _ContactPerson,
//      _WorkforcePerson,

//      _WorkAgreement,

      _SalesDocument,
      _SalesDocumentItem,
      _AdditionalPartners
//for address 2202      

//      @Semantics.text:true

//      @Consumption.filter.hidden: true

//      @ObjectModel.virtualElement: true

//      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_MCC_SLS_DOC_VE'

//      cast( ' ' as ad_line_s )                                                                                                    as FormattedPostalAddressDesc

//      

      
}
where
      SDDocumentItem = '000000'
  and PartnerFunction != 'AG'
  and PartnerFunction != 'WE'
  and PartnerFunction != 'RE'
  and PartnerFunction != 'RG'
  and PartnerFunction != 'VE'
  and PartnerFunction != 'ZM'