R_TIMESHEET

CDS View

Time Sheet

R_TIMESHEET is a CDS View in S/4HANA. Time Sheet. It contains 7 fields. 3 CDS views read from this table.

CDS Views using this table (3)

ViewTypeJoinVDMDescription
I_TimeSheet view_entity from BASIC Time Sheet
R_EnterpriseProjectTimeSheet view_entity from COMPOSITE Enterprise Project Time Sheet
R_TimeSheetTP view_entity from TRANSACTIONAL Time Sheet - TP

Fields (7)

KeyField CDS FieldsUsed in Views
KEY ActivityType ActivityType 1
KEY BillableControl BillableControl 1
KEY ProjectUUID ProjectUUID 1
KEY WBSElementInternalID WBSElementInternalID 1
KEY WorkAssignment WorkAssignment 1
KEY WorkItem WorkItem 1
HoursUnitOfMeasure HoursUnitOfMeasure 1
@AccessControl.authorizationCheck: #MANDATORY
@VDM.viewType: #BASIC
@EndUserText.label: 'Time Sheet'
@ObjectModel: {
   usageType: {
     serviceQuality: #A,
     sizeCategory:   #XL,
     dataClass:      #TRANSACTIONAL
   }
 }
@VDM.lifecycle.contract.type: #SAP_INTERNAL_API

define view entity R_TimeSheet
  as select from catsdbext
//  The following association is removed as part of RAP BO clean up activity since the SDM execution is completed in 2308, We can delete the CDS  P_TimeSheetSDMStatus later. 

//  association [0..1] to P_TimeSheetSDMStatus as _TimeSheetSDMStatus on _TimeSheetSDMStatus.MigrationClass = 'CL_SDM_CATSDB_2308'

  association [1..1] to I_TimeSheetRecord    as _TimeSheetRecord    on $projection.TimeSheetRecord = _TimeSheetRecord.TimeSheetRecord

  // ---------------- Following associations would be required beyond CE 2402 ++ -------------------------------------------------

  //  association [1..1] to I_PersonWorkAgreement_1 as _PersonWorkAgreement_1 on $projection.WorkAssignment = _PersonWorkAgreement_1.PersonWorkAgreement

  //  association [1..*] to I_EnterpriseProject as _EnterpriseProject on $projection.WBSElementInternalID = _EnterpriseProject.WBSElementInternalID

  //  association [1..*] to I_CostCenterActivityType as _CostCenterActivityType on $projection.ActivityType = _CostCenterActivityType.CostCtrActivityType

  //  association [1..*] to I_CostCenter as _CostCenter on $projection.SenderCostCenter = _CostCenter.CostCenter

  //                                                    or $projection.ReceiverCostCenter = _CostCenter.CostCenter

  //  association [1..1] to I_WorkItem as _WorkItem on $projection.WorkItem = _WorkItem.WorkItem

  //  association [1..1] to I_TimeSheetTaskType as _TimeSheetTaskType on $projection.TimeSheetTaskType = _TimeSheetTaskType.TimeSheetTaskType

  //  association [1..*] to I_TimeSheetWrkLoc as _TimeSheetWrkLoc on $projection.TimeSheetWrkLocCode = _TimeSheetWrkLoc.TimeSheetWrkLocCode

  //  association [1..*] to I_TimeSheetOvertimeCatText as _TimeSheetOvertimeCatText on $projection.TimeSheetOvertimeCategory = _TimeSheetOvertimeCatText.TimeSheetOvertimeCategory

  //  association [1..*] to I_TimeSheetRejectionReasonText as _TimeSheetRejectionReasonText on $projection.TimeSheetRejectionReason = _TimeSheetRejectionReasonText.TimeSheetRejectionReason

  //  association [1..*] to I_TimeSheetStatusText as _TimeSheetStatusText on $projection.TimeSheetStatus = _TimeSheetStatusText.TimeSheetStatus

  //  association [1..1] to I_PurchaseOrder as _PurchaseOrder on $projection.PurchaseOrder = _PurchaseOrder.PurchaseOrder

  //  association [1..*] to I_PurchaseOrderItem as _PurchaseOrderItem on $projection.PurchaseOrderItem = _PurchaseOrderItem.PurchaseOrderItem

  //  association [1..*] to I_Fund as _Fund on $projection.SenderPubSecFund = _Fund.Fund

  //                                        or $projection.ReceiverPubSecFund = _Fund.Fund

  //  association [1..*] to I_FundsMgmtFunctionalArea as _FundsMgmtFunctionalArea on $projection.SendingPubSecFunctionalArea = _FundsMgmtFunctionalArea.FunctionalAreaSubdivisionID

  //                                                                              or $projection.ReceiverPubSecFuncnlArea = _FundsMgmtFunctionalArea.FunctionalAreaSubdivisionID

  //  association [1..*] to I_Grant as _Grant on $projection.SenderPubSecGrant = _Grant.GrantID

  //                                          or $projection.ReceiverPubSecGrant = _Grant.GrantID

  //  association [1..*] to I_BudgetPeriod as _BudgetPeriod on $projection.SenderPubSecBudgetPeriod = _BudgetPeriod.BudgetPeriod

  //                                                        or $projection.ReceiverPubSecBudgetPeriod = _BudgetPeriod.BudgetPeriod

  //

  //  association [1..1] to I_BillingControlCategoryToAccInd as _BillgControlCategoryToAccInd on $projection.AccountingIndicatorCode = _BillgControlCategoryToAccInd.AccountingIndicatorCode


