P_FunctionalLocationStatus

DDL: P_FUNCTIONALLOCATIONSTATUS SQL: PFUNCNLLOCSTATUS Type: view COMPOSITE

P_FunctionalLocationStatus is a Composite CDS View in SAP S/4HANA. It reads from 2 data sources (I_FunctionalLocation, I_StatusObjectActiveStatus) and exposes 2 fields with key field FunctionalLocation.

Data Sources (2)

SourceAliasJoin Type
I_FunctionalLocation FunctionalLocation from
I_StatusObjectActiveStatus jest inner

Annotations (9)

NameValueLevelField
AbapCatalog.sqlViewName PFUNCNLLOCSTATUS view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #NOT_REQUIRED view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.serviceQuality #B view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
VDM.viewType #COMPOSITE view
VDM.private true view

Fields (2)

KeyFieldSource TableSource FieldDescription
KEY FunctionalLocation I_FunctionalLocation FunctionalLocation
MaintObjectInternalID I_FunctionalLocation MaintObjectInternalID
@AbapCatalog.sqlViewName: 'PFUNCNLLOCSTATUS'
@AbapCatalog.compiler.compareFilter: true
//  @AbapCatalog.preserveKey: true   

@AccessControl.authorizationCheck: #NOT_REQUIRED
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType: {serviceQuality: #B, sizeCategory: #L, dataClass: #TRANSACTIONAL}
@VDM.viewType: #COMPOSITE   // technically a BASIC but due to view layering a COMPOSITE)

@VDM.private: true

define view P_FunctionalLocationStatus 
  as select from I_FunctionalLocation as FunctionalLocation
    inner join I_StatusObjectActiveStatus as jest on jest.StatusObject = FunctionalLocation.MaintObjectInternalID
  
{
     key FunctionalLocation.FunctionalLocation,
      FunctionalLocation.MaintObjectInternalID,

      case jest.StatusCode
          when 'I0013' then 'X'
          else ''
        end as FuncnlLocIsDeleted,
      case jest.StatusCode
        when 'I0076' then 'X'
        else ''
      end   as FuncnlLocIsMarkedForDeletion,
      
//      @API.element.releaseState: #DEPRECATED

//      @API.element.successor: 'FunctionalLocationIsCreated'

      case jest.StatusCode
        when 'I0098' then 'X'
        else ''
      end   as FunctionalLocationIsActive, 
      case jest.StatusCode
        when 'I0098' then 'X'
        else ''
      end   as FunctionalLocationIsCreated,  //Added : 2308 

          
      case jest.StatusCode
        when 'I0320' then 'X'
        else ''
      end   as FuncnlLocIsDeactivated
      
      
}
where
  (
       jest.StatusCode   =    'I0013'
    or jest.StatusCode   =    'I0076'
    or jest.StatusCode   =    'I0098'
    or jest.StatusCode   =    'I0320'
  )
  and  jest.StatusObject like 'IF%';