C_PhysInvtryDocManageCountTP

DDL: C_PHYSINVTRYDOCMANAGECOUNTTP Type: view_entity CONSUMPTION Package: ODATA_MM_IM_PI_MANAGE_COUNT

Physical Inventory Document Header

C_PhysInvtryDocManageCountTP is a Consumption CDS View that provides data about "Physical Inventory Document Header" in SAP S/4HANA. It reads from 1 data source (R_PhysicalInventoryDocumentTP) and exposes 42 fields with key fields PhysicalInventoryDocument, FiscalYear. It is exposed through 1 OData service (UI_PI_MANAGE_COUNT). Part of development package ODATA_MM_IM_PI_MANAGE_COUNT.

Data Sources (1)

SourceAliasJoin Type
R_PhysicalInventoryDocumentTP R_PhysicalInventoryDocumentTP projection

Annotations (7)

NameValueLevelField
AccessControl.authorizationCheck #CHECK view
Metadata.allowExtensions true view
VDM.viewType #CONSUMPTION view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
Consumption.semanticObject PhysicalInventoryDocument view

OData Services (1)

ServiceBindingVersionContractRelease
UI_PI_MANAGE_COUNT UI_PI_MANAGE_COUNT_V2 V2 C1 NOT_RELEASED

Fields (42)

