C_Draftlifecycleadmindata

DDL: C_DRAFTLIFECYCLEADMINDATA SQL: CSDRAFT_LC_ADMIN Type: view CONSUMPTION

Draft Lifecycle Administrative Data

C_Draftlifecycleadmindata is a Consumption CDS View that provides data about "Draft Lifecycle Administrative Data" in SAP S/4HANA. It reads from 1 data source (C_DraftAdministrativeData) and exposes 10 fields with key field DraftEntityType. It has 1 association to related views.

Data Sources (1)

SourceAliasJoin Type
C_DraftAdministrativeData _Sdraft_Count left_outer

Associations (1)

CardinalityTargetAliasCondition
[0..*] C_DraftAdministrativeData _Sdraft_Entry _Sdraft_Entry.DraftEntityType = $projection.DraftEntityType

Annotations (12)

NameValueLevelField
AbapCatalog.sqlViewName CSDRAFT_LC_ADMIN view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
EndUserText.label Draft Lifecycle Administrative Data view
VDM.viewType #CONSUMPTION view
ObjectModel.compositionRoot true view
Search.searchable true view
UI.headerInfo.typeName Draft Administrative Data view
UI.headerInfo.typeNamePlural Draft Administration view
UI.headerInfo.title.type #STANDARD view
UI.headerInfo.title.label Draft Administration view
UI.headerInfo.title.value DraftEntityType view

Fields (10)

KeyFieldSource TableSource FieldDescription
KEY DraftEntityType Document DraftEntityType
DraftTypeDescription Document DraftTypeDescription
EnqueueExpiryNotification Document EnqueueExpiryNotification Enqueue Expiry Notification (min)
RelativeEnqueueExpiry Document RelativeEnqueueExpiry Relative Enqueue Expiry (min)
ProcessingExpiryNotification Document ProcessingExpiryNotification Processing Expiry Notification (min)
RelativeProcessingExpiry Document RelativeProcessingExpiry Relative Processing Expiry (min)
NotKeptNotification Document NotKeptNotification Not Kept Expiry Notification (min)
NotKeptExpiry Document NotKeptExpiry Not Kept Expiry (min)
NumberOfDrafts
_Sdraft_Entry _Sdraft_Entry
@AbapCatalog.sqlViewName: 'CSDRAFT_LC_ADMIN'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Draft Lifecycle Administrative Data'


@VDM.viewType: #CONSUMPTION
@ObjectModel.compositionRoot: true

@Search.searchable: true

@UI.headerInfo: {
    typeName: 'Draft Administrative Data',
    typeNamePlural: 'Draft Administration',
    title: {
      type: #STANDARD,
      label: 'Draft Administration',
      value: 'DraftEntityType'
    }
}

@UI.presentationVariant.sortOrder: [ { by: 'NumberOfDrafts',  direction: #DESC} ]
                                                                      
                                                                       

define view C_Draftlifecycleadmindata
  as select distinct from I_Draftlifecycleconfiguration as Document

    left outer join       C_DraftAdministrativeData     as _Sdraft_Count on _Sdraft_Count.DraftEntityType = Document.DraftEntityType
  association [0..*] to C_DraftAdministrativeData as _Sdraft_Entry on _Sdraft_Entry.DraftEntityType = $projection.DraftEntityType

{
      @Search: {
             defaultSearchElement: true,
             fuzzinessThreshold: 0.8,
             ranking: #MEDIUM
      }

      @UI.identification: {
          position: 0,
          label: 'Business Object / Draft Type'
        }

      @UI.lineItem: [{
            position: 0,
            importance: #HIGH,
            label: 'Business Object / Draft Type'
        }
      //        , {

      //            position: 1,

      //            label: 'Analyze Log Entries',

      //            type: #FOR_INTENT_BASED_NAVIGATION,

      //            semanticObjectAction: 'showList'        -- Action

      //      }

      ]
      // @Consumption.semanticObject: 'ApplicationLog' -- Semantic Object


      @UI.facet: [{
        id: 'GeneralInfo',
        purpose: #STANDARD,
        type: #COLLECTION,
        label: 'General Information',
        position: 10
      },
      { id: 'GeneralData',
      label: 'General Information',
      parentId: 'GeneralInfo',
      type: #IDENTIFICATION_REFERENCE,
      position: 10
      },
      {id: 'Expiry',
      label: 'Expiry Configuration',
      parentId: 'GeneralInfo',
      type: #FIELDGROUP_REFERENCE,
      targetQualifier: 'Expiry',
      position: 20

      },
      { id: 'toSdraftEntry',
        purpose: #STANDARD,
        type: #LINEITEM_REFERENCE,
        targetElement: '_Sdraft_Entry',
        label: 'Existing Drafts',
        position: 20 }
      ]

  key Document.DraftEntityType,

      /* @Search: {
              defaultSearchElement: true,
              fuzzinessThreshold: 0.8,
              ranking: #MEDIUM
              }*/

      @UI.identification: {
            position: 5,
            label: 'Description'
          }
      @UI.lineItem: {
          position: 5,
          importance: #HIGH,
          label: 'Description'
      }
      Document.DraftTypeDescription,

      @UI.fieldGroup: [ { qualifier: 'Expiry',
                          position: 10,
                          label: 'Enqueue Expiry Notification (min)'
                        } ]
      @UI.lineItem: {
          position: 10,
          importance: #MEDIUM,
          label: 'Enqueue Expiry Notification (min)',
          exclude: true
      }
      @EndUserText.label: 'Enqueue Expiry Notification (min)'
      Document.EnqueueExpiryNotification,

      @UI.fieldGroup: [ { qualifier: 'Expiry',
                         position: 10,
                         label: 'Relative Enqueue Expiry (min)'
                       } ]
      @UI.lineItem: {
          position: 20,
          importance: #MEDIUM,
          label: 'Relative Enqueue Expiry (min)',
          exclude: true
      }
      @EndUserText.label: 'Relative Enqueue Expiry (min)'
      Document.RelativeEnqueueExpiry,

      @UI.fieldGroup: [ { qualifier: 'Expiry',
                         position: 10,
                         label: 'Processing Expiry Notification (min)'
                       } ]
      @UI.lineItem: {
          position: 30,
          importance: #MEDIUM,
          label: 'Processing Expiry Notification (min)',
          exclude: true
      }
      @EndUserText.label: 'Processing Expiry Notification (min)'
      Document.ProcessingExpiryNotification,

      @UI.fieldGroup: [ { qualifier: 'Expiry',
                         position: 10
                       } ]
      @UI.lineItem: {
          position: 40,
          importance: #MEDIUM,
          label: 'Relative Processing Expiry (min)',
          exclude: true
      }
      @EndUserText.label: 'Relative Processing Expiry (min)'
      Document.RelativeProcessingExpiry,

      //      @UI.fieldGroup: [ { qualifier: 'Expiry',

      //                         position: 10,

      //                         label: 'Not Kept Expiry Notification (min)'

      //                       } ]

      @UI.lineItem: {
          position: 50,
          importance: #MEDIUM,
          label: 'Not Kept Expiry Notification (min)',
          exclude: true
      }
      @EndUserText.label: 'Not Kept Expiry Notification (min)'
      Document.NotKeptNotification,

      //      @UI.fieldGroup: [ { qualifier: 'Expiry',

      //                         position: 10,

      //                         label: 'Not Kept Expiry (min)'

      //                       } ]

      @UI.lineItem: {
          position: 60,
          importance: #MEDIUM,
          label: 'Not Kept Expiry (min)',
          exclude: true
      }
      @EndUserText.label: 'Not Kept Expiry (min)'
      Document.NotKeptExpiry,

      @UI.identification: {
          position: 6,
          label: 'Number Of Drafts'
        }
      @UI.lineItem: {
          position: 6,
          importance: #HIGH,
          label: 'Number Of Drafts',
          exclude: false
      }
      @ObjectModel.readOnly: true
      count( distinct _Sdraft_Count.DraftUUID ) as NumberOfDrafts,
      @ObjectModel.association.type:  [ #TO_COMPOSITION_CHILD ]
      _Sdraft_Entry
}
group by
  Document.DraftEntityType,
  Document.DraftTypeDescription,
  Document.EnqueueExpiryNotification,
  Document.RelativeEnqueueExpiry,
  Document.ProcessingExpiryNotification,
  Document.RelativeProcessingExpiry,
  Document.NotKeptNotification,
  Document.NotKeptExpiry
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"C_DRAFTADMINISTRATIVEDATA",
"I_DRAFTLIFECYCLECONFIGURATION",
"T000"
],
"ASSOCIATED":
[
"C_DRAFTADMINISTRATIVEDATA"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/