I_CustomizingRequests

DDL: I_CUSTOMIZINGREQUESTS SQL: ICUST_REQUEST Type: view

Customizing Requests

I_CustomizingRequests is a CDS View that provides data about "Customizing Requests" in SAP S/4HANA. It reads from 6 data sources and exposes 31 fields with key field TransportRequestID. It has 11 associations to related views.

Data Sources (6)

SourceAliasJoin Type
I_RequestsAttributes ATORequestAttribute left_outer
I_RequestsAttributes CBCStagingCheck left_outer
I_RequestsAttributes ControlledBySBCL left_outer
I_RequestsAttributes I_RequestsAttributes left_outer
tadir ObjectDirectory inner
I_RequestsAttributes SoftwareComponent left_outer

Associations (11)

CardinalityTargetAliasCondition
[0..1] I_RequestType _RequestTypeText $projection.TransportRequestType = _RequestTypeText.TransportRequestType
[0..1] I_NewRequestStaus _RequestStatusNew $projection.TransportRequestID = _RequestStatusNew.TransportRequestID
[0..1] I_User _User $projection.TransportRequestOwner = _User.UserID
[0..1] I_RequestsProject _RequestsProject $projection.TransportRequestID = _RequestsProject.TransportRequestID
[0..1] I_CTOHideFields _HideFields _HideFields.BCToolsFeatureID = 'BCFG_TRANSPORT_API'
[0..1] I_TransportCategory _RequestCategory $projection.TransportRequestAttributeValue = _RequestCategory.DomainValue
[0..1] ATOV_CMN_TRANSPORT_TYPE_DESCR _atocategory ATORequestAttribute.TransportRequestAttributeValue = _atocategory.code
[0..*] I_CustomizingTasks _Tasks
[0..*] I_CustomizingRequestObjects _Objects
[0..*] I_CustomizingRequestAttributes _Attributes
[0..*] I_CustomizingRequestDocu _Documentation

Annotations (6)

NameValueLevelField
AbapCatalog.sqlViewName ICUST_REQUEST view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #CHECK view
EndUserText.label Customizing Requests view
Search.searchable true view

Fields (31)

