I_CAScrtyDepRequestProcess

DDL: I_CASCRTYDEPREQUESTPROCESS Type: view_entity COMPOSITE Package: ODATA_O2C_FICA_SCRTY_DEP_MNG

Document Process of a Specific Request

I_CAScrtyDepRequestProcess is a Composite CDS View that provides data about "Document Process of a Specific Request" in SAP S/4HANA. It reads from 3 data sources (I_CADocument, P_CAScrtyDepReqDocumentAmounts, I_User) and exposes 18 fields with key fields CASecurityDeposit, CADocumentNumber, CASecurityDepositDocument. It has 2 associations to related views. Part of development package ODATA_O2C_FICA_SCRTY_DEP_MNG.

Data Sources (3)

SourceAliasJoin Type
I_CADocument DocHeader left_outer
P_CAScrtyDepReqDocumentAmounts ScrtyDepReq from
I_User User left_outer

Associations (2)

CardinalityTargetAliasCondition
[1..*] I_CAScrtyDepDocCategoryText _CAScrtyDepDocCategoryText $projection.CASecurityDepositDocCategory = _CAScrtyDepDocCategoryText.CASecurityDepositDocCategory
[1] I_CASecurityDepositMgmtTP _CASecurityDepositMgmtTP $projection.CASecurityDeposit = _CASecurityDepositMgmtTP.CASecurityDeposit

Annotations (7)

NameValueLevelField
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #REQUIRED view
ObjectModel.usageType.sizeCategory #XXL view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
EndUserText.label Document Process of a Specific Request view
VDM.viewType #COMPOSITE view

Fields (18)

KeyFieldSource TableSource FieldDescription
KEY CASecurityDeposit P_CAScrtyDepReqDocumentAmounts CASecurityDeposit
KEY CADocumentNumber P_CAScrtyDepReqDocumentAmounts CADocumentNumber
KEY CASecurityDepositDocument P_CAScrtyDepReqDocumentAmounts CASecurityDepositDocument
CAAuthorizationGroup
CASecurityDepositDocCategory P_CAScrtyDepReqDocumentAmounts CASecurityDepositDocCategory
CASecurityDepDocCatCriticality P_CAScrtyDepReqDocumentAmounts CASecurityDepDocCatCriticality
CASecurityDepositDocCatText
CAAmountInTransactionCurrency
CAReleasedAmtInPaymentCurrency
TransactionCurrency P_CAScrtyDepReqDocumentAmounts TransactionCurrency
PaymentCurrency P_CAScrtyDepReqDocumentAmounts PaymentCurrency
CreatedByUser I_CADocument CreatedByUser
CreationDate
CreationTime
_TransactionCurrency P_CAScrtyDepReqDocumentAmounts _TransactionCurrency
_PaymentCurrency P_CAScrtyDepReqDocumentAmounts _PaymentCurrency
_CASecurityDepositMgmtTP _CASecurityDepositMgmtTP
_CASecurityDepositReqDoc _CASecurityDepositReqDoc
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #REQUIRED

@ObjectModel.usageType.sizeCategory: #XXL
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.dataClass: #TRANSACTIONAL

@EndUserText.label: 'Document Process of a Specific Request'

@VDM.viewType: #COMPOSITE

define view entity I_CAScrtyDepRequestProcess as
  select from       P_CAScrtyDepReqDocumentAmounts as ScrtyDepReq
    left outer join I_CADocument as DocHeader on ScrtyDepReq.CADocumentNumber = DocHeader.CADocumentNumber
    left outer join I_User       as User      on DocHeader.CreatedByUser      = User.UserID
    
  association to parent I_CASecurityDepositReqDocTP as _CASecurityDepositReqDoc   on  $projection.CASecurityDeposit = _CASecurityDepositReqDoc.CASecurityDeposit
                                                                                  and $projection.CASecurityDepositDocument = _CASecurityDepositReqDoc.CADocumentNumber
  association [1..*] to I_CAScrtyDepDocCategoryText as _CAScrtyDepDocCategoryText on  $projection.CASecurityDepositDocCategory = _CAScrtyDepDocCategoryText.CASecurityDepositDocCategory
  association [1]    to I_CASecurityDepositMgmtTP   as _CASecurityDepositMgmtTP   on  $projection.CASecurityDeposit = _CASecurityDepositMgmtTP.CASecurityDeposit
{
  key ScrtyDepReq.CASecurityDeposit,

  key ScrtyDepReq.CADocumentNumber,

  key cast(
        case 
          when ScrtyDepReq.CAScrtyDepositClearedDocument = '000000000000'   then '            '
          when ScrtyDepReq.CAScrtyDepositClearedDocument <> '000000000000'  then ScrtyDepReq.CAScrtyDepositClearedDocument
           end as auggb_kk preserving type  )      as CAScrtyDepositClearedDocument,

  key ScrtyDepReq.CASecurityDepositDocument,
      
      ScrtyDepReq._SecurityDeposit.CAAuthorizationGroup,     

      ScrtyDepReq.CASecurityDepositDocCategory,

      ScrtyDepReq.CASecurityDepDocCatCriticality,

      _CAScrtyDepDocCategoryText[1: Language=$session.system_language].CASecurityDepositDocCatText,

      @Semantics.amount.currencyCode: 'TransactionCurrency'
      cast( abs(ScrtyDepReq.CAAmountInTransactionCurrency) as secdep_doc_amt_kk preserving type  ) as CAAmountInTransactionCurrency,

      @Semantics.amount.currencyCode: 'PaymentCurrency'
      cast( abs(ScrtyDepReq.CAReleasedAmtInPaymentCurrency) as rel_part_kk preserving type )      as CAReleasedAmtInPaymentCurrency,

      ScrtyDepReq.TransactionCurrency,

      ScrtyDepReq.PaymentCurrency,

      @ObjectModel.text.element: ['CreatedByUserDescription']
      DocHeader.CreatedByUser,

      @Semantics.text:true
      case 
          when User.UserDescription = ' '  then DocHeader.CreatedByUser
          when User.UserDescription <> ' ' then User.UserDescription end as CreatedByUserDescription,

      cast(DocHeader.CreationDate as erdat)                                         as CreationDate,

      cast(DocHeader.CreationTime as crtime_kk)                                     as CreationTime,

      cast (
        cast(dats_tims_to_tstmp ( DocHeader.CreationDate,
                                  DocHeader.CreationTime,
                                  abap_system_timezone( $session.client,  'NULL' ),
                                  $session.client,
                                  'NULL' ) as cdcreated ) as secdep_creation_time_kk preserving type ) as CAScrtyDepReqProcCrtnDteTme,

      /* association */
      ScrtyDepReq._TransactionCurrency,

      ScrtyDepReq._PaymentCurrency,

      _CASecurityDepositMgmtTP,

      _CASecurityDepositReqDoc
}