@ClientHandling.algorithm: #SESSION_VARIABLE
@EndUserText.label: 'Sales order'
@Analytics.internalName: #LOCAL
@VDM: {
viewType: #BASIC,
lifecycle.contract.type: #PUBLIC_LOCAL_API
}
@AccessControl: {
authorizationCheck: #CHECK,
personalData.blocking: #('TRANSACTIONAL_DATA'),
privilegedAssociations: [ '_CreatedByUser', '_LastChangedByUser', '_BusinessAreaText','_CreditControlAreaText' ]
}
@AbapCatalog: {
sqlViewName: 'IO2CSALESORDER',
preserveKey: true,
compiler.compareFilter: true
}
@ObjectModel: {
representativeKey: 'SalesOrder',
usageType: {
dataClass: #TRANSACTIONAL,
serviceQuality: #B,
sizeCategory: #XL
},
supportedCapabilities: [ #ANALYTICAL_DIMENSION, #CDS_MODELING_ASSOCIATION_TARGET, #SQL_DATA_SOURCE, #CDS_MODELING_DATA_SOURCE ],
modelingPattern: [ #ANALYTICAL_DIMENSION ]
}
@Metadata.ignorePropagatedAnnotations: true
@Analytics.dataCategory: #DIMENSION
@Metadata.allowExtensions: true
define view I_Order2CashSalesOrder
as select from I_SalesDocument as SalesDocument
association [0..*] to I_BusinessAreaText as _BusinessAreaText on $projection.BusinessArea = _BusinessAreaText.BusinessArea
association [0..*] to I_CreditControlAreaText as _CreditControlAreaText on $projection.CreditControlArea = _CreditControlAreaText.CreditControlArea
association [0..1] to I_SalesOrderType as _SalesOrderType on $projection.SalesOrderType = _SalesOrderType.SalesOrderType
association [0..*] to I_SalesOrderPricingElement as _PricingElement on $projection.SalesOrder = _PricingElement.SalesOrder
association [0..*] to I_Order2CashSalesOrderItem as _Salesorderitemfs on $projection.SalesOrder = SalesDocument.SalesDocument
//Extensibility
association [0..1] to E_SalesDocumentBasic as _Extension on SalesDocument.SalesDocument = _Extension.SalesDocument
{
//Key
key cast(SalesDocument as vdm_sales_order preserving type) as SalesOrder,
//Category
@ObjectModel.foreignKey.association: '_SalesOrderType'
cast( SalesDocumentType as sales_order_type preserving type ) as SalesOrderType,
SalesDocumentProcessingType as SalesOrderProcessingType,
//Admin
CreatedByUser,
LastChangedByUser,
@Semantics.systemDate.createdAt: true
CreationDate,
@Semantics.systemTime.createdAt: true
CreationTime,
@Semantics.systemDate.lastChangedAt: true
LastChangeDate,
@Semantics.systemDateTime.lastChangedAt: true
LastChangeDateTime,
SenderBusinessSystemName,
ExternalDocumentID,
ExternalDocLastChangeDateTime,
// Organization
@ObjectModel.foreignKey.association: '_SalesOrganization'
SalesOrganization,
@ObjectModel.foreignKey.association: '_DistributionChannel'
DistributionChannel,
@ObjectModel.foreignKey.association: '_OrganizationDivision'
OrganizationDivision,
@ObjectModel.foreignKey.association: '_SalesGroup'
SalesGroup,
@ObjectModel.foreignKey.association: '_SalesOffice'
SalesOffice,
//Sales
// --[ GENERATED:012:E6ExH29r7kY4iE3VJ}6T4m
/* @Consumption.valueHelpDefinition: [
{ entity: { name: 'I_Customer_VH',
element: 'Customer' }
}] */
// ]--GENERATED
//Start: Multiple Addresses in O2C
@Consumption.valueHelpDefinition: [{ entity: { name: 'D_CustomerCVH',
element: 'Customer' } }]
//End: Multiple Addresses in O2C
// Sales
--[ GENERATED:012:E6ExH29r7kY4iE3VJ}6T4m
@ObjectModel.foreignKey.association: '_SoldToParty'
SoldToParty,
@ObjectModel.foreignKey.association: '_CustomerGroup'
CustomerGroup,
@ObjectModel.foreignKey.association: '_AdditionalCustomerGroup1'
AdditionalCustomerGroup1,
@ObjectModel.foreignKey.association: '_AdditionalCustomerGroup2'
AdditionalCustomerGroup2,
@ObjectModel.foreignKey.association: '_AdditionalCustomerGroup3'
AdditionalCustomerGroup3,
@ObjectModel.foreignKey.association: '_AdditionalCustomerGroup4'
AdditionalCustomerGroup4,
@ObjectModel.foreignKey.association: '_AdditionalCustomerGroup5'
AdditionalCustomerGroup5,
SlsDocIsRlvtForProofOfDeliv,
//--[ GENERATED:012:E6ExH29r7kY4iE3VJ}6T4m
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_CreditControlAreaStdVH',
element: 'CreditControlArea' }
}]
@ObjectModel.text.association: '_CreditControlAreaText'
// ]--GENERATED
@ObjectModel.foreignKey.association: '_CreditControlArea'
CreditControlArea,
CustomerRebateAgreement,
SalesDocumentDate as SalesOrderDate,
ServicesRenderedDate,
@ObjectModel.foreignKey.association: '_SDDocumentReason'
SDDocumentReason,
PurchaseOrderByCustomer,
SDDocumentCollectiveNumber,
@ObjectModel.foreignKey.association: '_CustomerPurchaseOrderType'
CustomerPurchaseOrderType,
CustomerPurchaseOrderDate,
CustomerPurchaseOrderSuplmnt,
@ObjectModel.foreignKey.association: '_SalesDistrict'
SalesDistrict,
@Semantics.currencyCode: true
@ObjectModel.foreignKey.association: '_StatisticsCurrency'
StatisticsCurrency,
ProductCatalog,
NextCreditCheckDate,
LastCustomerContactDate,
//Pricing
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'TransactionCurrency'
TotalNetAmount,
@Semantics.currencyCode: true
@ObjectModel.foreignKey.association: '_TransactionCurrency'
TransactionCurrency,
PricingDate,
PriceDetnExchangeRate,
RetailPromotion,
SalesDocumentCondition as SalesOrderCondition,
@Analytics.internalName: #LOCAL
@ObjectModel.foreignKey.association: '_SDPricingProcedure'
SDPricingProcedure,
@Analytics.internalName: #LOCAL
@ObjectModel.foreignKey.association: '_CustomerPriceGroup'
CustomerPriceGroup,
@Analytics.internalName: #LOCAL
@ObjectModel.foreignKey.association: '_PriceListType'
PriceListType,
CustomerTaxClassification1,
CustomerTaxClassification2,
CustomerTaxClassification3,
CustomerTaxClassification4,
CustomerTaxClassification5,
CustomerTaxClassification6,
CustomerTaxClassification7,
CustomerTaxClassification8,
CustomerTaxClassification9,
TaxDepartureCountry,
VATRegistrationCountry,
//Shipping
RequestedDeliveryDate,
@Analytics.internalName: #LOCAL
@ObjectModel.foreignKey.association: '_DeliveryDateTypeRule'
DeliveryDateTypeRule,
@ObjectModel.foreignKey.association: '_ShippingType'
ShippingType,
@ObjectModel.foreignKey.association: '_ShippingCondition'
ShippingCondition,
@ObjectModel.foreignKey.association: '_IncotermsClassification'
IncotermsClassification,
IncotermsTransferLocation,
IncotermsLocation1,
IncotermsLocation2,
@ObjectModel.foreignKey.association: '_IncotermsVersion'
IncotermsVersion,
CompleteDeliveryIsDefined,
@ObjectModel.foreignKey.association: '_DeliveryBlockReason'
DeliveryBlockReason,
//Fashion
FashionCancelDate,
//Approval Management
@Analytics.internalName: #LOCAL
//Billing
BillingDocumentDate,
//--[ GENERATED:012:E6ExH29r7kY4iE3VJ}6T4m
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_CompanyCodeStdVH',
element: 'CompanyCode' }
}]
// ]--GENERATED
@ObjectModel.foreignKey.association: '_BillingCompanyCode'
BillingCompanyCode,
@ObjectModel.foreignKey.association: '_HeaderBillingBlockReason'
HeaderBillingBlockReason,
//Payment
@ObjectModel.foreignKey.association: '_CustomerPaymentTerms'
CustomerPaymentTerms,
PaymentMethod,
FixedValueDate,
//Accounting
FiscalYear,
FiscalPeriod,
ExchangeRateDate,
@ObjectModel.foreignKey.association: '_ExchangeRateType'
ExchangeRateType,
//--[ GENERATED:012:E6ExH29r7kY4iE3VJ}6T4m
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_BusinessAreaStdVH',
element: 'BusinessArea' }
}]
@ObjectModel.text.association: '_BusinessAreaText'
// ]--GENERATED
@ObjectModel.foreignKey.association: '_BusinessArea'
BusinessArea,
@ObjectModel.foreignKey.association: '_CustomerAccountAssgmtGroup'
CustomerAccountAssignmentGroup,
//--[ GENERATED:012:E6ExH29r7kY4iE3VJ}6T4m
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_BusinessAreaStdVH',
element: 'BusinessArea' }
}]
// ]--GENERATED
CostCenter,
//--[ GENERATED:012:E6ExH29r7kY4iE3VJ}6T4m
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_ControllingAreaStdVH',
element: 'ControllingArea' }
}]
// ]--GENERATED
@ObjectModel.foreignKey.association: '_ControllingArea'
ControllingArea,
OrderID,
//--[ GENERATED:012:E6ExH29r7kY4iE3VJ}6T4m
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_ControllingObjectStdVH',
element: 'ControllingObject' }
}]
// ]--GENERATED
@ObjectModel.foreignKey.association: '_ControllingObject'
ControllingObject,
AssignmentReference,
PaymentPlan,
ContractAccount,
AdditionalValueDays,
//Credit Block
@Analytics.internalName: #LOCAL
@ObjectModel.foreignKey.association: '_CustomerCreditAccount'
CustomerCreditAccount,
//Reference
ReferenceSDDocument,
@ObjectModel.foreignKey.association: '_ReferenceSDDocumentCategory'
ReferenceSDDocumentCategory,
CorrespncExternalReference,
@Analytics.internalName: #LOCAL
AccountingDocExternalReference,
@Analytics.internalName: #LOCAL
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_BusinessSolutionOrderStdVH',
element: 'BusinessSolutionOrder' }
}]
@ObjectModel.foreignKey.association: '_SolutionOrder'
BusinessSolutionOrder,
//Status
@ObjectModel.foreignKey.association: '_OverallSDProcessStatus'
OverallSDProcessStatus,
@ObjectModel.foreignKey.association: '_OverallPurchaseConfStatus'
OverallPurchaseConfStatus,
@ObjectModel.foreignKey.association: '_OverallSDDocumentRejectionSts'
OverallSDDocumentRejectionSts,
@ObjectModel.foreignKey.association: '_TotalBlockStatus'
TotalBlockStatus,
@ObjectModel.foreignKey.association: '_OverallDelivConfStatus'
OverallDelivConfStatus,
@ObjectModel.foreignKey.association: '_OverallTotalDeliveryStatus'
OverallTotalDeliveryStatus,
@ObjectModel.foreignKey.association: '_OverallDeliveryStatus'
OverallDeliveryStatus,
@ObjectModel.foreignKey.association: '_OverallDeliveryBlockStatus'
OverallDeliveryBlockStatus,
@ObjectModel.foreignKey.association: '_OverallOrdReltdBillgStatus'
OverallOrdReltdBillgStatus,
@ObjectModel.foreignKey.association: '_OverallBillingBlockStatus'
OverallBillingBlockStatus,
@ObjectModel.foreignKey.association: '_OverallTotalSDDocRefStatus'
OverallTotalSDDocRefStatus,
@ObjectModel.foreignKey.association: '_OverallSDDocReferenceStatus'
OverallSDDocReferenceStatus,
@ObjectModel.foreignKey.association: '_TotalCreditCheckStatus'
TotalCreditCheckStatus,
@ObjectModel.foreignKey.association: '_MaxDocValueCreditCheckStatus'
MaxDocValueCreditCheckStatus,
@ObjectModel.foreignKey.association: '_FinDocCreditCheckStatus'
FinDocCreditCheckStatus,
@ObjectModel.foreignKey.association: '_ExprtInsurCreditCheckStatus'
ExprtInsurCreditCheckStatus,
@ObjectModel.foreignKey.association: '_PaytAuthsnCreditCheckSts'
PaytAuthsnCreditCheckSts,
@ObjectModel.foreignKey.association: '_CentralCreditCheckStatus'
CentralCreditCheckStatus,
@ObjectModel.foreignKey.association: '_CentralCreditChkTechErrSts'
CentralCreditChkTechErrSts,
@ObjectModel.foreignKey.association: '_HdrGeneralIncompletionStatus'
@EndUserText.label: 'Incompletion status'
HdrGeneralIncompletionStatus,
@ObjectModel.foreignKey.association: '_OverallPricingIncompletionSts'
OverallPricingIncompletionSts,
@ObjectModel.foreignKey.association: '_HeaderDelivIncompletionStatus'
HeaderDelivIncompletionStatus,
@ObjectModel.foreignKey.association: '_HeaderBillgIncompletionStatus'
HeaderBillgIncompletionStatus,
@ObjectModel.foreignKey.association: '_OvrlItmGeneralIncompletionSts'
OvrlItmGeneralIncompletionSts,
@ObjectModel.foreignKey.association: '_OvrlItmBillingIncompletionSts'
OvrlItmBillingIncompletionSts,
@ObjectModel.foreignKey.association: '_OvrlItmDelivIncompletionSts'
OvrlItmDelivIncompletionSts,
@Analytics.internalName: #LOCAL
@ObjectModel.foreignKey.association: '_OverallChmlCmplncStatus'
OverallChmlCmplncStatus,
@Analytics.internalName: #LOCAL
@ObjectModel.foreignKey.association: '_OverallDangerousGoodsStatus'
OverallDangerousGoodsStatus,
@Analytics.internalName: #LOCAL
@ObjectModel.foreignKey.association: '_OvrlSftyDataSheetSts'
OverallSafetyDataSheetStatus,
@ObjectModel.foreignKey.association: '_SalesDocApprovalStatus'
SalesDocApprovalStatus,
@Analytics.internalName: #LOCAL
@ObjectModel.foreignKey.association: '_OvrlTradeCmplncEmbargoStatus'
OverallTrdCmplncEmbargoSts,
@Analytics.internalName: #LOCAL
@ObjectModel.foreignKey.association: '_OvTrdCmplncSnctndListChkSts'
OvrlTrdCmplncSnctndListChkSts,
@Analytics.internalName: #LOCAL
@ObjectModel.foreignKey.association: '_OvrlTrdCmplncLegalCtrlChkSts'
OvrlTrdCmplncLegalCtrlChkSts,
@ObjectModel.foreignKey.association: '_DownPaymentStatus'
ContractDownPaymentStatus as SalesOrderDownPaymentStatus,
@ObjectModel.foreignKey.association: '_OmniChnlSalesPromotionStatus'
OmniChnlSalesPromotionStatus,
AlternativePricingDate,
//Associations
_StandardPartner,
@ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
_PricingElement,
_SDPricingProcedure,
_CustomerPriceGroup,
_PriceListType,
_SalesOrderType,
_CreatedByUser,
_LastChangedByUser,
_SalesOrganization,
_DistributionChannel,
_OrganizationDivision,
_SalesGroup,
_SalesOffice,
_SoldToParty,
_CustomerGroup,
_AdditionalCustomerGroup1,
_AdditionalCustomerGroup2,
_AdditionalCustomerGroup3,
_AdditionalCustomerGroup4,
_AdditionalCustomerGroup5,
_CreditControlArea,
_SDDocumentReason,
_CustomerPurchaseOrderType,
_SalesDistrict,
_TransactionCurrency,
_StatisticsCurrency,
_ShippingType,
_ShippingCondition,
_IncotermsClassification,
_IncotermsVersion,
_DeliveryBlockReason,
_DeliveryDateTypeRule,
_BillingCompanyCode,
_HeaderBillingBlockReason,
_CustomerPaymentTerms,
_ExchangeRateType,
_BusinessArea,
_CustomerAccountAssgmtGroup,
_CostCenter,
_ControllingArea,
_ControllingObject,
_CustomerCreditAccount,
_ReferenceSDDocumentCategory,
_SolutionOrder,
//Status
_OverallSDProcessStatus,
_OverallPurchaseConfStatus,
_OverallSDDocumentRejectionSts,
_TotalBlockStatus,
_OverallDelivConfStatus,
_OverallTotalDeliveryStatus,
_OverallDeliveryStatus,
_OverallDeliveryBlockStatus,
_OverallOrdReltdBillgStatus,
_OverallBillingBlockStatus,
_OverallTotalSDDocRefStatus,
_OverallSDDocReferenceStatus,
_TotalCreditCheckStatus,
_MaxDocValueCreditCheckStatus,
_FinDocCreditCheckStatus,
_ExprtInsurCreditCheckStatus,
_PaytAuthsnCreditCheckSts,
_CentralCreditCheckStatus,
_CentralCreditChkTechErrSts,
_HdrGeneralIncompletionStatus,
_OverallPricingIncompletionSts,
_HeaderDelivIncompletionStatus,
_HeaderBillgIncompletionStatus,
_OvrlItmGeneralIncompletionSts,
_OvrlItmBillingIncompletionSts,
_OvrlItmDelivIncompletionSts,
_OverallChmlCmplncStatus,
_OverallDangerousGoodsStatus,
_OvrlSftyDataSheetSts,
_SalesDocApprovalStatus,
_OvrlTradeCmplncEmbargoStatus,
_OvTrdCmplncSnctndListChkSts,
_OvrlTrdCmplncLegalCtrlChkSts,
_OmniChnlSalesPromotionStatus,
_DownPaymentStatus,
_EngagementProjectItem,
//--[ GENERATED:012:E6ExH29r7kY4iE3VJ}6T4m
@Consumption.hidden: true
_BusinessAreaText,
@Consumption.hidden: true
_CreditControlAreaText
// ]--GENERATED
}
where
SalesDocument.SDDocumentCategory = 'C'
or SalesDocument.SDDocumentCategory = 'I'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_SALESDOCUMENT"
],
"ASSOCIATED":
[
"E_SALESDOCUMENTBASIC",
"I_ADDITIONALCUSTOMERGROUP1",
"I_ADDITIONALCUSTOMERGROUP2",
"I_ADDITIONALCUSTOMERGROUP3",
"I_ADDITIONALCUSTOMERGROUP4",
"I_ADDITIONALCUSTOMERGROUP5",
"I_BILLINGBLOCKREASON",
"I_BUSINESSAREA",
"I_BUSINESSAREATEXT",
"I_CENTRALCREDITCHECKSTATUS",
"I_CENTRALCREDITCHKTECHERRSTS",
"I_COMPANYCODE",
"I_CONTRACTDOWNPAYMENTSTATUS",
"I_CONTROLLINGAREA",
"I_CONTROLLINGOBJECT",
"I_COSTCENTER",
"I_CREDITCONTROLAREA",
"I_CREDITCONTROLAREATEXT",
"I_CURRENCY",
"I_CUSTOMER",
"I_CUSTOMERACCOUNTASSGMTGROUP",
"I_CUSTOMERGROUP",
"I_CUSTOMERPAYMENTTERMS",
"I_CUSTOMERPRICEGROUP",
"I_CUSTOMERPURCHASEORDERTYPE",
"I_DELIVERYBLOCKREASON",
"I_DELIVERYDATETYPERULE",
"I_DISTRIBUTIONCHANNEL",
"I_DIVISION",
"I_ENGAGEMENTPROJECTITEM",
"I_EXCHANGERATETYPE",
"I_EXPRTINSURCREDITCHECKSTATUS",
"I_FINDOCCREDITCHECKSTATUS",
"I_HDRBILLGINCOMPLETIONSTATUS",
"I_HDRDELIVINCOMPLETIONSTATUS",
"I_HDRGENINCOMPLETIONSTATUS",
"I_INCOTERMSCLASSIFICATION",
"I_INCOTERMSVERSION",
"I_MAXDOCVALUECREDITCHECKSTS",
"I_OMNICHNLSALESPROMOTIONSTATUS",
"I_ORDER2CASHSALESORDERITEM",
"I_OVERALLBILLINGBLOCKSTATUS",
"I_OVERALLCHMLCMPLNCSTATUS",
"I_OVERALLDANGEROUSGOODSSTATUS",
"I_OVERALLDELIVCONFSTATUS",
"I_OVERALLDELIVERYBLOCKSTATUS",
"I_OVERALLDELIVERYSTATUS",
"I_OVERALLORDRELTDBILLGSTATUS",
"I_OVERALLPRCINCOMPLETIONSTS",
"I_OVERALLPURCHASECONFSTATUS",
"I_OVERALLSDDOCREFERENCESTATUS",
"I_OVERALLSDDOCUMENTRJCNSTATUS",
"I_OVERALLSDPROCESSSTATUS",
"I_OVERALLTOTALDELIVERYSTATUS",
"I_OVERALLTOTALSDDOCREFSTATUS",
"I_OVRLITMBILLGINCOMPLTNSTS",
"I_OVRLITMDELIVINCOMPLETIONSTS",
"I_OVRLITMGENINCOMPLETIONSTS",
"I_OVRLSFTYDATASHEETSTS",
"I_OVRLTRADECMPLNCEMBARGOSTATUS",
"I_OVRLTRDCMPLNCLEGALCTRLCHKSTS",
"I_OVTRDCMPLNCSNCTNDLISTCHKSTS",
"I_PAYTAUTHSNCREDITCHECKSTS",
"I_PRICELISTTYPE",
"I_SALESDISTRICT",
"I_SALESDOCAPPROVALSTATUS",
"I_SALESDOCUMENTSTANDARDPARTNER",
"I_SALESGROUP",
"I_SALESOFFICE",
"I_SALESORDERPRICINGELEMENT",
"I_SALESORDERTYPE",
"I_SALESORGANIZATION",
"I_SDDOCUMENTCATEGORY",
"I_SDDOCUMENTREASON",
"I_SERVICEDOCUMENTENHCD",
"I_SHIPPINGCONDITION",
"I_SHIPPINGTYPE",
"I_SLSPRICINGPROCEDURE",
"I_TOTALBLOCKSTATUS",
"I_TOTALCREDITCHECKSTATUS",
"I_USER"
],
"BASE":
[
"I_SALESDOCUMENT"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/