C_DFS_AllwncPlan

DDL: C_DFS_ALLWNCPLAN Type: view_entity CONSUMPTION

Projection View Allowance Plan

C_DFS_AllwncPlan is a Consumption CDS View that provides data about "Projection View Allowance Plan" in SAP S/4HANA. It reads from 1 data source (R_DFS_AllwncPlanTP) and exposes 65 fields with key field DfsAllwncPlanUUID. It is exposed through 1 OData service (UI_C_DFS_ALLWNCPLAN). It is used in 1 Fiori application: Manage Allowance Plans.

Data Sources (1)

SourceAliasJoin Type
R_DFS_AllwncPlanTP R_DFS_AllwncPlanTP projection

Annotations (13)

NameValueLevelField
EndUserText.label Projection View Allowance Plan view
AccessControl.authorizationCheck #CHECK view
Metadata.allowExtensions true view
UI.headerInfo.typeName Allowance Plan view
UI.headerInfo.typeNamePlural Allowance Plans view
UI.headerInfo.title.type #STANDARD view
UI.headerInfo.title.value DfsAllwncPlanDescription view
Search.searchable true view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #L view
VDM.viewType #CONSUMPTION view
ObjectModel.query.implementedBy ABAP:CL_DFS_ALLWNCPLAN_HIER view

OData Services (1)

ServiceBindingVersionContractRelease
UI_C_DFS_ALLWNCPLAN UI_C_DFS_ALLWNCPLAN V2 C1 NOT_RELEASED

Fiori Apps (1)

App IDApp NameTypeDescription
F4662 Manage Allowance Plans Transactional The allowance enables force element structures to request authorized materials or products over a time period without influencing the current force planning.

Manage Allowance Plans

Business Role: Material Planner - Authorized Materials

The allowance enables force element structures to request authorized materials or products over a time period without influencing the current force planning. An allowance is divided up into a request and a plan. The request is used to place enquiries for quantities and the plan is a preliminary planning process in which quantities are limited for force element structures over a time period. The result is available in the force planning process.

Fields (65)

