C_ReservationDocOPg

DDL: C_RESERVATIONDOCOPG Type: view_entity CONSUMPTION

Reservation Document Object Page

C_ReservationDocOPg is a Consumption CDS View that provides data about "Reservation Document Object Page" in SAP S/4HANA. It reads from 1 data source (I_ReservationDocumentHeader) and exposes 60 fields with key field Reservation. It has 4 associations to related views.

Data Sources (1)

SourceAliasJoin Type
I_ReservationDocumentHeader _ReservationDocumentHeader from

Associations (4)

CardinalityTargetAliasCondition
[0..*] C_ReservationDocItemOPg _ReservationDocumentItem $projection.Reservation = _ReservationDocumentItem.Reservation
[0..1] I_ResvnCalculatedFilters _ResvnCalculatedFilters $projection.Reservation = _ResvnCalculatedFilters.Reservation
[0..1] I_UserDescription _CreatedByUser $projection.UserID = _CreatedByUser.UserID
[0..1] I_ResvnCategoryDetermination _ResvnCategoryDetermination $projection.Reservation = _ResvnCategoryDetermination.Reservation

Annotations (8)

NameValueLevelField
AccessControl.authorizationCheck #CHECK view
EndUserText.label Reservation Document Object Page view
ObjectModel.usageType.serviceQuality #X view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #MIXED view
Metadata.allowExtensions true view
VDM.viewType #CONSUMPTION view
Search.searchable false view

Fields (60)

