ARS_APIS_RELEASED_FOR_C1

CDS View

APIs Released for Use in Key User Apps

ARS_APIS_RELEASED_FOR_C1 is a CDS View in S/4HANA. APIs Released for Use in Key User Apps. It contains 11 fields. 23 CDS views read from this table.

CDS Views using this table (23)

ViewTypeJoinVDMDescription
ANA_AQD_LOOKUP_ENTITIES view left_outer CDS view to get list of look up entities
ANA_AQD_RELEASED_QUERIES view left_outer List of released queries
APS_ODA_CSCN_IBS_SRV_MAPPING view_entity left_outer Mapping between IWSV-IWSG-IBS-CSCN
APS_ODA_CSCN_OBS_SRV_MAPPING view_entity left_outer Mapping between SRV-IBS-CSCN
APS_ODA_SUCCESSOR_BY_IBS view_entity left_outer Successor by SRV-IBS-CSCN
APS_ODA_SUCCESSOR_BY_OBS view_entity left_outer Successor by SRV-OBS-CSCN
APS_V_GKE_CDS_C1_VH view inner Value help for C1 views
AQS_QUERIES_LIST view_entity left_outer List of custom and released queries
ARS_APIS_C1_OR_SAME_GROUP view from APIs Released for C1 or Same Group
ARS_APIS_RELEASED_C1_OR_GROUP view from APIs Released for C1 Contract or Group
ARS_APIS_RELEASED_C1_OR_GROUPS view from APIs Released for C1 Contract or Groups
ars_demo_cdsviews_c1 view inner Demo: CDS Views Released for C1
ars_demo_classes_c1 view inner Demo: Classes released for C1
I_CCV_PRIVILEGED_CDS view_entity from CCV Rework - get privileged CDS
I_PCF_ReleasedPCFNode view inner Predefined Fields: Released PCF Nodes
I_SWF_SWD_APIS_RELEASED_FOR_C1 view_entity from CDS Based Customer Attributes: C1 Released APIs
I_SWF_SWD_APIS_RELEASED_FOR_C1 view_entity left_outer CDS Based Customer Attributes: C1 Released APIs
P_CFD_DE_C1_REL_DATA_ELEMENT view_entity from C1 released data elements
R_Sitn2ObjStructureCDSVH view_entity from COMPOSITE Situation Object Structure
R_Sitn2ObjStructureInMemoryVH view_entity from COMPOSITE Situation Object InMemory Structures
SMTGTemplateCounter view left_outer Counter for the available Templates
ViewProvWhiteListedCds view inner View Provision Whitelist
ViewProvWhiteListedCdsView view inner View Provision Whitelist 1711

Fields (11)

KeyField CDS FieldsUsed in Views
KEY object_key object_key 2
KEY tadir_obj_name DataElementName,tadir_obj_name 4
KEY tadir_object tadir_object 2
object_type object_type 1
state state 2
state_description state_description 1
successor_classification successor_classification 1
successor_object_key successor_object_key 1
successor_object_type successor_object_type 1
successor_tadir_obj_name successor_tadir_obj_name 1
successor_tadir_object successor_tadir_object 1
//*************************************************

// The view returns objects which have been released as API for the C1 contract and use in key user apps.

//

// Element Definition:

//   - TADIR_OBJECT: Object directory type of the released object as defined in table TADIR (example: DDLS for a Data Definition)

//   - TADIR_OBJ_NAME: Object directory name of the released object as defined in table TADIR (example: I_CURRENCY)

//   - OBJECT_TYPE: Sub-object type of the released object (example: CDS_STOB for a CDS Entity)

//     These sub-object types are defined in object type group RELEASABLE_OBJECT_TYPES (transaction SOTG)

//   - OBJECT_KEY: Sub-object name of the releasd object (example: I_Currency)

//   - STATE: Release state, with the values

//       'RELEASED'   Released   (available as IF_ARS_API_CONSTANTS=>CS_STATE-RELEASED)

//       'DEPRECATED' Deprecated (available as IF_ARS_API_CONSTANTS=>CS_STATE-DEPRECATED)

//     If the state is RELEASED, then

//       - consumption of the object is allowed

//     If the state is DEPRECATED, then

//       - new consumptions of the object are forbidden

//       - existing consumptions are syntactically still correct

//       - and the object behaves as before

//   - STATE_DESCRIPTION: State description

//   - SUCCESSOR_CLASSIFICATION: Successor classification for deprecated objects, with the values

//       '0'  None     (available as IF_ARS_API_CONSTANTS=>CS_SUCCESSOR_CLASSIFICATION-NONE)

