A_SalesOrderSimulation_2

DDL: A_SALESORDERSIMULATION_2 Type: view_entity CONSUMPTION Package: ODATA_SD_SALESORDER_API

Sales Order Header Simulation

A_SalesOrderSimulation_2 is a Consumption CDS View that provides data about "Sales Order Header Simulation" in SAP S/4HANA. It reads from 1 data source (I_SalesOrder) and exposes 90 fields with key field SalesOrder. It has 5 associations to related views. It is exposed through 1 OData service (API_SALESORDERSIMULATION). Part of development package ODATA_SD_SALESORDER_API.

Data Sources (1)

SourceAliasJoin Type
I_SalesOrder SalesOrder from

Associations (5)

CardinalityTargetAliasCondition
[0..1] I_SlsOrganizationDistrChnl _SlsOrganizationDistrChnl $projection.SalesOrganization = _SlsOrganizationDistrChnl.SalesOrganization and $projection.DistributionChannel = _SlsOrganizationDistrChnl.DistributionChannel
[1] E_SalesDocumentBasic _Extension $projection.SalesOrder = _Extension.SalesDocument
[0..*] A_SalesOrderItemSimulation_2 _Item
[0..*] A_SalesOrderPartnerSimln_2 _Partner
[0..*] A_SlsOrdPricingElementSimln_2 _PricingElement

Annotations (15)

NameValueLevelField
VDM.lifecycle.contract.type #PUBLIC_REMOTE_API view
VDM.viewType #CONSUMPTION view
AccessControl.authorizationCheck #MANDATORY view
EndUserText.label Sales Order Header Simulation view
Metadata.ignorePropagatedAnnotations true view
OData.entityType.name SalesOrder_Type view
ObjectModel.representativeKey SalesOrder view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.query.implementedBy ABAP:CL_SD_SO_SIMLN_RAP_V4_QRY view
AbapCatalog.extensibility.extensible true view
AbapCatalog.extensibility.elementSuffix SDH view
AbapCatalog.extensibility.quota.maximumFields 204 view
AbapCatalog.extensibility.quota.maximumBytes 100000 view

OData Services (1)

ServiceBindingVersionContractRelease
API_SALESORDERSIMULATION API_SALESORDERSIMULATION V4 C2 C1

Fields (90)

