I_WorkInProcessDetail

DDL: I_WORKINPROCESSDETAIL Type: view_entity COMPOSITE Package: FINS_REV_REC_WIP_DIP

Detail WIP from DIP data

I_WorkInProcessDetail is a Composite CDS View that provides data about "Detail WIP from DIP data" in SAP S/4HANA. It reads from 1 data source (P_Wipdetailbasic) and exposes 56 fields. Part of development package FINS_REV_REC_WIP_DIP.

Data Sources (1)

SourceAliasJoin Type
P_Wipdetailbasic P_Wipdetailbasic from

Annotations (7)

NameValueLevelField
VDM.viewType #COMPOSITE view
AccessControl.authorizationCheck #NOT_REQUIRED view
AccessControl.personalData.blocking #REQUIRED view
EndUserText.label Detail WIP from DIP data view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #MIXED view

Fields (56)

KeyFieldSource TableSource FieldDescription
PostingPeriod PostingPeriod
TransactionCurrency TransactionCurrency
UnitOfMeasure UnitOfMeasure
CostElement CostElement
CostCenter CostCenter
CostCtrActivityType CostCtrActivityType
Material Material
BusinessProcess BusinessProcess
PersonnelNumber PersonnelNumber
ManualInvoiceItem ManualInvoiceItem
ProfitCenter ProfitCenter
ControllingObject ControllingObject
ControllingDocument ControllingDocument
ControllingDocumentItem ControllingDocumentItem
BillingDocumentCategory BillingDocumentCategory
BillingPlanItemUsage BillingPlanItemUsage
WorkItem WorkItem
EngagementProjectServiceOrg EngagementProjectServiceOrg
AccountingIndicatorCode AccountingIndicatorCode
CostAnalysisResource CostAnalysisResource
CalendarMonth CalendarMonth
TimeSheetOvertimeCategory TimeSheetOvertimeCategory
ResultAnalysisVersion
ServicesRenderedDate
TransacCrcyForInvoiceAmount
ObjectCrcyForInvoiceAmount
CtrlgAreaCrcyForInvoiceAmount
ForInvoiceQuantity
TransacCrcyForRjcnAmount
ObjectCrcyForRjcnAmount
CtrlgAreaCrcyForRjcnAmount
ForRjcnQuantity
SalesDocumentItemCurrency SalesDocumentItemCurrency
TransacCrcyInvoicedAmount
ObjectCrcyInvoicedAmount
CtrlgAreaCrcyInvoicedAmount
InvoicedQuantity
RejectedAmtInTransCrcy
RejectedAmountInObjectCurrency
RejectedAmountInCtrlgAreaCrcy
RejectedQuantity
TransacCrcyWIPAmount
ObjectCrcyWIPAmount
CtrlgAreaCrcyWIPAmount
WIPQuantity
TotTransacCrcyInvoiceSimlnAmt
TotObjectCrcyInvoiceSimlnAmt
TotCtrlgAreaCrcyInvcSimlnAmt
ControllingObjectCurrency ControllingObjectCurrency
ControllingAreaCurrency ControllingAreaCurrency
TransacCurrencyInvoiceSimln TransacCurrencyInvoiceSimln
RevenueCostElement RevenueCostElement
SoldMaterial SoldMaterial
TransacCrcyInvoiceSimlnAmt TransacCrcyInvoiceSimlnAmt
ObjectCrcyInvoiceSimlnAmt ObjectCrcyInvoiceSimlnAmt
CtrlgAreaCrcyInvoiceSimlnAmt CtrlgAreaCrcyInvoiceSimlnAmt
@VDM.viewType: #COMPOSITE
@AccessControl.authorizationCheck: #NOT_REQUIRED
@AccessControl.personalData.blocking: #REQUIRED
@EndUserText.label: 'Detail WIP from DIP data'

@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #XL
@ObjectModel.usageType.dataClass: #MIXED

//Used for WIP detail app