KeyFieldSource TableSource FieldDescription
KEY DfsAllwncPlanUUID DfsAllwncPlanUUID
DfsAllwncPlanID DfsAllwncPlanID
Language Language
DfsAllwncPlanDescription DfsAllwncPlanDescription
DfsAllwncPlanPreviousPlanUUID DfsAllwncPlanPreviousPlanUUID
DfsAllwncPlanPreviousPlanID _PreviousPlan DfsAllwncPlanID
DfsAllwncPlnPrevPlnTgtUUID _PreviousPlan DfsAllwncPlanUUID
DfsAllwncPlanValdtyStrtDate DfsAllwncPlanValdtyStrtDate
DfsAllwncPlanValdtyEndDate DfsAllwncPlanValdtyEndDate
FlxblMatlPlngObjDescription _FlxMtPlObj FlxblMatlPlngObjDescription
FlxblMatlPlngObjectID FlxblMatlPlngObjectID
FlxblMatlPlngObjectUUID FlxblMatlPlngObjectUUID
FlxblMatlPlngObjVariantDesc _FlxMtPlObjVariant FlxblMatlPlngObjVariantDesc
FlxblMatlPlngObjVariantID FlxblMatlPlngObjVariantID
FlxblMatlPlngObjVariantUUID FlxblMatlPlngObjVariantUUID
ProductName _ProductText ProductName
Product Product
DfsAllwncPlanStatusObject DfsAllwncPlanStatusObject
DfsAllwncPlanStatusCode DfsAllwncPlanStatusCode
DfsAllwncPlanStatusProfile DfsAllwncPlanStatusProfile
StatusCriticality StatusCriticality
Status Status
DfsAllwncPlanAllowedQuantity DfsAllwncPlanAllowedQuantity
DfsAllwncPlanUsedQuantity DfsAllwncPlanUsedQuantity
DfsAllwncPlanQuantityUnit DfsAllwncPlanQuantityUnit
FrcElmntOrgUsageTypeDesc _UsageType FrcElmntOrgUsageTypeDesc
FrcElmntOrgUsageType FrcElmntOrgUsageType
DfsAllwncPlanBaseTypeDesclocalized
DfsAllwncPlanBaseType DfsAllwncPlanBaseType
DfsAllwncPlanMultiLevelDesclocalized
DfsAllwncPlanMultiLevel DfsAllwncPlanMultiLevel
DfsAllwncPlanIsFUPHidden DfsAllwncPlanIsFUPHidden
DfsAllwncPlanIsReqHidden DfsAllwncPlanIsReqHidden
FrcElmntOrgName FrcElmntOrgName
ForceElementOrgID ForceElementOrgID
ForceElementOrgUUID ForceElementOrgUUID
DfsAllwncPlanIsCompleted DfsAllwncPlanIsCompleted
DfsAllwncPlanCompletedStatus DfsAllwncPlanCompletedStatus
DfsAllwncPlanComment DfsAllwncPlanComment
DfsAllwncReqID DfsAllwncReqID
DfsAllwncReqUUID DfsAllwncReqUUID
DfsAllwncPlanCreationDateTime DfsAllwncPlanCreationDateTime
DfsAllwncPlanCreatedByUser DfsAllwncPlanCreatedByUser
DfsAllwncPlanChangeDateTime DfsAllwncPlanChangeDateTime
DfsAllwncPlanLastChgdByUser DfsAllwncPlanLastChgdByUser
HierarchyNode HierarchyNode
HierarchyParentNode HierarchyParentNode
HierarchyLevel HierarchyLevel
HierarchyDescendantCount HierarchyDescendantCount
DrillDownState DrillDownState
HierarchyNodeOrdinalNumber HierarchyNodeOrdinalNumber
_FrcElmntOrg _FrcElmntOrg
_ValdtyEndDate _ValdtyEndDate
_ValdtyStrtDate _ValdtyStrtDate
_StatusObject _StatusObject
_StatusAttributes _StatusAttributes
_LastChangedByUserContactCard _LastChangedByUserContactCard
_CreatedByUserContactCard _CreatedByUserContactCard
_StatusObjectUserStatus _StatusObjectUserStatus
_FlxMtPlObj _FlxMtPlObj
_FlxMtPlObjVariant _FlxMtPlObjVariant
_MultiLevel _MultiLevel
_BaseType _BaseType
_UsageType _UsageType
_ProductText _ProductText
/*
 NOTE #1:
      Because we used this Class for the hierarchy, no further classes, as virtuell fields
       classes can be used. This will lead to app crashes.
 NOTE #2: 2105
      PrivilegedAssociations is not supported in this release. See Jira https://sapjira.wdf.sap.corp/browse/FIORITECHE1-4465

      This coursing problems with View which have the annotation @AccessControl.authorizationCheck: #PRIVILEGED_ONLY (e.g. User Status Annotation)
      For that reason the User Function is deactived (hidden)
*/

