P_SimulationObjectUnion

DDL: P_SIMULATIONOBJECTUNION SQL: PSIMOBJUNI Type: view CONSUMPTION

P_SimulationObjectUnion is a Consumption CDS View in SAP S/4HANA. It reads from 22 data sources and exposes 181 fields with key fields ConfigurationObject, ConfigurationObjectItem, ConfigurationObject, ConfigurationObjectItem, ConfigurationObject.

Data Sources (22)

SourceAliasJoin Type
I_ConfigurationProfile _ConfigurationProfile inner
I_ConfigurationProfile _ConfigurationProfile inner
I_ConfigurationProfile _ConfigurationProfile inner
I_ConfigurationProfile _ConfigurationProfile inner
I_ConfigurationProfile _ConfigurationProfile inner
P_IbinValidConfigurations CBase inner
P_IbinValidConfigurations CBase inner
P_IbinValidConfigurations CBase inner
P_IbinValidConfigurations CBase inner
P_IbinValidConfigurations CBase inner
P_VarConfignXPlantProdVariant CrossPlantMaterialVariant union_all
P_SimulationsForSearch P_SimulationsForSearch union_all
P_VarConfignPlntSpcfcProdVar PlantSpecificProductVariant union_all
P_VarConfignPurchaseReqnItem PurchaseRequisitionItem union_all
P_VarConfignPurchasingDocItem PurchasingDocumentItem union_all
P_VarConfignSalesDocumentItem SalesDocumentItem from
P_SimulationSearchSupport SearchSupport left_outer
P_SimulationSearchSupport SearchSupport left_outer
P_SimulationSearchSupport SearchSupport left_outer
P_SimulationSearchSupport SearchSupport left_outer
P_SimulationSearchSupport SearchSupport left_outer
P_SimulationSearchSupport SearchSupport left_outer

Annotations (6)

NameValueLevelField
AbapCatalog.sqlViewName PSIMOBJUNI view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #NOT_REQUIRED view
ClientHandling.algorithm #SESSION_VARIABLE view
VDM.viewType #CONSUMPTION view
VDM.private true view

Fields (181)