{
      // Key fields

  key catsdbext.timesheetrecorduuid            as TimeSheetRecordUUID,
      catsdbext.timesheetrecord                as TimeSheetRecord,

      // Basic Info for timesheet

      _TimeSheetRecord.PersonWorkAgreement     as WorkAssignment,
      _TimeSheetRecord.TimeSheetDate,
      @Semantics.quantity.unitOfMeasure: 'HoursUnitOfMeasure'
      _TimeSheetRecord.RecordedHours,
      _TimeSheetRecord.HoursUnitOfMeasure,
      catsdbext.timesheetrecordlongtext        as TimeSheetRecordLongText,

      // Acc. Obj -> Project

      catsdbext.projectuuid                    as ProjectUUID,
      _TimeSheetRecord.WBSElementInternalID,
      _TimeSheetRecord.ActivityType,
      _TimeSheetRecord.WorkItem,
      _TimeSheetRecord.AccountingIndicatorCode as BillableControl,
      //      _TimeSheetRecord.TimeSheetOvertimeCategory,

      //      _TimeSheetRecord.TimeSheetWrkLocCode,

      //

      //      // Acc. Obj -> StatKeyFig --Non-Project related tasks

      //      _TimeSheetRecord.TimeSheetTaskType,

      //      _TimeSheetRecord.TimeSheetTaskLevel,

      //      _TimeSheetRecord.TimeSheetTaskComponent,

      //

      //      // Acc. Obj -> Cost Center

      //      _TimeSheetRecord.SenderCostCenter,

      //      _TimeSheetRecord.ReceiverCostCenter,

      //

      //      // Acc. Obj -> Purchase Order

      //      _TimeSheetRecord.PurchaseOrder,

      //      _TimeSheetRecord.PurchaseOrderItem,

      //

      //      // Acc. Obj -> Service Mgmt.

      //      _TimeSheetRecord.ServiceDocumentType,

      //      _TimeSheetRecord.ServiceDocument,

      //      _TimeSheetRecord.ServiceDocumentItem,

      //

      //      // Acc. Obj -> PSM

      //      _TimeSheetRecord.SenderPubSecFund,

      //      _TimeSheetRecord.SendingPubSecFunctionalArea,

      //      _TimeSheetRecord.SenderPubSecGrant,

      //      _TimeSheetRecord.SenderPubSecBudgetPeriod,

      //      _TimeSheetRecord.ReceiverPubSecFund,

      //      _TimeSheetRecord.ReceiverPubSecFuncnlArea,

      //      _TimeSheetRecord.ReceiverPubSecGrant,

      //      _TimeSheetRecord.ReceiverPubSecBudgetPeriod,


      // TimeSheet Derived attributes

      _TimeSheetRecord.TimeSheetStatus,
      _TimeSheetRecord.RejectionReason         as TimeSheetRejectionReason,
      _TimeSheetRecord.TimeSheetPredecessorRecord,
      _TimeSheetRecord.TimeSheetAccountingDocument,
      _TimeSheetRecord.WorkflowTaskInternalID,
      //cast ( _TimeSheetRecord.WorkflowTaskInternalID as /cpd/pfp_workitem_id ) as WorkflowTaskInternalID,


      // Administrative and change log fields

      _TimeSheetRecord.CreatedByUser,
      _TimeSheetRecord.LastChangedByUser,
      _TimeSheetRecord.TimeSheetApprovedByUser,
      _TimeSheetRecord.TimeSheetApprovedDate,
      _TimeSheetRecord.TimeSheetCreationDate,
      _TimeSheetRecord.TimeSheetEntryTime,
      _TimeSheetRecord.TimeSheetLastChangedDate,
      _TimeSheetRecord.TimeSheetLastChangedTime,
      catsdbext.lastchangedatetime             as LastChangeDateTime,
      catsdbext.timesheetlastchangedatetime    as TimeSheetLastChangeDateTime

      //Association

      //_TimeSheetRecord


      // Associations

      //  _PersonWorkAgreement_1,

      //  _EnterpriseProject,

      //  _CostCenterActivityType,

      //  _CostCenter,

      //  _WorkItem,

      //  _TimeSheetTaskType,

      //  _TimeSheetOvertimeCatText,

      //  _TimeSheetRejectionReasonText,

      //  _TimeSheetStatusText,

      //  _PurchaseOrder,

      //  _PurchaseOrderItem,

      //  _Fund,

      //  _FundsMgmtFunctionalArea,

      //  _Grant,

      //  _BudgetPeriod


}
//where

//     _TimeSheetSDMStatus.MigrationStatus = 'F' //Finished

//  or _TimeSheetSDMStatus.MigrationStatus = 'N' //Not required.