KeyFieldSource TableSource FieldDescription
KEY Reservation I_ReservationDocumentHeader Reservation
OrderID I_ReservationDocumentHeader OrderID
OrderDescription
UICT_OrderID
GoodsMovementType I_ReservationDocumentHeader GoodsMovementType
GoodsMovementTypeName
CostCenter I_ReservationDocumentHeader CostCenter
ReservationDate I_ReservationDocumentHeader ReservationDate
CostCenterName
UICT_CostCenter
NmbrOfCompletedResvnDocItms _ResvnCalculatedFilters NmbrOfCompletedResvnDocItms
NmbrOfResvnDocItems _ResvnCalculatedFilters NmbrOfResvnDocItems
ResvnDocCompletionPrgrsCritlty _ResvnCalculatedFilters ResvnDocCompletionPrgrsCritlty
ProfitCenter I_ReservationDocumentHeader ProfitCenter
UICT_ProfitCenter
ProfitabilitySegment I_ReservationDocumentHeader ProfitabilitySegment_2
UICT_ProfitabilitySegment
ControllingArea I_ReservationDocumentHeader ControllingArea
GoodsRecipientName I_ReservationDocumentHeader GoodsRecipientName
UICT_GoodsRecipientName
IsCheckedAgainstFactoryCal I_ReservationDocumentHeader IsCheckedAgainstFactoryCal
Customer I_ReservationDocumentHeader Customer
SalesOrder I_ReservationDocumentHeader SalesOrder
UICT_SalesOrder
SalesOrderItem I_ReservationDocumentHeader SalesOrderItem
UICT_SalesOrderItem
SalesOrderScheduleLine I_ReservationDocumentHeader SalesOrderScheduleLine
UICT_SalesOrderScheduleLine
AssetNumber I_ReservationDocumentHeader AssetNumber
UICT_AssetNumber
AssetSubNumber I_ReservationDocumentHeader AssetSubNumber
UICT_AssetSubNumber
IssuingOrReceivingPlant I_ReservationDocumentHeader IssuingOrReceivingPlant
UICT_IssuingOrReceivingPlant
IssuingOrReceivingStorageLoc I_ReservationDocumentHeader IssuingOrReceivingStorageLoc
UICT_IssuingOrReceivingStorage
WBSElementInternalID
UICT_WBSElementInternalID
OrderIDelseendasResvnCategoryReference
ResvnCategoryReferenceLabel
WBSElement
WBSDescription
Plant
NetworkNumberForAcctAssgmt I_ReservationDocumentHeader NetworkNumberForAcctAssgmt
ResvnVerificationCompanyCode I_ReservationDocumentHeader ResvnVerificationCompanyCode
UserID I_ReservationDocumentHeader UserID
CreatedByUserName _CreatedByUser UserDescription
CreationDateTime I_ReservationDocumentHeader CreationDateTime
LastChangedByUser I_ReservationDocumentHeader LastChangedByUser
LastChangeDateTime I_ReservationDocumentHeader LastChangeDateTime
ReservationCategory _ResvnCategoryDetermination ReservationCategory
ReservationCategoryName
_ControllingArea I_ReservationDocumentHeader _ControllingArea
_CostCenter I_ReservationDocumentHeader _CostCenter
_Customer I_ReservationDocumentHeader _Customer
_GoodsMovementType I_ReservationDocumentHeader _GoodsMovementType
_Order I_ReservationDocumentHeader _Order
_ProfitCenter I_ReservationDocumentHeader _ProfitCenter
_VerificationCompanyCode I_ReservationDocumentHeader _VerificationCompanyCode
_ReservationDocumentItem _ReservationDocumentItem
@AbapCatalog.viewEnhancementCategory: [#NONE]
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Reservation Document Object Page'
@ObjectModel.usageType:{
  serviceQuality: #X,
  sizeCategory: #L,
  dataClass: #MIXED
}
@Metadata.allowExtensions: true
@VDM.viewType: #CONSUMPTION
@Search.searchable: false
define view entity C_ReservationDocOPg
  as select from I_ReservationDocumentHeader as _ReservationDocumentHeader

  association [0..*] to C_ReservationDocItemOPg      as _ReservationDocumentItem    on $projection.Reservation = _ReservationDocumentItem.Reservation
  association [0..1] to I_ResvnCalculatedFilters     as _ResvnCalculatedFilters     on $projection.Reservation = _ResvnCalculatedFilters.Reservation
  association [0..1] to I_UserDescription            as _CreatedByUser              on $projection.UserID = _CreatedByUser.UserID
  association [0..1] to I_ResvnCategoryDetermination as _ResvnCategoryDetermination on $projection.Reservation = _ResvnCategoryDetermination.Reservation

{
  key _ReservationDocumentHeader.Reservation,
      @ObjectModel.text.element: ['OrderDescription']
      _ReservationDocumentHeader.OrderID,
      @Semantics.text:true
      _ReservationDocumentHeader._Order.OrderDescription                                                                                     as OrderDescription,
      @UI.hidden: true
      @Semantics.booleanIndicator:true
      @ObjectModel.virtualElement: true
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_IMRS_FIELD_CNTRL_CALC_EXIT'
      cast( '' as boole_d)                                                                                                                   as UICT_OrderID,
      @ObjectModel.text.element: ['GoodsMovementTypeName']
      @UI.textArrangement: #TEXT_FIRST
      _ReservationDocumentHeader.GoodsMovementType,
      @Semantics.text:true
      _ReservationDocumentHeader._GoodsMovementType._Text[1:Language=$session.system_language].GoodsMovementTypeName                         as GoodsMovementTypeName,
       @ObjectModel.text.element: ['CostCenterName']
      _ReservationDocumentHeader.CostCenter,
      _ReservationDocumentHeader.ReservationDate,
      @Semantics.text:true
      //      _CostCenterText._Text[1:Language=$session.system_language].CostCenterName                                       as CostCenterName,

      @ObjectModel.virtualElement: true
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_IMRS_FIELD_CNTRL_CALC_EXIT'
      cast( '' as abap.char( 30 ) )                                                                                                          as CostCenterName,
      @UI.hidden: true
      @ObjectModel.virtualElement: true
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_IMRS_FIELD_CNTRL_CALC_EXIT'
      cast( '' as boole_d)                                                                                                                   as UICT_CostCenter,
      _ResvnCalculatedFilters.NmbrOfCompletedResvnDocItms,
      _ResvnCalculatedFilters.NmbrOfResvnDocItems,
      _ResvnCalculatedFilters.ResvnDocCompletionPrgrsCritlty,

      _ReservationDocumentHeader.ProfitCenter,
      @UI.hidden: true
      @Semantics.booleanIndicator:true
      @ObjectModel.virtualElement: true
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_IMRS_FIELD_CNTRL_CALC_EXIT'
      cast( '' as boole_d)                                                                                                                   as UICT_ProfitCenter,
      _ReservationDocumentHeader.ProfitabilitySegment_2 as ProfitabilitySegment,
      @UI.hidden: true
      @Semantics.booleanIndicator:true
      @ObjectModel.virtualElement: true
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_IMRS_FIELD_CNTRL_CALC_EXIT'
      cast( '' as boole_d)                                                                                                                   as UICT_ProfitabilitySegment,

      _ReservationDocumentHeader.ControllingArea,
      _ReservationDocumentHeader.GoodsRecipientName,
      @UI.hidden: true
      @Semantics.booleanIndicator:true
      @ObjectModel.virtualElement: true
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_IMRS_FIELD_CNTRL_CALC_EXIT'
      cast( '' as boole_d)                                                                                                                   as UICT_GoodsRecipientName,

      _ReservationDocumentHeader.IsCheckedAgainstFactoryCal,
      _ReservationDocumentHeader.Customer,


      _ReservationDocumentHeader.SalesOrder,
      @UI.hidden: true
      @Semantics.booleanIndicator:true
      @ObjectModel.virtualElement: true
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_IMRS_FIELD_CNTRL_CALC_EXIT'
      cast( '' as boole_d)                                                                                                                   as UICT_SalesOrder,

      _ReservationDocumentHeader.SalesOrderItem,
      @UI.hidden: true
      @Semantics.booleanIndicator:true
      @ObjectModel.virtualElement: true
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_IMRS_FIELD_CNTRL_CALC_EXIT'
      cast( '' as boole_d)                                                                                                                   as UICT_SalesOrderItem,

      _ReservationDocumentHeader.SalesOrderScheduleLine,
      @UI.hidden: true
      @Semantics.booleanIndicator:true
      @ObjectModel.virtualElement: true
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_IMRS_FIELD_CNTRL_CALC_EXIT'
      cast( '' as boole_d)                                                                                                                   as UICT_SalesOrderScheduleLine,


      _ReservationDocumentHeader.AssetNumber,
      @UI.hidden: true
      @Semantics.booleanIndicator:true
      @ObjectModel.virtualElement: true
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_IMRS_FIELD_CNTRL_CALC_EXIT'
      cast( '' as boole_d)                                                                                                                   as UICT_AssetNumber,

      _ReservationDocumentHeader.AssetSubNumber,
      @UI.hidden: true
      @Semantics.booleanIndicator:true
      @ObjectModel.virtualElement: true
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_IMRS_FIELD_CNTRL_CALC_EXIT'
      cast( '' as boole_d)                                                                                                                   as UICT_AssetSubNumber,

      _ReservationDocumentHeader.IssuingOrReceivingPlant,

      @UI.hidden: true
      @Semantics.booleanIndicator:true
      @ObjectModel.virtualElement: true
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_IMRS_FIELD_CNTRL_CALC_EXIT'
      cast( '' as boole_d)                                                                                                                   as UICT_IssuingOrReceivingPlant,

      _ReservationDocumentHeader.IssuingOrReceivingStorageLoc,

      @UI.hidden: true
      @Semantics.booleanIndicator:true
      @ObjectModel.virtualElement: true
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_IMRS_FIELD_CNTRL_CALC_EXIT'
      cast( '' as boole_d)                                                                                                                   as UICT_IssuingOrReceivingStorage,

      cast ( _ReservationDocumentHeader.WBSElementInternalID as ps_s4_pspnr preserving type )                                                as WBSElementInternalID,

      @UI.hidden: true
      @Semantics.booleanIndicator:true
      @ObjectModel.virtualElement: true
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_IMRS_FIELD_CNTRL_CALC_EXIT'
      cast( '' as boole_d)                                                                                                                   as UICT_WBSElementInternalID,

      //Calculated field for order number visibility

      @UI.hidden: true
      @Semantics.booleanIndicator:true
      @ObjectModel.virtualElement: true
      case when _ResvnCategoryDetermination.ReservationCategory = '050' or
                _ResvnCategoryDetermination.ReservationCategory = '100' or
                _ResvnCategoryDetermination.ReservationCategory = '030' and  _ReservationDocumentItem [ 1: ReservationItem = '0001' and RecordType = '' ].ServiceDocument is null or
                _ResvnCategoryDetermination.ReservationCategory = '040' or
                (_ResvnCategoryDetermination.ReservationCategory = '070'  or _ResvnCategoryDetermination.ReservationCategory = '080' or _ResvnCategoryDetermination.ReservationCategory = '090') and _ReservationDocumentHeader.OrderID is null
      then 'X'
      else cast( '' as boole_d)

      end                                                                                                                                    as UICT_ResvnCategoryReference,

      /**
      * Plant maintenance - 080 - Order Id need to be displayed
      * Process Order - 090 - Order Id need to be displayed
      * Production Order - 070 - Order Id need to be displayed
      * EPPM - 040 - WBS External ID Id need to be displayed
      * Service Order - 030 - Service Document Id
      * MRP Stock transfer - 050 - Dont display Order id
      * Network Reservation - 100 - Dont display Order id
      */
      case when _ResvnCategoryDetermination.ReservationCategory = '030'
       then _ReservationDocumentItem [ 1: ReservationItem = '0001' and RecordType = '' ].ServiceDocument

      //      when _ResvnCategoryDetermination.ReservationCategory = '040'

      //      then _WBSElementBasicData.WBSElementExternalID


       when _ResvnCategoryDetermination.ReservationCategory = '070'  or
            _ResvnCategoryDetermination.ReservationCategory = '080'  or
            _ResvnCategoryDetermination.ReservationCategory = '090'
       then _ReservationDocumentHeader.OrderID
       else ''

       end                                                                                                                                   as ResvnCategoryReference,

      @ObjectModel.virtualElement: true
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_IMRS_FIELD_CNTRL_CALC_EXIT'
      cast( '' as abap.char( 30 ) )                                                                                                          as ResvnCategoryReferenceLabel,

      @ObjectModel.text.element: ['WBSDescription']
      _ReservationDocumentHeader._WBSElementBasicData.WBSElementExternalID                                                                   as WBSElement,
      _ReservationDocumentHeader._WBSElementBasicData.WBSDescription,
      cast ( _ReservationDocumentItem [ 1: ReservationItem = '0001' and RecordType = '' ].Plant    as werks_d preserving type)               as Plant,
      _ReservationDocumentHeader.NetworkNumberForAcctAssgmt,

      _ReservationDocumentHeader.ResvnVerificationCompanyCode,
      @ObjectModel.text.element: ['CreatedByUserName']
      _ReservationDocumentHeader.UserID,
      @Semantics.text:true
      _CreatedByUser.UserDescription                                                                                                         as CreatedByUserName,
      _ReservationDocumentHeader.CreationDateTime,
      _ReservationDocumentHeader.LastChangedByUser,
      _ReservationDocumentHeader.LastChangeDateTime,

      @ObjectModel.text.element: ['ReservationCategoryName']
      @UI.textArrangement: #TEXT_ONLY
      _ResvnCategoryDetermination.ReservationCategory                                                                                        as ReservationCategory,
      @Semantics.text:true
      _ResvnCategoryDetermination._ReservationCategory._ReservationCategoryText[1:Language=$session.system_language].ReservationCategoryName as ReservationCategoryName,


      /* Associations */
      _ReservationDocumentHeader._ControllingArea,
      _ReservationDocumentHeader._CostCenter,
      _ReservationDocumentHeader._Customer,
      _ReservationDocumentHeader._GoodsMovementType,
      _ReservationDocumentHeader._Order,
      _ReservationDocumentHeader._ProfitCenter,
      _ReservationDocumentHeader._VerificationCompanyCode,
      _ReservationDocumentItem
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"C_RESERVATIONDOCITEMOPG",
"I_GOODSMOVEMENTTYPE",
"I_GOODSMOVEMENTTYPET",
"I_LOGISTICSORDER",
"I_RESERVATIONCATEGORY",
"I_RESERVATIONCATEGORYTEXT",
"I_RESERVATIONDOCUMENTHEADER",
"I_RESVNCALCULATEDFILTERS",
"I_RESVNCATEGORYDETERMINATION",
"I_USERDESCRIPTION",
"I_WBSELEMENTBASICDATA"
],
"ASSOCIATED":
[
"C_RESERVATIONDOCITEMOPG",
"I_COMPANYCODE",
"I_CONTROLLINGAREA",
"I_COSTCENTER",
"I_CUSTOMER",
"I_GOODSMOVEMENTTYPE",
"I_LOGISTICSORDER",
"I_PROFITCENTER"
],
"BASE":
[
"I_RESERVATIONDOCUMENTHEADER"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/