P_SrvcDocIntOrdFinData

DDL: P_SRVCDOCINTORDFINDATA Type: view COMPOSITE

P_SrvcDocIntOrdFinData is a Composite CDS View in SAP S/4HANA. It reads from 2 data sources (I_GLAccountLineItemSemTag, I_UserSetGetParamForCtrlgArea) and exposes 41 fields with key fields Ledger, SourceLedger, CompanyCode, FiscalYear, AccountingDocument. It has 2 associations to related views.

Data Sources (2)

SourceAliasJoin Type
I_GLAccountLineItemSemTag I_GLAccountLineItemSemTag from
I_UserSetGetParamForCtrlgArea I_UserSetGetParamForCtrlgArea inner

Associations (2)

CardinalityTargetAliasCondition
[1..1] I_SrvcDocFUPInternalOrder _SrvcDocIntOrdData $projection.OrderID = _SrvcDocIntOrdData.InternalOrder
[0..1] P_Calendar _YTDCalendar _YTDCalendar.CalendarDate = $session.system_date

Annotations (9)

NameValueLevelField
ClientHandling.algorithm #SESSION_VARIABLE view
AbapCatalog.sqlViewName PSRVCINTORDDAT view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #XXL view
VDM.viewType #COMPOSITE view
VDM.private true view

Fields (41)

KeyFieldSource TableSource FieldDescription
KEY Ledger Ledger
KEY SourceLedger SourceLedger
KEY CompanyCode CompanyCode
KEY FiscalYear FiscalYear
KEY AccountingDocument AccountingDocument
KEY LedgerGLLineItem LedgerGLLineItem
KEY GLAccountHierarchy GLAccountHierarchy
KEY SemanticTag SemanticTag
KEY ValidityStartDate ValidityStartDate
KEY ValidityEndDate ValidityEndDate
KEY OrderID OrderID
KEY OrderItem OrderItem
AccountAssignment AccountAssignment
AccountAssignmentType AccountAssignmentType
ServiceDocument _SrvcDocIntOrdData ServiceDocument
ServiceDocumentType _SrvcDocIntOrdData ServiceDocumentType
CompanyCodeCurrency CompanyCodeCurrency
RevenueAmountInCompanyCodeCrcy RevenueAmountInCompanyCodeCrcy
CostAmountInCompanyCodeCrcy CostAmountInCompanyCodeCrcy
RecognizedMarginAmtInCCCrcy RecognizedMarginAmtInCCCrcy
CreationDate CreationDate
PostingDate PostingDate
DocumentDate DocumentDate
FiscalYearVariant I_GLAccountLineItemSemTag FiscalYearVariant
FiscalPeriod FiscalPeriod
FiscalQuarter FiscalQuarter
SalesOrganization SalesOrganization
DistributionChannel DistributionChannel
OrganizationDivision OrganizationDivision
_Ledger _Ledger
_SourceLedger _SourceLedger
_CompanyCode _CompanyCode
_FiscalYear _FiscalYear
_JournalEntry _JournalEntry
_Hierarchy _Hierarchy
_SemanticTag _SemanticTag
_CompanyCodeCurrency _CompanyCodeCurrency
_FiscalYearVariant _FiscalYearVariant
_SalesOrganization _SalesOrganization
_DistributionChannel _DistributionChannel
_Order _Order
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog:{
sqlViewName: 'PSRVCINTORDDAT',
compiler.compareFilter: true,
preserveKey: true
}
@ObjectModel: {
   usageType: {
     dataClass:      #MIXED,
     serviceQuality: #D,
     sizeCategory:   #XXL
   }
   }

@VDM: {
  viewType: #COMPOSITE,
  private:true
}

define view P_SrvcDocIntOrdFinData
  as select from           I_GLAccountLineItemSemTag
    inner join             I_UserSetGetParamForCtrlgArea on I_GLAccountLineItemSemTag.GLAccountHierarchy = I_UserSetGetParamForCtrlgArea.CtrlgStdFinStatementVersion

  association [1..1] to I_SrvcDocFUPInternalOrder as _SrvcDocIntOrdData on $projection.OrderID = _SrvcDocIntOrdData.InternalOrder

  association [0..1] to P_Calendar                as _YTDCalendar       on _YTDCalendar.CalendarDate = $session.system_date