KeyFieldSource TableSource FieldDescription
KEY PhysicalInventoryDocument PhysicalInventoryDocument
KEY FiscalYear FiscalYear
InventoryTransactionType InventoryTransactionType
Plant Plant
PlantName _Plant PlantName
StorageLocation StorageLocation
StorageLocationName _StorageLocation StorageLocationName
InventorySpecialStockType InventorySpecialStockType
DocumentDate DocumentDate
PhysInventoryPlannedCountDate PhysInventoryPlannedCountDate
PhysicalInventoryLastCountDate
PostingDate PostingDate
PostingFiscalPeriod PostingFiscalPeriod
CreatedByUserName CreatedByUserName
UserDescription _CreatedByUser UserDescription
PostingIsBlockedForPhysInvtry PostingIsBlockedForPhysInvtry
PhysicalInventoryCountStatus PhysicalInventoryCountStatus
PhysInvtryAdjustmentPostingSts PhysInvtryAdjustmentPostingSts
PhysInventoryReferenceNumber PhysInventoryReferenceNumber
PhysInvtryDeletionStatus PhysInvtryDeletionStatus
PhysInvtryDocHasQtySnapshot PhysInvtryDocHasQtySnapshot
PhysicalInventoryGroupType PhysicalInventoryGroupType
PhysicalInventoryGroup PhysicalInventoryGroup
PhysicalInventoryNumber PhysicalInventoryNumber
PhysicalInventoryDocumentDesc PhysicalInventoryDocumentDesc
LastChangeDateTime LastChangeDateTime
SalesPriceValuationIsActive SalesPriceValuationIsActive
CountingVarianceInPercent CountingVarianceInPercent
char16
virtualUICT_PhysInvtryNumberboole_d
virtualUICT_HideStorageLocationboole_d
virtualIsChangeDocumentsEnabledboole_d
_InventorySpecialStockType _InventorySpecialStockType
_InventoryTransactionType _InventoryTransactionType
_PhysInvtryCountSts _PhysInvtryCountSts
_PhysInvtryDeletionSts _PhysInvtryDeletionSts
_PhysInvtryDocFiscalYear _PhysInvtryDocFiscalYear
_PhysInvtryDocItem _PhysInvtryDocItem
_PhysInvtryGroupType _PhysInvtryGroupType
_PhysInvtryPostSts _PhysInvtryPostSts
_Plant _Plant
_StorageLocation _StorageLocation
@AccessControl.authorizationCheck: #CHECK
@Metadata.allowExtensions: true
@VDM.viewType: #CONSUMPTION
@VDM.usage.type: [#TRANSACTIONAL_PROCESSING_SERVICE]

@ObjectModel: {
    semanticKey: ['PhysicalInventoryDocument', 'FiscalYear'],
    usageType: {
        sizeCategory: #XL,
        serviceQuality: #C,
        dataClass: #TRANSACTIONAL
    }
}
@Consumption.semanticObject: 'PhysicalInventoryDocument'

define root view entity C_PhysInvtryDocManageCountTP
  provider contract transactional_query
  as projection on R_PhysicalInventoryDocumentTP
{
  key      PhysicalInventoryDocument,
  key      FiscalYear,
           @ObjectModel:{ foreignKey: { association: '_InventoryTransactionType' },
                          text.element: ['InventoryTransactionTypeText'] }
           InventoryTransactionType,
           @Semantics.text:true
           _InventoryTransactionType._Text.InventoryTransactionTypeText   as InventoryTransactionTypeText   : localized,
           @ObjectModel: { foreignKey: { association: '_Plant' },
                           text.element: ['PlantName']}
           Plant,
           @Semantics.text:true
           _Plant.PlantName                                               as PlantName,

           @ObjectModel: { foreignKey: { association: '_StorageLocation' },
                           text.element: ['StorageLocationName'] }
           StorageLocation,
           @Semantics.text:true
           _StorageLocation.StorageLocationName                           as StorageLocationName,

           @ObjectModel: { foreignKey:  {association: '_InventorySpecialStockType' },
                           text.element: ['InventorySpecialStockTypeName'] }
           InventorySpecialStockType,
           @Semantics.text:true
           _InventorySpecialStockType._Text.InventorySpecialStockTypeName as InventorySpecialStockTypeName  : localized,
           @Consumption.filter.selectionType: #INTERVAL
           DocumentDate,
           @Consumption.filter.selectionType: #INTERVAL
           PhysInventoryPlannedCountDate,
           @Consumption.filter.selectionType: #INTERVAL
           cast( PhysicalInventoryLastCountDate as pi_countdate preserving type ) as PhysicalInventoryLastCountDate,
           @Consumption.filter.selectionType: #INTERVAL
           PostingDate,
           PostingFiscalPeriod,
           @ObjectModel: { text.element: ['UserDescription'] }
           @Semantics.user.createdBy: true
           CreatedByUserName,
           @Semantics.text:true
           _CreatedByUser.UserDescription                                 as UserDescription,
           PostingIsBlockedForPhysInvtry,
           @ObjectModel: { foreignKey:  {association: '_PhysInvtryCountSts' },
                           text.element: ['PhysicalInventoryCountStsTxt'] }
           PhysicalInventoryCountStatus,
           @Semantics.text:true
           _PhysInvtryCountSts._Text.PhysicalInventoryCountStsTxt         as PhysicalInventoryCountStsTxt   : localized,
           @ObjectModel: { foreignKey:  {association: '_PhysInvtryPostSts' },
                           text.element: ['PhysInvtryAdjmtPostgStsTxt'] }
           PhysInvtryAdjustmentPostingSts,
           @Semantics.text:true
           _PhysInvtryPostSts._Text.PhysInvtryAdjmtPostgStsTxt            as PhysInvtryAdjmtPostgStsTxt     : localized,
           PhysInventoryReferenceNumber,
           @ObjectModel: { foreignKey:  {association: '_PhysInvtryDeletionSts' },
                           text.element: ['PhysInvtryDeletionStatusText'] }
           PhysInvtryDeletionStatus,
           @Semantics.text:true
           _PhysInvtryDeletionSts._Text.PhysInvtryDeletionStatusText      as PhysInvtryDeletionStatusText   : localized,
           PhysInvtryDocHasQtySnapshot,
           @ObjectModel: { foreignKey:  {association: '_PhysInvtryGroupType' },
                           text.element: ['PhysicalInventoryGroupTypeName'],
                           filter.enabled: false }
           PhysicalInventoryGroupType,
           @Semantics.text:true
           _PhysInvtryGroupType._Text.PhysicalInventoryGroupTypeName      as PhysicalInventoryGroupTypeName : localized,
           PhysicalInventoryGroup,
           PhysicalInventoryNumber,
           PhysicalInventoryDocumentDesc,
           @Semantics.systemDateTime.localInstanceLastChangedAt: true
           @ObjectModel: { filter.enabled: false }
           LastChangeDateTime,
           SalesPriceValuationIsActive,
           @ObjectModel: { filter.enabled: false  }
           @UI.hidden: true
           CountingVarianceInPercent,

           /* Virtual Fields */
           @ObjectModel: { virtualElement: true,
                           virtualElementCalculatedBy: 'ABAP:PI_MANAGE_HEADER_CALC_EXIT' }
           @UI.hidden: true
  virtual  UICT_PhysInvtryDocFiscalYear   : abap.char( 16 ),
           @Semantics.booleanIndicator:true
           @ObjectModel: { virtualElement: true,
                           virtualElementCalculatedBy: 'ABAP:PI_MANAGE_HEADER_CALC_EXIT' }
           @UI.hidden: true
  virtual  UICT_PhysInvtryReferenceNumber : boole_d,
           @Semantics.booleanIndicator:true
           @ObjectModel: { virtualElement: true,
                           virtualElementCalculatedBy: 'ABAP:PI_MANAGE_HEADER_CALC_EXIT' }
           @UI.hidden: true
  virtual  UICT_PhysInvtryNumber          : boole_d,
           @Semantics.booleanIndicator:true
           @ObjectModel: { virtualElement: true,
                           virtualElementCalculatedBy: 'ABAP:PI_MANAGE_HEADER_CALC_EXIT' }
           @UI.hidden: true
  virtual  UICT_PhysInvtryDocumentDesc    : boole_d,
           @ObjectModel: { virtualElement: true,
                           virtualElementCalculatedBy: 'ABAP:PI_MANAGE_HEADER_CALC_EXIT' }
           @UI.hidden: true
  virtual  UICT_PlannedCountDate          : sit_de_row_criticality,

           @Semantics.booleanIndicator:true
           @ObjectModel: { virtualElement: true,
                           virtualElementCalculatedBy: 'ABAP:PI_MANAGE_HEADER_CALC_EXIT' }
           @UI.hidden: true
  virtual  UICT_InventorySpecialStockType : boole_d,

           @Semantics.booleanIndicator:true
           @ObjectModel: { virtualElement: true,
                           virtualElementCalculatedBy: 'ABAP:PI_MANAGE_HEADER_CALC_EXIT' }
           @UI.hidden: true
  virtual  UICT_HideStorageLocation       : boole_d,
  
           @Semantics.booleanIndicator:true
           @ObjectModel: { virtualElement: true,
                           virtualElementCalculatedBy: 'ABAP:PI_MANAGE_HEADER_CALC_EXIT' }
           @UI.hidden: true
  virtual  IsChangeDocumentsEnabled       : boole_d,


           /* Associations */

           _PhysicalInventoryDocumentItem : redirected to composition child C_PhysInvtryDocItemMngCountTP,

           //    _CreatedByUser,

           _InventorySpecialStockType,
           _InventoryTransactionType,
           _PhysInvtryCountSts,
           _PhysInvtryDeletionSts,
           _PhysInvtryDocFiscalYear,
           _PhysInvtryDocItem,
           _PhysInvtryGroupType,
           _PhysInvtryPostSts,
           _Plant,
           _StorageLocation
}