P_SIMULATIONOBJECTUNION

CDS View

P_SIMULATIONOBJECTUNION is a CDS View in S/4HANA. It contains 24 fields. 1 CDS views read from this table.

CDS Views using this table (1)

ViewTypeJoinVDMDescription
P_SimulationObjectSearch view from CONSUMPTION

Fields (24)

KeyField CDS FieldsUsed in Views
KEY ConfigurationObject ConfigurationObject 1
KEY Type Type 1
ClassType ClassType 1
ConfigurationProfileNumber ConfigurationProfileNumber 1
ConfigurationProfileProcess ConfigurationProfileProcess 1
CreatedByUser CreatedByUser 1
CreationDate CreationDate 1
DraftUUID DraftUUID 1
HasActiveEntity HasActiveEntity 1
LastChangeDate LastChangeDate 1
LastChangedByUser LastChangedByUser 1
Plant Plant 1
Product Product 1
ProductConfiguration ProductConfiguration 1
ProductVariant ProductVariant 1
PurchaseRequisition PurchaseRequisition 1
PurchaseRequisitionItem PurchaseRequisitionItem 1
PurchasingDocument PurchasingDocument 1
PurchasingDocumentItem PurchasingDocumentItem 1
SalesDocument SalesDocument 1
SalesDocumentItem SalesDocumentItem 1
VarConfignSimlnExternalID VarConfignSimlnExternalID 1
VariantConfigurationSimlnDate VariantConfigurationSimlnDate 1
VariantConfigurationSimlnName VariantConfigurationSimlnName 1
@AbapCatalog.sqlViewName: 'PSIMOBJUNI'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #NOT_REQUIRED

@ClientHandling.algorithm: #SESSION_VARIABLE

@VDM.viewType: #CONSUMPTION
@VDM.private: true

define view P_SimulationObjectUnion
  as

  //Sales Document templates

  select from       P_VarConfignSalesDocumentItem as SalesDocumentItem
  //...only those which have existing configurations

    inner join      P_IbinValidConfigurations     as CBase                 on SalesDocumentItem.ProductConfiguration = CBase.instance

  //...and an AVC Configuration Profile (regardless its status)

    inner join      I_ConfigurationProfile        as _ConfigurationProfile on  _ConfigurationProfile.ObjectDatabaseTable        = 'MARA'
                                                                           and _ConfigurationProfile.ProductConfiguration       = SalesDocumentItem.Product
                                                                           and _ConfigurationProfile.ConfigurationProfileNumber = CBase.ConfigurationProfileNumber
                                                                           and _ConfigurationProfile.EngineProcessingMode       = 'A'

  //Source for dummy fields

    left outer join P_SimulationSearchSupport     as SearchSupport         on SearchSupport.SalesDocument = ''

{
      //Distuingish Sales Document and Quatations

  key case
    when SalesDocumentItem.SDDocumentCategory = 'B' then 'QUOT'
    else 'SORD'
  end                                                                             as Type,

  key cast ( SalesDocumentItem.SalesDocument as vchclf_sim_conf_object )          as ConfigurationObject,
  key cast ( SalesDocumentItem.SalesDocumentItem as vchclf_sim_conf_object_item ) as ConfigurationObjectItem,
      SalesDocumentItem.Product                                                   as Product,
      SalesDocumentItem.Plant                                                     as Plant,
      SalesDocumentItem.CreatedByUser                                             as CreatedByUser,
      SalesDocumentItem.CreationDate                                              as CreationDate,
      SalesDocumentItem.LastChangeDate                                            as LastChangeDate,
      SalesDocumentItem.LastChangedByUser                                         as LastChangedByUser,

      SalesDocumentItem.ProductConfiguration                                      as ProductConfiguration,
      CBase.cstatus                                                               as ConfigurationStatus,
      CBase.ConfigurationProfileNumber                                            as ConfigurationProfileNumber,
      CBase.LastChangeDate                                                        as VariantConfigurationSimlnDate,

      hextobin('00000000000000000000000000000000')                                as DraftUUID,
      #CDSBOOLEAN.'false'                                                         as HasActiveEntity,

      _ConfigurationProfile.ClassType                                             as ClassType,
      _ConfigurationProfile.ConfigurationProfileProcess                           as ConfigurationProfileProcess,

      // These fields are exposed only for enabling searching in them

      SalesDocumentItem.SalesDocument                                             as SalesDocument,
      SalesDocumentItem.SalesDocumentItem                                         as SalesDocumentItem,

      SearchSupport.ProductVariant                                                as ProductVariant, //empty

      SearchSupport.VariantConfigurationSimlnName                                 as VariantConfigurationSimlnName, //empty

      SearchSupport.VarConfignSimlnExternalID                                     as VarConfignSimlnExternalID, //empty


      SearchSupport.PurchasingDocument                                            as PurchasingDocument, //empty

      SearchSupport.PurchasingDocumentItem                                        as PurchasingDocumentItem, //empty

      SearchSupport.PurchaseRequisition                                           as PurchaseRequisition, //empty

      SearchSupport.PurchaseRequisitionItem                                       as PurchaseRequisitionItem, //empty


      //Distuingish Sales Document and Quatations

      case
      when SalesDocumentItem.SDDocumentCategory = 'B'
      then cast( 5 as vchclf_sim_conf_obj_type_sort)
      else cast( 6 as vchclf_sim_conf_obj_type_sort)
      end                                                                         as ConfigurationObjTypeForSorting
}