@EndUserText.label: 'Projection View Allowance Plan'
@AccessControl.authorizationCheck: #CHECK
@Metadata.allowExtensions: true
@UI: { headerInfo: { typeName: 'Allowance Plan',
               typeNamePlural: 'Allowance Plans',
                        title: { type: #STANDARD, value: 'DfsAllwncPlanDescription' } }
                    }
@Search.searchable: true
//@ObjectModel.semanticKey: [ 'DfsAllwncPlanUUID' ]

//@ObjectModel.usageType.dataClass: #MIXED

//@ObjectModel.usageType.serviceQuality: #C

//@ObjectModel.usageType.sizeCategory: #L


  @ObjectModel: {
      semanticKey: [ 'DfsAllwncPlanUUID' ],
        usageType: { dataClass: #MIXED,
                     serviceQuality: #C,
                     sizeCategory: #L }
//   modelingPattern:       #TRANSACTIONAL_INTERFACE,

// supportedCapabilities: [#TRANSACTIONAL_PROVIDER]                

     }



@VDM.viewType:#CONSUMPTION
@VDM.usage.type:[#TRANSACTIONAL_PROCESSING_SERVICE]

//@AccessControl: {

//    privilegedAssociations: [ '_StatusObjectUserStatus', '_StatusAttributes', '_StatusObject' ]

//}


@ObjectModel.query.implementedBy: 'ABAP:CL_DFS_ALLWNCPLAN_HIER'

@OData.hierarchy.recursiveHierarchy: [ {
  elementWithHierarchy:      'DfsAllwncPlanUUID',
  nodeElement:               'HierarchyNode',
//  externalKeyElement:        'DemoHierarchyNode',

  parentNodeElement:         'HierarchyParentNode',
  distanceFromRootElement:   'HierarchyLevel',
  drillStateElement:         'DrillDownState',
  descendantCountElement:    'HierarchyDescendantCount',
  preorderRankElement:       'HierarchyNodeOrdinalNumber'
} ]


define root view entity C_DFS_AllwncPlan 
provider contract transactional_query
  as projection on R_DFS_AllwncPlanTP as _AllowancePlan
{
  key DfsAllwncPlanUUID,
      DfsAllwncPlanID,
      @UI.hidden: true
      Language,
      DfsAllwncPlanDescription,
      DfsAllwncPlanPreviousPlanUUID,
      
      _PreviousPlan.DfsAllwncPlanID                  as DfsAllwncPlanPreviousPlanID,
      @UI.hidden: true
      @Consumption.filter.hidden: true
      _PreviousPlan.DfsAllwncPlanUUID                  as DfsAllwncPlnPrevPlnTgtUUID,

      DfsAllwncPlanValdtyStrtDate,
      DfsAllwncPlanValdtyEndDate,

      @Semantics.text: true
      _FlxMtPlObj.FlxblMatlPlngObjDescription        as FlxblMatlPlngObjDescription,

      @ObjectModel: { text.element: ['FlxblMatlPlngObjDescription'],
                      foreignKey.association:'_FlxMtPlObj'}
      FlxblMatlPlngObjectID,
      FlxblMatlPlngObjectUUID,
      @Semantics.text: true
      _FlxMtPlObjVariant.FlxblMatlPlngObjVariantDesc as FlxblMatlPlngObjVariantDesc,

      @ObjectModel: { text.element: ['FlxblMatlPlngObjVariantDesc'] }
      //      ,foreignKey.association:'_FlxMtPlObjVariant'

      //  cast( FlxblMatlPlngObjVariantID as abap.sstring( 6 ) ) as FlxblMatlPlngObjVariantID,

      FlxblMatlPlngObjVariantID,


      FlxblMatlPlngObjVariantUUID,

      @UI.hidden: true
      @Consumption.filter.hidden: true
      _ProductText.ProductName,

      @ObjectModel: { text.element: ['ProductName']}
      Product,

      DfsAllwncPlanStatusObject,
      DfsAllwncPlanStatusCode,

      @UI.hidden: true
      @Consumption.filter.hidden: true
      @Consumption.valueHelpDefinition: [{ entity: {name: 'C_DFS_AllwncPlanUserStatusVH',  element: 'StatusProfile' } }]
      DfsAllwncPlanStatusProfile,
      StatusCriticality,
      Status,
      DfsAllwncPlanAllowedQuantity,
      DfsAllwncPlanUsedQuantity,
      DfsAllwncPlanQuantityUnit,

      @UI.hidden: true
      @Consumption.filter.hidden: true
      _UsageType.FrcElmntOrgUsageTypeDesc,
      @ObjectModel: { text.element: ['FrcElmntOrgUsageTypeDesc']}
      FrcElmntOrgUsageType,

      @UI.hidden: true
      @Consumption.filter.hidden: true
      _BaseType._Text.DfsAllwncPlanBaseTypeDesc     : localized,
      @ObjectModel: { text.element: ['DfsAllwncPlanBaseTypeDesc']}
      DfsAllwncPlanBaseType,

      @UI.hidden: true
      @Consumption.filter.hidden: true
      _MultiLevel._Text.DfsAllwncPlanMultiLevelDesc : localized, 

      @ObjectModel: { text.element: ['DfsAllwncPlanMultiLevelDesc']}
      DfsAllwncPlanMultiLevel,
      DfsAllwncPlanIsFUPHidden,
      DfsAllwncPlanIsReqHidden,

//      @Semantics.text: true

//      _FrcElmntOrg.FrcElmntOrgName,

      //due to performance reasons the fields are not read in the stack

      //names of FE will be read in the redefinition of CL_RAP_DYNAMIC_HIER_QUERY for the hierarchy 

      FrcElmntOrgName,


      @ObjectModel: { text.element: ['FrcElmntOrgName'],
                      foreignKey.association:'_FrcElmntOrg'}
      ForceElementOrgID,
      ForceElementOrgUUID,
      DfsAllwncPlanIsCompleted,
      DfsAllwncPlanCompletedStatus,
      DfsAllwncPlanComment,
      DfsAllwncReqID,
      DfsAllwncReqUUID,

      // Field group: Administrative Information

      DfsAllwncPlanCreationDateTime,
      DfsAllwncPlanCreatedByUser,
      DfsAllwncPlanChangeDateTime,
      DfsAllwncPlanLastChgdByUser,


      // Hierarchy

      @UI.hidden: true
      HierarchyNode,
      @UI.hidden: true
      HierarchyParentNode,
      @UI.hidden: true
      HierarchyLevel,
      @UI.hidden: true
      HierarchyDescendantCount,
      @UI.hidden: true
      DrillDownState,
      @UI.hidden: true
      HierarchyNodeOrdinalNumber,

      /* Associations */
      @ObjectModel.filter.enabled: false
      _AllwncPlanToFe : redirected to composition child C_DFS_AllwncPlanToFe,
       @ObjectModel: { filter.enabled: false,
                       sort.enabled: false }
      _PreviousPlan   : redirected to C_DFS_AllwncPlan,
      @ObjectModel: { filter.enabled: false,
                    sort.enabled: false }
      _FrcElmntOrg,
      @ObjectModel: { filter.enabled: false,
                       sort.enabled: false }
      _ValdtyEndDate,
      @ObjectModel: { filter.enabled: false,
                  sort.enabled: false }
      _ValdtyStrtDate,
      @ObjectModel: { filter.enabled: false,
                      sort.enabled: false }
      _StatusObject,
      @ObjectModel: { filter.enabled: false,
                       sort.enabled: false }
      _StatusAttributes,
      @ObjectModel: { filter.enabled: false,
                   sort.enabled: false }
      _LastChangedByUserContactCard,
      @ObjectModel: { filter.enabled: false,
                       sort.enabled: false }
      _CreatedByUserContactCard,
      @Consumption.filter.hidden: true
      @ObjectModel.filter.enabled: false
      _StatusObjectUserStatus,
      @ObjectModel: { filter.enabled: false,
                       sort.enabled: false }
      _FlxMtPlObj,
      @ObjectModel: { filter.enabled: false,
                      sort.enabled: false }
      _FlxMtPlObjVariant,
      @ObjectModel: { filter.enabled: false,
                      sort.enabled: false }
      _MultiLevel,
      @ObjectModel: { filter.enabled: false,
                      sort.enabled: false }
      _BaseType,
      @ObjectModel: { filter.enabled: false,
                      sort.enabled: false }
      _UsageType,
      @ObjectModel: { filter.enabled: false,
                       sort.enabled: false }
      _ProductText

}