R_SalesOrderTextTP

DDL: R_SALESORDERTEXTTP Type: view_entity TRANSACTIONAL

Sales Order - Text TP

R_SalesOrderTextTP is a Transactional CDS View that provides data about "Sales Order - Text TP" in SAP S/4HANA. It reads from 3 data sources (P_SalesDocumentText, I_SalesDocumentBasic, I_SalesDocumentType) and exposes 15 fields with key fields SalesOrder, Language, LongTextID. It has 3 associations to related views.

Data Sources (3)

SourceAliasJoin Type
P_SalesDocumentText P_SalesDocumentText from
I_SalesDocumentBasic SalesDocumentBasic inner
I_SalesDocumentType SalesDocumentType inner

Associations (3)

CardinalityTargetAliasCondition
[0..*] I_TextDeterminationProcedItem _TextDeterminationProcedItem $projection.TextDeterminationProcedure = _TextDeterminationProcedItem.TextDeterminationProcedure and $projection.LongTextID = _TextDeterminationProcedItem.LongTextID and _TextDeterminationProcedItem.TextObjectCategory = 'VBBK'
[0..1] I_Language _Language $projection.LanguageForEdit = _Language.Language
[0..1] I_SDDocumentLongTextID _LongTextID $projection.LongTextIDForEdit = _LongTextID.LongTextID

Annotations (8)

NameValueLevelField
VDM.lifecycle.contract.type #SAP_INTERNAL_API view
VDM.viewType #TRANSACTIONAL view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #L view
Metadata.ignorePropagatedAnnotations true view
AccessControl.authorizationCheck #CHECK view
EndUserText.label Sales Order - Text TP view

Fields (15)

KeyFieldSource TableSource FieldDescription
KEY SalesOrder
KEY Language SalesOrderText Language
KEY LongTextID SalesOrderText LongTextID
LongTextIDForEdit SalesOrderText LongTextID
LanguageForEdit SalesOrderText Language
LongText SalesOrderText LongText
TextDeterminationProcedure I_SalesDocumentType TextDeterminationProcedure
TextDeterminationProcedureItem _TextDeterminationProcedItem TextDeterminationProcedureItem
SalesOrderType _SalesOrder SalesOrderType
SalesOrganization _SalesOrder SalesOrganization
DistributionChannel _SalesOrder DistributionChannel
OrganizationDivision _SalesOrder OrganizationDivision
_SalesOrder _SalesOrder
_Language _Language
_LongTextID _LongTextID
@VDM: {
  lifecycle.contract.type: #SAP_INTERNAL_API,
  viewType: #TRANSACTIONAL
}

@ObjectModel: {
    usageType: {
        dataClass: #TRANSACTIONAL,
        serviceQuality: #C,
        sizeCategory: #L
    }
}

@ObjectModel.semanticKey: ['SalesOrder', 'Language', 'LongTextID']

@Metadata.ignorePropagatedAnnotations: true

@AccessControl: {
  authorizationCheck: #CHECK,
  personalData.blocking: #('TRANSACTIONAL_DATA')
}
@EndUserText.label: 'Sales Order - Text TP'

define view entity R_SalesOrderTextTP
 as select from P_SalesDocumentText( P_SAPClient : $session.client ) as SalesOrderText

    inner join   I_SalesDocumentBasic                                 as SalesDocumentBasic on  SalesDocumentBasic.SalesDocument      = SalesOrderText.SalesDocument
                                                                                            and SalesDocumentBasic.SDDocumentCategory = 'C'

    inner join   I_SalesDocumentType                                  as SalesDocumentType  on SalesDocumentBasic.SalesDocumentType = SalesDocumentType.SalesDocumentType


  association        to parent R_SalesOrderTP  as _SalesOrder           on  $projection.SalesOrder = _SalesOrder.SalesOrder

  association [0..*] to I_TextDeterminationProcedItem as _TextDeterminationProcedItem on  $projection.TextDeterminationProcedure          = _TextDeterminationProcedItem.TextDeterminationProcedure
                                                                                      and $projection.LongTextID                          = _TextDeterminationProcedItem.LongTextID
                                                                                      and _TextDeterminationProcedItem.TextObjectCategory = 'VBBK'

  association [0..1] to I_Language                    as _Language                    on  $projection.LanguageForEdit = _Language.Language
  association [0..1] to I_SDDocumentLongTextID        as _LongTextID                  on  $projection.LongTextIDForEdit = _LongTextID.LongTextID

{
  key cast(SalesOrderText.SalesDocument as vdm_sales_order preserving type) as SalesOrder,

  key SalesOrderText.Language,

  key SalesOrderText.LongTextID,

      @ObjectModel.foreignKey.association: '_LongTextID'
      SalesOrderText.LongTextID                                                 as LongTextIDForEdit,

      @ObjectModel.foreignKey.association: '_Language'
      SalesOrderText.Language                                                   as LanguageForEdit,
      
      @ObjectModel.virtualElement: true
      SalesOrderText.LongText,

      @Consumption.hidden: true
      SalesDocumentType.TextDeterminationProcedure,

      _TextDeterminationProcedItem.TextDeterminationProcedureItem               as TextDeterminationProcedureItem,

      // For Access control

      @Consumption.hidden: true
      _SalesOrder.SalesOrderType,
      @Consumption.hidden: true
      _SalesOrder.SalesOrganization,
      @Consumption.hidden: true
      _SalesOrder.DistributionChannel,
      @Consumption.hidden: true
      _SalesOrder.OrganizationDivision,


      // Exposed associations

      _SalesOrder,
      _Language,
      _LongTextID
}