//ad01wip_dtl is calcualted by DIP tool but update is triggered by results analysis and event based revenue recognition

//Selects from from ad01dli, ad01dlisf, ad01wip_dtl and P_Projwipdetpernr


define view entity I_WorkInProcessDetail 
  as select from P_Wipdetailbasic
{
  PostingPeriod, //not null

  TransactionCurrency, //not null

  UnitOfMeasure,       //not null

  CostElement,         //not null

  CostCenter,          //not null

  CostCtrActivityType, //not null

  Material,            //not null

  BusinessProcess,     //not null

  PersonnelNumber,     //not null

  //    coalesce(EmployeeFullName,' ')                                  as EmployeeFullName,

  ManualInvoiceItem,   //not null

  ProfitCenter,        //not null

  ControllingObject,   //not null

  ControllingDocument, //not null

  ControllingDocumentItem, //not null

  BillingDocumentCategory, //not null

  BillingPlanItemUsage,    //not null

  WorkItem,                //not null

  EngagementProjectServiceOrg, //not null

  AccountingIndicatorCode, //not null

  CostAnalysisResource,    //not null

  CalendarMonth,           //not null

  TimeSheetOvertimeCategory, //not null

  cast(coalesce(ResultAnalysisVersion,'000') as versn_abgr)                 as ResultAnalysisVersion,
  cast(coalesce(ServicesRenderedDate,'00000000') as fbuda)                  as ServicesRenderedDate,
  @Semantics.amount.currencyCode: 'TransactionCurrency'
  coalesce(TransacCrcyForInvoiceAmount,cast(0 as fins_vhcur12))             as TransacCrcyForInvoiceAmount,
  @Semantics.amount.currencyCode: 'ControllingObjectCurrency'
  coalesce(ObjectCrcyForInvoiceAmount,cast(0 as fins_vhcur12))              as ObjectCrcyForInvoiceAmount,
  @Semantics.amount.currencyCode: 'ControllingAreaCurrency'
  coalesce(CtrlgAreaCrcyForInvoiceAmount,cast(0 as fins_vhcur12))           as CtrlgAreaCrcyForInvoiceAmount,
  @Semantics.quantity.unitOfMeasure: 'UnitOfMeasure'
  coalesce(ForInvoiceQuantity,cast(0 as quan1_12))                          as ForInvoiceQuantity,

  @Semantics.amount.currencyCode: 'TransactionCurrency'
  coalesce(TransacCrcyForRjcnAmount,cast(0 as fins_vhcur12))                as TransacCrcyForRjcnAmount,
  @Semantics.amount.currencyCode: 'ControllingObjectCurrency'
  coalesce(ObjectCrcyForRjcnAmount,cast(0 as fins_vhcur12))                 as ObjectCrcyForRjcnAmount,
  @Semantics.amount.currencyCode: 'ControllingAreaCurrency'
  coalesce(CtrlgAreaCrcyForRjcnAmount,cast(0 as fins_vhcur12))              as CtrlgAreaCrcyForRjcnAmount,

  @Semantics.quantity.unitOfMeasure: 'UnitOfMeasure'
  coalesce(ForRjcnQuantity,cast(0 as quan1_12))                             as ForRjcnQuantity,
  SalesDocumentItemCurrency, //treated in next view

  @Semantics.amount.currencyCode: 'TransactionCurrency'
  coalesce(TransacCrcyInvoicedAmount,cast(0 as fins_vhcur12))               as TransacCrcyInvoicedAmount,
  @Semantics.amount.currencyCode: 'ControllingObjectCurrency'
  coalesce(ObjectCrcyInvoicedAmount,cast(0 as fins_vhcur12))                as ObjectCrcyInvoicedAmount,
  @Semantics.amount.currencyCode: 'TransactionCurrency'
  coalesce(CtrlgAreaCrcyInvoicedAmount,cast(0 as fins_vhcur12))             as CtrlgAreaCrcyInvoicedAmount,
  @Semantics.quantity.unitOfMeasure: 'UnitOfMeasure'
  coalesce(InvoicedQuantity,cast(0 as quan1_12))                            as InvoicedQuantity,

  //    coalesce(TransacCrcyRejectedAmount,cast(0 as fins_vhcur12))      as TransacCrcyRejectedAmount,

  //    coalesce(ObjectCrcyRejectedAmount,cast(0 as fins_vhcur12))       as ObjectCrcyRejectedAmount,

  //    coalesce(CtrlgAreaCrcyRejectedAmount,cast(0 as fins_vhcur12))    as CtrlgAreaCrcyRejectedAmount,


  @Semantics.amount.currencyCode: 'TransactionCurrency'
  coalesce(TransacCrcyRejectedAmount,cast(0 as fins_vhcur12))               as RejectedAmtInTransCrcy,
  @Semantics.amount.currencyCode: 'ControllingObjectCurrency'
  coalesce(ObjectCrcyRejectedAmount,cast(0 as fins_vhcur12))                as RejectedAmountInObjectCurrency,
  @Semantics.amount.currencyCode: 'ControllingAreaCurrency'
  coalesce(CtrlgAreaCrcyRejectedAmount,cast(0 as fins_trr_rejected_amount)) as RejectedAmountInCtrlgAreaCrcy,

  @Semantics.quantity.unitOfMeasure: 'UnitOfMeasure'
  coalesce(RejectedQuantity,cast(0 as quan1_12))                            as RejectedQuantity,
  @Semantics.amount.currencyCode: 'TransactionCurrency'
  coalesce(TransacCrcyWIPAmount,cast(0 as fins_vhcur12))                    as TransacCrcyWIPAmount,
  @Semantics.amount.currencyCode: 'ControllingObjectCurrency'
  coalesce(ObjectCrcyWIPAmount,cast(0 as fins_vhcur12))                     as ObjectCrcyWIPAmount,
  @Semantics.amount.currencyCode: 'ControllingAreaCurrency'
  coalesce(CtrlgAreaCrcyWIPAmount,cast(0 as fins_vhcur12))                  as CtrlgAreaCrcyWIPAmount,


  @Semantics.quantity.unitOfMeasure: 'UnitOfMeasure'
  coalesce(WIPQuantity,cast(0 as quan1_12))                                 as WIPQuantity,
  @Semantics.amount.currencyCode: 'TransacCurrencyInvoiceSimln'
  coalesce(TotTransacCrcyInvoiceSimlnAmt,cast(0 as fins_vhcur12))           as TotTransacCrcyInvoiceSimlnAmt,
  @Semantics.amount.currencyCode: 'ControllingObjectCurrency'
  coalesce(TotObjectCrcyInvoiceSimlnAmt,cast(0 as fins_vhcur12))            as TotObjectCrcyInvoiceSimlnAmt,
  @Semantics.amount.currencyCode: 'ControllingAreaCurrency'
  coalesce(TotCtrlgAreaCrcyInvcSimlnAmt,cast(0 as fins_vhcur12))            as TotCtrlgAreaCrcyInvcSimlnAmt,
  ControllingObjectCurrency,   //treated in next view

  ControllingAreaCurrency,     //treated in next view

  TransacCurrencyInvoiceSimln, //treated in next view

  RevenueCostElement, //not null, = ' '

  SoldMaterial,       //not null, = ' '

  @Semantics.amount.currencyCode: 'TransacCurrencyInvoiceSimln'
  TransacCrcyInvoiceSimlnAmt,  //not null, = 0

  @Semantics.amount.currencyCode: 'ControllingObjectCurrency'
  ObjectCrcyInvoiceSimlnAmt,   //not null, = 0

  @Semantics.amount.currencyCode: 'ControllingAreaCurrency'
  CtrlgAreaCrcyInvoiceSimlnAmt //not null, = 0

};