C_RecipeCurrentObjPg

DDL: C_RECIPECURRENTOBJPG SQL: CRCPCURROPG Type: view CONSUMPTION

Manage Recipes

C_RecipeCurrentObjPg is a Consumption CDS View that provides data about "Manage Recipes" in SAP S/4HANA. It reads from 1 data source (I_RecipeForKeyDate) and exposes 34 fields with key field RecipeUUID. It has 7 associations to related views.

Data Sources (1)

SourceAliasJoin Type
I_RecipeForKeyDate I_RecipeForKeyDate from

Parameters (1)

NameTypeDefault
P_KeyDate sydate

Associations (7)

CardinalityTargetAliasCondition
[0..1] I_Plant _PlantVH $projection.Plant = _PlantVH.Plant
[0..1] I_PlantStdVH _PlantStdVH $projection.Plant = _PlantStdVH.Plant
[0..*] I_RecipeTypeText _RecipeTypeText $projection.RecipeType = _RecipeTypeText.RecipeType
[0..*] I_RecipeStatusText _RecipeStatusText $projection.RecipeStatus = _RecipeStatusText.RecipeStatus
[0..*] I_RecipeAuthorizationGroupText _RecipeAuthorizationGroupText $projection.RecipeAuthorizationGroup = _RecipeAuthorizationGroupText.RecipeAuthorizationGroup
[0..*] I_RecipePurposeText _RecipePurposeText $projection.RecipePurpose = _RecipePurposeText.RecipePurpose
[1..1] E_Recipe _Extension $projection.RecipeUUID = _Extension.RecipeUUID

Annotations (18)

NameValueLevelField
AbapCatalog.preserveKey true view
AbapCatalog.sqlViewName CRCPCURROPG view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.dataClass #MASTER view
VDM.viewType #CONSUMPTION view
Search.searchable true view
UI.headerInfo.typeName Recipe view
UI.headerInfo.typeNamePlural Recipes view
UI.headerInfo.title.value Recipe view
UI.headerInfo.description.value RecipeDescription view
UI.presentationVariant.sortOrder.by CreationDate view
UI.presentationVariant.sortOrder.direction #DESC view
Consumption.filter.businessDate.at true view
EndUserText.label Manage Recipes view

Fields (34)

KeyFieldSource TableSource FieldDescription
KEY RecipeUUID RecipeUUID
RecipeUniqueID RecipeUniqueID
RecipePrimaryOutputInternalID RecipePrimaryOutputInternalID
RecipePrimaryOutput
RecipeAlternativeNumber RecipeAlternativeNumber
RecipeVersionNumber RecipeVersionNumber
Recipe Recipe
RecipeDescription
Plant
RecipeType RecipeType
RecipePurpose RecipePurpose
RecipeStatus RecipeStatus
RecipeStatusSchema RecipeStatusSchema
RcpFmlaUUID RcpFmlaUUID
RecipeProcessUUID RecipeProcessUUID
RecipeIsDeleted RecipeIsDeleted
RecipeIsArchived RecipeIsArchived
RecipeValidityStartDate RecipeValidityStartDate
RecipeValidityEndDate RecipeValidityEndDate
RecipeAuthorizationGroup RecipeAuthorizationGroup
RecipeCreatedByUser RecipeCreatedByUser Created By
CreatedByUserName _CreatedByUser UserDescription
RecipeLastChangedByUser RecipeLastChangedByUser Changed By
LastChangedByUserName _LastChangedByUser UserDescription
_PlantVH _PlantVH
_RecipeTypeText _RecipeTypeText
_RecipeStatusText _RecipeStatusText
_RecipeAuthorizationGroupText _RecipeAuthorizationGroupText
_RecipePurposeText _RecipePurposeText
_PlantStdVH _PlantStdVH
_PrimaryOutputSpecification _PrimaryOutputSpecification
_LogAccMObjectTypeActive _LogAccMObjectTypeActive
_LogAccMObjectUserAuthzn _LogAccMObjectUserAuthzn
_LogAccMObjSecureIDAssgmt _LogAccMObjSecureIDAssgmt
@AbapCatalog.preserveKey: true
@AbapCatalog.sqlViewName: 'CRCPCURROPG'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK

@ClientHandling.algorithm: #SESSION_VARIABLE

@ObjectModel.semanticKey: ['Recipe']

@ObjectModel.usageType.sizeCategory: #L
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.dataClass: #MASTER

@VDM.viewType: #CONSUMPTION

@Search.searchable: true

@UI.headerInfo: {
    typeName: 'Recipe',
    typeNamePlural: 'Recipes',
    title: { value: 'Recipe' },
    description: { value: 'RecipeDescription' }
}

@UI.presentationVariant.requestAtLeast:  [ 'RecipePrimaryOutput', 'RecipeAlternativeNumber', 'RecipeVersionNumber' ]
@UI.presentationVariant.sortOrder.by: 'CreationDate'
@UI.presentationVariant.sortOrder.direction: #DESC

@AccessControl.privilegedAssociations: ['_RecipeTypeText', '_RecipeStatusText', '_RecipeAuthorizationGroupText', '_RecipePurposeText' ]

@Consumption.filter.businessDate.at: true

@EndUserText.label: 'Manage Recipes'
define view C_RecipeCurrentObjPg
  with parameters
    @Semantics.businessDate.at: true
    @Consumption.hidden: true
    P_KeyDate : sydate
  as select from I_RecipeForKeyDate( P_KeyDate: $parameters.P_KeyDate )
  association [0..1] to I_Plant                        as _PlantVH                      on $projection.Plant = _PlantVH.Plant
  association [0..1] to I_PlantStdVH                   as _PlantStdVH                   on $projection.Plant = _PlantStdVH.Plant
  association [0..*] to I_RecipeTypeText               as _RecipeTypeText               on $projection.RecipeType = _RecipeTypeText.RecipeType
  association [0..*] to I_RecipeStatusText             as _RecipeStatusText             on $projection.RecipeStatus = _RecipeStatusText.RecipeStatus
  association [0..*] to I_RecipeAuthorizationGroupText as _RecipeAuthorizationGroupText on $projection.RecipeAuthorizationGroup = _RecipeAuthorizationGroupText.RecipeAuthorizationGroup
  association [0..*] to I_RecipePurposeText            as _RecipePurposeText            on $projection.RecipePurpose = _RecipePurposeText.RecipePurpose

  association [1..1] to E_Recipe                       as _Extension                    on $projection.RecipeUUID = _Extension.RecipeUUID
{
      @UI.hidden: true
      @Consumption.filter.hidden: true
      @ObjectModel.text.association: null
  key RecipeUUID,

      @UI.hidden: true
      @Consumption.filter.hidden: true
      RecipeUniqueID,

      @UI.hidden: true
      @Consumption.filter.hidden: true
      RecipePrimaryOutputInternalID,

      @Consumption.filter.hidden: true
      @Consumption.semanticObject: 'Specification'
      @UI.lineItem: {position: 130, importance: #MEDIUM, exclude: true}
      @Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
      @ObjectModel.filter.enabled: false
      cast(_PrimaryOutputSpecification(P_KeyDate:$session.system_date).Specification as /plmb/rcp_prim_output_id) as RecipePrimaryOutput,

      @Consumption.filter.hidden: true
      @UI.lineItem: {position: 140, importance: #MEDIUM, exclude: true}
      @ObjectModel.filter.enabled: false
      RecipeAlternativeNumber,

      @Consumption.filter.hidden: true
      @UI.lineItem: {position: 150, importance: #MEDIUM, exclude: true}
      @ObjectModel.filter.enabled: false
      RecipeVersionNumber,

      @UI: {
        lineItem: [ {
          position: 20,
          importance: #HIGH
           } ],
        selectionField: {position: 20}
      }
      @Search: { defaultSearchElement: true, ranking: #HIGH }
      @Consumption.semanticObject: 'Recipe'
      Recipe,

      @UI: {
        lineItem: {position: 10},
        selectionField: {position: 10}
      }
      @Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
      _RecipeDescription[1:Language = $session.system_language].RecipeDescription                                 as RecipeDescription,

      @UI: {
        lineItem: {position: 50, importance: #HIGH},
        selectionField: {position: 50},
        textArrangement: #TEXT_FIRST
      }
      @ObjectModel.text.association: '_PlantStdVH'
      @Consumption.valueHelpDefinition: [
      { entity:  { name:    'I_PlantStdVH',
                   element: 'Plant' }
      }]
      @ObjectModel.text.control: #('ASSOCIATED_TEXT_UI_HIDDEN')
      cast( coalesce( _Plant.Plant, '' ) as /plmb/werks_d )                                                       as Plant,

      @UI: {
        lineItem: {position: 30, importance: #HIGH},
        selectionField: {position: 30},
        textArrangement: #TEXT_FIRST
      }
      @Consumption.valueHelpDefinition: [
      { entity:  { name:   'I_RecipeTypeValueHelp',
                  element: 'RecipeType' }
      }]
      @ObjectModel.text.association: '_RecipeTypeText'
      @ObjectModel.text.control: #('ASSOCIATED_TEXT_UI_HIDDEN')
      @Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
      RecipeType,

      @UI: {
        fieldGroup: [{qualifier:'AdditionalFilters', position:10, groupLabel: 'Additional Filters'}],
        lineItem: {position: 60, importance: #MEDIUM, exclude: true},
        textArrangement: #TEXT_FIRST
      }
      @ObjectModel.text.association: '_RecipePurposeText'
      @ObjectModel.text.control: #('ASSOCIATED_TEXT_UI_HIDDEN')
      @Consumption.valueHelpDefinition: [
      { entity:  { name:    'I_RecipePurposeStdVH',
                   element: 'RecipePurpose' }
      }]
      RecipePurpose,

      @UI: {
        lineItem: {position: 40, importance: #HIGH},
        selectionField: {position: 40},
        textArrangement: #TEXT_FIRST
      }
      @Search: { defaultSearchElement: true, ranking: #MEDIUM, fuzzinessThreshold: 0.8 }
      @ObjectModel.text.association: '_RecipeStatusText'
      @ObjectModel.text.control: #('ASSOCIATED_TEXT_UI_HIDDEN')
      @Consumption.valueHelpDefinition: [
      { entity:  { name:    'I_RecipeStatusStdVH',
                   element: 'RecipeStatus' }
      }]
      RecipeStatus,

      @UI.hidden: true
      @Consumption.filter.hidden: true
      RecipeStatusSchema,

      @UI.hidden: true
      @Consumption.filter.hidden: true
      RcpFmlaUUID,

      @UI.hidden: true
      @Consumption.filter.hidden: true
      RecipeProcessUUID,

      @UI.hidden: true
      @Consumption.filter.hidden: true
      RecipeIsDeleted,

      @UI.hidden: true
      @Consumption.filter.hidden: true
      RecipeIsArchived,

      @UI: {
        fieldGroup: [{qualifier:'AdditionalFilters', position:70}],
        lineItem: {position: 170, importance: #MEDIUM}
      }
      @Semantics.businessDate.from: false
      @Consumption.filter.selectionType: #INTERVAL
      RecipeValidityStartDate,

      @UI: {
        fieldGroup: [{qualifier:'AdditionalFilters', position:80}],
        lineItem: {position: 180, importance: #MEDIUM}
      }
      @Semantics.businessDate.to: false
      @Consumption.filter.selectionType: #INTERVAL
      RecipeValidityEndDate,

      @UI.hidden: true
      cast (
        case
        when RecipeValidityEndDate='00000000' then ' '
        else 'X'
        end as xfeld preserving type )                                                                            as RecipeHasValidityEndDate,

      @UI: {
        fieldGroup: [{qualifier:'AdditionalFilters', position:20}],
        lineItem: {position: 70, importance: #MEDIUM, exclude: true},
        textArrangement: #TEXT_FIRST
      }
      @Search: {defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
      @Consumption.valueHelpDefinition: [
      { entity:  { name:    'I_RecipeAuthznGrpStdVH',
                   element: 'RecipeAuthorizationGroup' }
      }]
      @ObjectModel.text.association: '_RecipeAuthorizationGroupText'
      @ObjectModel.text.control: #('ASSOCIATED_TEXT_UI_HIDDEN')
      RecipeAuthorizationGroup,

      @UI: {
        lineItem: {position: 100, importance: #MEDIUM, exclude: true},
        selectionField: {position: 60}
      }
      @Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
      @ObjectModel.text.element:  'CreatedByUserName'
      @EndUserText.label: 'Created By'
      @Consumption.valueHelpDefinition: [
      { entity:  { name:    'I_RecipeCreatedByVH',
                   element: 'RecipeCreatedByUser' }
      }]
      RecipeCreatedByUser,

      @UI.hidden: true
      @Consumption.filter.hidden: true
      @Search: {defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
      _CreatedByUser.UserDescription                                                                              as CreatedByUserName,

      @UI: {
        fieldGroup: [{qualifier:'AdditionalFilters', position:40}],
        lineItem: {position: 110, importance: #MEDIUM, exclude: true}
      }
      @Consumption.filter.selectionType: #INTERVAL
      cast( tstmp_to_dats( RecipeCreationDateTime,
                           abap_system_timezone( $session.client,'NULL' ),
                           $session.client,
                           'NULL' ) as /plmb/rcp_created_on )                                                     as CreationDate,

      @UI: {
        fieldGroup: [{qualifier:'AdditionalFilters', position:60}]
      }
      @Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
      @ObjectModel.text.element:  [ 'LastChangedByUserName' ]
      @EndUserText.label: 'Changed By'
      @Consumption.valueHelpDefinition: [
      { entity:  { name:    'I_RecipeChangedByVH',
                   element: 'RecipeLastChangedByUser' }
      }]
      RecipeLastChangedByUser,

      @UI.hidden: true
      @Consumption.filter.hidden: true
      @Search: {defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
      _LastChangedByUser.UserDescription                                                                          as LastChangedByUserName,

      @UI: {
        fieldGroup: [{qualifier:'AdditionalFilters', position:50}],
        lineItem: {position: 120, importance: #MEDIUM, exclude: true}
      }
      @Consumption.filter.selectionType: #INTERVAL
      @EndUserText.label: 'Changed On'
      cast( tstmp_to_dats( RecipeLastChangeDateTime,
                           abap_system_timezone( $session.client,'NULL' ),
                           $session.client,
                           'NULL' ) as /plmb/rcp_changed_on )                                                     as LastChangeDate,

      /* Associations */
      @UI.hidden: true
      @Consumption.hidden: true
      @Consumption.filter.hidden: true
      _PlantVH,
      @Consumption.hidden: true
      _RecipeTypeText,
      @Consumption.hidden: true
      _RecipeStatusText,
      @Consumption.hidden: true
      _RecipeAuthorizationGroupText,
      @Consumption.hidden: true
      _RecipePurposeText,
      @Consumption.hidden: true
      _PlantStdVH,

      _PrimaryOutputSpecification,
      _LogAccMObjectTypeActive,
      _LogAccMObjectUserAuthzn,
      _LogAccMObjSecureIDAssgmt

}
where
  RecipeIsDeleted <> 'X'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_RECIPEASSGDPLANT",
"I_RECIPEFORKEYDATE",
"I_RECIPETEXT",
"I_SPECIFICATIONFORKEYDATE",
"I_USER"
],
"ASSOCIATED":
[
"E_RECIPE",
"I_LOGACCMOBJECTTYPEACTIVE",
"I_LOGACCMOBJECTUSERAUTHZN",
"I_LOGACCMOBJSECUREIDASSGMT",
"I_PLANT",
"I_PLANTSTDVH",
"I_RECIPEAUTHORIZATIONGROUPTEXT",
"I_RECIPEPURPOSETEXT",
"I_RECIPESTATUSTEXT",
"I_RECIPETYPETEXT",
"I_SPECIFICATIONFORKEYDATE"
],
"BASE":
[
"I_RECIPEFORKEYDATE"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/