P_MfgInspCharcHistory

DDL: P_MFGINSPCHARCHISTORY SQL: PMFGICHISTORY Type: view COMPOSITE

P_MfgInspCharcHistory is a Composite CDS View in SAP S/4HANA. It reads from 5 data sources (P_MfgInspCharHistoryAll, I_InspectionCharacteristic, I_LogisticsOrderBasic, I_OpActyInstceNtwkElmntBasic, I_OrderOperationBasic) and exposes 51 fields with key fields InspectionLot, InspPlanOperationInternalID, InspectionCharacteristic, InspectionSubsetInternalID, InspResultValueInternalID.

Data Sources (5)

SourceAliasJoin Type
P_MfgInspCharHistoryAll InspCharHistory from
I_InspectionCharacteristic InspectionCharacteristic inner
I_LogisticsOrderBasic LogisticsOrder inner
I_OpActyInstceNtwkElmntBasic OpActyInstceNtwkElmnt inner
I_OrderOperationBasic OrderOperationBasic inner

Annotations (10)

NameValueLevelField
AbapCatalog.sqlViewName PMFGICHISTORY view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #NOT_REQUIRED view
VDM.viewType #COMPOSITE view
VDM.private true view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ClientHandling.algorithm #SESSION_VARIABLE view

Fields (51)

