I_APIsWithCloudDevSuccessor

DDL: I_APISWITHCLOUDDEVSUCCESSOR Type: view_entity Package: S_ARS_PUBLIC

APIs with Cloud Development Successors

I_APIsWithCloudDevSuccessor is a CDS View that provides data about "APIs with Cloud Development Successors" in SAP S/4HANA. It reads from 4 data sources (ARS_RUNTIME_API_STATE, ars_w_api_state, ars_w_api_state, ARS_API_SUCCESSORS_FOR_C1_SCP) and exposes 23 fields with key fields PredecessorObjectType, PredecessorObjectName, PredecessorObjectDirectoryType, PredecessorObjectDirectoryName, SuccessorObjectType. It has 1 association to related views. Part of development package S_ARS_PUBLIC.

Data Sources (4)

SourceAliasJoin Type
ARS_RUNTIME_API_STATE cloud_dev_successor inner
ars_w_api_state predecessor from
ars_w_api_state predecessor union
ARS_API_SUCCESSORS_FOR_C1_SCP successor inner

Associations (1)

CardinalityTargetAliasCondition
[0..1] v_ars_release_state _text _text.state = predecessor.release_state

Annotations (3)

NameValueLevelField
AccessControl.authorizationCheck #NOT_ALLOWED view
Metadata.ignorePropagatedAnnotations true view
EndUserText.label APIs with Cloud Development Successors view

Fields (23)

KeyFieldSource TableSource FieldDescription
KEY PredecessorObjectType ars_w_api_state sub_object_type
KEY PredecessorObjectName ars_w_api_state sub_object_name
KEY PredecessorObjectDirectoryType ars_w_api_state object_type
KEY PredecessorObjectDirectoryName ars_w_api_state object_name
KEY SuccessorObjectType ARS_API_SUCCESSORS_FOR_C1_SCP successor_object_type
KEY SuccessorObjectName ARS_API_SUCCESSORS_FOR_C1_SCP successor_object_key
KEY SuccessorObjectDirectoryType ARS_API_SUCCESSORS_FOR_C1_SCP successor_tadir_object
KEY SuccessorObjectDirectoryName ARS_API_SUCCESSORS_FOR_C1_SCP successor_tadir_obj_name
SuccessorConceptName ars_w_api_state successor_concept_name
SuccessorCategory
PredecessorReleaseState ars_w_api_state release_state
sub_object_typeasPredecessorObjectType
KEY PredecessorObjectName ars_w_api_state sub_object_name
KEY PredecessorObjectDirectoryType ars_w_api_state object_type
KEY PredecessorObjectDirectoryName ars_w_api_state object_name
KEY SuccessorObjectType
KEY SuccessorObjectName
KEY SuccessorObjectDirectoryType
KEY SuccessorObjectDirectoryName
SuccessorConceptName ars_w_api_state successor_concept_name
SuccessorCategory
PredecessorReleaseState ars_w_api_state release_state
PredecessorReleaseStateDescr _text description
@AccessControl.authorizationCheck: #NOT_ALLOWED
@Metadata.ignorePropagatedAnnotations: true
@EndUserText.label: 'APIs with Cloud Development Successors'
define view entity I_APIsWithCloudDevSuccessor
  // Option 1: Predecessor has one or more successors for cloud development

  as select from ars_w_api_state               as predecessor
    inner join   ARS_API_SUCCESSORS_FOR_C1_SCP as successor           on  predecessor.object_type     = successor.tadir_object
                                                                      and predecessor.object_name     = successor.tadir_obj_name
                                                                      and predecessor.sub_object_type = successor.object_type
                                                                      and predecessor.sub_object_name = successor.object_key
    inner join   ARS_RUNTIME_API_STATE         as cloud_dev_successor on  cloud_dev_successor.object_type               = successor.successor_tadir_object
                                                                      and cloud_dev_successor.object_name               = successor.successor_tadir_obj_name
                                                                      and cloud_dev_successor.sub_object_type           = successor.successor_object_type
                                                                      and cloud_dev_successor.sub_object_name           = successor.successor_object_key
                                                                      and cloud_dev_successor.compatibility_contract    = 'C1' // System-internal use

                                                                      and cloud_dev_successor.use_in_sap_cloud_platform = 'X'  // Use in cloud development

                                                                      and cloud_dev_successor.release_state             = 'RELEASED'
  association [0..1] to v_ars_release_state as _text on _text.state = predecessor.release_state
{
  key predecessor.sub_object_type                         as PredecessorObjectType,
  key predecessor.sub_object_name                         as PredecessorObjectName,
  key predecessor.object_type                             as PredecessorObjectDirectoryType,
  key predecessor.object_name                             as PredecessorObjectDirectoryName,
  key successor.successor_object_type                     as SuccessorObjectType,
  key successor.successor_object_key                      as SuccessorObjectName,
  key successor.successor_tadir_object                    as SuccessorObjectDirectoryType,
  key successor.successor_tadir_obj_name                  as SuccessorObjectDirectoryName,
      predecessor.successor_concept_name                  as SuccessorConceptName,
      cast('O' as ars_successor_category preserving type) as SuccessorCategory, // Object

      predecessor.release_state                           as PredecessorReleaseState,
      _text.description                                   as PredecessorReleaseStateDescr
}
where
       predecessor.compatibility_contract    = 'C1' // System-internal use

  and  predecessor.use_in_sap_cloud_platform = 'X' // Use in cloud development

  and(
       predecessor.successor_classification  = '1' // One object

    or predecessor.successor_classification  = 'N' // Multiple objects

  )

// Option 2: Predecessor was replaced by a concept

union select from ars_w_api_state as predecessor
association [0..1] to v_ars_release_state as _text on _text.state = predecessor.release_state
{
  key predecessor.sub_object_type                         as PredecessorObjectType,
  key predecessor.sub_object_name                         as PredecessorObjectName,
  key predecessor.object_type                             as PredecessorObjectDirectoryType,
  key predecessor.object_name                             as PredecessorObjectDirectoryName,
  key ''                                                  as SuccessorObjectType,
  key ''                                                  as SuccessorObjectName,
  key ''                                                  as SuccessorObjectDirectoryType,
  key ''                                                  as SuccessorObjectDirectoryName,
      predecessor.successor_concept_name                  as SuccessorConceptName,
      cast('C' as ars_successor_category preserving type) as SuccessorCategory, // Concept

      predecessor.release_state                           as PredecessorReleaseState,
      _text.description                                   as PredecessorReleaseStateDescr
}
where
      predecessor.compatibility_contract    = 'C1' // System-internal use

  and predecessor.use_in_sap_cloud_platform = 'X' // Use in cloud development

  and predecessor.successor_classification  = 'X' // Concept