KeyFieldSource TableSource FieldDescription
KEY TransportRequestID I_RecordedContentRequests TransportRequestID
TransportRequestSourceClient I_RecordedContentRequests TransportRequestSourceClient
TransportRequestType I_RecordedContentRequests TransportRequestType
TransportRequestTarget I_RecordedContentRequests TransportRequestTarget
TransportRequestCategory I_RecordedContentRequests TransportRequestCategory
TransportRequestOwner I_RecordedContentRequests TransportRequestOwner
UserDescriptionendasUserDescription
TransportRequestChangedOn I_RecordedContentRequests TransportRequestChangedOn
TransportRequestChangedAt I_RecordedContentRequests TransportRequestChangedAt
TransportRequestDesc I_RecordedContentRequests TransportRequestDesc
TransportRequestStatusOld I_RecordedContentRequests TransportRequestStatus
TransportRequestStatus _RequestStatusNew TransportRequestStatus
LogHandle
EnableLogs
TransportRequestTypeText _RequestTypeText TransportRequestTypeText
TransportRequestStatusText
ProjectID _RequestsProject ProjectID
ProjectDescription _RequestsProject ProjectDescription
IsFieldHidden
IsSoftwareComponentHidden
TransportRequestAttributeValue I_RequestsAttributes TransportRequestAttributeValue
TransportRequestCategoryText _RequestCategory TransportRequestCategoryText
ATOTransportType _atocategory description
ATOTransportTypeCode _atocategory code
CreateTransportRequestCopy
CBCStagingID I_RequestsAttributes TransportRequestAttributeValue
SoftwareComponent
_Tasks _Tasks
_Objects _Objects
_Documentation _Documentation
_Attributes _Attributes
@AbapCatalog.sqlViewName: 'ICUST_REQUEST'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Customizing Requests'
@Search.searchable: true
define root view I_CustomizingRequests
  as select distinct from I_RecordedContentRequests
    inner join            tadir                as ObjectDirectory     on  ObjectDirectory.pgmid                      = 'HEAD'
                                                                      and ObjectDirectory.object                     = 'SYST'
                                                                      and ObjectDirectory.obj_name                   = ' '
                                                                      and I_RecordedContentRequests.ABAPSourceSystem = ObjectDirectory.srcsystem
    left outer join       I_RequestsAttributes                        on  I_RecordedContentRequests.TransportRequestID   = I_RequestsAttributes.TransportRequestID
                                                                      and I_RequestsAttributes.TransportRequestAttribute = 'SAP_CUS_TRANSPORT_CATEGORY'
    left outer join       I_RequestsAttributes as ATORequestAttribute on  I_RecordedContentRequests.TransportRequestID  = ATORequestAttribute.TransportRequestID
                                                                      and ATORequestAttribute.TransportRequestAttribute = 'SAP_ATO_TRANSPORT_TYPE'
    left outer join       I_RequestsAttributes as ControlledBySBCL    on  I_RecordedContentRequests.TransportRequestID = ControlledBySBCL.TransportRequestID
                                                                      and ControlledBySBCL.TransportRequestAttribute   = 'SAP_SBCL_CONTROLLED'
    left outer join       I_RequestsAttributes as SoftwareComponent   on  I_RecordedContentRequests.TransportRequestID = SoftwareComponent.TransportRequestID
                                                                      and SoftwareComponent.TransportRequestAttribute  = 'SAP_CUS_UNCONVERTED_TARGET'
    left outer join       I_RequestsAttributes as CBCStagingCheck     on  I_RecordedContentRequests.TransportRequestID = CBCStagingCheck.TransportRequestID
                                                                      and CBCStagingCheck.TransportRequestAttribute    = 'CBC_STAGING_ID'
  association [0..1] to I_RequestType                  as _RequestTypeText  on $projection.TransportRequestType = _RequestTypeText.TransportRequestType
  association [0..1] to I_NewRequestStaus              as _RequestStatusNew on $projection.TransportRequestID = _RequestStatusNew.TransportRequestID
  association [0..1] to I_User                         as _User             on $projection.TransportRequestOwner = _User.UserID
  association [0..1] to I_RequestsProject              as _RequestsProject  on $projection.TransportRequestID = _RequestsProject.TransportRequestID
  association [0..1] to I_CTOHideFields                as _HideFields       on _HideFields.BCToolsFeatureID = 'BCFG_TRANSPORT_API' // IF_BCTOOLS_FEATURE_CONTROL=>BCFG_TRANSPORT_API

  association [0..1] to I_TransportCategory            as _RequestCategory  on $projection.TransportRequestAttributeValue = _RequestCategory.DomainValue
  association [0..1] to ATOV_CMN_TRANSPORT_TYPE_DESCR  as _atocategory      on ATORequestAttribute.TransportRequestAttributeValue = _atocategory.code


  composition [0..*] of I_CustomizingTasks             as _Tasks
  composition [0..*] of I_CustomizingRequestObjects    as _Objects
  composition [0..*] of I_CustomizingRequestAttributes as _Attributes
  composition [0..*] of I_CustomizingRequestDocu       as _Documentation
{
      @Search.defaultSearchElement: true
  key I_RecordedContentRequests.TransportRequestID,
      I_RecordedContentRequests.TransportRequestSourceClient,
      I_RecordedContentRequests.TransportRequestType,
      I_RecordedContentRequests.TransportRequestTarget,
      I_RecordedContentRequests.TransportRequestCategory,
      I_RecordedContentRequests.TransportRequestOwner,
      case when _User.UserDescription is null then I_RecordedContentRequests.TransportRequestOwner
           when _User.UserDescription = ''    then I_RecordedContentRequests.TransportRequestOwner
      else _User.UserDescription
      end                                                                          as UserDescription,
      I_RecordedContentRequests.TransportRequestChangedOn,
      I_RecordedContentRequests.TransportRequestChangedAt,
      I_RecordedContentRequests.TransportRequestDesc,
      I_RecordedContentRequests.TransportRequestStatus                             as TransportRequestStatusOld,
      _RequestStatusNew.TransportRequestStatus,
      cast( _RequestStatusNew.LogHandle as abap.char(22) )                         as LogHandle,
      cast( _RequestStatusNew.EnableShowLogs as boolean )                          as EnableLogs,
      _RequestTypeText.TransportRequestTypeText,
      _RequestStatusNew._RequestStatusText.TransportRequestStatusText,
      case _RequestStatusNew.TransportRequestStatus
      when 'R' then 3
      when 'D' then 0
      when 'O' then 2
      when 'C' then 2
      when 'U' then 2
      when 'E' then 1
      when 'S' then 3
      when 'T' then 1
      else 0 end                                                                   as Criticality,
      _RequestsProject.ProjectID,
      _RequestsProject.ProjectDescription,
      cast( _HideFields.IsFieldHidden as boolean)                                  as IsFieldHidden,
      cast( _HideFields.IsSoftwareComponentHidden as  boolean )                    as IsSoftwareComponentHidden,
      I_RequestsAttributes.TransportRequestAttributeValue,
      case when I_RequestsAttributes.TransportRequestAttributeValue is null then ''
           when I_RequestsAttributes.TransportRequestAttributeValue = ''    then ''
           else 'X' end                                                            as IsSapCusTranspCategoryFilled,
      _RequestCategory.TransportRequestCategoryText,
      _atocategory.description                                                     as ATOTransportType,
      _atocategory.code                                                            as ATOTransportTypeCode,
      case when ControlledBySBCL.TransportRequestAttributeValue is null then ''
           when ControlledBySBCL.TransportRequestAttributeValue = '' then ''
           else 'X' end                                                            as IsControlledBySBCL,
      cast('' as trkorr)                                                           as CreateTransportRequestCopy,
      cast( case when CBCStagingCheck.TransportRequestAttribute = 'CBC_STAGING_ID' then 'X'
           else '' end as boolean )                                                as EnableCBCNavigation,
      CBCStagingCheck.TransportRequestAttributeValue                               as CBCStagingID,
      // Use in Access Control

      case when I_RecordedContentRequests.TransportRequestType = #TRFUNCTION.'K'
           then 'DTRA' else 'CUST' end                                             as TransportRequestTypeAuthValue,
      cast ( SoftwareComponent.TransportRequestAttributeValue as abap.char( 18 ) ) as SoftwareComponent,
      _Tasks,
      _Objects,
      _Documentation,
      _Attributes
}
where
  I_RecordedContentRequests.TransportRequestSourceClient = $session.client
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"ATOV_CMN_TRANSPORT_TYPE_DESCR",
"I_CTOHIDEFIELDS",
"I_NEWREQUESTSTAUS",
"I_RECORDEDCONTENTREQUESTS",
"I_REQUESTSATTRIBUTES",
"I_REQUESTSPROJECT",
"I_REQUESTSTATUS",
"I_REQUESTTYPE",
"I_TRANSPORTCATEGORY",
"I_USER",
"TADIR"
],
"ASSOCIATED":
[
"ATOV_CMN_TRANSPORT_TYPE_DESCR",
"I_CTOHIDEFIELDS",
"I_CUSTOMIZINGREQUESTATTRIBUTES",
"I_CUSTOMIZINGREQUESTDOCU",
"I_CUSTOMIZINGREQUESTOBJECTS",
"I_CUSTOMIZINGTASKS",
"I_NEWREQUESTSTAUS",
"I_REQUESTSPROJECT",
"I_REQUESTTYPE",
"I_TRANSPORTCATEGORY",
"I_USER"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/