KeyFieldSource TableSource FieldDescription
KEY InspectionLot P_MfgInspCharHistoryAll InspectionLot
InspectionLot
KEY InspPlanOperationInternalID P_MfgInspCharHistoryAll InspPlanOperationInternalID
KEY InspectionCharacteristic P_MfgInspCharHistoryAll InspectionCharacteristic
KEY InspectionSubsetInternalID P_MfgInspCharHistoryAll InspectionSubsetInternalID
KEY InspResultValueInternalID P_MfgInspCharHistoryAll InspResultValueInternalID
KEY ChangeDocDatabaseTableField P_MfgInspCharHistoryAll ChangeDocDatabaseTableField
KEY ChangeDocument P_MfgInspCharHistoryAll ChangeDocument
KEY MfgExecDocumentCategory P_MfgInspCharHistoryAll MfgExecDocumentCategory
ManufacturingOrder
ManufacturingOrder P_MfgInspCharHistoryAll ManufacturingOrder
ProductionOrderOperationActy I_InspectionCharacteristic ProductionOrderOperationActy
ProductionOrderOpActyVers I_InspectionCharacteristic ProductionOrderOpActyVers
InspSpecDecimalPlaces
InspectionSpecificationUnit
InspectionSpecificationText I_InspectionCharacteristic InspectionSpecificationText
OpActyNtwkInstance I_OpActyInstceNtwkElmntBasic OpActyNtwkInstance
OpActyNtwkElement I_OpActyInstceNtwkElmntBasic OpActyNtwkElement
OperationActivityName
OrderInternalID I_OpActyInstceNtwkElmntBasic OrderInternalID
OrderOperationInternalID I_OpActyInstceNtwkElmntBasic OrderOperationInternalID
Operation I_OrderOperationBasic Operation_2
Sequence I_OrderOperationBasic Sequence
OperationText I_OrderOperationBasic OperationText
WorkCenterInternalID I_OrderOperationBasic WorkCenterInternalID
WorkCenterTypeCode
Plant I_OrderOperationBasic Plant
OpActyNtwkSegmentType
OperationActivityNetwork
OpActyNtwkVersionCounter I_OpActyInstceNtwkElmntBasic OpActyNtwkVersionCounter
OpActyNtwkElementExternalID I_OpActyInstceNtwkElmntBasic OpActyNtwkElementExternalID
OperationActivity I_OpActyInstceNtwkElmntBasic OperationActivity
OperationActyVersionCounter I_OpActyInstceNtwkElmntBasic OperationActyVersionCounter
StatusAndActionSchema I_OpActyInstceNtwkElmntBasic StatusAndActionSchema
CreatedByUser P_MfgInspCharHistoryAll CreatedByUser
CreationDate P_MfgInspCharHistoryAll CreationDate
CreationTime P_MfgInspCharHistoryAll CreationTime
clientNULLasCreationDateTime
ChangeDocNewFieldValue P_MfgInspCharHistoryAll ChangeDocNewFieldValue
ChangeDocPreviousFieldValue P_MfgInspCharHistoryAll ChangeDocPreviousFieldValue
InspectionResultMeanValue
CharacteristicAttributeCodeGrp
CharacteristicAttributeCode
InspectionResultMeasuredValue
InspectionResultAttribute
InspectionValuationResult
ShopFloorItem P_MfgInspCharHistoryAll ShopFloorItem
SystemMessageIdentification
MfgExecHistMsgVarblField1 70
MfgExecHistMsgVarblField4 75
InspectionResultLongText InspCharcRsltLongText InspectionResultLongText
@AbapCatalog.sqlViewName: 'PMFGICHISTORY'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@VDM.viewType: #COMPOSITE
@VDM.private: true
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #XL
@ObjectModel.usageType.dataClass: #TRANSACTIONAL
@ClientHandling.algorithm: #SESSION_VARIABLE
define view P_MfgInspCharcHistory
  as select from           P_MfgInspCharHistoryAll       as InspCharHistory
    inner join             I_LogisticsOrderBasic         as LogisticsOrder           on LogisticsOrder.OrderID = InspCharHistory.ManufacturingOrder
    inner join             I_InspectionCharacteristic    as InspectionCharacteristic on  InspectionCharacteristic.InspectionLot               = LogisticsOrder.InspectionLot
                                                                                     and InspectionCharacteristic.InspPlanOperationInternalID = InspCharHistory.InspPlanOperationInternalID
                                                                                     and InspectionCharacteristic.InspectionCharacteristic    = InspCharHistory.InspectionCharacteristic
    inner join             I_OrderOperationBasic         as OrderOperationBasic      on  OrderOperationBasic.OrderInternalID          = LogisticsOrder.OrderInternalID
                                                                                     and OrderOperationBasic.OrderOperationInternalID = InspCharHistory.InspPlanOperationInternalID
    inner join             I_OpActyInstceNtwkElmntBasic  as OpActyInstceNtwkElmnt    on  OpActyInstceNtwkElmnt.OrderInternalID             = OrderOperationBasic.OrderInternalID
                                                                                     and OpActyInstceNtwkElmnt.OrderOperationInternalID    = OrderOperationBasic.OrderOperationInternalID
                                                                                     and OpActyInstceNtwkElmnt.OperationActivity           = InspectionCharacteristic.ProductionOrderOperationActy
                                                                                     and OpActyInstceNtwkElmnt.OperationActyVersionCounter = InspectionCharacteristic.ProductionOrderOpActyVers
    left outer to one join P_MfgInspCharcRsltLongTextAll as InspCharcRsltLongText    on  InspCharcRsltLongText.InspectionLot               = InspCharHistory.InspectionLot
                                                                                     and InspCharcRsltLongText.InspPlanOperationInternalID = InspCharHistory.InspPlanOperationInternalID
                                                                                     and InspCharcRsltLongText.InspectionCharacteristic    = InspCharHistory.InspectionCharacteristic
                                                                                     and InspCharcRsltLongText.InspectionSubsetInternalID  = InspCharHistory.InspectionSubsetInternalID
                                                                                     and InspCharcRsltLongText.Language                    = $session.system_language
{

  key InspCharHistory.InspectionLot, --InspectionCharacteristic.InspectionLot,
  key InspCharHistory.InspPlanOperationInternalID,
  key InspCharHistory.InspectionCharacteristic,
  key InspCharHistory.InspectionSubsetInternalID,
  key InspCharHistory.InspResultValueInternalID,
  key InspCharHistory.ChangeDocDatabaseTableField,
  key InspCharHistory.ChangeDocument,
  key InspCharHistory.MfgExecDocumentCategory,
      cast(case
        when InspCharHistory.InspLotHasSubsets = 'X' then 'SAP_COLLECT_DATA_SFI'
        else 'SAP_COLLECT_DATA_OA'
      end as mpe_action_name_type  )                                                                                   as MfgProcgExecAction,
      --      cast(LogisticsOrder.OrderID as mpe_production_order preserving type)                                             as ManufacturingOrder,
      InspCharHistory.ManufacturingOrder,
      InspectionCharacteristic.ProductionOrderOperationActy,
      InspectionCharacteristic.ProductionOrderOpActyVers,
      cast(InspectionCharacteristic.InspSpecDecimalPlaces + InspCharHistory.InspResultNrOfAddlDcmlsPlaces as qdiff_dec_places) as InspSpecDecimalPlaces, --qdiff_dec_places
      InspectionCharacteristic.InspectionSpecificationUnit,
      InspectionCharacteristic.InspectionSpecificationText,
      OpActyInstceNtwkElmnt.OpActyNtwkInstance,
      OpActyInstceNtwkElmnt.OpActyNtwkElement,
      OpActyInstceNtwkElmnt._OperationActivityText[1: Language=$session.system_language].OperationActivityName,
      OpActyInstceNtwkElmnt.OrderInternalID,
      OpActyInstceNtwkElmnt.OrderOperationInternalID,
      OrderOperationBasic.Operation_2                                                                                  as Operation,
      OrderOperationBasic.Sequence,
      OrderOperationBasic.OperationText,
      OrderOperationBasic.WorkCenterInternalID,
      'A'                                                                                                              as WorkCenterTypeCode,
      OrderOperationBasic.Plant,
      cast('2' as mpe_oan_segment_type preserving type)                                                                as OpActyNtwkSegmentType, --For the time being ICs just can be collected in the produce segment
      OpActyInstceNtwkElmnt.OperationActivityNetwork,
      OpActyInstceNtwkElmnt.OpActyNtwkVersionCounter,
      OpActyInstceNtwkElmnt.OpActyNtwkElementExternalID,
      OpActyInstceNtwkElmnt.OperationActivity,
      OpActyInstceNtwkElmnt.OperationActyVersionCounter,
      OpActyInstceNtwkElmnt.StatusAndActionSchema,
      InspCharHistory.CreatedByUser,
      InspCharHistory.CreationDate,
      InspCharHistory.CreationTime,
      dats_tims_to_tstmp(InspCharHistory.CreationDate,InspCharHistory.CreationTime,abap_system_timezone( $session.client,'NULL' ),
                          $session.client,
                         'NULL' )                                                                                      as CreationDateTime,
      InspCharHistory.ChangeDocNewFieldValue,
      InspCharHistory.ChangeDocPreviousFieldValue,
      cast(0 as qmittelwrt)                                                                                            as InspectionResultMeanValue,
      cast('' as qcodegrp)                                                                                             as CharacteristicAttributeCodeGrp,
      cast('' as qcode)                                                                                                as CharacteristicAttributeCode,
      cast(0 as qmesswert)                                                                                             as InspectionResultMeasuredValue,
      cast('' as qattribut)                                                                                            as InspectionResultAttribute,
      cast('' as qmbewertg)                                                                                            as InspectionValuationResult,
      InspCharHistory.ShopFloorItem,
      cast('MPE_EXEC_SFO' as msgid)                                                                                    as SystemMessageIdentification,
      cast
          ( case when InspCharHistory.ChangeDocItemChangeType = 'I'
                  and InspCharHistory.InspLotHasSubsets = 'X'
                  and ( InspCharHistory.ChangeDocDatabaseTableField = 'MITTELWERT' or InspCharHistory.ChangeDocDatabaseTableField = 'CODE1' or InspCharHistory.ChangeDocDatabaseTableField = 'MESSWERT' )
                 then '129'
                 when InspCharHistory.ChangeDocItemChangeType = 'I'
                  and InspCharHistory.InspLotHasSubsets = ''
                  and ( InspCharHistory.ChangeDocDatabaseTableField = 'MITTELWERT' or InspCharHistory.ChangeDocDatabaseTableField = 'CODE1' or InspCharHistory.ChangeDocDatabaseTableField = 'MESSWERT' )
                 then '130'
                 when ( InspCharHistory.ChangeDocItemChangeType = 'I' or InspCharHistory.ChangeDocItemChangeType = 'U' )
                  and InspCharHistory.InspLotHasSubsets = 'X'
                  and InspCharHistory.ChangeDocDatabaseTableField = 'MBEWERTG'
                 then '135'
                 when ( InspCharHistory.ChangeDocItemChangeType = 'I' or InspCharHistory.ChangeDocItemChangeType = 'U' )
                  and InspCharHistory.InspLotHasSubsets = ''
                  and InspCharHistory.ChangeDocDatabaseTableField = 'MBEWERTG'
                 then '136'
                 when InspCharHistory.ChangeDocItemChangeType = 'I'
                  and InspCharHistory.InspLotHasSubsets = 'X'
                  and InspCharHistory.ChangeDocDatabaseTableField = 'PRUEFBEMKT'
                 then '188'
                 when InspCharHistory.ChangeDocItemChangeType = 'I'
                  and InspCharHistory.InspLotHasSubsets = ''
                  and InspCharHistory.ChangeDocDatabaseTableField = 'PRUEFBEMKT'
                 then '189'
                 when InspCharHistory.ChangeDocItemChangeType = 'U'
                  and InspCharHistory.InspLotHasSubsets = 'X'
                  and ( InspCharHistory.ChangeDocDatabaseTableField = 'MITTELWERT' or InspCharHistory.ChangeDocDatabaseTableField = 'CODE1' )
                 then '133'
                 when InspCharHistory.ChangeDocItemChangeType = 'U'
                  and InspCharHistory.InspLotHasSubsets = ''
                  and ( InspCharHistory.ChangeDocDatabaseTableField = 'MITTELWERT' or InspCharHistory.ChangeDocDatabaseTableField = 'CODE1' )
                 then '134'
                 when InspCharHistory.ChangeDocItemChangeType = 'U'
                  and InspCharHistory.InspLotHasSubsets = 'X'
                  and InspCharHistory.ChangeDocDatabaseTableField = 'PRUEFBEMKT'
                 then '190'
                 when InspCharHistory.ChangeDocItemChangeType = 'U'
                  and InspCharHistory.InspLotHasSubsets = ''
                  and InspCharHistory.ChangeDocDatabaseTableField = 'PRUEFBEMKT'
                 then '191'
                 when InspCharHistory.ChangeDocItemChangeType = 'D'
                  and InspCharHistory.InspLotHasSubsets = 'X'
                 then '131'
                 when InspCharHistory.ChangeDocItemChangeType = 'D'
                  and InspCharHistory.InspLotHasSubsets = ''
                 then '132'
                 else '000'
                 end as msgnr)                                                                                         as SystemMessageNumber,
      70                                                                                                               as MfgExecHistMsgVarblField1, --->InspectionSpecificationText
      7                                                                                                                as MfgExecHistMsgVarblField2, --->Serial number

      case when InspCharHistory.ChangeDocItemChangeType = 'I' or InspCharHistory.ChangeDocItemChangeType = 'D'
           then 75 --->new FIELD value
           when InspCharHistory.ChangeDocDatabaseTableField = 'MBEWERTG'
           then 75 --->new FIELD value
           when InspCharHistory.ChangeDocItemChangeType = 'U'
           then 71 --->old FIELD value
           else 0
            end                                                                                                        as MfgExecHistMsgVarblField3,
      75                                                                                                               as MfgExecHistMsgVarblField4,
      InspCharcRsltLongText.InspectionResultLongText


}
where
      InspectionCharacteristic.InspSpecIsChgDocRequired = 'X'
  and LogisticsOrder.BillOfOperationsType               = 'V'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_INSPECTIONCHARACTERISTIC",
"I_LOGISTICSORDERBASIC",
"I_OPACTYINSTCENTWKELMNTBASIC",
"I_OPERATIONACTIVITYTEXT",
"I_ORDEROPERATIONBASIC",
"P_MFGINSPCHARCRSLTLONGTEXTALL",
"P_MFGINSPCHARHISTORYALL"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/