C_ServiceDocumentItemRefObject

DDL: C_SERVICEDOCUMENTITEMREFOBJECT SQL: CSRVCITMREF Type: view CONSUMPTION

Reference Objects Details

C_ServiceDocumentItemRefObject is a Consumption CDS View that provides data about "Reference Objects Details" in SAP S/4HANA. It reads from 1 data source (I_ServiceDocumentRefObject) and exposes 19 fields with key fields ServiceObjectType, ServiceDocument, ServiceDocumentItem, ServiceRefObjectSequenceNumber.

Data Sources (1)

SourceAliasJoin Type
I_ServiceDocumentRefObject I_ServiceDocumentRefObject from

Annotations (10)

NameValueLevelField
AbapCatalog.sqlViewName CSRVCITMREF view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #CHECK view
EndUserText.label Reference Objects Details view
ClientHandling.algorithm #SESSION_VARIABLE view
VDM.viewType #CONSUMPTION view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XL view

Fields (19)

KeyFieldSource TableSource FieldDescription
KEY ServiceObjectType ServiceObjectType
KEY ServiceDocument ServiceDocument
KEY ServiceDocumentItem ServiceDocumentItem
KEY ServiceRefObjectSequenceNumber ServiceRefObjectSequenceNumber
ServiceReferenceObjectType ServiceReferenceObjectType
ServiceReferenceObjectUUID ServiceReferenceObjectUUID
ProductID ProductID Product ID
ProductName
SrvcRefObjIsMainObject SrvcRefObjIsMainObject Main Object
ProductUUID ProductUUID
SerialNumber SerialNumber
Equipment Equipment Equipment ID
EquipmentName
FunctionalLocation FunctionalLocation Functional Location
FunctionalLocationName
_Equipment _Equipment
_FunctionalLocation _FunctionalLocation
_Product _Product
_SrvcReferenceObjectType _SrvcReferenceObjectType
@AbapCatalog.sqlViewName: 'CSRVCITMREF'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl: {
  authorizationCheck: #CHECK,
  personalData.blocking: #('TRANSACTIONAL_DATA')
}
@EndUserText.label: 'Reference Objects Details'
@ClientHandling.algorithm: #SESSION_VARIABLE
@VDM: {
  viewType: #CONSUMPTION
}
//@UI.presentationVariant: [{

//requestAtLeast: ['TechnicalObject','TechObjIsEquipOrFuncnlLoc','Equipment','EquipmentName','ProductID','FunctionalLocation','FunctionalLocationName']

//}]

@ObjectModel: {
   usageType: {
     dataClass:      #TRANSACTIONAL,
     serviceQuality: #C,
     sizeCategory:   #XL
   }
}

define view C_ServiceDocumentItemRefObject
  as select from I_ServiceDocumentRefObject

{
      //I_ServiceDocumentRefObject

      @UI.hidden: true
  key ServiceObjectType,

      @UI.hidden: true
  key ServiceDocument,

      @UI.hidden: true
  key ServiceDocumentItem,

      @UI.hidden: true
  key ServiceRefObjectSequenceNumber,

      @UI.hidden: true
      ServiceReferenceObjectType,

      @UI.hidden: true
      ServiceReferenceObjectUUID,

      @UI: {lineItem:[{position:10}],textArrangement: #TEXT_FIRST}
      @EndUserText.label: 'Product ID'
      @ObjectModel.text.element: ['ProductName']
      @Consumption.semanticObject: 'MaintenanceObject'
      ProductID,
      @UI.hidden: true
      _Product._Text[1: Language=$session.system_language].ProductName,
      @UI: {lineItem:[{position:70}]}

      @EndUserText.label: 'Main Object'
      SrvcRefObjIsMainObject,

      @UI.hidden: true
      ProductUUID,

      //@UI.hidden: true

      // ServiceDocument as TrasactionID ,

      @UI.hidden: true
      SerialNumber,
      @UI: {lineItem:[{position:50}], textArrangement: #TEXT_FIRST}
      @EndUserText.label: 'Equipment ID'
      @ObjectModel.text.element: ['EquipmentName']
      @Consumption.semanticObject: 'MaintenanceObject'
      //      @Consumption.semanticObjectMapping:{

      //       element: 'Equipment',

      //       additionalBinding: [{

      //         element: 'TechObjIsEquipOrFuncnlLoc',

      //         localElement: 'FunLocFlag'

      //        }]

      //     }

      Equipment,
      @UI.hidden: true
      _Equipment._EquipmentText[1: Language=$session.system_language].EquipmentName,
      @UI: {lineItem:[{position:30}], textArrangement: #TEXT_FIRST}
      @EndUserText.label: 'Functional Location'
      @ObjectModel.text.element: ['FunctionalLocationName']
      @Consumption.semanticObject: 'MaintenanceObject'
//             @Consumption.semanticObjectMapping:{

////             element: 'Equipment',

//             additionalBinding: [{

//               element: 'TechObjIsEquipOrFuncnlLoc',

//               localElement: 'FunLocFlag'

//              }]

//           }

      FunctionalLocation,
      @UI: {lineItem:[{position:60}], textArrangement: #TEXT_FIRST}
      @EndUserText.label: 'Reference Product'
      @Consumption.semanticObject: 'MaintenanceObject'
      case ReferenceProduct
                when '' then _Equipment.Material
                else ReferenceProduct
       end      as ReferenceProduct,
      @UI.hidden: true
      _FunctionalLocation._FunctionalLocationText[1:Language = $session.system_language].FunctionalLocationName,
      @UI.hidden: true
            case ServiceReferenceObjectType
            when 'B' then 'EAMS_FL'
      //      when 'C' then 'EAMS_FL'

            when 'C' then 'EAMS_EQUI'
            end       as TechObjIsEquipOrFuncnlLoc,

//      'EAMS_EQUI' as FunLocFlag,


      case ServiceReferenceObjectType
       when 'B' then cast (FunctionalLocation as eams_tec_obj)
       when 'C' then cast (Equipment as eams_tec_obj)
      end       as TechnicalObject,

      /* Associations */
      //I_ServiceDocumentRefObject

      _Equipment,
      _FunctionalLocation,


      _Product,
      _SrvcReferenceObjectType
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_EQUIPMENT",
"I_EQUIPMENTTEXT",
"I_FUNCTIONALLOCATION",
"I_FUNCTIONALLOCATIONTEXT",
"I_PRODUCT",
"I_PRODUCTTEXT",
"I_SERVICEDOCUMENTREFOBJECT"
],
"ASSOCIATED":
[
"I_EQUIPMENT",
"I_FUNCTIONALLOCATION",
"I_PRODUCT",
"I_SRVCREFERENCEOBJECTTYPE"
],
"BASE":
[
"I_SERVICEDOCUMENTREFOBJECT"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/