union all

//Plant specific Product Variant templates

select from       P_VarConfignPlntSpcfcProdVar as PlantSpecificProductVariant

//...only those which have existing configurations

  inner join      P_IbinValidConfigurations    as CBase                 on PlantSpecificProductVariant.ProductConfiguration = CBase.instance

//...and an AVC Configuration Profile (regardless its status)

  inner join      I_ConfigurationProfile       as _ConfigurationProfile on  _ConfigurationProfile.ObjectDatabaseTable        = 'MARA'
                                                                        and _ConfigurationProfile.ProductConfiguration       = PlantSpecificProductVariant.Product
                                                                        and _ConfigurationProfile.ConfigurationProfileNumber = CBase.ConfigurationProfileNumber
                                                                        and _ConfigurationProfile.EngineProcessingMode       = 'A'

//Source for dummy fields

  left outer join P_SimulationSearchSupport    as SearchSupport         on SearchSupport.SalesDocument = ''
{

  key #vchclf_leading_object.'MVAR'                                                 as Type,
  key cast ( PlantSpecificProductVariant.ProductVariant as vchclf_sim_conf_object ) as ConfigurationObject,
  key cast ( PlantSpecificProductVariant.Plant as vchclf_sim_conf_object_item )     as ConfigurationObjectItem,

      PlantSpecificProductVariant.Product                                           as Product,
      PlantSpecificProductVariant.Plant                                             as Plant,
      PlantSpecificProductVariant.CreatedByUser                                     as CreatedByUser,
      PlantSpecificProductVariant.CreationDate                                      as CreationDate,
      PlantSpecificProductVariant.LastChangeDate                                    as LastChangeDate,
      PlantSpecificProductVariant.LastChangedByUser                                 as LastChangedByUser,

      CBase.instance                                                                as ProductConfiguration,
      CBase.cstatus                                                                 as ConfigurationStatus,
      CBase.ConfigurationProfileNumber                                              as ConfigurationProfileNumber,
      CBase.LastChangeDate                                                          as VariantConfigurationSimlnDate,

      hextobin('00000000000000000000000000000000')                                  as DraftUUID,
      #CDSBOOLEAN.'false'                                                           as HasActiveEntity,

      _ConfigurationProfile.ClassType                                               as ClassType,
      _ConfigurationProfile.ConfigurationProfileProcess                             as ConfigurationProfileProcess,

      // These fields are exposed only for enabling searching in them

      SearchSupport.SalesDocument                                                   as SalesDocument, //empty

      SearchSupport.SalesDocumentItem                                               as SalesDocumentItem, //empty


      PlantSpecificProductVariant.ProductVariant                                    as ProductVariant,

      SearchSupport.VariantConfigurationSimlnName                                   as VariantConfigurationSimlnName, //empty

      SearchSupport.VarConfignSimlnExternalID                                       as VarConfignSimlnExternalID, //empty

      SearchSupport.PurchasingDocument                                              as PurchasingDocument, //empty

      SearchSupport.PurchasingDocumentItem                                          as PurchasingDocumentItem, //empty

      SearchSupport.PurchaseRequisition                                             as PurchaseRequisition, //empty

      SearchSupport.PurchaseRequisitionItem                                         as PurchaseRequisitionItem, //empty


      #VCHCLF_SIM_CONF_OBJ_TYPE_SORT.2                                              as ConfigurationObjTypeForSorting
}

union all

//Cross-plant Product Variant templates

select from       P_VarConfignXPlantProdVariant as CrossPlantMaterialVariant

//...only those which have existing configurations

  inner join      P_IbinValidConfigurations     as CBase                 on CrossPlantMaterialVariant.ProductConfiguration = CBase.instance