KeyFieldSource TableSource FieldDescription
KEY ConfigurationObject
KEY ConfigurationObjectItem
Product P_VarConfignSalesDocumentItem Product
Plant P_VarConfignSalesDocumentItem Plant
CreatedByUser P_VarConfignSalesDocumentItem CreatedByUser
CreationDate P_VarConfignSalesDocumentItem CreationDate
LastChangeDate P_VarConfignSalesDocumentItem LastChangeDate
LastChangedByUser P_VarConfignSalesDocumentItem LastChangedByUser
ProductConfiguration P_VarConfignSalesDocumentItem ProductConfiguration
ConfigurationStatus P_IbinValidConfigurations cstatus
ConfigurationProfileNumber P_IbinValidConfigurations ConfigurationProfileNumber
VariantConfigurationSimlnDate P_IbinValidConfigurations LastChangeDate
DraftUUID
HasActiveEntity
ClassType I_ConfigurationProfile ClassType
ConfigurationProfileProcess I_ConfigurationProfile ConfigurationProfileProcess
SalesDocument P_VarConfignSalesDocumentItem SalesDocument
SalesDocumentItem P_VarConfignSalesDocumentItem SalesDocumentItem
ProductVariant P_SimulationSearchSupport ProductVariant
VariantConfigurationSimlnName P_SimulationSearchSupport VariantConfigurationSimlnName
VarConfignSimlnExternalID P_SimulationSearchSupport VarConfignSimlnExternalID
PurchasingDocument P_SimulationSearchSupport PurchasingDocument
PurchasingDocumentItem P_SimulationSearchSupport PurchasingDocumentItem
PurchaseRequisition P_SimulationSearchSupport PurchaseRequisition
PurchaseRequisitionItem P_SimulationSearchSupport PurchaseRequisitionItem
MVARasType
KEY ConfigurationObject
KEY ConfigurationObjectItem
Product P_VarConfignPlntSpcfcProdVar Product
Plant P_VarConfignPlntSpcfcProdVar Plant
CreatedByUser P_VarConfignPlntSpcfcProdVar CreatedByUser
CreationDate P_VarConfignPlntSpcfcProdVar CreationDate
LastChangeDate P_VarConfignPlntSpcfcProdVar LastChangeDate
LastChangedByUser P_VarConfignPlntSpcfcProdVar LastChangedByUser
ProductConfiguration P_IbinValidConfigurations instance
ConfigurationStatus P_IbinValidConfigurations cstatus
ConfigurationProfileNumber P_IbinValidConfigurations ConfigurationProfileNumber
VariantConfigurationSimlnDate P_IbinValidConfigurations LastChangeDate
DraftUUID
HasActiveEntity
ClassType I_ConfigurationProfile ClassType
ConfigurationProfileProcess I_ConfigurationProfile ConfigurationProfileProcess
SalesDocument P_SimulationSearchSupport SalesDocument
SalesDocumentItem P_SimulationSearchSupport SalesDocumentItem
ProductVariant P_VarConfignPlntSpcfcProdVar ProductVariant
VariantConfigurationSimlnName P_SimulationSearchSupport VariantConfigurationSimlnName
VarConfignSimlnExternalID P_SimulationSearchSupport VarConfignSimlnExternalID
PurchasingDocument P_SimulationSearchSupport PurchasingDocument
PurchasingDocumentItem P_SimulationSearchSupport PurchasingDocumentItem
PurchaseRequisition P_SimulationSearchSupport PurchaseRequisition
PurchaseRequisitionItem P_SimulationSearchSupport PurchaseRequisitionItem
MVARasType
KEY ConfigurationObject
KEY ConfigurationObjectItem
Product P_VarConfignXPlantProdVariant Product
Plant
CreatedByUser P_VarConfignXPlantProdVariant CreatedByUser
CreationDate P_VarConfignXPlantProdVariant CreationDate
LastChangeDate P_VarConfignXPlantProdVariant LastChangeDate
LastChangedByUser P_VarConfignXPlantProdVariant LastChangedByUser
ProductConfiguration P_IbinValidConfigurations instance
ConfigurationStatus P_IbinValidConfigurations cstatus
ConfigurationProfileNumber P_IbinValidConfigurations ConfigurationProfileNumber
VariantConfigurationSimlnDate P_IbinValidConfigurations LastChangeDate
DraftUUID
HasActiveEntity
ClassType I_ConfigurationProfile ClassType
ConfigurationProfileProcess I_ConfigurationProfile ConfigurationProfileProcess
SalesDocument P_SimulationSearchSupport SalesDocument
SalesDocumentItem P_SimulationSearchSupport SalesDocumentItem
ProductVariant P_VarConfignXPlantProdVariant ProductVariant
VariantConfigurationSimlnName P_SimulationSearchSupport VariantConfigurationSimlnName
VarConfignSimlnExternalID P_SimulationSearchSupport VarConfignSimlnExternalID
PurchasingDocument P_SimulationSearchSupport PurchasingDocument
PurchasingDocumentItem P_SimulationSearchSupport PurchasingDocumentItem
PurchaseRequisition P_SimulationSearchSupport PurchaseRequisition
PurchaseRequisitionItem P_SimulationSearchSupport PurchaseRequisitionItem
PRODasType
KEY ConfigurationObject
KEY ConfigurationObjectItem
Product ConfigurableProduct Product
Plant ConfigurableProduct Plant
CreatedByUser ConfigurableProduct CreatedByUser
CreationDate ConfigurableProduct CreationDate
LastChangeDate ConfigurableProduct LastChangeDate
LastChangedByUser ConfigurableProduct LastChangedByUser
ProductConfiguration
ConfigurationStatus
ConfigurationProfileNumber
VariantConfigurationSimlnDate
DraftUUID
HasActiveEntity
ClassType
ConfigurationProfileProcess
SalesDocument P_SimulationSearchSupport SalesDocument
SalesDocumentItem P_SimulationSearchSupport SalesDocumentItem
ProductVariant P_SimulationSearchSupport ProductVariant
VariantConfigurationSimlnName P_SimulationSearchSupport VariantConfigurationSimlnName
VarConfignSimlnExternalID P_SimulationSearchSupport VarConfignSimlnExternalID
PurchasingDocument P_SimulationSearchSupport PurchasingDocument
PurchasingDocumentItem P_SimulationSearchSupport PurchasingDocumentItem
PurchaseRequisition P_SimulationSearchSupport PurchaseRequisition
PurchaseRequisitionItem P_SimulationSearchSupport PurchaseRequisitionItem
KEY ConfigurationObject ConfigurationObject
KEY ConfigurationObjectItem ConfigurationObjectItem
Product Product
Plant Plant
CreatedByUser CreatedByUser
CreationDate CreationDate
LastChangeDate LastChangeDate
LastChangedByUser LastChangedByUser
ProductConfiguration ProductConfiguration
ConfigurationStatus ConfigurationStatus
ConfigurationProfileNumber ConfigurationProfileNumber
VariantConfigurationSimlnDate VariantConfigurationSimlnDate
DraftUUID DraftUUID
HasActiveEntity HasActiveEntity
ClassType ClassType
ConfigurationProfileProcess
SalesDocument SalesDocument
SalesDocumentItem SalesDocumentItem
ProductVariant ProductVariant
VariantConfigurationSimlnName VariantConfigurationSimlnName
VarConfignSimlnExternalID VarConfignSimlnExternalID
PurchasingDocument PurchasingDocument
PurchasingDocumentItem PurchasingDocumentItem
PurchaseRequisition PurchaseRequisition
PurchaseRequisitionItem PurchaseRequisitionItem
PUROasType
KEY ConfigurationObject
KEY ConfigurationObjectItem
Product P_VarConfignPurchasingDocItem Product
Plant P_VarConfignPurchasingDocItem Plant
CreatedByUser P_VarConfignPurchasingDocItem CreatedByUser
CreationDate P_VarConfignPurchasingDocItem CreationDate
LastChangeDate P_VarConfignPurchasingDocItem LastChangeDate
LastChangedByUser P_VarConfignPurchasingDocItem LastChangedByUser
ProductConfiguration P_VarConfignPurchasingDocItem ProductConfiguration
ConfigurationStatus P_IbinValidConfigurations cstatus
ConfigurationProfileNumber P_IbinValidConfigurations ConfigurationProfileNumber
VariantConfigurationSimlnDate P_IbinValidConfigurations LastChangeDate
DraftUUID
HasActiveEntity
ClassType I_ConfigurationProfile ClassType
ConfigurationProfileProcess I_ConfigurationProfile ConfigurationProfileProcess
SalesDocument P_SimulationSearchSupport SalesDocument
SalesDocumentItem P_SimulationSearchSupport SalesDocumentItem
ProductVariant P_SimulationSearchSupport ProductVariant
VariantConfigurationSimlnName P_SimulationSearchSupport VariantConfigurationSimlnName
VarConfignSimlnExternalID P_SimulationSearchSupport VarConfignSimlnExternalID
PurchasingDocument P_VarConfignPurchasingDocItem PurchasingDocument
PurchasingDocumentItem P_VarConfignPurchasingDocItem PurchasingDocumentItem
PurchaseRequisition P_SimulationSearchSupport PurchaseRequisition
PurchaseRequisitionItem P_SimulationSearchSupport PurchaseRequisitionItem
PURRasType
KEY ConfigurationObject
KEY ConfigurationObjectItem
Product P_VarConfignPurchaseReqnItem Product
Plant P_VarConfignPurchaseReqnItem Plant
CreatedByUser P_VarConfignPurchaseReqnItem CreatedByUser
CreationDate P_VarConfignPurchaseReqnItem CreationDate
LastChangeDate P_VarConfignPurchaseReqnItem LastChangeDate
LastChangedByUser P_VarConfignPurchaseReqnItem LastChangedByUser
ProductConfiguration P_VarConfignPurchaseReqnItem ProductConfiguration
ConfigurationStatus P_IbinValidConfigurations cstatus
ConfigurationProfileNumber P_IbinValidConfigurations ConfigurationProfileNumber
VariantConfigurationSimlnDate P_IbinValidConfigurations LastChangeDate
DraftUUID
HasActiveEntity
ClassType I_ConfigurationProfile ClassType
ConfigurationProfileProcess I_ConfigurationProfile ConfigurationProfileProcess
SalesDocument P_SimulationSearchSupport SalesDocument
SalesDocumentItem P_SimulationSearchSupport SalesDocumentItem
ProductVariant P_SimulationSearchSupport ProductVariant
VariantConfigurationSimlnName P_SimulationSearchSupport VariantConfigurationSimlnName
VarConfignSimlnExternalID P_SimulationSearchSupport VarConfignSimlnExternalID
PurchasingDocument P_SimulationSearchSupport PurchasingDocument
PurchasingDocumentItem P_SimulationSearchSupport PurchasingDocumentItem
PurchaseRequisition P_VarConfignPurchaseReqnItem PurchaseRequisition
PurchaseRequisitionItem P_VarConfignPurchaseReqnItem PurchaseRequisitionItem
ConfigurationObjTypeForSorting
@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
}