I_ControllingOrder

DDL: I_CONTROLLINGORDER SQL: ICTRLGORDER Type: view BASIC Package: ODATA_EB_PRODN_COST_ERROR

Controlling Order

I_ControllingOrder is a Basic CDS View (Dimension) that provides data about "Controlling Order" in SAP S/4HANA. It reads from 1 data source (aufk) and exposes 52 fields with key field OrderID. It has 8 associations to related views. Part of development package ODATA_EB_PRODN_COST_ERROR.

Data Sources (1)

SourceAliasJoin Type
aufk aufk from

Associations (8)

CardinalityTargetAliasCondition
[0..1] I_ProductCostCtrlgOrderItem _RepresentativeOrderItem $projection.OrderID = _RepresentativeOrderItem.OrderID and _RepresentativeOrderItem.OrderItem = '0001'
[1..1] I_ControllingArea _ControllingArea $projection.ControllingArea = _ControllingArea.ControllingArea
[1..1] I_CompanyCode _CompanyCode $projection.CompanyCode = _CompanyCode.CompanyCode
[1..1] E_ProductCostCtrlgOrder _Extension $projection.OrderID = _Extension.OrderID
[1..1] I_OrderType _OrderType $projection.OrderType = _OrderType.OrderType
[1..1] I_OrderCategory _OrderCategory $projection.OrderCategory = _OrderCategory.OrderCategory
[1..1] I_FiscCalendarDateForCompCode _FiscCalendarDateForCompCode $projection.CreationDate = _FiscCalendarDateForCompCode.CalendarDate and $projection.CompanyCode = _FiscCalendarDateForCompCode.CompanyCode
[0..1] I_MaintenanceOrder _MaintenanceOrder $projection.OrderID = _MaintenanceOrder.MaintenanceOrder

Annotations (21)

NameValueLevelField
AbapCatalog.sqlViewName ICTRLGORDER view
ClientHandling.type #CLIENT_DEPENDENT view
ClientHandling.algorithm #SESSION_VARIABLE view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
ObjectModel.representativeKey OrderID view
ObjectModel.semanticKey OrderID view
Analytics.dataCategory #DIMENSION view
Analytics.dataExtraction.enabled true view
Metadata.allowExtensions true view
AbapCatalog.preserveKey true view
EndUserText.label Controlling Order view
VDM.viewType #BASIC view
ObjectModel.usageType.serviceQuality #B view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #MASTER view
AbapCatalog.buffering.type #NONE view
AbapCatalog.buffering.numberOfKeyFields 0 view
AbapCatalog.buffering.status #NOT_ALLOWED view
Metadata.ignorePropagatedAnnotations true view
Analytics.internalName #LOCAL view

Fields (52)

