P_CAClearingReasonAnalysis

DDL: P_CACLEARINGREASONANALYSIS Type: view_entity COMPOSITE

Prepare the data for clearing reason

P_CAClearingReasonAnalysis is a Composite CDS View that provides data about "Prepare the data for clearing reason" in SAP S/4HANA. It reads from 2 data sources (I_CADocumentBPItemLogical, I_CADocumentBPItemLogical) and exposes 67 fields with key fields CADocumentNumber, CARepetitionItemNumber, CABPItemNumber, CASubItemNumber, CAClearingReasonGroup.

Data Sources (2)

SourceAliasJoin Type
I_CADocumentBPItemLogical _BPItem from
I_CADocumentBPItemLogical _BPItem union_all

Annotations (8)

NameValueLevelField
AccessControl.authorizationCheck #NOT_REQUIRED view
EndUserText.label Prepare the data for clearing reason view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #XXL view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
VDM.viewType #COMPOSITE view
VDM.private true view

Fields (67)

KeyFieldSource TableSource FieldDescription
KEY CADocumentNumber I_CADocumentBPItemLogical CADocumentNumber
KEY CARepetitionItemNumber I_CADocumentBPItemLogical CARepetitionItemNumber
KEY CABPItemNumber I_CADocumentBPItemLogical CABPItemNumber
KEY CASubItemNumber I_CADocumentBPItemLogical CASubItemNumber
KEY CAClearingReasonGroup _ClearingReasonAssgmnt CAClearingReasonGroup
CADeferralDateendasCANetDueDate
CAPostingDate I_CADocumentBPItemLogical CAPostingDate
CAClearingReason I_CADocumentBPItemLogical CAClearingReason
CompanyCode I_CADocumentBPItemLogical CompanyCode
CompanyCodeName
BusinessArea I_CADocumentBPItemLogical BusinessArea
Segment I_CADocumentBPItemLogical Segment
BusinessPartner I_CADocumentBPItemLogical BusinessPartner
BusinessPartnerFullName
PostalCode
ContractAccount I_CADocumentBPItemLogical ContractAccount
ContractAccountName
CAContract I_CADocumentBPItemLogical CAContract
CASubApplication I_CADocumentBPItemLogical CASubApplication
CADocumentType I_CADocumentBPItemLogical CADocumentType
CAPaymentMethod I_CADocumentBPItemLogical CAPaymentMethod
CAAccountDeterminationCode I_CADocumentBPItemLogical CAAccountDeterminationCode
Division I_CADocumentBPItemLogical Division
CAMainTransaction I_CADocumentBPItemLogical CAMainTransaction
CASubTransaction I_CADocumentBPItemLogical CASubTransaction
CAApplicationArea I_CADocumentBPItemLogical CAApplicationArea
CAValueDateForClearing I_CADocumentBPItemLogical CAValueDateForClearing
CAPostingDateOfClearingDoc I_CADocumentBPItemLogical CAPostingDateOfClearingDoc
CAClearingStatus I_CADocumentBPItemLogical CAClearingStatus
Country I_CADocumentBPItemLogical Country
CAAmountInTransactionCurrency
TransactionCurrency I_CADocumentBPItemLogical TransactionCurrency
CAAuthorizationGroup
CADocumentNumber
KEY CARepetitionItemNumber I_CADocumentBPItemLogical CARepetitionItemNumber
KEY CABPItemNumber I_CADocumentBPItemLogical CABPItemNumber
KEY CASubItemNumber I_CADocumentBPItemLogical CASubItemNumber
KEY CAClearingReasonGroup
CADeferralDateendasCANetDueDate
CAPostingDate I_CADocumentBPItemLogical CAPostingDate
CAClearingReason I_CADocumentBPItemLogical CAClearingReason
CompanyCode I_CADocumentBPItemLogical CompanyCode
CompanyCodeName
BusinessArea I_CADocumentBPItemLogical BusinessArea
Segment I_CADocumentBPItemLogical Segment
BusinessPartner I_CADocumentBPItemLogical BusinessPartner
BusinessPartnerFullName
PostalCode
ContractAccount I_CADocumentBPItemLogical ContractAccount
ContractAccountName
CAContract I_CADocumentBPItemLogical CAContract
CASubApplication I_CADocumentBPItemLogical CASubApplication
CADocumentType I_CADocumentBPItemLogical CADocumentType
CAPaymentMethod I_CADocumentBPItemLogical CAPaymentMethod
CAAccountDeterminationCode I_CADocumentBPItemLogical CAAccountDeterminationCode
Division I_CADocumentBPItemLogical Division
CAMainTransaction I_CADocumentBPItemLogical CAMainTransaction
CASubTransaction I_CADocumentBPItemLogical CASubTransaction
CAApplicationArea I_CADocumentBPItemLogical CAApplicationArea
CAValueDateForClearing I_CADocumentBPItemLogical CAValueDateForClearing
CAPostingDateOfClearingDoc I_CADocumentBPItemLogical CAPostingDateOfClearingDoc
CAClearingStatus I_CADocumentBPItemLogical CAClearingStatus
Country I_CADocumentBPItemLogical Country
CAAmountInTransactionCurrency
TransactionCurrency I_CADocumentBPItemLogical TransactionCurrency
CAAuthorizationGroup
CAProviderContractAuthznGroup
@AbapCatalog.viewEnhancementCategory: [#NONE]
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Prepare the data for clearing reason'
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel: {
  usageType.serviceQuality: #D,
  usageType.sizeCategory: #XXL,
  usageType.dataClass: #TRANSACTIONAL
}
@VDM.viewType: #COMPOSITE
@VDM.private: true
define view entity P_CAClearingReasonAnalysis
  as select from I_CADocumentBPItemLogical    as _BPItem
    join         I_CAFioApUsrClrgRsnGrpAssgmt as _ClearingReasonAssgmnt on  _BPItem.CAClearingReason                      = _ClearingReasonAssgmnt.CAClearingReason
                                                                        and _ClearingReasonAssgmnt.CAFioriApplicationUser = $session.user
{

  key        _BPItem.CADocumentNumber,
  key        _BPItem.CARepetitionItemNumber,
  key        _BPItem.CABPItemNumber,
  key        _BPItem.CASubItemNumber,
  key        _ClearingReasonAssgmnt.CAClearingReasonGroup,

             case
               when _BPItem.CADeferralDate = '00000000' then
                 _BPItem.CANetDueDate
               when _BPItem.CADeferralDate != '00000000' then
                 _BPItem.CADeferralDate
             end                                                             as CANetDueDate,

             _BPItem.CAPostingDate,
             _BPItem.CAClearingReason,
             _BPItem.CompanyCode,
             _BPItem._CompCode.CompanyCodeName,
             _BPItem.BusinessArea,
             _BPItem.Segment,
             _BPItem.BusinessPartner,
             _BPItem._BusinessPartner.BusinessPartnerFullName,
             _BPItem._BusinessPartner._CurrentDefaultAddress._AddressDefaultRepresentation.PostalCode,
             _BPItem.ContractAccount,
             _BPItem._CAPartner.ContractAccountName,
             _BPItem.CAContract,
             _BPItem.CASubApplication,
             _BPItem.CADocumentType,
             _BPItem.CAPaymentMethod,
             _BPItem.CAAccountDeterminationCode,
             _BPItem.Division,
             _BPItem.CAMainTransaction,
             _BPItem.CASubTransaction,
             _BPItem.CAStatisticalItemCode,
             _BPItem.CAApplicationArea,
             _BPItem.CAValueDateForClearing,
             _BPItem.CAPostingDateOfClearingDoc,
             _BPItem.CAClearingStatus,
             _BPItem.Country,

             @Semantics.amount.currencyCode: 'TransactionCurrency'
             cast (_BPItem.CAAmountInTransactionCurrency as abap.curr(23,2)) as CAAmountInTransactionCurrency,

             _BPItem.TransactionCurrency,

             // extra fields for authority checks

             _BPItem._CAPartner.CAAuthorizationGroup,
             _BPItem._ProviderContract.CAAuthorizationGroup                  as CAProviderContractAuthznGroup

}
where
  _BPItem.CAAmountInTransactionCurrency > 0


union all select from I_CADocumentBPItemLogical as _BPItem
{
  key        _BPItem.CADocumentNumber,
  key        _BPItem.CARepetitionItemNumber,
  key        _BPItem.CABPItemNumber,
  key        _BPItem.CASubItemNumber,
  key        cast('OPEN' as augrg_kk)                                        as CAClearingReasonGroup,

             case
               when _BPItem.CADeferralDate = '00000000' then
                 _BPItem.CANetDueDate
               when _BPItem.CADeferralDate != '00000000' then
                 _BPItem.CADeferralDate
             end                                                             as CANetDueDate,

             _BPItem.CAPostingDate,
             _BPItem.CAClearingReason,
             _BPItem.CompanyCode,
             _BPItem._CompCode.CompanyCodeName,
             _BPItem.BusinessArea,
             _BPItem.Segment,
             _BPItem.BusinessPartner,
             _BPItem._BusinessPartner.BusinessPartnerFullName,
             _BPItem._BusinessPartner._CurrentDefaultAddress._AddressDefaultRepresentation.PostalCode,
             _BPItem.ContractAccount,
             _BPItem._CAPartner.ContractAccountName,
             _BPItem.CAContract,
             _BPItem.CASubApplication,
             _BPItem.CADocumentType,
             _BPItem.CAPaymentMethod,
             _BPItem.CAAccountDeterminationCode,
             _BPItem.Division,
             _BPItem.CAMainTransaction,
             _BPItem.CASubTransaction,
             _BPItem.CAStatisticalItemCode,
             _BPItem.CAApplicationArea,
             _BPItem.CAValueDateForClearing,
             _BPItem.CAPostingDateOfClearingDoc,
             _BPItem.CAClearingStatus,
             _BPItem.Country,

             cast (_BPItem.CAAmountInTransactionCurrency as abap.curr(23,2)) as CAAmountInTransactionCurrency,

             _BPItem.TransactionCurrency,


             // extra fields for authority checks

             _BPItem._CAPartner.CAAuthorizationGroup,
             _BPItem._ProviderContract.CAAuthorizationGroup                  as CAProviderContractAuthznGroup
}
where
      CAClearingReason                      is initial
  and _BPItem.CAAmountInTransactionCurrency > 0
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_ADDRESS_2",
"I_BPCURRENTDEFAULTADDRESS",
"I_BUSINESSPARTNER",
"I_CADOCUMENTBPITEMLOGICAL",
"I_CAFIOAPUSRCLRGRSNGRPASSGMT",
"I_CAPROVIDERCONTRACTHEADER",
"I_COMPANYCODE",
"I_CONTRACTACCOUNTPARTNER"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/