A_CADocumentBPItem
Document Business Partner Item
A_CADocumentBPItem is a Consumption CDS View that provides data about "Document Business Partner Item" in SAP S/4HANA. It reads from 1 data source (R_CADocumentBPItemTP) and exposes 140 fields with key fields CADocumentNumber, CARepetitionItemNumber, CABPItemNumber, CASubItemNumber. It has 3 associations to related views.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| R_CADocumentBPItemTP | R_CADocumentBPItemTP | projection |
Associations (3)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1..1] | A_BusinessPartner | _BusinessPartner | $projection.BusinessPartner = _BusinessPartner.BusinessPartner |
| [1..1] | A_ContractAccountPartner_2 | _CAPartner | $projection.BusinessPartner = _CAPartner.BusinessPartner and $projection.ContractAccount = _CAPartner.ContractAccount |
| [0..1] | A_CAProviderContract | _ProviderContract | $projection.CASubApplication = 'P' and $projection.CAContract = _ProviderContract.CAProviderContract |
Annotations (10)
| Name | Value | Level | Field |
|---|---|---|---|
| AccessControl.authorizationCheck | #CHECK | view | |
| AccessControl.personalData.blocking | #REQUIRED | view | |
| EndUserText.label | Document Business Partner Item | view | |
| Metadata.ignorePropagatedAnnotations | true | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.sizeCategory | #XXL | view | |
| OData.entityType.name | CADocBPItem_Type | view | |
| VDM.lifecycle.contract.type | #PUBLIC_REMOTE_API | view | |
| VDM.viewType | #CONSUMPTION | view |
Fields (140)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | CADocumentNumber | CADocumentNumber | ||
| KEY | CARepetitionItemNumber | CARepetitionItemNumber | ||
| KEY | CABPItemNumber | CABPItemNumber | ||
| KEY | CASubItemNumber | CASubItemNumber | ||
| CompanyCode | CompanyCode | |||
| BusinessArea | BusinessArea | |||
| BusinessPlace | BusinessPlace | |||
| Segment | Segment | |||
| ProfitCenter | ProfitCenter | |||
| Division | Division | |||
| PersonnelNumber | PersonnelNumber | |||
| PartnerCompany | PartnerCompany | |||
| BusinessPartner | BusinessPartner | |||
| CAContract | CAContract | |||
| CAProviderContractItemNumber | CAProviderContractItemNumber | |||
| CAAdditionalContract | CAAdditionalContract | |||
| ContractAccount | ContractAccount | |||
| CASubApplication | CASubApplication | |||
| AltvContractAcctForCollvBills | AltvContractAcctForCollvBills | |||
| CAReconciliationAccount | CAReconciliationAccount | |||
| CAApplicationArea | CAApplicationArea | |||
| CAMainTransaction | CAMainTransaction | |||
| CASubTransaction | CASubTransaction | |||
| CAAccountDeterminationCode | CAAccountDeterminationCode | |||
| CADoubtfulOrValueAdjmtCode | CADoubtfulOrValueAdjmtCode | |||
| CAAccountAssignmentCategory | CAAccountAssignmentCategory | |||
| CAAccountAssignment | CAAccountAssignment | |||
| CADocumentType | CADocumentType | |||
| CAIsDownPaymentRequest | CAIsDownPaymentRequest | |||
| CAItemIsOnlyForSettlement | CAItemIsOnlyForSettlement | |||
| CABPItemText | CABPItemText | |||
| CANumberOfRepetitionItems | CANumberOfRepetitionItems | |||
| CARepetitionGroup | CARepetitionGroup | |||
| CAEndDateOfBillingPeriod | CAEndDateOfBillingPeriod | |||
| CAGroupingCodeForBPItems | CAGroupingCodeForBPItems | |||
| CAPeriodCode | CAPeriodCode | |||
| CAChangeIsForbidden | CAChangeIsForbidden | |||
| CAInterestCode | CAInterestCode | |||
| CARoundingItemCode | CARoundingItemCode | |||
| CAReceivingCountry | CAReceivingCountry | |||
| CAInternalPostingReasonCode | CAInternalPostingReasonCode | |||
| CAWorkflowCheckReason | CAWorkflowCheckReason | |||
| CAWorkflowCheckProcess | CAWorkflowCheckProcess | |||
| CANegativePostingControlCode | CANegativePostingControlCode | |||
| CAPartnerSettlementStatus | CAPartnerSettlementStatus | |||
| CAIsPartOfJointLiability | CAIsPartOfJointLiability | |||
| CADocumentOriginCode | CADocumentOriginCode | |||
| CASubstituteDocumentNumber | CASubstituteDocumentNumber | |||
| CASubstituteDocumentCategory | CASubstituteDocumentCategory | |||
| CADocumentNumberOfOriginItem | CADocumentNumberOfOriginItem | |||
| CAReferenceDocument | CAReferenceDocument | |||
| DocumentDate | DocumentDate | |||
| CAPostingDate | CAPostingDate | |||
| CANetDueDate | CANetDueDate | |||
| CADeferralDate | CADeferralDate | |||
| TransactionCurrency | TransactionCurrency | |||
| CompanyCodeCurrency | CompanyCodeCurrency | |||
| AdditionalCurrency1 | AdditionalCurrency1 | |||
| AdditionalCurrency2 | AdditionalCurrency2 | |||
| CAExchangeRate | CAExchangeRate | |||
| ExchRateIsIndirectQuotation | ExchRateIsIndirectQuotation | |||
| CAAmountInLocalCurrency | CAAmountInLocalCurrency | |||
| CAAmountInTransactionCurrency | CAAmountInTransactionCurrency | |||
| CAAmountInSecondCurrency | CAAmountInSecondCurrency | |||
| CAAmountInThirdCurrency | CAAmountInThirdCurrency | |||
| CACashDiscountDueDate | CACashDiscountDueDate | |||
| CACashDiscountRate | CACashDiscountRate | |||
| CAEligibleAmountForCshDiscount | CAEligibleAmountForCshDiscount | |||
| CACashDiscAmountInClearingCrcy | CACashDiscAmountInClearingCrcy | |||
| TaxCode | TaxCode | |||
| CASupplementaryTaxCode | CASupplementaryTaxCode | |||
| CATaxAmountInLocalCurrency | CATaxAmountInLocalCurrency | |||
| CATaxAmountInTransCurrency | CATaxAmountInTransCurrency | |||
| CATaxAmountInSecondCurrency | CATaxAmountInSecondCurrency | |||
| CATaxAmountInThirdCurrency | CATaxAmountInThirdCurrency | |||
| CADownPaymentTaxAccount | CADownPaymentTaxAccount | |||
| CADownPaymentOffsetTaxAccount | CADownPaymentOffsetTaxAccount | |||
| TaxJurisdiction | TaxJurisdiction | |||
| CATaxDate | CATaxDate | |||
| WithholdingTaxCode | WithholdingTaxCode | |||
| CAWithholdingTaxSupplement | CAWithholdingTaxSupplement | |||
| CAWithholdingTaxCategory | CAWithholdingTaxCategory | |||
| CABaseAmountForWithholdingTax | CABaseAmountForWithholdingTax | |||
| CAWithholdingTaxAmount | CAWithholdingTaxAmount | |||
| CAWithholdingTaxPercentage | CAWithholdingTaxPercentage | |||
| WithholdingTaxCertificate | WithholdingTaxCertificate | |||
| CAOtherTaxCode | CAOtherTaxCode | |||
| CAGroupingCodeForTaxItems | CAGroupingCodeForTaxItems | |||
| CATaxPortionInLocalCurrency | CATaxPortionInLocalCurrency | |||
| CATaxPortionInTransCurrency | CATaxPortionInTransCurrency | |||
| CATaxIsCalculatedExternally | CATaxIsCalculatedExternally | |||
| CAPaymentMethod | CAPaymentMethod | |||
| CAPaymentCompanyCode | CAPaymentCompanyCode | |||
| CAGroupingForPayment | CAGroupingForPayment | |||
| CAPaymentSpecificationCategory | CAPaymentSpecificationCategory | |||
| CAClearingStatus | CAClearingStatus | |||
| CAClearingDate | CAClearingDate | |||
| CAClearingDocumentNumber | CAClearingDocumentNumber | |||
| CAPostingDateOfClearingDoc | CAPostingDateOfClearingDoc | |||
| CAClearingReason | CAClearingReason | |||
| CAClearingCurrency | CAClearingCurrency | |||
| CAClearingAmountInClearingCrcy | CAClearingAmountInClearingCrcy | |||
| CATaxAmountInClearingCrcy | CATaxAmountInClearingCrcy | |||
| CAValueDateForClearing | CAValueDateForClearing | |||
| CAClearingRestrictionCode | CAClearingRestrictionCode | |||
| CAClearingPostingIsReset | CAClearingPostingIsReset | |||
| CAItemIsWithdrawn | CAItemIsWithdrawn | |||
| CAItemIsExcludedFromDunning | CAItemIsExcludedFromDunning | |||
| CADunningProcedure | CADunningProcedure | |||
| CAGrpgCodeForTransfToCollAgcy | CAGrpgCodeForTransfToCollAgcy | |||
| CAIsIncludedInCollectionCase | CAIsIncludedInCollectionCase | |||
| CashPlanningGroup | CashPlanningGroup | |||
| PlanningLevel | PlanningLevel | |||
| CAAdditionalDaysForCashMgmt | CAAdditionalDaysForCashMgmt | |||
| PlannedAmtInTransactionCrcy | PlannedAmtInTransactionCrcy | |||
| CAAltvBPForPayment | CAAltvBPForPayment | |||
| CABankOfAltvBPForPayment | CABankOfAltvBPForPayment | |||
| CAAddressOfAltvBPForPayment | CAAddressOfAltvBPForPayment | |||
| CACardOfAltvBPForPayment | CACardOfAltvBPForPayment | |||
| CAGLPostingCurrency | CAGLPostingCurrency | |||
| CAGLPostingAmount | CAGLPostingAmount | |||
| CAGLPostingTaxAmount | CAGLPostingTaxAmount | |||
| CAIsSeparateLineItemInGL | CAIsSeparateLineItemInGL | |||
| CAIsCashFlowItem | CAIsCashFlowItem | |||
| CACashFlowAccount | CACashFlowAccount | |||
| CACashFlowCompanyCode | CACashFlowCompanyCode | |||
| CAPaymentPreNotificationCode | CAPaymentPreNotificationCode | |||
| CASEPAPreNotificationNumber | CASEPAPreNotificationNumber | |||
| CASEPAPreNotifOriginCode | CASEPAPreNotifOriginCode | |||
| CASEPAPreNotifExecutionDate | CASEPAPreNotifExecutionDate | |||
| CASEPAPreNotificationRqmtCode | CASEPAPreNotificationRqmtCode | |||
| CARevenueDistrFinalRecipient | CARevenueDistrFinalRecipient | |||
| CARevenueDistrCurrentStatus | CARevenueDistrCurrentStatus | |||
| CARevenueDistrLastStatus | CARevenueDistrLastStatus | |||
| CACurrentFactoringStatusOfRbl | CACurrentFactoringStatusOfRbl | |||
| CAFactoringCheckStsForClrgInfo | CAFactoringCheckStsForClrgInfo | |||
| SEPAMandateCAInternalID | SEPAMandateCAInternalID | |||
| _BusinessPartner | _BusinessPartner | |||
| _CAPartner | _CAPartner | |||
| _ProviderContract | _ProviderContract |
@AccessControl: { authorizationCheck: #CHECK,
personalData.blocking: #REQUIRED }
@EndUserText.label: 'Document Business Partner Item'
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel: { usageType: { dataClass: #TRANSACTIONAL,
serviceQuality: #C,
sizeCategory: #XXL } }
@OData.entityType.name: 'CADocBPItem_Type'
@VDM: { lifecycle.contract.type: #PUBLIC_REMOTE_API,
viewType: #CONSUMPTION }
define view entity A_CADocumentBPItem
as projection on R_CADocumentBPItemTP
association [1..1] to A_BusinessPartner as _BusinessPartner on $projection.BusinessPartner = _BusinessPartner.BusinessPartner
association [1..1] to A_ContractAccountPartner_2 as _CAPartner on $projection.BusinessPartner = _CAPartner.BusinessPartner
and $projection.ContractAccount = _CAPartner.ContractAccount
association [0..1] to A_CAProviderContract as _ProviderContract on $projection.CASubApplication = 'P'
and $projection.CAContract = _ProviderContract.CAProviderContract
{
//I_CADocumentBPItemLogical
key CADocumentNumber,
key CARepetitionItemNumber,
key CABPItemNumber,
key CASubItemNumber,
@ObjectModel.sapObjectNodeTypeReference: 'CompanyCode'
CompanyCode,
@ObjectModel.sapObjectNodeTypeReference: 'BusinessArea'
BusinessArea,
@ObjectModel.sapObjectNodeTypeReference: 'BusinessPlace'
BusinessPlace,
@ObjectModel.sapObjectNodeTypeReference: 'Segment'
Segment,
@ObjectModel.sapObjectNodeTypeReference: 'ProfitCenter'
ProfitCenter,
@ObjectModel.sapObjectNodeTypeReference: 'Division'
Division,
PersonnelNumber,
PartnerCompany,
BusinessPartner,
CAContract,
CAProviderContractItemNumber,
CAAdditionalContract,
ContractAccount,
@ObjectModel.sapObjectNodeTypeReference: 'ContrAcctgSubapplication'
CASubApplication,
AltvContractAcctForCollvBills,
@ObjectModel.sapObjectNodeTypeReference: 'GeneralLedgerAccount'
CAReconciliationAccount,
@ObjectModel.sapObjectNodeTypeReference: 'ContrAcctgApplicationArea'
CAApplicationArea,
@ObjectModel.sapObjectNodeTypeReference: 'ContrAcctgMainTransaction'
CAMainTransaction,
@ObjectModel.sapObjectNodeTypeReference: 'ContrAcctgSubtransaction'
CASubTransaction,
@ObjectModel.sapObjectNodeTypeReference: 'ContrAcctgAccountDetnCode'
CAAccountDeterminationCode,
@ObjectModel.sapObjectNodeTypeReference: 'ContrAcctgDbtflOrValAdjmtCode'
CADoubtfulOrValueAdjmtCode,
@ObjectModel.sapObjectNodeTypeReference: 'ContrAcctgAccountAssignmentCat'
CAAccountAssignmentCategory,
CAAccountAssignment,
@ObjectModel.sapObjectNodeTypeReference: 'ContrAcctgDocumentType'
CADocumentType,
CAIsDownPaymentRequest,
CAItemIsOnlyForSettlement,
@ObjectModel.sapObjectNodeTypeReference: 'ContrAcctgStatisticalItemCode'
CAStatisticalItemCode,
CABPItemText,
CANumberOfRepetitionItems,
CARepetitionGroup,
CAStartDateOfBillingPeriod,
CAEndDateOfBillingPeriod,
CAGroupingCodeForBPItems,
@ObjectModel.sapObjectNodeTypeReference: 'ContrAcctgPeriodCode'
CAPeriodCode,
CAChangeIsForbidden,
@ObjectModel.sapObjectNodeTypeReference: 'ContrAcctgInterestCode'
CAInterestCode,
@ObjectModel.sapObjectNodeTypeReference: 'ContrAcctgRoundingItemCode'
CARoundingItemCode,
CAReceivingCountry,
@ObjectModel.sapObjectNodeTypeReference: 'ContrAcctgIntPostingReasonCode'
CAInternalPostingReasonCode,
@ObjectModel.sapObjectNodeTypeReference: 'ContrAcctgWorkflowCheckReason'
CAWorkflowCheckReason,
@ObjectModel.sapObjectNodeTypeReference: 'ContrAcctgWorkflowCheckProcess'
CAWorkflowCheckProcess,
@ObjectModel.sapObjectNodeTypeReference: 'ContrAcctgNgtvPostingCtrlCode'
CANegativePostingControlCode,
@ObjectModel.sapObjectNodeTypeReference: 'ContrAcctgPrtnSettlementStatus'
CAPartnerSettlementStatus,
CAIsPartOfJointLiability,
@ObjectModel.sapObjectNodeTypeReference: 'ContrAcctgDocumentOriginCode'
CADocumentOriginCode,
CASubstituteDocumentNumber,
@ObjectModel.sapObjectNodeTypeReference: 'ContrAcctgSubstitDocCategory'
CASubstituteDocumentCategory,
@ObjectModel.sapObjectNodeTypeReference: 'ContrAcctgOriglStstclItemCode'
CAStatisticalCodeOfOriginItem,
CADocumentNumberOfOriginItem,
CAReferenceDocument,
DocumentDate,
CAPostingDate,
CANetDueDate,
CADeferralDate,
@ObjectModel.sapObjectNodeTypeReference: 'Currency'
TransactionCurrency,
@ObjectModel.sapObjectNodeTypeReference: 'Currency'
CompanyCodeCurrency,
AdditionalCurrency1,
AdditionalCurrency2,
CAExchangeRate,
ExchRateIsIndirectQuotation,
@Semantics.amount.currencyCode: 'CompanyCodeCurrency'
CAAmountInLocalCurrency,
@Semantics.amount.currencyCode: 'TransactionCurrency'
CAAmountInTransactionCurrency,
@Semantics.amount.currencyCode: 'AdditionalCurrency1'
CAAmountInSecondCurrency,
@Semantics.amount.currencyCode: 'AdditionalCurrency2'
CAAmountInThirdCurrency,
CACashDiscountDueDate,
CACashDiscountRate,
@Semantics.amount.currencyCode: 'TransactionCurrency'
CAEligibleAmountForCshDiscount,
@Semantics.amount.currencyCode: 'CAClearingCurrency'
CACashDiscAmountInClearingCrcy,
TaxCode,
CASupplementaryTaxCode,
@Semantics.amount.currencyCode: 'CompanyCodeCurrency'
CATaxAmountInLocalCurrency,
@Semantics.amount.currencyCode: 'TransactionCurrency'
CATaxAmountInTransCurrency,
@Semantics.amount.currencyCode: 'AdditionalCurrency1'
CATaxAmountInSecondCurrency,
@Semantics.amount.currencyCode: 'AdditionalCurrency2'
CATaxAmountInThirdCurrency,
CADownPaymentTaxAccount,
CADownPaymentOffsetTaxAccount,
@ObjectModel.sapObjectNodeTypeReference: 'TaxJurisdiction'
TaxJurisdiction,
CATaxDate,
@ObjectModel.sapObjectNodeTypeReference: 'WithholdingTaxCode'
WithholdingTaxCode,
@ObjectModel.sapObjectNodeTypeReference: 'ContrAcctgWhldgTaxSupplement'
CAWithholdingTaxSupplement,
@ObjectModel.sapObjectNodeTypeReference: 'ContrAcctgWithholdingTaxCat'
CAWithholdingTaxCategory,
@Semantics.amount.currencyCode: 'TransactionCurrency'
CABaseAmountForWithholdingTax,
@Semantics.amount.currencyCode: 'TransactionCurrency'
CAWithholdingTaxAmount,
CAWithholdingTaxPercentage,
WithholdingTaxCertificate,
@ObjectModel.sapObjectNodeTypeReference: 'ContrAcctgOtherTaxCode'
CAOtherTaxCode,
CAGroupingCodeForTaxItems,
@Semantics.amount.currencyCode: 'CompanyCodeCurrency'
CATaxPortionInLocalCurrency,
@Semantics.amount.currencyCode: 'TransactionCurrency'
CATaxPortionInTransCurrency,
CATaxIsCalculatedExternally,
@ObjectModel.sapObjectNodeTypeReference: 'ContrAcctgPaymentMethod'
CAPaymentMethod,
@ObjectModel.sapObjectNodeTypeReference: 'CompanyCode'
CAPaymentCompanyCode,
CAGroupingForPayment,
@ObjectModel.sapObjectNodeTypeReference: 'ContrAcctgPaytSpecCategory'
CAPaymentSpecificationCategory,
@ObjectModel.sapObjectNodeTypeReference: 'ContrAcctgClearingStatus'
CAClearingStatus,
CAClearingDate,
CAClearingDocumentNumber,
CAPostingDateOfClearingDoc,
@ObjectModel.sapObjectNodeTypeReference: 'ContrAcctgClearingReason'
CAClearingReason,
@ObjectModel.sapObjectNodeTypeReference: 'Currency'
CAClearingCurrency,
@Semantics.amount.currencyCode: 'CAClearingCurrency'
CAClearingAmountInClearingCrcy,
@Semantics.amount.currencyCode: 'CAClearingCurrency'
CATaxAmountInClearingCrcy,
CAValueDateForClearing,
@ObjectModel.sapObjectNodeTypeReference: 'ContrAcctgClearingRstrcnCode'
CAClearingRestrictionCode,
CAClearingPostingIsReset,
CAItemIsWithdrawn,
CAItemIsExcludedFromDunning,
@ObjectModel.sapObjectNodeTypeReference: 'ContrAcctgDunningProcedure'
CADunningProcedure,
CAGrpgCodeForTransfToCollAgcy,
CAIsIncludedInCollectionCase,
CashPlanningGroup,
@ObjectModel.sapObjectNodeTypeReference: 'CashFlowPlanningLevel'
PlanningLevel,
CAAdditionalDaysForCashMgmt,
@Semantics.amount.currencyCode: 'TransactionCurrency'
PlannedAmtInTransactionCrcy,
CAAltvBPForPayment,
CABankOfAltvBPForPayment,
CAAddressOfAltvBPForPayment,
CACardOfAltvBPForPayment,
@ObjectModel.sapObjectNodeTypeReference: 'Currency'
CAGLPostingCurrency,
@Semantics.amount.currencyCode: 'CAGLPostingCurrency'
CAGLPostingAmount,
@Semantics.amount.currencyCode: 'CAGLPostingCurrency'
CAGLPostingTaxAmount,
CAIsSeparateLineItemInGL,
CAIsCashFlowItem,
CACashFlowAccount,
@ObjectModel.sapObjectNodeTypeReference: 'CompanyCode'
CACashFlowCompanyCode,
@ObjectModel.sapObjectNodeTypeReference: 'ContrAcctgPaymentPreNotifCode'
CAPaymentPreNotificationCode,
CASEPAPreNotificationNumber,
@ObjectModel.sapObjectNodeTypeReference: 'ContrAcctgSEPAPreNotifOrignCd'
CASEPAPreNotifOriginCode,
CASEPAPreNotifExecutionDate,
@ObjectModel.sapObjectNodeTypeReference: 'ContrAcctgSEPAPreNotifRqmtCode'
CASEPAPreNotificationRqmtCode,
CARevenueDistrFinalRecipient,
@ObjectModel.sapObjectNodeTypeReference: 'ContrAcctgRevnDistrStatus'
CARevenueDistrCurrentStatus,
@ObjectModel.sapObjectNodeTypeReference: 'ContrAcctgRevnDistrStatus'
CARevenueDistrLastStatus,
@ObjectModel.sapObjectNodeTypeReference: 'ContrAcctgFactoringRblStatus'
CACurrentFactoringStatusOfRbl,
@ObjectModel.sapObjectNodeTypeReference: 'ContrAcctgFctrngClrgChkStatus'
CAFactoringCheckStsForClrgInfo,
SEPAMandateCAInternalID,
/* Associations */
_DocHeader : redirected to parent A_CADocumentHeader,
_BPItemBusLock : redirected to composition child A_CADocumentBPItemBusLock,
_BusinessPartner,
_CAPartner,
_ProviderContract
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"R_CADOCUMENTBPITEMTP"
],
"ASSOCIATED":
[
"A_BUSINESSPARTNER",
"A_CADOCUMENTBPITEMBUSLOCK",
"A_CADOCUMENTHEADER",
"A_CAPROVIDERCONTRACT",
"A_CONTRACTACCOUNTPARTNER_2",
"R_CADOCUMENTBPITEMBUSLOCKTP",
"R_CADOCUMENTTP"
],
"BASE":
[
"R_CADOCUMENTBPITEMTP"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA