C_SupplyProtectionTP

DDL: C_SUPPLYPROTECTIONTP Type: view_entity CONSUMPTION Package: ATP_SUP_VDM

Supply Protection

C_SupplyProtectionTP is a Consumption CDS View that provides data about "Supply Protection" in SAP S/4HANA. It reads from 1 data source (I_SupplyProtectionTP) and exposes 49 fields with key field SupplyProtectionUUID. It is exposed through 1 OData service (UI_SUPPLYPROTECTION). It is used in 1 Fiori application: Configure Supply Protection. Part of development package ATP_SUP_VDM.

Data Sources (1)

SourceAliasJoin Type
I_SupplyProtectionTP I_SupplyProtectionTP projection

Annotations (14)

NameValueLevelField
VDM.viewType #CONSUMPTION view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #MIXED view
AccessControl.authorizationCheck #MANDATORY view
AccessControl.personalData.blocking #NOT_REQUIRED view
Metadata.allowExtensions true view
AbapCatalog.extensibility.extensible true view
AbapCatalog.extensibility.elementSuffix ASU view
AbapCatalog.extensibility.allowNewDatasources false view
AbapCatalog.extensibility.quota.maximumFields 204 view
AbapCatalog.extensibility.quota.maximumBytes 2040 view
Search.searchable true view
EndUserText.label Supply Protection view

OData Services (1)

ServiceBindingVersionContractRelease
UI_SUPPLYPROTECTION UI_SUPPLYPROTECTION V2 C1 NOT_RELEASED

Fiori Apps (1)

App IDApp NameTypeDescription
F4569 Configure Supply Protection Transactional An application to manage supply protection quantities that are working as virtual reservations in the ATP logic.

Configure Supply Protection

Business Role: Order Fulfillment Manager

Sales quotations are supported as documents to by protected and restriced by supply protection.The sales quotation matches supply protection with any characteristic available in the characteristics catalog defined for sales documents.Referenced sales orders are integrated in a transfer logic which reduces the consumed supply protection of the quotation and transfers the consumption to the matching supply protection time bucket of the referenced sales order.

Fields (49)

KeyFieldSource TableSource FieldDescription
KEY SupplyProtectionUUID SupplyProtectionUUID
SupplyProtectionName SupplyProtectionName
Material Material
MaterialNamelocalized
UnitOfMeasure UnitOfMeasure
Plant Plant
PlantName _Plant PlantName
SupProtIsPlanningContextSlsOrd SupProtIsPlanningContextSlsOrd
SupProtIsPlanningContextSTO SupProtIsPlanningContextSTO
SupProtCharcCatalogType SupProtCharcCatalogType
SupProtPlanningPeriodType SupProtPlanningPeriodType
SupProtPlanningPeriodTypeTextlocalized
SupProtPlanningPeriodStartDate SupProtPlanningPeriodStartDate
SupProtPlanningPeriodEndDate SupProtPlanningPeriodEndDate
SupProtAutomActivationIsActive SupProtAutomActivationIsActive
SupProtAutomActivationDate SupProtAutomActivationDate
CoreCharc01CtlgPathIntID CoreCharc01CtlgPathIntID
SupProtCoreCharc01CtlgPathUUID SupProtCoreCharc01CtlgPathUUID
SupProtCoreCharc01Text SupProtCoreCharc01Text
SupProtCoreCharc01ValueID SupProtCoreCharc01ValueID
CoreCharc02CtlgPathIntID CoreCharc02CtlgPathIntID
SupProtCoreCharc02CtlgPathUUID SupProtCoreCharc02CtlgPathUUID
SupProtCoreCharc02Text SupProtCoreCharc02Text
SupProtCoreCharc02ValueID SupProtCoreCharc02ValueID
SupProtLifecycleStatus SupProtLifecycleStatus
SupProtLifecycleStatusTextlocalized
Criticality Criticality
SupProtProtectedQuantity
SupProtConsumedQuantity
SupProtRemainingProtectedQty
CreatedByUser CreatedByUser
CreatedByUserDescription _CreatedByUser UserDescription
CreationDate CreationDate
LastChangedByUser LastChangedByUser
LastChangedByUserDescription _LastChangedByUser UserDescription
LastChangeDate LastChangeDate
LastChangeDateTime LastChangeDateTime
CharcValAuthznGroup CharcValAuthznGroup
SupProtActivationDate SupProtActivationDate
SupProtCnsmpnDateTimeType SupProtCnsmpnDateTimeType
SupProtCnsmpnDateTimeTypeTextlocalized
SupProtSelfRestrictionType SupProtSelfRestrictionType
SupProtSelfRestrictionTypeTextlocalized
SupProtPlngContextIsConsistent SupProtPlngContextIsConsistent
SupProtPlngContextCriticality SupProtPlngContextCriticality
StorageLocation StorageLocation
StorageLocationName _StorageLocation StorageLocationName
SupProtPlanningLevel SupProtPlanningLevel
SupProtPlanningLevelTextlocalized
@VDM.viewType: #CONSUMPTION
@VDM.usage.type:[#TRANSACTIONAL_PROCESSING_SERVICE]
@ObjectModel:   { usageType: { serviceQuality: #C,
                               sizeCategory:   #L,
                               dataClass:      #MIXED },
                  semanticKey: ['SupplyProtectionName', 'Plant', 'Material']
}

@Consumption.dbHints: ['NO_SUBPLAN_SHARING']

@AccessControl: {
  authorizationCheck: #MANDATORY
}
@AccessControl.personalData.blocking: #NOT_REQUIRED
@Metadata.allowExtensions: true
@AbapCatalog.extensibility: {
  extensible: true,
  elementSuffix: 'ASU',
  allowNewDatasources: false,
  dataSources: ['SupplyProtection'],
  quota: {
    maximumFields: 204,
    maximumBytes: 2040
  }
}

@Search.searchable: true
@EndUserText.label: 'Supply Protection'
define root view entity C_SupplyProtectionTP
  provider contract transactional_query
  as projection on I_SupplyProtectionTP as SupplyProtection
{
       @UI.hidden: true
  key  SupplyProtectionUUID,

       @Search.defaultSearchElement: true
       SupplyProtectionName,

       @Search.defaultSearchElement: true
       @ObjectModel.text.element: ['MaterialName']
       Material,
       @Consumption.filter.hidden: true
       @Search.defaultSearchElement: true
       _MaterialText.MaterialName                                  : localized,
       @Semantics.unitOfMeasure: true
       UnitOfMeasure,

       @Search.defaultSearchElement: true
       @ObjectModel.text.element: ['PlantName']
       Plant,
       @Consumption.filter.hidden: true
       @Search.defaultSearchElement: true
       _Plant.PlantName,

       SupProtIsPlanningContextSlsOrd,
       SupProtIsPlanningContextSTO,
       @UI.hidden: true
       SupProtCharcCatalogType,

       @Search.defaultSearchElement: true
       @ObjectModel.text.element: ['SupProtPlanningPeriodTypeText']
       SupProtPlanningPeriodType,
       @Consumption.filter.hidden: true
       @Search.defaultSearchElement: true
       @Semantics.text: true
       _SupProtPlanningPeriodTypeT.SupProtPlanningPeriodTypeText   : localized,
       @Consumption.filter.selectionType:#INTERVAL 
       SupProtPlanningPeriodStartDate,
       @Consumption.filter.selectionType:#INTERVAL 
       SupProtPlanningPeriodEndDate,

       SupProtAutomActivationIsActive,
       @Consumption.filter.selectionType:#INTERVAL
       SupProtAutomActivationDate,

       @UI.hidden: true
       CoreCharc01CtlgPathIntID,
       @UI.hidden: true
       SupProtCoreCharc01CtlgPathUUID,
       SupProtCoreCharc01Text,
       @Search.defaultSearchElement: true
       SupProtCoreCharc01ValueID,

       @UI.hidden: true
       CoreCharc02CtlgPathIntID,
       @UI.hidden: true
       SupProtCoreCharc02CtlgPathUUID,
       SupProtCoreCharc02Text,
       @Search.defaultSearchElement: true
       SupProtCoreCharc02ValueID,

       @Search.defaultSearchElement: true
       @ObjectModel.text.element: ['SupProtLifecycleStatusText']
       SupProtLifecycleStatus,
       @Consumption.filter.hidden: true
       @Search.defaultSearchElement: true
       @Semantics.text: true
       _SupProtLifecycleStatusText.SupProtLifecycleStatusText      : localized,
       @UI.hidden: true
       Criticality,

       @Semantics.quantity.unitOfMeasure: 'UnitOfMeasure'
       @ObjectModel.virtualElement: true
       @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_ATP_SUP_SADL_EXIT_QUANTITY'
       cast(SupProtProtectedQuantity as sup_protected_quantity preserving type)      as SupProtProtectedQuantity,

       @Semantics.quantity.unitOfMeasure: 'UnitOfMeasure'
       @ObjectModel.virtualElement: true
       @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_ATP_SUP_SADL_EXIT_QUANTITY'
       cast(SupProtConsumedQuantity as sup_consumed_quantity preserving type)        as SupProtConsumedQuantity,

       @Semantics.quantity.unitOfMeasure: 'UnitOfMeasure'
       @ObjectModel.virtualElement: true
       @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_ATP_SUP_SADL_EXIT_QUANTITY'
       cast(SupProtRemainingProtectedQty as sup_remaining_quantity preserving type ) as SupProtRemainingProtectedQty,

       @Search.defaultSearchElement: true
       CreatedByUser,
       @Search.defaultSearchElement: true
       _CreatedByUser.UserDescription                                                as CreatedByUserDescription,
       @Consumption.filter.selectionType:#INTERVAL 
       CreationDate,

       @Search.defaultSearchElement: true
       LastChangedByUser,
       @Search.defaultSearchElement: true
       _LastChangedByUser.UserDescription                                            as LastChangedByUserDescription,
       @Consumption.filter.selectionType:#INTERVAL 
       LastChangeDate,
       @UI.hidden: true
       LastChangeDateTime, //necessary for the eTag handling


       @UI.hidden: true
       CharcValAuthznGroup,
       @Consumption.filter.selectionType:#INTERVAL
       SupProtActivationDate,

       @ObjectModel.text.element: ['SupProtCnsmpnDateTimeTypeText']
       SupProtCnsmpnDateTimeType,
       @Consumption.filter.hidden: true
       @Semantics.text: true
       _SupProtCnsmpnDateTimeTypeT.SupProtCnsmpnDateTimeTypeText   : localized,

       @ObjectModel.text.element: ['SupProtSelfRestrictionTypeText']
       SupProtSelfRestrictionType,
       @Consumption.filter.hidden: true
       @Semantics.text: true
       _SupProtSelfRestrictionTypeT.SupProtSelfRestrictionTypeText : localized,


       @ObjectModel.virtualElement: true
       @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_ATP_SUP_SADL_EXIT_PLNG_CONS'
       SupProtPlngContextIsConsistent,

       @ObjectModel.virtualElement: true
       @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_ATP_SUP_SADL_EXIT_PLNG_CONS'
       SupProtPlngContextCriticality,

       @ObjectModel.text.element: ['StorageLocationName']
       StorageLocation,
       @Consumption.filter.hidden: true
       _StorageLocation.StorageLocationName,

       @ObjectModel.text.element: ['SupProtPlanningLevelText']
       SupProtPlanningLevel,

       @Consumption.filter.hidden: true
       @Semantics.text: true
       _SupProtPlanningLevelText.SupProtPlanningLevelText          : localized,

       /* Associations */
       _SupplyProtectionGroupTP     : redirected to composition child C_SupplyProtectionGroupTP,
       _SupProtCharacteristicTP     : redirected to composition child C_SupProtCharacteristicTP,
       _SupProtFlexibleTimeBucketTP : redirected to composition child C_SupProtFlexibleTimeBucketTP,
       _SupProtRelatedSupProtTP     : redirected to C_SupProtRelatedSupProtTP

}
where
  SupplyProtectionIsBlocked = ''