@AbapCatalog.sqlViewName: 'CPURCONTRAPREML'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #NOT_REQUIRED
@EndUserText.label: 'Purchase Contract Details for Workflow Approval Email'
@VDM.viewType : #CONSUMPTION
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType : {
serviceQuality: #D,
sizeCategory: #L,
dataClass: #TRANSACTIONAL
}
@ObjectModel.supportedCapabilities: #OUTPUT_EMAIL_DATA_PROVIDER
@Metadata.ignorePropagatedAnnotations:true
define view C_PurContrApprovalEmail
as select from I_WorkflowTask as _Workflowtask
inner join I_WorkflowTaskApplObject as _WorkflowTaskApplObject on _WorkflowTaskApplObject.WorkflowTaskInternalID = _Workflowtask.WorkflowTaskInternalID
and _WorkflowTaskApplObject.WorkflowObjectRole = '01'
and _WorkflowTaskApplObject.SAPObjectNodeRepresentation = 'PurchaseContract'
and _WorkflowTaskApplObject.TechnicalWrkflwObjectCategory = 'CL'
// left outer to one join I_PurchaseContractAPI01 as _PurchaseContract on _PurchaseContract.PurchaseContract = _WorkflowTaskApplObject.TechnicalWrkflwObject
left outer to one join R_PurchasingDocument as _PurchaseContract on _PurchaseContract.PurchasingDocument = _WorkflowTaskApplObject.TechnicalWrkflwObject
and _PurchaseContract.PurchasingDocumentCategory = 'K'
left outer to one join I_PurchasingDocumentType as _PurDocType on _PurDocType.PurchasingDocumentType = _PurchaseContract.PurchasingDocumentType
and _PurDocType.PurchasingDocumentCategory = 'K'
left outer to one join I_User as _User on _User.UserID = _PurchaseContract.CreatedByUser
left outer to one join I_Supplier as _Supplier on _Supplier.Supplier = _PurchaseContract.Supplier
inner join P_PurchasingLastWorkflowStep as _WorkitemData on _WorkitemData.TopLevelWorkflowTask = _Workflowtask.TopLevelWorkflowTask
inner join I_WorkflowTask as _WorkitemDet on _WorkitemDet.WrkflwTskCompletionUTCDateTime = _WorkitemData.MaxWrkflwTskCompDateTime
and _WorkitemDet.TopLevelWorkflowTask = _WorkitemData.TopLevelWorkflowTask
and (
_WorkitemDet.WorkflowTaskType = 'W'
or _WorkitemDet.WorkflowTaskType = 'B' //3464975
)
left outer to one join I_User as _ApproverUser on _ApproverUser.UserID = _WorkitemDet.WorkflowTaskCurrentUser
{
key _Workflowtask.WorkflowTaskInternalID,
cast(substring(_WorkflowTaskApplObject.TechnicalWrkflwObject, 1 , 10 ) as ebeln ) as PurchaseContract,
_PurchaseContract.ActivePurchasingDocument as ActivePurchasingDocument,
_PurchaseContract.PurchasingDocumentType as PurchaseContractType,
_PurDocType._Text[1:Language=$session.system_language].PurchasingDocumentTypeName,
@Semantics.currencyCode: true
_PurchaseContract.DocumentCurrency,
//@Semantics.amount.currencyCode: 'DocumentCurrency'
//_PurchaseContract.PurchaseContractTargetAmount,
case _Workflowtask._WorkflowTaskResult.WorkflowTaskResult
when 'requestApproved' then 'Approved'
when 'requestRejected' then 'Rejected'
else _Workflowtask._WorkflowTaskResult.WorkflowTaskResult end as WorkflowTaskResult,
cast(tstmp_to_dats( _Workflowtask.WrkflwTskCreationUTCDateTime, 'UTC', $session.client, 'NULL' ) as sww_lsd ) as PurContrWrkflwTskCrtnUTCDte,
cast(tstmp_to_tims( _Workflowtask.WrkflwTskCreationUTCDateTime, 'UTC', $session.client, 'NULL' ) as sww_lst ) as PurContrWrkflwTskCrtnUTCTme,
cast(tstmp_to_dats( _Workflowtask.WrkflwTskCompletionUTCDateTime, 'UTC', $session.client, 'NULL' ) as sww_led ) as PurContrWrkflwTaskEndUTCDate,
cast(tstmp_to_tims( _Workflowtask.WrkflwTskCompletionUTCDateTime, 'UTC', $session.client, 'NULL' ) as sww_let ) as PurContrWrkflwTaskEndUTCTime,
cast(tstmp_to_dats( _Workflowtask._TaskDueDate.WorkflowTaskDueUTCDateTime, 'UTC', $session.client, 'NULL' ) as sww_led ) as PurContrWrkflwTskDuUTCDte,
cast(tstmp_to_tims( _Workflowtask._TaskDueDate.WorkflowTaskDueUTCDateTime, 'UTC', $session.client, 'NULL' ) as sww_let ) as PurContrWrkflwTskDuUTCTme,
_Workflowtask._WorkflowTaskResult._WorkflowTaskResultReason._WorkflowTaskResultReasonText[1:Language=$session.system_language].WorkflowTaskResultReasonText,
_PurchaseContract.Supplier,
_Supplier.SupplierName,
_User.UserDescription as CreatedByUserDescription,
cast(_ApproverUser.UserDescription as mm_oa_user_fullname ) as ApprovedByUserFullName
}
where
_Workflowtask.WorkflowTaskType = 'F'