//...and an AVC Configuration Profile (regardless its status)

  inner join      I_ConfigurationProfile        as _ConfigurationProfile on  _ConfigurationProfile.ObjectDatabaseTable        = 'MARA'
                                                                         and _ConfigurationProfile.ProductConfiguration       = CrossPlantMaterialVariant.Product
                                                                         and _ConfigurationProfile.ConfigurationProfileNumber = CBase.ConfigurationProfileNumber
                                                                         and _ConfigurationProfile.EngineProcessingMode       = 'A'

//Source for dummy fields

  left outer join P_SimulationSearchSupport     as SearchSupport         on SearchSupport.SalesDocument = ''

{

  key #vchclf_leading_object.'MVAR'                                               as Type,
  key cast ( CrossPlantMaterialVariant.ProductVariant as vchclf_sim_conf_object ) as ConfigurationObject,
  key cast ( '' as vchclf_sim_conf_object_item )                                  as ConfigurationObjectItem,

      CrossPlantMaterialVariant.Product                                           as Product,
      ''                                                                          as Plant,
      CrossPlantMaterialVariant.CreatedByUser                                     as CreatedByUser,
      CrossPlantMaterialVariant.CreationDate                                      as CreationDate,
      CrossPlantMaterialVariant.LastChangeDate                                    as LastChangeDate,
      CrossPlantMaterialVariant.LastChangedByUser                                 as LastChangedByUser,

      CBase.instance                                                              as ProductConfiguration,
      CBase.cstatus                                                               as ConfigurationStatus,
      CBase.ConfigurationProfileNumber                                            as ConfigurationProfileNumber,
      CBase.LastChangeDate                                                        as VariantConfigurationSimlnDate,

      hextobin('00000000000000000000000000000000')                                as DraftUUID,
      #CDSBOOLEAN.'false'                                                         as HasActiveEntity,

      _ConfigurationProfile.ClassType                                             as ClassType,
      _ConfigurationProfile.ConfigurationProfileProcess                           as ConfigurationProfileProcess,

      // These fields are exposed only for enabling searching in them

      SearchSupport.SalesDocument                                                 as SalesDocument, //empty

      SearchSupport.SalesDocumentItem                                             as SalesDocumentItem, //empty


      CrossPlantMaterialVariant.ProductVariant                                    as ProductVariant,

      SearchSupport.VariantConfigurationSimlnName                                 as VariantConfigurationSimlnName, //empty

      SearchSupport.VarConfignSimlnExternalID                                     as VarConfignSimlnExternalID, //empty

      SearchSupport.PurchasingDocument                                            as PurchasingDocument, //empty

      SearchSupport.PurchasingDocumentItem                                        as PurchasingDocumentItem, //empty

      SearchSupport.PurchaseRequisition                                           as PurchaseRequisition, //empty

      SearchSupport.PurchaseRequisitionItem                                       as PurchaseRequisitionItem, //empty


      #VCHCLF_SIM_CONF_OBJ_TYPE_SORT.2                                            as ConfigurationObjTypeForSorting
}

union all

//Configurable Products

select distinct from P_ConfigurableProductPlantSmpl as ConfigurableProduct

//Source for dummy fields

  left outer join    P_SimulationSearchSupport      as SearchSupport         on SearchSupport.ProductVariant = ''

{

  key #vchclf_leading_object.'PROD'                                     as Type,
  key cast ( ConfigurableProduct.Product as vchclf_sim_conf_object )    as ConfigurationObject,
  key cast ( ConfigurableProduct.Plant as vchclf_sim_conf_object_item ) as ConfigurationObjectItem,

      ConfigurableProduct.Product                                       as Product,
      ConfigurableProduct.Plant                                         as Plant,
      ConfigurableProduct.CreatedByUser                                 as CreatedByUser,
      ConfigurableProduct.CreationDate                                  as CreationDate,
      ConfigurableProduct.LastChangeDate                                as LastChangeDate,
      ConfigurableProduct.LastChangedByUser                             as LastChangedByUser,

      '000000000000000000'                                              as ProductConfiguration,
      cast('' as atinstatus)                                            as ConfigurationStatus,
      '0000'                                                            as ConfigurationProfileNumber, // this is to ensure that the profile is not selected

      // from here but when create the simulation to ensure consistency with engine

      $session.system_date                                              as VariantConfigurationSimlnDate,

      hextobin('00000000000000000000000000000000')                      as DraftUUID,
      #CDSBOOLEAN.'false'                                               as HasActiveEntity,

      cast('' as klassenart)                                            as ClassType,
      ''                                                                as ConfigurationProfileProcess,

      // These fields are exposed only for enabling searching in them

      SearchSupport.SalesDocument                                       as SalesDocument, //empty

      SearchSupport.SalesDocumentItem                                   as SalesDocumentItem, //empty

      SearchSupport.ProductVariant                                      as ProductVariant, //empty

      SearchSupport.VariantConfigurationSimlnName                       as VariantConfigurationSimlnName, //empty

      SearchSupport.VarConfignSimlnExternalID                           as VarConfignSimlnExternalID, //empty

      SearchSupport.PurchasingDocument                                  as PurchasingDocument, //empty

      SearchSupport.PurchasingDocumentItem                              as PurchasingDocumentItem, //empty

      SearchSupport.PurchaseRequisition                                 as PurchaseRequisition, //empty

      SearchSupport.PurchaseRequisitionItem                             as PurchaseRequisitionItem, //empty


      #VCHCLF_SIM_CONF_OBJ_TYPE_SORT.1                                  as ConfigurationObjTypeForSorting
}