{
          @ObjectModel.foreignKey.association: '_Ledger'
          @Environment.sql.passValue: true
  key     Ledger,
          @ObjectModel.foreignKey.association: '_SourceLedger'
  key     SourceLedger,
          @ObjectModel.foreignKey.association: '_CompanyCode'
          @Environment.sql.passValue: true
  key     CompanyCode,
          @ObjectModel.foreignKey.association: '_FiscalYear'
          @Environment.sql.passValue: true
  key     FiscalYear,
          @ObjectModel.foreignKey.association: '_JournalEntry'
  key     AccountingDocument,
  key     LedgerGLLineItem,
          @ObjectModel.foreignKey.association: '_Hierarchy'
          @Environment.sql.passValue: true
  key     GLAccountHierarchy,
          @ObjectModel.foreignKey.association: '_SemanticTag'
  key     SemanticTag,
          @Semantics.businessDate.from: true
  key     ValidityStartDate,
          @Semantics.businessDate.to: true
  key     ValidityEndDate,
          @ObjectModel.foreignKey.association: '_Order'
  key     OrderID,
  key     OrderItem,

          AccountAssignment,
          AccountAssignmentType,

          _SrvcDocIntOrdData.ServiceDocument,
          _SrvcDocIntOrdData.ServiceDocumentType,

          @Semantics.currencyCode:true
          CompanyCodeCurrency,
          @Semantics: { amount : {currencyCode: 'CompanyCodeCurrency'} }
          RevenueAmountInCompanyCodeCrcy, //Revenue

          @Semantics: { amount : {currencyCode: 'CompanyCodeCurrency'} }
          CostAmountInCompanyCodeCrcy, //Cost

          @Semantics: { amount : {currencyCode: 'CompanyCodeCurrency'} }
          RecognizedMarginAmtInCCCrcy, //Profit


          case
            when _YTDCalendar.FirstDayOfYearDate <= PostingDate and PostingDate <= $session.system_date
            then RevenueAmountInCompanyCodeCrcy
            end as YTDSrvcContrRevnAmtInDC,

          case
          when _YTDCalendar.FirstDayOfYearDate <= PostingDate and PostingDate <= $session.system_date
          then CostAmountInCompanyCodeCrcy
          end   as YTDSrvcContrCostInDC,

          case
          when _YTDCalendar.FirstDayOfYearDate <= PostingDate and PostingDate <= $session.system_date
          then RecognizedMarginAmtInCCCrcy
          end   as YTDSrvcContrPrftMarginAmtInDC,

          CreationDate,
          PostingDate,
          DocumentDate,
          @Semantics.fiscal.yearVariant: true
          @ObjectModel.foreignKey.association: '_FiscalYearVariant'
          I_GLAccountLineItemSemTag.FiscalYearVariant,
          FiscalPeriod,
          FiscalQuarter,

          @ObjectModel.foreignKey.association: '_SalesOrganization'
          SalesOrganization,
          @ObjectModel.foreignKey.association: '_DistributionChannel'
          DistributionChannel,
          OrganizationDivision,
          _Ledger,
          _SourceLedger,
          _CompanyCode,
          _FiscalYear,
          _JournalEntry,
          _Hierarchy,
          _SemanticTag,
          _CompanyCodeCurrency,
          _FiscalYearVariant,
          _SalesOrganization,
          _DistributionChannel,
          _Order
}
where
       OrderID                 is not initial
  and  AccountAssignmentType   =  'OR'
  and  AccountAssignment       is not initial
  and  Ledger                  is not initial
  and  _Ledger.IsLeadingLedger =  'X'
  and(
       GLAccountHierarchy      is not initial
    or GLAccountHierarchy      <> ''
  )
  and(
       SemanticTag             =  'REC_MARGIN'
    or SemanticTag             =  'RECO_COS'
    or SemanticTag             =  'RECO_REV'
  )