KeyFieldSource TableSource FieldDescription
KEY OrderID
OrderDescription
OrderType aufk auart
OrderCategory
ReferenceOrder aufk refnr
ExternalOrder
ObjectInternalID aufk objnr
Currency aufk waers
Plant aufk werks
BaseUnit afko gmein
ControllingArea aufk kokrs
CompanyCode aufk bukrs
CompanyCodeCurrency _CompanyCode Currency
BusinessArea aufk gsber
ProfitCenter aufk prctr
ResponsibleCostCenter
WBSElementInternalID
IsMarkedForDeletion aufk loekz
MfgOrderHasMultipleItems
ActualCostsCostingVariant
PlannedCostsCostingVariant
OrderIsEventBasedPosting aufk eb_post
EventBasedPostingMethod aufk eb_post
OrderSettlementTriggerType aufk eb_post_type
MfgOrderInternalID
PlannedCompletionDate
CreatedByUser
CreationDate
LastChangedByUser
LastChangeDate
TechnicalCompletionDate
ScheduledBasicEndDate
ScheduledReleaseDate
ActualStartDate
ConfirmedEndDate
ActualReleasedDate
IsStatisticalOrder aufk astkz
RequestingCostCenter aufk akstl
CostCenter aufk kostl
ActualPostedCostCenter aufk cycle
ResultAnalysisInternalID aufk abgsl
EventBasedProcessingKey aufk ebw_key
SalesOrder aufk kdauf
SalesOrderItem aufk kdpos
CostingSheet aufk kalsm
_RepresentativeOrderItem _RepresentativeOrderItem
_ControllingArea _ControllingArea
_CompanyCode _CompanyCode
_OrderType _OrderType
_OrderCategory _OrderCategory
_FiscCalendarDateForCompCode _FiscCalendarDateForCompCode
_MaintenanceOrder _MaintenanceOrder
@AbapCatalog.sqlViewName: 'ICTRLGORDER'
@ClientHandling.type: #CLIENT_DEPENDENT
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@ObjectModel.representativeKey: 'OrderID'
@ObjectModel.semanticKey: 'OrderID'
@Analytics: { dataCategory: #DIMENSION, dataExtraction.enabled: true }
@Metadata.allowExtensions:true
@AbapCatalog.preserveKey:true
@EndUserText.label: 'Controlling Order'
@VDM.viewType: #BASIC
@ObjectModel.usageType.serviceQuality: #B
@ObjectModel.usageType.sizeCategory: #L
@ObjectModel.usageType.dataClass: #MASTER
@AbapCatalog.buffering: {type: #NONE, numberOfKeyFields: 0, status: #NOT_ALLOWED}
@Metadata.ignorePropagatedAnnotations: true
@Analytics.internalName:#LOCAL

define view I_ControllingOrder
  as select from           aufk as aufk
    left outer to one join afko as afko on afko.aufnr = aufk.aufnr
  association [0..1] to I_ProductCostCtrlgOrderItem   as _RepresentativeOrderItem     on  $projection.OrderID                = _RepresentativeOrderItem.OrderID
                                                                                      and _RepresentativeOrderItem.OrderItem = '0001'
  association [1..1] to I_ControllingArea             as _ControllingArea             on  $projection.ControllingArea = _ControllingArea.ControllingArea
  association [1..1] to I_CompanyCode                 as _CompanyCode                 on  $projection.CompanyCode = _CompanyCode.CompanyCode
  association [1..1] to E_ProductCostCtrlgOrder       as _Extension                   on  $projection.OrderID = _Extension.OrderID
  association [1..1] to I_OrderType                   as _OrderType                   on  $projection.OrderType = _OrderType.OrderType
  association [1..1] to I_OrderCategory               as _OrderCategory               on  $projection.OrderCategory = _OrderCategory.OrderCategory
  association [1..1] to I_FiscCalendarDateForCompCode as _FiscCalendarDateForCompCode on  $projection.CreationDate = _FiscCalendarDateForCompCode.CalendarDate
                                                                                      and $projection.CompanyCode  = _FiscCalendarDateForCompCode.CompanyCode
  association [0..1] to I_MaintenanceOrder            as _MaintenanceOrder            on  $projection.OrderID = _MaintenanceOrder.MaintenanceOrder
{
      @ObjectModel.text.element: 'OrderDescription'
  key cast(aufk.aufnr as fis_order_number)           as OrderID,
      @Semantics.text
      cast(aufk.ktext as fis_order_text)             as OrderDescription,

      aufk.auart                                     as OrderType,
      cast(aufk.autyp as fis_auftyp)                 as OrderCategory,
      aufk.refnr                                     as ReferenceOrder,
      cast(aufk.aufex as fis_external_order_number)  as ExternalOrder,
      aufk.objnr                                     as ObjectInternalID,
      aufk.waers                                     as Currency,
      aufk.werks                                     as Plant,
      afko.gmein                                     as BaseUnit,

      //Assignment

      aufk.kokrs                                     as ControllingArea,
      aufk.bukrs                                     as CompanyCode,
      _CompanyCode.Currency                          as CompanyCodeCurrency,
      aufk.gsber                                     as BusinessArea,
      aufk.prctr                                     as ProfitCenter,
      cast(aufk.kostv as fis_resp_cctr)              as ResponsibleCostCenter,
      cast(pspel as fis_wbsint_no_conv)              as WBSElementInternalID,

      aufk.loekz                                     as IsMarkedForDeletion,
      @Semantics.booleanIndicator:true
      cast(aufk.flg_mltps  as fis_co_mltps)          as MfgOrderHasMultipleItems,

      cast(afko.klvari as fis_kalkvarist)            as ActualCostsCostingVariant,
      cast(afko.klvarp as kalkvarpln )               as PlannedCostsCostingVariant,
      @Semantics.booleanIndicator:true
      @VDM.lifecycle.status:     #DEPRECATED
      @VDM.lifecycle.successor:  'EventBasedPostingMethod'
      aufk.eb_post                                   as OrderIsEventBasedPosting,
      aufk.eb_post                                   as EventBasedPostingMethod,
      aufk.eb_post_type                              as OrderSettlementTriggerType,
      

      cast(afko.aufpl  as pph_aufpl preserving type) as MfgOrderInternalID,

      //Process

      cast(case aufk.pdat1
        when '' then afko.ftrmp
        else aufk.pdat1
      end as fis_co_ftrmp)                           as PlannedReleaseDate,
      cast(aufk.pdat2 as fis_aufpdat2)               as PlannedCompletionDate,
      cast(aufk.ernam as fclm_bam_created_by)        as CreatedByUser,
      cast(aufk.erdat as fis_auferfdat)              as CreationDate,
      cast(aufk.aenam as fis_aufaenam)               as LastChangedByUser,
      cast(aufk.aedat as fis_aufaedat)               as LastChangeDate,
      cast(aufk.idat2 as fis_aufidat2)               as TechnicalCompletionDate,

      //Order Header PPS Orders

      cast(afko.gltrs as fis_co_gltrs)               as ScheduledBasicEndDate,
      cast(afko.ftrms as fis_co_ftrms)               as ScheduledReleaseDate,
      cast(afko.gstri as fis_co_gstri)               as ActualStartDate,
      cast(afko.getri as fis_getri)                  as ConfirmedEndDate,
      cast(afko.ftrmi as fis_co_ftrmi)               as ActualReleasedDate,


      aufk.astkz                                     as IsStatisticalOrder,
      aufk.akstl                                     as RequestingCostCenter,
      aufk.kostl                                     as CostCenter,
      aufk.cycle                                     as ActualPostedCostCenter,

      aufk.abgsl                                     as ResultAnalysisInternalID,
      aufk.ebw_key                                   as EventBasedProcessingKey,
      aufk.kdauf                                     as SalesOrder,
      aufk.kdpos                                     as SalesOrderItem,

      aufk.kalsm                                     as CostingSheet,

      _RepresentativeOrderItem,
      _ControllingArea,
      _CompanyCode,
      _OrderType,
      _OrderCategory,
      _FiscCalendarDateForCompCode,
      _MaintenanceOrder
}
where
     aufk.autyp = '04' //CO Production Order

  or aufk.autyp = '05' //Product Cost Collector

  or aufk.autyp = '10' //PP Production Order

  or aufk.autyp = '40' //Process Order

  or aufk.autyp = '01' //Internal Order (Controlling)

  or aufk.autyp = '30' //Maintenance order