union all
//Simulations

select from P_SimulationsForSearch
{

  key Type,
  key ConfigurationObject,
  key ConfigurationObjectItem,

      Product,
      Plant,
      CreatedByUser,
      CreationDate,
      LastChangeDate,
      LastChangedByUser,

      ProductConfiguration,
      ConfigurationStatus,

      //Configuration Profile Number is selected by the AVC engine and not saved anymore

      ConfigurationProfileNumber,
      VariantConfigurationSimlnDate,

      DraftUUID,
      HasActiveEntity,
      ClassType,
      '' as ConfigurationProfileProcess,

      // These fields are exposed only for enabling searching in them

      SalesDocument, //empty

      SalesDocumentItem, //empty

      ProductVariant, //empty


      VariantConfigurationSimlnName,
      VarConfignSimlnExternalID,

      PurchasingDocument, //empty

      PurchasingDocumentItem, //empty

      PurchaseRequisition, //empty

      PurchaseRequisitionItem, //empty


      ConfigurationObjTypeForSorting
}


union all
//Purchase Orders templates

select from       P_VarConfignPurchasingDocItem as PurchasingDocumentItem
//...only those which have existing configurations

  inner join      P_IbinValidConfigurations     as CBase                 on PurchasingDocumentItem.ProductConfiguration = CBase.instance

//...and an AVC Configuration Profile (regardless its status)

  inner join      I_ConfigurationProfile        as _ConfigurationProfile on  _ConfigurationProfile.ObjectDatabaseTable        = 'MARA'
                                                                         and _ConfigurationProfile.ProductConfiguration       = PurchasingDocumentItem.Product
                                                                         and _ConfigurationProfile.ConfigurationProfileNumber = CBase.ConfigurationProfileNumber
                                                                         and _ConfigurationProfile.EngineProcessingMode       = 'A'

//Source for dummy fields

  left outer join P_SimulationSearchSupport     as SearchSupport         on SearchSupport.PurchasingDocument = ''

{

  key #vchclf_leading_object.'PURO'                                                         as Type,

  key cast ( PurchasingDocumentItem.PurchasingDocument as vchclf_sim_conf_object )          as ConfigurationObject,
  key cast ( PurchasingDocumentItem.PurchasingDocumentItem as vchclf_sim_conf_object_item ) as ConfigurationObjectItem,
      PurchasingDocumentItem.Product                                                        as Product,
      PurchasingDocumentItem.Plant                                                          as Plant,
      PurchasingDocumentItem.CreatedByUser                                                  as CreatedByUser,
      PurchasingDocumentItem.CreationDate                                                   as CreationDate,
      PurchasingDocumentItem.LastChangeDate                                                 as LastChangeDate,
      PurchasingDocumentItem.LastChangedByUser                                              as LastChangedByUser,

      PurchasingDocumentItem.ProductConfiguration                                           as ProductConfiguration,
      CBase.cstatus                                                                         as ConfigurationStatus,
      CBase.ConfigurationProfileNumber                                                      as ConfigurationProfileNumber,
      CBase.LastChangeDate                                                                  as VariantConfigurationSimlnDate,

      hextobin('00000000000000000000000000000000')                                          as DraftUUID,
      #CDSBOOLEAN.'false'                                                                   as HasActiveEntity,

      _ConfigurationProfile.ClassType                                                       as ClassType,
      _ConfigurationProfile.ConfigurationProfileProcess                                     as ConfigurationProfileProcess,

      // These fields are exposed only for enabling searching in them

      SearchSupport.SalesDocument                                                           as SalesDocument, //empty

      SearchSupport.SalesDocumentItem                                                       as SalesDocumentItem, //empty

      SearchSupport.ProductVariant                                                          as ProductVariant, //empty

      SearchSupport.VariantConfigurationSimlnName                                           as VariantConfigurationSimlnName, //empty

      SearchSupport.VarConfignSimlnExternalID                                               as VarConfignSimlnExternalID, //empty


      PurchasingDocumentItem.PurchasingDocument                                             as PurchasingDocument,
      PurchasingDocumentItem.PurchasingDocumentItem                                         as PurchasingDocumentItem,

      SearchSupport.PurchaseRequisition                                                     as PurchaseRequisition, //empty

      SearchSupport.PurchaseRequisitionItem                                                 as PurchaseRequisitionItem, //empty


      #VCHCLF_SIM_CONF_OBJ_TYPE_SORT.3                                                      as ConfigurationObjTypeForSorting
}