//       '1'  One      (available as IF_ARS_API_CONSTANTS=>CS_SUCCESSOR_CLASSIFICATION-ONE)

//       'N'  Multiple (available as IF_ARS_API_CONSTANTS=>CS_SUCCESSOR_CLASSIFICATION-MULTIPLE)

//       'X'  Concept  (available as IF_ARS_API_CONSTANTS=>CS_SUCCESSOR_CLASSIFICATION-CONCEPT)

//   The following fields are filled only if a deprecated object has exactly one successor (i.e. SUCCESSOR_CLASSIFICATION = '1'):

//   - SUCCESSOR_TADIR_OBJECT: Type of main object of the successor object as defined in the TADIR table

//   - SUCCESSOR_TADIR_OBJECT_NAME: Key of the successor object. Together with SUCCESSOR_TADIR_OBJECT, identifies a successor object uniquely

//   - SUCCESSOR_OBJECT_TYPE: Type of the subobject of the successor object

//   - SUCCESSOR_OBJECT_KEY: Key of the subobject of the successor object; together with SUCCESSOR_OBJECT_TYPE, identifies a successor subobject uniquely

//   - SUCCESSOR_CONCEPT_NAME: Name of the concept that replaces the current API; the field is filled only if a concept name is used as successor

//   - DECOMMISSIONING_DATE: For objects with release state *DEPRECATED*, this value defines the earliest point in time when a planned release state change to *DECOMMISSIONED*

//     will take effect in customer systems. The value is given as the first day of a month of a year. If no date is given, decommissiong is not planned for the time being.

//   - _SUCCESSOR: Association to retrieve the successor objects of an API in state DEPRECATED

//   - _API_CATALOG_ASSIGNMENT: Association to retrieve the API catalogs to which an API is assigned

//

// Examples:

//   - DDLS ARS_DEMO_CDSVIEWS_C1

//   - DDLS ARS_DEMO_CLASSES_C1

//

// !!! Any changes to this view must to be reviewed by CDS governance !!!

//

//*************************************************

@AbapCatalog.sqlViewName: 'ARS_API_C1'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #NOT_ALLOWED
@EndUserText.label: 'APIs Released for Use in Key User Apps'
define view ARS_APIS_RELEASED_FOR_C1
  as select from ARS_RUNTIME_API_STATE as api
  association [0..1] to ARS_RELEASE_STATE_DESCRIPTIONS as _text                   on  _text.state = api.release_state
  association [0..*] to ARS_API_SUCCESSORS_FOR_C1      as _successor              on  _successor.tadir_object   = $projection.tadir_object
                                                                                  and _successor.tadir_obj_name = $projection.tadir_obj_name
                                                                                  and _successor.object_type    = $projection.object_type
                                                                                  and _successor.object_key     = $projection.object_key
  association [0..*] to ARS_API_CATALOG_ASSIGNMENT     as _api_catalog_assignment on  _api_catalog_assignment.tadir_object   = $projection.tadir_object
                                                                                  and _api_catalog_assignment.tadir_obj_name = $projection.tadir_obj_name
                                                                                  and _api_catalog_assignment.object_type    = $projection.object_type
                                                                                  and _api_catalog_assignment.object_key     = $projection.object_key
{
  api.object_type               as tadir_object,
  api.object_name               as tadir_obj_name,
  api.sub_object_type           as object_type,
  api.sub_object_name           as object_key,
  api.release_state             as state,                      //IF_ARS_API_CONSTANTS=>CS_STATE

  _text.description             as state_description,
  api.successor_classification  as successor_classification,   //IF_ARS_API_CONSTANTS=>CS_SUCCESSOR_CLASSIFICATION

  api.successor_object_type     as successor_tadir_object,
  api.successor_object_name     as successor_tadir_obj_name,
  api.successor_sub_object_type as successor_object_type,
  api.successor_sub_object_name as successor_object_key,
  api.successor_concept_name    as successor_concept_name,
  api.decommissioning_date      as decommissioning_date,
  _successor,
  _api_catalog_assignment
}
where
       api.compatibility_contract = #ARS_RELEASE_CONTRACT.'C1' //IF_ARS_API_CONSTANTS=>CS_CONTRACT-C1

  and  api.use_in_key_user_apps   = #ABAP_BOOLEAN.'X'
  and(
       api.release_state          = 'RELEASED'                 //IF_ARS_API_CONSTANTS=>CS_STATE-RELEASED

    or api.release_state          = 'DEPRECATED'               //IF_ARS_API_CONSTANTS=>CS_STATE-DEPRECATED

  )