KeyFieldSource TableSource FieldDescription
KEY SalesOrder I_SalesOrder SalesOrder
SalesOrderType
SalesOrderProcessingType I_SalesOrder SalesOrderProcessingType
SoldToParty I_SalesOrder SoldToParty
SalesOrganization I_SalesOrder SalesOrganization
DistributionChannel I_SalesOrder DistributionChannel
ReferenceDistributionChannel _SlsOrganizationDistrChnl ReferenceDistributionChannel
OrganizationDivision I_SalesOrder OrganizationDivision
SalesOffice I_SalesOrder SalesOffice
SalesGroup I_SalesOrder SalesGroup
SalesDistrict I_SalesOrder SalesDistrict
CreatedByUser I_SalesOrder CreatedByUser
CreationDate I_SalesOrder CreationDate
CreationTime I_SalesOrder CreationTime
PurchaseOrderByCustomer I_SalesOrder PurchaseOrderByCustomer
PurchaseOrderByShipToParty I_SalesOrder PurchaseOrderByShipToParty
CustomerPurchaseOrderType I_SalesOrder CustomerPurchaseOrderType
CustomerPurchaseOrderDate I_SalesOrder CustomerPurchaseOrderDate
CorrespncExternalReference I_SalesOrder CorrespncExternalReference
CorrespncExtRefByShipToParty I_SalesOrder CorrespncExtRefByShipToParty
BusinessSolutionOrder I_SalesOrder BusinessSolutionOrder
ReferenceSDDocument I_SalesOrder ReferenceSDDocument
ReferenceSDDocumentCategory I_SalesOrder ReferenceSDDocumentCategory
SDDocumentReason I_SalesOrder SDDocumentReason
SalesOrderDate I_SalesOrder SalesOrderDate
RequestedDeliveryDate I_SalesOrder RequestedDeliveryDate
PricingDate I_SalesOrder PricingDate
ServicesRenderedDate I_SalesOrder ServicesRenderedDate
BillingDocumentDate I_SalesOrder BillingDocumentDate
TotalNetAmount I_SalesOrder TotalNetAmount
TransactionCurrency I_SalesOrder TransactionCurrency
DeliveryDateTypeRule I_SalesOrder DeliveryDateTypeRule
ShippingCondition I_SalesOrder ShippingCondition
CompleteDeliveryIsDefined I_SalesOrder CompleteDeliveryIsDefined
SlsDocIsRlvtForProofOfDeliv I_SalesOrder SlsDocIsRlvtForProofOfDeliv
ShippingType I_SalesOrder ShippingType
ReceivingPoint I_SalesOrder ReceivingPoint
IncotermsClassification I_SalesOrder IncotermsClassification
IncotermsVersion I_SalesOrder IncotermsVersion
IncotermsLocation1 I_SalesOrder IncotermsLocation1
IncotermsLocation2 I_SalesOrder IncotermsLocation2
SDPricingProcedure I_SalesOrder SDPricingProcedure
CustomerPriceGroup I_SalesOrder CustomerPriceGroup
PriceListType I_SalesOrder PriceListType
FixedValueDate I_SalesOrder FixedValueDate
TaxDepartureCountry I_SalesOrder TaxDepartureCountry
VATRegistrationCountry I_SalesOrder VATRegistrationCountry
IsEUTriangularDeal I_SalesOrder IsEUTriangularDeal
CustomerPaymentTerms I_SalesOrder CustomerPaymentTerms
PaymentMethod I_SalesOrder PaymentMethod
BillingCompanyCode I_SalesOrder BillingCompanyCode
ControllingArea I_SalesOrder ControllingArea
CustomerAccountAssignmentGroup I_SalesOrder CustomerAccountAssignmentGroup
AssignmentReference I_SalesOrder AssignmentReference
AccountingDocExternalReference I_SalesOrder AccountingDocExternalReference
CustomerCreditAccount I_SalesOrder CustomerCreditAccount
HeaderBillingBlockReason I_SalesOrder HeaderBillingBlockReason
DeliveryBlockReason I_SalesOrder DeliveryBlockReason
SalesOrderApprovalReason I_SalesOrder SalesOrderApprovalReason
SlsContrAutoAssgmtIDForSlsOrd I_SalesOrder SlsContrAutoAssgmtIDForSlsOrd
CustomerGroup I_SalesOrder CustomerGroup
AdditionalCustomerGroup1 I_SalesOrder AdditionalCustomerGroup1
AdditionalCustomerGroup2 I_SalesOrder AdditionalCustomerGroup2
AdditionalCustomerGroup3 I_SalesOrder AdditionalCustomerGroup3
AdditionalCustomerGroup4 I_SalesOrder AdditionalCustomerGroup4
AdditionalCustomerGroup5 I_SalesOrder AdditionalCustomerGroup5
CreditCheckIsToBeDisabled
OverallSDProcessStatus I_SalesOrder OverallSDProcessStatus
OverallPurchaseConfStatus I_SalesOrder OverallPurchaseConfStatus
OverallDeliveryBlockStatus I_SalesOrder OverallDeliveryBlockStatus
OverallBillingBlockStatus I_SalesOrder OverallBillingBlockStatus
OverallDeliveryStatus I_SalesOrder OverallDeliveryStatus
TotalCreditCheckStatus I_SalesOrder TotalCreditCheckStatus
OverallSDDocumentRejectionSts I_SalesOrder OverallSDDocumentRejectionSts
TotalBlockStatus I_SalesOrder TotalBlockStatus
HdrGeneralIncompletionStatus I_SalesOrder HdrGeneralIncompletionStatus
OvrlItmGeneralIncompletionSts I_SalesOrder OvrlItmGeneralIncompletionSts
OverallSDDocReferenceStatus I_SalesOrder OverallSDDocReferenceStatus
SalesDocApprovalStatus I_SalesOrder SalesDocApprovalStatus
OverallChmlCmplncStatus I_SalesOrder OverallChmlCmplncStatus
OverallDangerousGoodsStatus I_SalesOrder OverallDangerousGoodsStatus
OverallSafetyDataSheetStatus I_SalesOrder OverallSafetyDataSheetStatus
OverallTrdCmplncEmbargoSts I_SalesOrder OverallTrdCmplncEmbargoSts
OvrlTrdCmplncSnctndListChkSts I_SalesOrder OvrlTrdCmplncSnctndListChkSts
OvrlTrdCmplncLegalCtrlChkSts I_SalesOrder OvrlTrdCmplncLegalCtrlChkSts
SalesOrderDownPaymentStatus I_SalesOrder SalesOrderDownPaymentStatus
OverallOrdReltdBillgStatus I_SalesOrder OverallOrdReltdBillgStatus
_Item _Item
_Partner _Partner
_PricingElement _PricingElement
@VDM: {
  lifecycle.contract.type: #PUBLIC_REMOTE_API,
  usage.type: [#TRANSACTIONAL_PROCESSING_SERVICE],
  viewType: #CONSUMPTION
}

@AccessControl: {
    authorizationCheck: #MANDATORY,
    personalData.blocking: #('TRANSACTIONAL_DATA')
}

@EndUserText.label: 'Sales Order Header Simulation'

@Metadata.ignorePropagatedAnnotations: true

@OData: {
  entityType.name: 'SalesOrder_Type'
}

@ObjectModel: {
   representativeKey: 'SalesOrder',
   usageType: {
     dataClass:      #TRANSACTIONAL,
     serviceQuality: #C,
     sizeCategory:   #L
   },
   query.implementedBy: 'ABAP:CL_SD_SO_SIMLN_RAP_V4_QRY'
}

@AbapCatalog.extensibility: {
  extensible: true,
  dataSources: ['_Extension'],  
  elementSuffix: 'SDH',
  quota: {
    maximumFields: 204, 
    maximumBytes: 100000
  }  
}  


define root view entity A_SalesOrderSimulation_2
    as select from I_SalesOrder as SalesOrder
    composition [0..*] of A_SalesOrderItemSimulation_2          as _Item
    composition [0..*] of A_SalesOrderPartnerSimln_2            as _Partner
    composition [0..*] of A_SlsOrdPricingElementSimln_2           as _PricingElement
    
    association [0..1] to I_SlsOrganizationDistrChnl            as _SlsOrganizationDistrChnl on  $projection.SalesOrganization   = _SlsOrganizationDistrChnl.SalesOrganization
                                                                                  and $projection.DistributionChannel = _SlsOrganizationDistrChnl.DistributionChannel
    association [1]    to E_SalesDocumentBasic                  as _Extension             on  $projection.SalesOrder = _Extension.SalesDocument 
    
{
    
    key SalesOrder.SalesOrder,
    
    @ObjectModel.sapObjectNodeTypeReference: 'SalesOrderType'
    cast(SalesOrder.SalesOrderType as auart_spr preserving type ) as SalesOrderType,
    
    SalesOrder.SalesOrderProcessingType,
    
    SalesOrder.SoldToParty,
    
    SalesOrder.SalesOrganization,

    SalesOrder.DistributionChannel,
    
    _SlsOrganizationDistrChnl.ReferenceDistributionChannel,
    
    SalesOrder.OrganizationDivision,
    
    SalesOrder.SalesOffice,
    SalesOrder.SalesGroup,
    SalesOrder.SalesDistrict,
    
    SalesOrder.CreatedByUser,
    SalesOrder.CreationDate,
    SalesOrder.CreationTime,
    
    case tstmp_is_valid(cast(SalesOrder.LastChangeDateTime as abap.dec(15,0)))
       when 0 then cast( dats_tims_to_tstmp( SalesOrder.CreationDate, SalesOrder.CreationTime, 'UTC', $session.client, 'NULL' ) as last_changed_date_time )
        else cast( SalesOrder.LastChangeDateTime as last_changed_date_time )
    end                                                                                              as LastChangeDateTime,
    
    SalesOrder.PurchaseOrderByCustomer,
  
    SalesOrder.PurchaseOrderByShipToParty,
    @ObjectModel.sapObjectNodeTypeReference: 'PurchaseOrderTypeByCustomer'
    SalesOrder.CustomerPurchaseOrderType,
    SalesOrder.CustomerPurchaseOrderDate,
    SalesOrder.CorrespncExternalReference,
    SalesOrder.CorrespncExtRefByShipToParty,
    SalesOrder.BusinessSolutionOrder,
    
    SalesOrder.ReferenceSDDocument,
    @Consumption.hidden: true
    @Semantics.nullValueIndicatorFor: 'ReferenceSDDocument'
    cast( '' as rap_null_value_indicator ) as ReferenceSDDocumentIsNull,
    
    SalesOrder.ReferenceSDDocumentCategory,
    @Consumption.hidden: true
    @Semantics.nullValueIndicatorFor: 'ReferenceSDDocumentCategory'
    cast( '' as rap_null_value_indicator ) as ReferenceSDDocumentCatIsNull,
    
    @ObjectModel.sapObjectNodeTypeReference: 'SalesDocumentReason'
    SalesOrder.SDDocumentReason,
    
    SalesOrder.SalesOrderDate,
    SalesOrder.RequestedDeliveryDate,
    SalesOrder.PricingDate,
    SalesOrder.ServicesRenderedDate,
    SalesOrder.BillingDocumentDate,
    
    @Semantics.amount.currencyCode: 'TransactionCurrency'
    SalesOrder.TotalNetAmount,
    @ObjectModel.sapObjectNodeTypeReference: 'Currency'
    //@Semantics.currencyCode: true

    SalesOrder.TransactionCurrency,
        
    @ObjectModel.sapObjectNodeTypeReference: 'DeliveryDateTypeRule'
    SalesOrder.DeliveryDateTypeRule,
    SalesOrder.ShippingCondition,
    SalesOrder.CompleteDeliveryIsDefined,
    SalesOrder.SlsDocIsRlvtForProofOfDeliv,
    SalesOrder.ShippingType,
    SalesOrder.ReceivingPoint,
    
    @ObjectModel.sapObjectNodeTypeReference: 'IncotermsClassification'
    SalesOrder.IncotermsClassification,
    @ObjectModel.sapObjectNodeTypeReference: 'IncotermsVersion'
    SalesOrder.IncotermsVersion,
    SalesOrder.IncotermsLocation1,
    SalesOrder.IncotermsLocation2,
    
    SalesOrder.SDPricingProcedure,
    @ObjectModel.sapObjectNodeTypeReference: 'CustomerPriceGroup'
    SalesOrder.CustomerPriceGroup,
    SalesOrder.PriceListType,
    SalesOrder.FixedValueDate,
    SalesOrder.TaxDepartureCountry,
    SalesOrder.VATRegistrationCountry,
    SalesOrder.IsEUTriangularDeal,
    SalesOrder.CustomerPaymentTerms,
    @ObjectModel.sapObjectNodeTypeReference: 'PaymentMethod'
    SalesOrder.PaymentMethod,
    SalesOrder.BillingCompanyCode,
    SalesOrder.ControllingArea,
    
    @ObjectModel.sapObjectNodeTypeReference: 'CustomerAccountAssignmentGroup'
    SalesOrder.CustomerAccountAssignmentGroup,
    SalesOrder.AssignmentReference,
    SalesOrder.AccountingDocExternalReference,
    SalesOrder.CustomerCreditAccount,
    
    @ObjectModel.sapObjectNodeTypeReference: 'BillingBlockReason'
    SalesOrder.HeaderBillingBlockReason,
    SalesOrder.DeliveryBlockReason,
    @ObjectModel.sapObjectNodeTypeReference: 'SalesOrderApprovalReason'
    SalesOrder.SalesOrderApprovalReason,
    
    SalesOrder.SlsContrAutoAssgmtIDForSlsOrd,
    @Consumption.hidden: true
    @Semantics.nullValueIndicatorFor: 'SlsContrAutoAssgmtIDForSlsOrd'
    cast( '' as rap_null_value_indicator ) as SlsContrAutoAssgmtIDIsNull,   
    
    @ObjectModel.sapObjectNodeTypeReference: 'CustomerGroup'
    SalesOrder.CustomerGroup,
    @ObjectModel.sapObjectNodeTypeReference: 'AdditionalCustomerGroup1'
    SalesOrder.AdditionalCustomerGroup1,
    @ObjectModel.sapObjectNodeTypeReference: 'AdditionalCustomerGroup2'
    SalesOrder.AdditionalCustomerGroup2,
    @ObjectModel.sapObjectNodeTypeReference: 'AdditionalCustomerGroup3'
    SalesOrder.AdditionalCustomerGroup3,
    @ObjectModel.sapObjectNodeTypeReference: 'AdditionalCustomerGroup4'
    SalesOrder.AdditionalCustomerGroup4,
    @ObjectModel.sapObjectNodeTypeReference: 'AdditionalCustomerGroup5'
    SalesOrder.AdditionalCustomerGroup5,           
        
    cast( '' as vdm_sdoc_crdt_chk_is_tb_dsbld ) as CreditCheckIsToBeDisabled,    
        
    @ObjectModel.sapObjectNodeTypeReference: 'OverallSDProcessStatus'
    SalesOrder.OverallSDProcessStatus,
    @ObjectModel.sapObjectNodeTypeReference: 'SlsDocOvrlPurchaseConfStatus'
    SalesOrder.OverallPurchaseConfStatus,
    @ObjectModel.sapObjectNodeTypeReference: 'SlsDocOvrlDeliveryBlockStatus'
    SalesOrder.OverallDeliveryBlockStatus,
    SalesOrder.OverallBillingBlockStatus,
    @ObjectModel.sapObjectNodeTypeReference: 'SalesDocOverallDeliveryStatus'
    SalesOrder.OverallDeliveryStatus,
    @ObjectModel.sapObjectNodeTypeReference: 'TotalCreditCheckStatus'
    SalesOrder.TotalCreditCheckStatus,
    @ObjectModel.sapObjectNodeTypeReference: 'OverallSDDocumentRejectionSts'
    SalesOrder.OverallSDDocumentRejectionSts,
    SalesOrder.TotalBlockStatus,
    @ObjectModel.sapObjectNodeTypeReference: 'SlsDocGenIncompletionStatus'
    SalesOrder.HdrGeneralIncompletionStatus,
    @ObjectModel.sapObjectNodeTypeReference: 'SlsDocOvrlItmGenIncompltnSts'
    SalesOrder.OvrlItmGeneralIncompletionSts,
    @ObjectModel.sapObjectNodeTypeReference: 'OverallSDDocReferenceStatus'
    SalesOrder.OverallSDDocReferenceStatus,
    @ObjectModel.sapObjectNodeTypeReference: 'SalesDocApprovalStatus'
    SalesOrder.SalesDocApprovalStatus,
    SalesOrder.OverallChmlCmplncStatus,
    SalesOrder.OverallDangerousGoodsStatus,
    SalesOrder.OverallSafetyDataSheetStatus,
    SalesOrder.OverallTrdCmplncEmbargoSts,
    SalesOrder.OvrlTrdCmplncSnctndListChkSts,
    SalesOrder.OvrlTrdCmplncLegalCtrlChkSts,
    SalesOrder.SalesOrderDownPaymentStatus,
    @ObjectModel.sapObjectNodeTypeReference: 'OverallOrdReltdBillgStatus'
    SalesOrder.OverallOrdReltdBillgStatus,
    
    //Compositions

    @ObjectModel.filter.enabled: false
    _Item,
    @ObjectModel.filter.enabled: false
    _Partner,
    @ObjectModel.filter.enabled: false
    _PricingElement
}