union all
//Purchase Requisitions templates

select from       P_VarConfignPurchaseReqnItem as PurchaseRequisitionItem
//...only those which have existing configurations

  inner join      P_IbinValidConfigurations    as CBase                 on PurchaseRequisitionItem.ProductConfiguration = CBase.instance

//...and an AVC Configuration Profile (regardless its status)

  inner join      I_ConfigurationProfile       as _ConfigurationProfile on  _ConfigurationProfile.ObjectDatabaseTable        = 'MARA'
                                                                        and _ConfigurationProfile.ProductConfiguration       = PurchaseRequisitionItem.Product
                                                                        and _ConfigurationProfile.ConfigurationProfileNumber = CBase.ConfigurationProfileNumber
                                                                        and _ConfigurationProfile.EngineProcessingMode       = 'A'

//Source for dummy fields

  left outer join P_SimulationSearchSupport    as SearchSupport         on SearchSupport.PurchaseRequisition = ''

{

  key #vchclf_leading_object.'PURR'                                                           as Type,

  key cast ( PurchaseRequisitionItem.PurchaseRequisition as vchclf_sim_conf_object )          as ConfigurationObject,
  key cast ( PurchaseRequisitionItem.PurchaseRequisitionItem as vchclf_sim_conf_object_item ) as ConfigurationObjectItem,
      PurchaseRequisitionItem.Product                                                         as Product,
      PurchaseRequisitionItem.Plant                                                           as Plant,
      PurchaseRequisitionItem.CreatedByUser                                                   as CreatedByUser,
      PurchaseRequisitionItem.CreationDate                                                    as CreationDate,
      PurchaseRequisitionItem.LastChangeDate                                                  as LastChangeDate,
      PurchaseRequisitionItem.LastChangedByUser                                               as LastChangedByUser,

      PurchaseRequisitionItem.ProductConfiguration                                            as ProductConfiguration,
      CBase.cstatus                                                                           as ConfigurationStatus,
      CBase.ConfigurationProfileNumber                                                        as ConfigurationProfileNumber,
      CBase.LastChangeDate                                                                    as VariantConfigurationSimlnDate,

      hextobin('00000000000000000000000000000000')                                            as DraftUUID,
      #CDSBOOLEAN.'false'                                                                     as HasActiveEntity,

      _ConfigurationProfile.ClassType                                                         as ClassType,
      _ConfigurationProfile.ConfigurationProfileProcess                                       as ConfigurationProfileProcess,

      // These fields are exposed only for enabling searching in them

      SearchSupport.SalesDocument                                                             as SalesDocument, //empty

      SearchSupport.SalesDocumentItem                                                         as SalesDocumentItem, //empty

      SearchSupport.ProductVariant                                                            as ProductVariant, //empty

      SearchSupport.VariantConfigurationSimlnName                                             as VariantConfigurationSimlnName, //empty

      SearchSupport.VarConfignSimlnExternalID                                                 as VarConfignSimlnExternalID, //empty

      SearchSupport.PurchasingDocument                                                        as PurchasingDocument, //empty

      SearchSupport.PurchasingDocumentItem                                                    as PurchasingDocumentItem, //empty


      PurchaseRequisitionItem.PurchaseRequisition                                             as PurchaseRequisition,
      PurchaseRequisitionItem.PurchaseRequisitionItem                                         as PurchaseRequisitionItem, //empty


      #VCHCLF_SIM_CONF_OBJ_TYPE_SORT.4                                                        as ConfigurationObjTypeForSorting
}