C_PaymentCard

DDL: C_PAYMENTCARD SQL: CPAYCARD Type: view CONSUMPTION

Consumption view for payment cards

C_PaymentCard is a Consumption CDS View that provides data about "Consumption view for payment cards" in SAP S/4HANA. It reads from 1 data source (I_PaymentCardTP) and exposes 17 fields with key fields BusinessPartner, PaymentCardID, PaymentCardType, CardNumber. It has 4 associations to related views.

Data Sources (1)

SourceAliasJoin Type
I_PaymentCardTP PaymentCard from

Associations (4)

CardinalityTargetAliasCondition
[1..1] C_BusinessPartnerCustomer _BusinessPartnerCustomer $projection.BusinessPartner = _BusinessPartnerCustomer.BusinessPartner
[1..1] C_BusinessPartner _BusinessPartner $projection.BusinessPartner = _BusinessPartner.BusinessPartner
[1..1] C_PaymentCardMaster _CardDetails $projection.PaymentCardType = _CardDetails.PaymentCardType and $projection.CardNumber = _CardDetails.PaymentCardNumber
[1..1] I_PaymentCardTypeText _PaymentCardTypeText $projection.PaymentCardType = _PaymentCardTypeText.PaymentCardType and _PaymentCardTypeText.Language = $session.system_language

Annotations (15)

NameValueLevelField
AbapCatalog.sqlViewName CPAYCARD view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #REQUIRED view
EndUserText.label Consumption view for payment cards view
Metadata.allowExtensions true view
ObjectModel.type #CONSUMPTION view
ObjectModel.writeEnabled true view
ObjectModel.transactionalProcessingDelegated true view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #XXL view
ObjectModel.usageType.dataClass #MASTER view
UI.headerInfo.typeName Payment Card view
UI.headerInfo.typeNamePlural Payment Cards view
VDM.viewType #CONSUMPTION view

Fields (17)

KeyFieldSource TableSource FieldDescription
KEY BusinessPartner I_PaymentCardTP BusinessPartner
KEY PaymentCardID I_PaymentCardTP PaymentCardID
KEY PaymentCardType I_PaymentCardTP PaymentCardType
KEY CardNumber I_PaymentCardTP CardNumber
PaymentCardTypeForEdit I_PaymentCardTP PaymentCardTypeForEdit
CardNumberForEdit I_PaymentCardTP CardNumberForEdit
PaymentCardIDForEdit I_PaymentCardTP PaymentCardIDForEdit
CardDescription I_PaymentCardTP CardDescription
IsStandardCard I_PaymentCardTP IsStandardCard
AuthorizationGroup I_PaymentCardTP AuthorizationGroup
CollectionIsAuthorized I_PaymentCardTP CollectionIsAuthorized
MaskedCardNumber _CardDetails MaskedCardNumber
CardHolder _CardDetails CardHolder
_BusinessPartnerCustomer _BusinessPartnerCustomer
_BusinessPartner _BusinessPartner
_CardDetails _CardDetails
_PaymentCardTypeText _PaymentCardTypeText
@AbapCatalog.sqlViewName: 'CPAYCARD'
@AbapCatalog.compiler.compareFilter: true

@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #REQUIRED
@EndUserText.label: 'Consumption view for payment cards'

@Metadata.allowExtensions: true

@ObjectModel.type: #CONSUMPTION
@ObjectModel.writeEnabled: true
@ObjectModel.transactionalProcessingDelegated: true
@ObjectModel: {
    semanticKey: ['BusinessPartner','PaymentCardTypeForEdit','PaymentCardID','CardNumberForEdit' ],
    createEnabled,
    updateEnabled,
    deleteEnabled
}
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #XXL
@ObjectModel.usageType.dataClass: #MASTER

@UI.headerInfo:{
  typeName: 'Payment Card',
  typeNamePlural: 'Payment Cards'}
  
@VDM.viewType: #CONSUMPTION

define view C_PaymentCard
  as select from I_PaymentCardTP as PaymentCard

  association [1..1] to C_BusinessPartnerCustomer as _BusinessPartnerCustomer on  $projection.BusinessPartner = _BusinessPartnerCustomer.BusinessPartner
  association [1..1] to C_BusinessPartner as _BusinessPartner on  $projection.BusinessPartner = _BusinessPartner.BusinessPartner
  association [1..1] to C_PaymentCardMaster       as _CardDetails             on  $projection.PaymentCardType = _CardDetails.PaymentCardType
                                                                              and $projection.CardNumber      = _CardDetails.PaymentCardNumber
  association [1..1] to I_PaymentCardTypeText     as _PaymentCardTypeText     on  $projection.PaymentCardType   = _PaymentCardTypeText.PaymentCardType
                                                                              and _PaymentCardTypeText.Language = $session.system_language
                                                                              
{           
  key      PaymentCard.BusinessPartner,
  key      PaymentCard.PaymentCardID,
           @ObjectModel.readOnly: true
           @ObjectModel.text.association: '_PaymentCardTypeText'
  key      PaymentCard.PaymentCardType,
  key      PaymentCard.CardNumber,
           @ObjectModel.foreignKey.association: '_CardDetails'           
           PaymentCard.PaymentCardTypeForEdit,           
           @ObjectModel.foreignKey.association: '_CardDetails'           
           PaymentCard.CardNumberForEdit, 
           PaymentCard.PaymentCardIDForEdit,
           PaymentCard.CardDescription,
           PaymentCard.IsStandardCard,
           PaymentCard.AuthorizationGroup,
           PaymentCard.CollectionIsAuthorized,
           @ObjectModel.readOnly: true
           @ObjectModel.createEnabled: false
           _CardDetails.MaskedCardNumber,
           @ObjectModel.readOnly: true
           _CardDetails.CardHolder,
           
           @ObjectModel.association.type: [ #TO_COMPOSITION_ROOT,#TO_COMPOSITION_PARENT  ]
           _BusinessPartnerCustomer,
           @ObjectModel.association.type: [ #TO_COMPOSITION_ROOT,#TO_COMPOSITION_PARENT  ]
           _BusinessPartner,
           @ObjectModel.association.draft.enabled:true
           @ObjectModel.association.draft.fieldNamePrefix:'CARDDETAILS'
           _CardDetails,
           _PaymentCardTypeText
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"C_PAYMENTCARDMASTER",
"I_PAYMENTCARDTP"
],
"ASSOCIATED":
[
"C_BUSINESSPARTNER",
"C_BUSINESSPARTNERCUSTOMER",
"C_PAYMENTCARDMASTER",
"I_PAYMENTCARDTYPETEXT"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/