P_CAClearingReasonAnalysis

DDL: P_CACLEARINGREASONANALYSIS Type: view_entity COMPOSITE Package: ODATA_O2C_FICA_CLRRSN_ANA

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_CADocBPItmWthoutSubstitOrigl, I_CADocBPItmWthoutSubstitOrigl) and exposes 55 fields with key fields CADocumentNumber, CARepetitionItemNumber, CABPItemNumber, CASubItemNumber, CAClearingReasonGroup. Part of development package ODATA_O2C_FICA_CLRRSN_ANA.

Data Sources (2)

SourceAliasJoin Type
I_CADocBPItmWthoutSubstitOrigl _BPItem from
I_CADocBPItmWthoutSubstitOrigl _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 (55)

KeyFieldSource TableSource FieldDescription
KEY CADocumentNumber I_CADocBPItmWthoutSubstitOrigl CADocumentNumber
KEY CARepetitionItemNumber I_CADocBPItmWthoutSubstitOrigl CARepetitionItemNumber
KEY CABPItemNumber I_CADocBPItmWthoutSubstitOrigl CABPItemNumber
KEY CASubItemNumber I_CADocBPItmWthoutSubstitOrigl CASubItemNumber
KEY CAClearingReasonGroup _ClearingReasonAssgmnt CAClearingReasonGroup
CADeferralDateendasCANetDueDate
CAPostingDate I_CADocBPItmWthoutSubstitOrigl CAPostingDate
CAClearingReason I_CADocBPItmWthoutSubstitOrigl CAClearingReason
CompanyCode I_CADocBPItmWthoutSubstitOrigl CompanyCode
BusinessArea I_CADocBPItmWthoutSubstitOrigl BusinessArea
Segment I_CADocBPItmWthoutSubstitOrigl Segment
BusinessPartner I_CADocBPItmWthoutSubstitOrigl BusinessPartner
ContractAccount I_CADocBPItmWthoutSubstitOrigl ContractAccount
CAContract I_CADocBPItmWthoutSubstitOrigl CAContract
CASubApplication I_CADocBPItmWthoutSubstitOrigl CASubApplication
CADocumentType I_CADocBPItmWthoutSubstitOrigl CADocumentType
CAPaymentMethod I_CADocBPItmWthoutSubstitOrigl CAPaymentMethod
CAAccountDeterminationCode I_CADocBPItmWthoutSubstitOrigl CAAccountDeterminationCode
Division I_CADocBPItmWthoutSubstitOrigl Division
CAMainTransaction I_CADocBPItmWthoutSubstitOrigl CAMainTransaction
CASubTransaction I_CADocBPItmWthoutSubstitOrigl CASubTransaction
CAApplicationArea I_CADocBPItmWthoutSubstitOrigl CAApplicationArea
CAValueDateForClearing I_CADocBPItmWthoutSubstitOrigl CAValueDateForClearing
CAPostingDateOfClearingDoc I_CADocBPItmWthoutSubstitOrigl CAPostingDateOfClearingDoc
CAClearingStatus I_CADocBPItmWthoutSubstitOrigl CAClearingStatus
Country I_CADocBPItmWthoutSubstitOrigl Country
CAAmountInTransactionCurrency
CADocumentNumber
KEY CARepetitionItemNumber I_CADocBPItmWthoutSubstitOrigl CARepetitionItemNumber
KEY CABPItemNumber I_CADocBPItmWthoutSubstitOrigl CABPItemNumber
KEY CASubItemNumber I_CADocBPItmWthoutSubstitOrigl CASubItemNumber
KEY CAClearingReasonGroup
CADeferralDateendasCANetDueDate
CAPostingDate I_CADocBPItmWthoutSubstitOrigl CAPostingDate
CAClearingReason I_CADocBPItmWthoutSubstitOrigl CAClearingReason
CompanyCode I_CADocBPItmWthoutSubstitOrigl CompanyCode
BusinessArea I_CADocBPItmWthoutSubstitOrigl BusinessArea
Segment I_CADocBPItmWthoutSubstitOrigl Segment
BusinessPartner I_CADocBPItmWthoutSubstitOrigl BusinessPartner
ContractAccount I_CADocBPItmWthoutSubstitOrigl ContractAccount
CAContract I_CADocBPItmWthoutSubstitOrigl CAContract
CASubApplication I_CADocBPItmWthoutSubstitOrigl CASubApplication
CADocumentType I_CADocBPItmWthoutSubstitOrigl CADocumentType
CAPaymentMethod I_CADocBPItmWthoutSubstitOrigl CAPaymentMethod
CAAccountDeterminationCode I_CADocBPItmWthoutSubstitOrigl CAAccountDeterminationCode
Division I_CADocBPItmWthoutSubstitOrigl Division
CAMainTransaction I_CADocBPItmWthoutSubstitOrigl CAMainTransaction
CASubTransaction I_CADocBPItmWthoutSubstitOrigl CASubTransaction
CAApplicationArea I_CADocBPItmWthoutSubstitOrigl CAApplicationArea
CAValueDateForClearing I_CADocBPItmWthoutSubstitOrigl CAValueDateForClearing
CAPostingDateOfClearingDoc I_CADocBPItmWthoutSubstitOrigl CAPostingDateOfClearingDoc
CAClearingStatus I_CADocBPItmWthoutSubstitOrigl CAClearingStatus
Country I_CADocBPItmWthoutSubstitOrigl Country
CAAmountInTransactionCurrency
TransactionCurrency I_CADocBPItmWthoutSubstitOrigl TransactionCurrency
@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_CADocBPItmWthoutSubstitOrigl 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._CompanyCode.CompanyCodeName,

             _BPItem.BusinessArea,
             _BPItem.Segment,
             _BPItem.BusinessPartner,
//             _BPItem._BusinessPartner.BusinessPartnerFullName,

//             _BPItem._BusinessPartner._CurrentDefaultAddress._AddressDefaultRepresentation.PostalCode,

             _BPItem.ContractAccount,
//             _BPItem._ContractAccountPartner.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._ContractAccountPartner.CAAuthorizationGroup,

//             _BPItem._CAProviderContract.CAAuthorizationGroup                as CAProviderContractAuthznGroup


}
where
  _BPItem.CAAmountInTransactionCurrency > 0


union all select from I_CADocBPItmWthoutSubstitOrigl 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._CompanyCode.CompanyCodeName,

             _BPItem.BusinessArea,
             _BPItem.Segment,
             _BPItem.BusinessPartner,
//             _BPItem._BusinessPartner.BusinessPartnerFullName,

//             _BPItem._BusinessPartner._CurrentDefaultAddress._AddressDefaultRepresentation.PostalCode,

             _BPItem.ContractAccount,
//             _BPItem._ContractAccountPartner.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._ContractAccountPartner.CAAuthorizationGroup,

//             _BPItem._CAProviderContract.CAAuthorizationGroup                as CAProviderContractAuthznGroup

}
where
      CAClearingReason                      is initial
  and _BPItem.CAAmountInTransactionCurrency > 0