C_MDQltyCustCoCodeDetail
Customer Company Code Rule Details
C_MDQltyCustCoCodeDetail is a Consumption CDS View that provides data about "Customer Company Code Rule Details" in SAP S/4HANA. It reads from 2 data sources (I_CompanyCode, I_CustomerCompany) and exposes 19 fields with key fields CompanyCode, Customer. It has 5 associations to related views.
Data Sources (2)
| Source | Alias | Join Type |
|---|---|---|
| I_CompanyCode | _CompanyCode | inner |
| I_CustomerCompany | _CustomerCompanyCode | from |
Associations (5)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | I_CompanyCodeStdVH | _CompanyCodeValueHelp | $projection.CompanyCode = _CompanyCodeValueHelp.CompanyCode |
| [0..1] | C_ReconAccountVHTemp | _RecnclnAcctValueHelp | $projection.ReconciliationAccount = _RecnclnAcctValueHelp.ReconciliationAccount and $projection.CompanyCode = _RecnclnAcctValueHelp.CompanyCode |
| [0..1] | C_PaymentTermsVHTemp | _PaytTrmsValueHelp | $projection.PaymentTerms = _PaytTrmsValueHelp.PaymentTerms |
| [0..1] | C_PaymentTermsTextVHTemp | _PaymentTermsText | $projection.PaymentTerms = _PaymentTermsText.PaymentTerms and _PaymentTermsText.Language = $session.system_language |
| [0..1] | C_ReconAccountTextVHTemp | _RecnclnAcctValueText | $projection.ChartOfAccounts = _RecnclnAcctValueText.ChartOfAccounts and $projection.ReconciliationAccount = _RecnclnAcctValueText.GLAccount and _RecnclnAcctValueText.Language = $session.system_language |
Annotations (14)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | CMDQCUSTCODETL | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AbapCatalog.preserveKey | true | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| EndUserText.label | Customer Company Code Rule Details | view | |
| ObjectModel.representativeKey | Customer | view | |
| ObjectModel.usageType.sizeCategory | #XXL | view | |
| ObjectModel.usageType.dataClass | #MASTER | view | |
| ObjectModel.usageType.serviceQuality | #D | view | |
| VDM.viewType | #CONSUMPTION | view | |
| Search.searchable | true | view | |
| Consumption.ranked | true | view | |
| AccessControl.personalData.blocking | #REQUIRED | view |
Fields (19)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | CompanyCode | I_CustomerCompany | CompanyCode | |
| KEY | Customer | I_CustomerCompany | Customer | Customer |
| IsBusinessPurposeCompleted | I_CustomerCompany | IsBusinessPurposeCompleted | ||
| CompanyCodeName | I_CompanyCode | CompanyCodeName | Company Code Description | |
| ReconciliationAccount | I_CustomerCompany | ReconciliationAccount | Reconciliation Account | |
| GLAccountLongName | _RecnclnAcctValueText | GLAccountLongName | Reconciliation Account Text | |
| ChartOfAccounts | I_CompanyCode | ChartOfAccounts | ||
| ChartOfAccountsName | ||||
| PaymentTerms | I_CustomerCompany | PaymentTerms | ||
| PaymentTermsName | _PaymentTermsText | PaymentTermsName | Payment Terms Name | |
| PhysicalInventoryBlockInd | I_CustomerCompany | PhysicalInventoryBlockInd | ||
| DeletionIndicator | I_CustomerCompany | DeletionIndicator | ||
| _Customer | I_CustomerCompany | _Customer | ||
| _CompanyCode | _CompanyCode | |||
| _CompanyCodeValueHelp | _CompanyCodeValueHelp | |||
| _RecnclnAcctValueHelp | _RecnclnAcctValueHelp | |||
| _PaytTrmsValueHelp | _PaytTrmsValueHelp | |||
| _PaymentTermsText | _PaymentTermsText | |||
| AuthorizationGroup | I_CustomerCompany | AuthorizationGroup |
@AbapCatalog.sqlViewName: 'CMDQCUSTCODETL'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@ClientHandling.algorithm: #SESSION_VARIABLE
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Customer Company Code Rule Details'
@ObjectModel.representativeKey: 'Customer'
@ObjectModel.usageType: { sizeCategory: #XXL, dataClass: #MASTER, serviceQuality: #D }
@VDM.viewType: #CONSUMPTION
@Search.searchable: true
@Consumption.ranked: true
@AccessControl.personalData.blocking: #REQUIRED
@ObjectModel: {
semanticKey: ['Customer', 'CompanyCode']
}
define view C_MDQltyCustCoCodeDetail
as select from I_CustomerCompany as _CustomerCompanyCode
inner join I_CompanyCode as _CompanyCode on _CustomerCompanyCode.CompanyCode = _CompanyCode.CompanyCode
// association [0..1] to I_CompanyCode as _CompanyCode on $projection.CompanyCode = _CompanyCode.CompanyCode
//value helps
association [0..1] to I_CompanyCodeStdVH as _CompanyCodeValueHelp on $projection.CompanyCode = _CompanyCodeValueHelp.CompanyCode
association [0..1] to C_ReconAccountVHTemp as _RecnclnAcctValueHelp on $projection.ReconciliationAccount = _RecnclnAcctValueHelp.ReconciliationAccount
and $projection.CompanyCode = _RecnclnAcctValueHelp.CompanyCode
association [0..1] to C_PaymentTermsVHTemp as _PaytTrmsValueHelp on $projection.PaymentTerms = _PaytTrmsValueHelp.PaymentTerms
// Associations added for Text Annotation
association [0..1] to C_PaymentTermsTextVHTemp as _PaymentTermsText on $projection.PaymentTerms = _PaymentTermsText.PaymentTerms
and _PaymentTermsText.Language = $session.system_language
association [0..1] to C_ReconAccountTextVHTemp as _RecnclnAcctValueText on $projection.ChartOfAccounts = _RecnclnAcctValueText.ChartOfAccounts
and $projection.ReconciliationAccount = _RecnclnAcctValueText.GLAccount
and _RecnclnAcctValueText.Language = $session.system_language
{
@ObjectModel.foreignKey.association: '_CompanyCode'
@Consumption.valueHelpDefinition: [
{ association: '_CompanyCodeValueHelp' } ]
@UI.textArrangement: #TEXT_FIRST
@ObjectModel.text.element: ['CompanyCodeName']
@Search: { defaultSearchElement: true, fuzzinessThreshold: 0.8, ranking: #HIGH }
key _CustomerCompanyCode.CompanyCode, //BUKRS
@EndUserText.label: 'Customer'
//@Consumption.valueHelp: '_CustomerValueHelp'
@Search: { defaultSearchElement: true, fuzzinessThreshold: 0.8, ranking: #LOW }
key _CustomerCompanyCode.Customer,
@Search: { defaultSearchElement: false, fuzzinessThreshold: 0.8, ranking: #LOW }
_CustomerCompanyCode.IsBusinessPurposeCompleted,
/* Additonal KNB1 */
/* Customer CompanyCode */
@ObjectModel.readOnly: true
@EndUserText.label: 'Company Code Description'
@Search: { defaultSearchElement: true, fuzzinessThreshold: 0.8, ranking: #LOW }
@UI.hidden: true
@Consumption.filter.hidden: true
_CompanyCode.CompanyCodeName,
@ObjectModel.foreignKey.association: '_RecnclnAcctValueHelp'
@UI.fieldGroup: [{
qualifier: 'Accounting',
groupLabel:'Accounting',
label:'Reconciliation Account',
position: 15,
importance: #HIGH
}]
@ObjectModel.text.element: ['GLAccountLongName']
@UI.textArrangement: #TEXT_FIRST
@EndUserText.label: 'Reconciliation Account'
@Search: { defaultSearchElement: true, fuzzinessThreshold: 0.8, ranking: #LOW }
_CustomerCompanyCode.ReconciliationAccount, //AKONT
@ObjectModel.readOnly: true
@EndUserText.label: 'Reconciliation Account Text'
@Search: { defaultSearchElement: true, fuzzinessThreshold: 0.8, ranking: #LOW }
@UI.hidden: true
@Consumption.filter.hidden: true
_RecnclnAcctValueText.GLAccountLongName,
@Search: { defaultSearchElement: false, fuzzinessThreshold: 0.8, ranking: #LOW }
_CompanyCode.ChartOfAccounts,
@Search: { defaultSearchElement: false, fuzzinessThreshold: 0.8, ranking: #LOW }
_CompanyCode._ChartOfAccountsText[1:Language=$session.system_language ].ChartOfAccountsName,
@ObjectModel.foreignKey.association: '_PaytTrmsValueHelp'
@UI.fieldGroup: [{
qualifier: 'Payment',
groupLabel:'Payment',
label:'Payment Terms',
position: 11,
importance: #HIGH
}]
@ObjectModel.text.element: ['PaymentTermsName']
@UI.textArrangement: #TEXT_FIRST
@Search: { defaultSearchElement: true, fuzzinessThreshold: 0.8, ranking: #LOW }
_CustomerCompanyCode.PaymentTerms, //ZTERM
@EndUserText.label: 'Payment Terms Name'
@Search: { defaultSearchElement: true, fuzzinessThreshold: 0.8, ranking: #LOW }
@UI.hidden: true
@Consumption.filter.hidden: true
_PaymentTermsText.PaymentTermsName,
@Search: { defaultSearchElement: false, fuzzinessThreshold: 0.8, ranking: #LOW }
_CustomerCompanyCode.PhysicalInventoryBlockInd, //SPERR
@Search: { defaultSearchElement: false, fuzzinessThreshold: 0.8, ranking: #LOW }
_CustomerCompanyCode.DeletionIndicator, //LOEVM
/* Associations */
_CustomerCompanyCode._Customer,
_CompanyCode,
_CompanyCodeValueHelp,
_RecnclnAcctValueHelp,
_PaytTrmsValueHelp,
_PaymentTermsText,
//for DCL only
@Consumption.filter.hidden: true
_CustomerCompanyCode.AuthorizationGroup
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"C_PAYMENTTERMSTEXTVHTEMP",
"C_RECONACCOUNTTEXTVHTEMP",
"I_CHARTOFACCOUNTSTEXT",
"I_COMPANYCODE",
"I_CUSTOMERCOMPANY"
],
"ASSOCIATED":
[
"C_PAYMENTTERMSTEXTVHTEMP",
"C_PAYMENTTERMSVHTEMP",
"C_RECONACCOUNTTEXTVHTEMP",
"C_RECONACCOUNTVHTEMP",
"I_COMPANYCODE",
"I_COMPANYCODESTDVH",
"I_CUSTOMER"
],
"BASE":
[
"I_CUSTOMERCOMPANY"
],
"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