@AbapCatalog.sqlViewName: 'PFIEBORD'
@AbapCatalog.compiler.compareFilter: true@AccessControl.authorizationCheck: #NOT_REQUIRED@ClientHandling.algorithm: #SESSION_VARIABLE//@EndUserText.label: 'Event-based Order'
@VDM.viewType: #BASIC@VDM.private:true@ObjectModel.representativeKey: 'OrderID'
@ObjectModel.usageType.dataClass: #MASTER@ObjectModel.usageType.serviceQuality: #C@ObjectModel.usageType.sizeCategory: #Ldefineview P_EventBasedOrder
withparameters
P_ToFiscalYearPeriod : fins_fyearperiod
asselectfrom aufk
leftouter to one join afpo on afpo.posnr = '0001'
and aufk.aufnr = afpo.aufnr
// leftouter to one join jest on jest.stat = 'I0002'
// and aufk.objnr = jest.objnr
leftouter to one join P_EBWObjectStatus as _ObjectStatus on _ObjectStatus.ControllingObject = aufk.objnr
leftouter to one join I_FiscalYearPeriodForCmpnyCode as _PeriodForCC on aufk.bukrs = _PeriodForCC.CompanyCode
and _PeriodForCC.FiscalYearPeriod = $parameters.P_ToFiscalYearPeriod
leftouter to one join P_EventBasedWIPLogHeader as _OrderLog on aufk.objnr = _OrderLog.ControllingObject
{
key aufk.aufnr as OrderID,
cast(aufk.ktext as fis_order_text) as OrderDescription,
aufk.objnr as ControllingObject,
aufk.auart as OrderType,
aufk.autyp as OrderCategory,
aufk.kokrs as ControllingArea,
aufk.bukrs as CompanyCode,
afpo.matnr as Material,
aufk.werks as Plant,
aufk.prctr as ProfitCenter,
aufk.abgsl as ResultsAnalysisKey,
afpo.amein as ProductionUnit,
afpo.ltrmi as DeliveryDate,
aufk.idat2 as TechCompDate,
// cast('X' as xfeld) as OrderIsReleased,
// cast(casewhen afpo.ltrmi <> '00000000' and afpo.ltrmi <= _PeriodForCC.FiscalPeriodEndDate
// then 'X'
// else '' endas xfeld) as OrderIsDelivered,
// cast(casewhen aufk.idat2 <> '00000000' and aufk.idat2 <= _PeriodForCC.FiscalPeriodEndDate
// then 'X'
// else ''
// endas xfeld) as OrderIsTechnicallyCompleted,
max(
casewhen _ObjectStatus.StatusCode = 'I0012'
and afpo.ltrmi <= _PeriodForCC.FiscalPeriodEndDate then _ObjectStatus.StatusCode //Delivery Date
when _ObjectStatus.StatusCode = 'I0045'
and aufk.idat2 <= _PeriodForCC.FiscalPeriodEndDate then _ObjectStatus.StatusCode //Technical Completion Date
else 'I0002' end ) as StatusCode,
LogNumber,
LogHandle,
LogMessageText,
Severity
}
where aufk.eb_post = 'X'
and ( aufk.autyp = '10' or aufk.autyp = '40' )
groupby
_PeriodForCC.FiscalPeriodEndDate,
aufk.aufnr,
aufk.ktext,
aufk.kokrs,
aufk.bukrs,
aufk.objnr,
aufk.autyp,
afpo.matnr,
aufk.werks,
aufk.auart,
aufk.abgsl,
afpo.amein,
aufk.prctr,
afpo.ltrmi,
aufk.idat2,
LogNumber,
LogHandle,
LogMessageText,
Severity
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_FISCALYEARPERIODFORCMPNYCODE",
"P_EBWOBJECTSTATUS",
"P_EVENTBASEDWIPLOGHEADER",
"AFPO",
"AUFK"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/