C_CABusinessPartnerLineItem

DDL: C_CABUSINESSPARTNERLINEITEM SQL: CCABUSPARLITEM Type: view CONSUMPTION

C_CABusinessPartnerLineItem is a Consumption CDS View in SAP S/4HANA. It reads from 1 data source (I_CADocumentBPItemLogical) and exposes 121 fields with key fields CADocument, CARepetitionItemNumber, CABPItemNumber, CASubItemNumber. It has 11 associations to related views.

Data Sources (1)

SourceAliasJoin Type
I_CADocumentBPItemLogical BPItem from

Associations (11)

CardinalityTargetAliasCondition
[0..1] I_CashPlanningGroup _CashPlanningGrp $projection.CashPlanningGroup = _CashPlanningGrp.CashPlanningGroup
[0..1] I_PlanningLevel _PlanningLevel $projection.PlanningLevel = _PlanningLevel.PlanningLevel
[0..1] I_TaxCode _TaxCode BPItem.TaxCalculationProcedure = _TaxCode.TaxCalculationProcedure and BPItem.TaxCode = _TaxCode.TaxCode
[0..*] I_TaxJurisdiction _TaxJurisdiction $projection.TaxJurisdiction = _TaxJurisdiction.TaxJurisdiction and $projection.TaxCalculationProcedure = _TaxJurisdiction.TaxJurisdictionCalcProcedure
[1..1] E_CADocumentBPItemPhysical _Extension $projection.CADocument = _Extension.CADocumentNumber and $projection.CARepetitionItemNumber = _Extension.CARepetitionItemNumber and $projection.CABPItemNumber = _Extension.CABPItemNumber and $projection.CASubItemNumber = _Extension.CASubItemNumber
[1..1] I_CAStatisticalItemCode _CAStatisticalItemCode $projection.CAStatisticalItemCode = _CAStatisticalItemCode.CAStatisticalItemCode
[1..1] I_BusinessArea _BusinessArea $projection.BusinessArea = _BusinessArea.BusinessArea
[1..1] I_Segment _Segment $projection.Segment = _Segment.Segment
[1..1] I_CASubApplication _CASubApplication $projection.CASubApplication = _CASubApplication.CASubApplication
[1..1] I_CAClearingRestrictionCode _CAClearingRestrictionCode $projection.CAClearingRestrictionCode = _CAClearingRestrictionCode.CAClearingRestrictionCode
[1..1] I_CAWorkflowCheckReason _CAWorkflowCheckReason $projection.CAWorkflowCheckReason = _CAWorkflowCheckReason.CAWorkflowCheckReason

Annotations (19)

NameValueLevelField
AbapCatalog.sqlViewName CCABUSPARLITEM view
AbapCatalog.compiler.compareFilter true view
VDM.viewType #CONSUMPTION view
ClientHandling.algorithm #SESSION_VARIABLE view
AccessControl.authorizationCheck #CHECK view
EndUserText.label view
AccessControl.personalData.blocking #REQUIRED view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.semanticKey CADocument view
ObjectModel.representativeKey CADocument view
Search.searchable true view
UI.headerInfo.typeName Geschäftspartnerposition view
UI.headerInfo.typeNamePlural Geschäftspartnerpositionen view
UI.headerInfo.title.type #STANDARD view
UI.headerInfo.title.value CADocument view
UI.presentationVariant.sortOrder.by CAPostingDate view
UI.presentationVariant.sortOrder.direction #DESC view

Fields (121)

KeyFieldSource TableSource FieldDescription
KEY CADocument CADocumentNumber
KEY CARepetitionItemNumber CARepetitionItemNumber
KEY CABPItemNumber CABPItemNumber
KEY CASubItemNumber CASubItemNumber
BusinessPartner BusinessPartner
FirstName _BusinessPartner FirstName
LastName _BusinessPartner LastName
BusinessPartnerFullName _BusinessPartner BusinessPartnerFullName
ContractAccount ContractAccount
ContractAccountName _CAHeader ContractAccountName
CAPostingDate CAPostingDate
CAClearingStatus CAClearingStatus Ausgleichsstatus
CAClearingStatusName
CAClearingReason CAClearingReason
CAClearingReasonName
CAClearingDate CAClearingDate
CAClearingDocumentNumber CAClearingDocumentNumber
CANetDueDate CANetDueDate
CAAmountInTransactionCurrency CAAmountInTransactionCurrency
CAMainTransaction CAMainTransaction
CAMainTransactionName
CASubTransaction CASubTransaction
CASubTransactionName
CADeferralDate CADeferralDate
CompanyCode CompanyCode
CompanyCodeName _CompCode CompanyCodeName
BusinessArea BusinessArea
BusinessAreaName
Segment Segment
SegmentName
PartnerCompany PartnerCompany
PartnerCompanyName _PartnerCompany CompanyName
CAContract CAContract
CAContractSemanticObject
CAProviderContractItemNumber CAProviderContractItemNumber
CASubApplication CASubApplication
CASubApplicationText
CAReconciliationAccount CAReconciliationAccount
CAReconciliationAccountName
GLAccountHierarchy
GLAccountHierarchyNode
PlannedAmtInTransactionCrcy
ProfitCenter ProfitCenter
ProfitCenterName
ProfitCenterHierarchy
ProfitCenterHierarchyNode
CACashDiscountDueDate CACashDiscountDueDate Skontofälligkeit
CACashDiscountRate CACashDiscountRate
CAPercentageUnit
CAEligibleAmountForCshDiscount CAEligibleAmountForCshDiscount
CACashDiscAmountInClearingCrcy CACashDiscAmountInClearingCrcy
CashPlanningGroup CashPlanningGroup
CashPlanningGroupName
PlanningLevel PlanningLevel
PlanningLevelName
CAPostingDateOfClearingDoc CAPostingDateOfClearingDoc Clearing Post. Date
CAClearingCurrency CAClearingCurrency
CAClearingAmountInClearingCrcy CAClearingAmountInClearingCrcy
CAValueDateForClearing CAValueDateForClearing
CAClearingRestrictionCode CAClearingRestrictionCode
CAClearingRestrictionCodeName
CAItemIsExcludedFromDunning CAItemIsExcludedFromDunning
CAItemIsExcludedFromDunText
CADunningProcedure CADunningProcedure
CADunningProcedureName
CACurrentFactoringStatusOfRbl CACurrentFactoringStatusOfRbl
CACurrentFactoringStsNameOfRbl
CAFactoringCheckStsForClrgInfo CAFactoringCheckStsForClrgInfo
CAFactoringClrgInfoChkStsName
BusinessPlace BusinessPlace
CAReceivingCountry CAReceivingCountry
CountryName
CAWorkflowCheckReason CAWorkflowCheckReason
CAWorkflowCheckReasonName
CAGrpgCodeForTransfToCollAgcy CAGrpgCodeForTransfToCollAgcy
CAIsIncludedInCollectionCase CAIsIncludedInCollectionCase
CAIsIncludedInCollCaseText
CADocumentType CADocumentType
CADocumentTypeName
CASubstituteDocumentNumber CASubstituteDocumentNumber
CASubstituteDocumentCategory CASubstituteDocumentCategory
CASubstituteDocCategoryName
CADocumentNumberOfOriginItem CADocumentNumberOfOriginItem
CAReferenceDocument CAReferenceDocument
CADoubtfulOrValueAdjmtCode CADoubtfulOrValueAdjmtCode
CADoubtfulOrValueAdjmtCodeName
CAInterestCode CAInterestCode
CAInterestCodeName
CAPaymentPreNotificationCode CAPaymentPreNotificationCode
CAPaymentPreNotifCodeName
CAItemIsOnlyForSettlement CAItemIsOnlyForSettlement
CAItemIsOnlyForSettlementText
CAIsDownPaymentRequest CAIsDownPaymentRequest
CAIsDownPaymentRequestText
CAPaymentMethod CAPaymentMethod
CAPaymentMethodName
CAPaymentCompanyCode CAPaymentCompanyCode
CAPaymentCompanyCodeName _CompCodePayt CompanyCodeName
CAGroupingForPayment CAGroupingForPayment
CAPaymentSpecificationCategory CAPaymentSpecificationCategory Typ der Festlegung
CAPaymentSpecificationCatName
CAAltvBPForPayment CAAltvBPForPayment
CAAltvBPForPaymentFullName _AltvBPForPayment BusinessPartnerFullName
CABankOfAltvBPForPayment CABankOfAltvBPForPayment
CACardOfAltvBPForPayment CACardOfAltvBPForPayment
CARevenueDistrFinalRecipient CARevenueDistrFinalRecipient
CARevenueDistrFinalRcpntName _CAHeaderFinalRec ContractAccountName
CAPartnerSettlementStatus CAPartnerSettlementStatus
CAPartnerSettlementStatusName
CARevenueDistrCurrentStatus CARevenueDistrCurrentStatus Aktueller Verteilungsstatus
CARevenueDistrCurrentStsName
CARevenueDistrLastStatus CARevenueDistrLastStatus Letzter Verteilungsstatus
CARevenueDistrLastStatusName
TaxCode TaxCode
TaxCodeName
CATaxAmountInLocalCurrency CATaxAmountInLocalCurrency LC Tax Amount
CATaxAmountInTransCurrency CATaxAmountInTransCurrency
CADownPaymentTaxAccount CADownPaymentTaxAccount
CADownPaymentTaxAcctLongName
CADownPaymentOffsetTaxAccount CADownPaymentOffsetTaxAccount
CADownPaymentOffsetTaxAcctName
@AbapCatalog.sqlViewName: 'CCABUSPARLITEM'
@AbapCatalog.compiler.compareFilter: true
@VDM.viewType: #CONSUMPTION
@ClientHandling.algorithm: #SESSION_VARIABLE
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: ''
@AccessControl.personalData.blocking: #REQUIRED

@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #XL
@ObjectModel.usageType.dataClass: #TRANSACTIONAL

@ObjectModel: {

//   compositionRoot: true,

//   draftEnabled: false,

//   transactionalProcessingDelegated: true,

   semanticKey:  'CADocument',
   representativeKey: 'CADocument',
   updateEnabled
}

@Search.searchable: true
@UI.headerInfo: {
      typeName:         'Geschäftspartnerposition',
      typeNamePlural:   'Geschäftspartnerpositionen',
      title: {
            type:   #STANDARD,
            value:  'CADocument'
        }
   }

@UI.presentationVariant.sortOrder: { by: 'CAPostingDate', direction: #DESC }
define view C_CABusinessPartnerLineItem
  as select from I_CADocumentBPItemLogical as BPItem
  association [0..1] to I_CashPlanningGroup         as _CashPlanningGrp           on  $projection.CashPlanningGroup = _CashPlanningGrp.CashPlanningGroup
  association [0..1] to I_PlanningLevel             as _PlanningLevel             on  $projection.PlanningLevel = _PlanningLevel.PlanningLevel
  association [0..1] to I_TaxCode                   as _TaxCode                   on  BPItem.TaxCalculationProcedure = _TaxCode.TaxCalculationProcedure
                                                                                  and BPItem.TaxCode                 = _TaxCode.TaxCode
  association [0..*] to I_TaxJurisdiction           as _TaxJurisdiction           on  $projection.TaxJurisdiction         = _TaxJurisdiction.TaxJurisdiction
                                                                                  and $projection.TaxCalculationProcedure = _TaxJurisdiction.TaxJurisdictionCalcProcedure
  association [1..1] to E_CADocumentBPItemPhysical  as _Extension                 on  $projection.CADocument             = _Extension.CADocumentNumber
                                                                                  and $projection.CARepetitionItemNumber = _Extension.CARepetitionItemNumber
                                                                                  and $projection.CABPItemNumber         = _Extension.CABPItemNumber
                                                                                  and $projection.CASubItemNumber        = _Extension.CASubItemNumber
  association [1..1] to I_CAStatisticalItemCode     as _CAStatisticalItemCode     on  $projection.CAStatisticalItemCode = _CAStatisticalItemCode.CAStatisticalItemCode
  association [1..1] to I_BusinessArea              as _BusinessArea              on  $projection.BusinessArea = _BusinessArea.BusinessArea
  association [1..1] to I_Segment                   as _Segment                   on  $projection.Segment = _Segment.Segment
  association [1..1] to I_CASubApplication          as _CASubApplication          on  $projection.CASubApplication = _CASubApplication.CASubApplication
  association [1..1] to I_CAClearingRestrictionCode as _CAClearingRestrictionCode on  $projection.CAClearingRestrictionCode = _CAClearingRestrictionCode.CAClearingRestrictionCode
  association [1..1] to I_CAWorkflowCheckReason     as _CAWorkflowCheckReason     on  $projection.CAWorkflowCheckReason = _CAWorkflowCheckReason.CAWorkflowCheckReason
{
      @Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.9 }
      @UI: {
        lineItem: [{ position: 30, importance: #HIGH}],
        selectionField.position: 30
      }
      @Consumption.semanticObject: 'CADocument'
      @Consumption.valueHelpDefinition: [{entity: { name: 'C_CADocumentHeaderValueHelp', element: 'CADocumentNumber'}}]
  key CADocumentNumber                                                                                                  as CADocument,

      @UI.fieldGroup: { qualifier: 'AdditionalData'}
  key CARepetitionItemNumber,

      @UI.fieldGroup: { qualifier: 'AdditionalData', groupLabel: 'Weitere Einzelheiten'}
  key CABPItemNumber,

      @UI.fieldGroup: { qualifier: 'AdditionalData'}
  key CASubItemNumber,

      @Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.9 }
      @UI: {
        lineItem: [{ position: 10, importance: #HIGH}],
        selectionField.position: 10
      }
      @ObjectModel: { text.element:  [ 'BusinessPartnerFullName' ] }
      @Semantics:   { contact.type: #PERSON }
      @Consumption.semanticObject: 'CAContractPartner'
      //@UI.textArrangement: #TEXT_FIRST

      @Consumption.valueHelpDefinition: [{entity: { name: 'C_CAContractPartnerValueHelp', element: 'BusinessPartner'}}]
      BusinessPartner,

      @Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.9 }
      @UI.hidden
      _BusinessPartner.FirstName,

      @Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.9 }
      @UI.hidden
      _BusinessPartner.LastName,

      @UI.hidden
      _BusinessPartner.BusinessPartnerFullName,

      @UI: {
        lineItem: [{ position: 20, importance: #HIGH}],
        selectionField.position: 20
      }
      @ObjectModel: { text.element: ['ContractAccountName']}
      @Consumption.semanticObject: 'ContractAccount'
      @Consumption.valueHelpDefinition: [{entity: { name: 'C_ContractAccountValueHelp', element: 'ContractAccount'}}]
      ContractAccount,

      @UI.hidden
      _CAHeader.ContractAccountName,

      @UI: {
        lineItem: [{ position: 40, importance: #HIGH}],
        selectionField.position: 40
      }
      @Consumption.filter.selectionType: #INTERVAL
      CAPostingDate,

      @UI: {
        lineItem: [{ position: 50, importance: #HIGH}],
        selectionField.position: 50
      }
      @EndUserText.label: 'Ausgleichsstatus'
      @UI.textArrangement: #TEXT_ONLY
      @ObjectModel: { text.element: ['CAClearingStatusName']}
      CAClearingStatus,

      @UI.hidden
      cast('' as char50)                                                                                                as CAClearingStatusName,

      @UI: {
        lineItem: [{ position: 60}],
        selectionField.position: 60
      }
      @ObjectModel: { text.element:  [ 'CAClearingReasonName' ] }
      @Consumption.valueHelpDefinition: [{entity: { name: 'C_CAClearingReasonValueHelp', element: 'CAClearingReason'}}]
      CAClearingReason,

      @UI.hidden
      _ClearingReason._Text[1: Language=$session.system_language].CAClearingReasonName,

      @UI:{ lineItem: { position: 70, importance: #HIGH}}
      @UI.fieldGroup: { qualifier: 'ClearingData', groupLabel: 'Ausgleichsdaten' }
      @Consumption.filter.selectionType: #INTERVAL
      CAClearingDate,

      @UI:{ lineItem: { position: 80, importance: #HIGH}}
      @UI.fieldGroup: { qualifier: 'ClearingData'}
      @Consumption.semanticObject: 'CAClearingDocument'
      @Consumption.valueHelpDefinition: [{entity: { name: 'C_CADocumentHeaderValueHelp', element: 'CADocumentNumber'}}]
      CAClearingDocumentNumber,

      @UI: {
        lineItem: [{ position: 90}],
        selectionField.position: 90
      }
      @ObjectModel: { text.element:  [ 'CAStstcCodeNameOfOriginItem' ] }
      @Consumption.valueHelpDefinition: [{entity: { name: 'C_CAStatisticalItemCodeVH', element: 'CAStatisticalItemCode'}}]
      @UI.textArrangement: #TEXT_FIRST
      CAStatisticalItemCode,

      @UI.hidden: true
      _CAStatisticalItemCode._CAStatisticalItemCodeText[1: Language=$session.system_language].CAStatisticalItemCodeText as CAStstcCodeNameOfOriginItem,
      //cast('' as val_text)                                                                                                                        as CAStstcCodeNameOfOriginItem,


      @UI: {
        lineItem: [{ position: 100}],
        selectionField.position: 100
      }
      @ObjectModel.mandatory: true
      @Consumption.filter.selectionType: #INTERVAL
      CANetDueDate,

      @UI: {
      lineItem: [{ position: 110, importance: #HIGH}],
      selectionField.position: 110
      }
      @Semantics.amount.currencyCode: 'TransactionCurrency'
      CAAmountInTransactionCurrency,

      @UI.selectionField.position: 120
      @ObjectModel: { text.element: ['CAMainTransactionName']}
      @Consumption.valueHelpDefinition: [{entity: { name: 'C_CAMainTransactionValueHelp', element: 'CAMainTransaction'}}]
      CAMainTransaction,

      @UI.hidden
      _MainTransaction._Text[1: Language=$session.system_language].CAMainTransactionName,

      @UI.selectionField.position: 130
      @ObjectModel: { text.element: ['CASubTransactionName']}
      @Consumption.valueHelpDefinition: [{entity: { name: 'C_CASubTransactionValueHelp', element: 'CASubTransaction'}}]
      @UI.textArrangement: #TEXT_ONLY
      CASubTransaction,

      @UI.hidden
      _SubTransaction._Text[1: Language=$session.system_language].CASubTransactionName,

      @UI.selectionField.position: 140
      @Consumption.filter.selectionType: #INTERVAL
      CADeferralDate,


      // Account Assignment


      @UI.fieldGroup: { qualifier: 'AccountAssignment', groupLabel: 'Kontierung'}
      @ObjectModel: { text.element:  [ 'CompanyCodeName' ] }
      @Consumption.valueHelpDefinition: [{entity: { name: 'C_CACompanyCodeVH', element: 'CompanyCode'}}]
      @Consumption.semanticObject: 'CompanyCode'
      CompanyCode,

      @UI.hidden
      _CompCode.CompanyCodeName,

      @UI.fieldGroup: { qualifier: 'AccountAssignment'}
      @ObjectModel: { text.element: ['BusinessAreaName']}
      @Consumption.valueHelpDefinition: [{entity: { name: 'C_CABusinessAreaValueHelp', element: 'BusinessArea'}}]
      BusinessArea,

      @UI.hidden
      _BusinessArea._Text[1: Language=$session.system_language].BusinessAreaName                                        as BusinessAreaName,

      @UI.fieldGroup: { qualifier: 'AccountAssignment'}
      @ObjectModel: { text.element: ['SegmentName']}
      @Consumption.valueHelpDefinition: [{entity: { name: 'I_SegmentStdVH', element: 'Segment'}}]
      @UI.textArrangement: #TEXT_ONLY
      Segment,

      @UI.hidden
      _Segment._Text[1: Language=$session.system_language].SegmentName                                                  as SegmentName,


      // Trading Partner

      @UI.fieldGroup: { qualifier: 'AccountAssignment'}
      @ObjectModel: { text.element:  [ 'PartnerCompanyName' ] }
      @Consumption.valueHelpDefinition: [{entity: { name: 'I_Partnercompany', element: 'PartnerCompany'}}]
      @UI.textArrangement: #TEXT_ONLY
      PartnerCompany,

      @UI.hidden
      _PartnerCompany.CompanyName                                                                                       as PartnerCompanyName,

      @UI.fieldGroup: { qualifier: 'AccountAssignment'}
      //No Value help defined.

      @Consumption.semanticObject: 'CAContract'
      CAContract,

      @UI.hidden: true
      cast('' as vtref_semobj_kk)                                                                                       as CAContractSemanticObject,

      @UI.fieldGroup: { qualifier: 'AccountAssignment'}
      //No Value help defined.

      CAProviderContractItemNumber,

      @UI.fieldGroup: { qualifier: 'AccountAssignment'}
      @ObjectModel: { text.element: ['CASubApplicationText']}
      CASubApplication,

      @UI.hidden
      //     cast('' as val_text)                                                                                                                                  as CASubApplicationText,

      _CASubApplication._CASubApplicationText[1:Language = $session.system_language].CASubApplicationText,

      // G/L Account

      @UI.fieldGroup: { qualifier: 'AccountAssignment'}
      @ObjectModel: { text.element: ['CAReconciliationAccountName']}
      @Consumption.valueHelpDefinition: [{entity: { name: 'C_GLAccountValueHelp', element: 'GLAccount'}}]
      CAReconciliationAccount,

      @UI.hidden
      _ReconAccount._Text[1: Language=$session.system_language].GLAccountName                                           as CAReconciliationAccountName,
      
      @Consumption.valueHelpDefinition: [{ entity: { name: 'I_GLAccountHierarchyStdVH', element: 'GLAccountHierarchy' } }]
      @Consumption.filter.selectionType: #SINGLE
      @ObjectModel.filter.transformedBy: 'ABAP:CL_FINS_HIER_VH_FLTR_TRANSFORM'
      cast('' as fis_glaccthier)                                                       as GLAccountHierarchy,

      @Consumption.filter.hidden: true
      @ObjectModel.filter.transformedBy: 'ABAP:CL_FINS_HIER_VH_FLTR_TRANSFORM'
      cast('' as fis_glacct_hrynid_50)                                                 as GLAccountHierarchyNode,

      @UI.fieldGroup: { qualifier: 'AccountAssignment' }
      @Semantics.amount.currencyCode: 'TransactionCurrency'
      cast(PlannedAmtInTransactionCrcy as fdwbt)                                                                        as PlannedAmtInTransactionCrcy,


      // Profit Center

      @UI.fieldGroup: { qualifier: 'AccountAssignment'}
      @ObjectModel: { text.element:  [ 'ProfitCenterName' ] }
      @Consumption.valueHelpDefinition: [{entity: { name: 'I_ProfitCenterVH', element: 'ProfitCenter'}}]
      @UI.textArrangement: #TEXT_ONLY
      ProfitCenter,

      @UI.hidden
      _ProfitCenter._Text[1: Language=$session.system_language].ProfitCenterName,


      @Consumption.valueHelpDefinition: [{ entity:{ name: 'I_ProfitCenterHierarchyVH', element: 'ProfitCenterHierarchy' } }]
      @Consumption.filter.selectionType: #SINGLE
      @ObjectModel.filter.transformedBy: 'ABAP:CL_FINS_HIER_VH_FLTR_TRANSFORM'
      @ObjectModel.readOnly: true
//      @ObjectModel:{

//          virtualElement: true,

//          virtualElementCalculatedBy: 'ABAP:CL_FCLM_BAM_MBA_CALC_EXIT'

//        }

      cast('' as fis_prctr_hryid_42)                                                                                    as ProfitCenterHierarchy,
      
      @ObjectModel.filter.transformedBy: 'ABAP:CL_FINS_HIER_VH_FLTR_TRANSFORM'
//      @ObjectModel.readOnly: true

//      @ObjectModel:{

//          virtualElement: true,

//          virtualElementCalculatedBy: 'ABAP:CL_FCLM_BAM_MBA_CALC_EXIT'

//        }

      @Consumption.filter.hidden: true
      cast('' as fis_prctr_hrynid_50)                                                                                   as ProfitCenterHierarchyNode,
      // Cash Discount


      @UI.fieldGroup: { qualifier: 'CashDiscount', groupLabel: 'Skonto' }
      @Consumption.filter.selectionType: #INTERVAL
      @EndUserText.label: 'Skontofälligkeit'
      CACashDiscountDueDate,

      @UI.fieldGroup: { qualifier: 'CashDiscount' }
      @Semantics.quantity.unitOfMeasure: 'CAPercentageUnit'
      CACashDiscountRate,

      @UI.hidden: true
      @Semantics.unitOfMeasure: true
      cast('%' as unit)                                                                                                 as CAPercentageUnit,

      @UI.fieldGroup: { qualifier: 'CashDiscount'}
      @Semantics.amount.currencyCode: 'TransactionCurrency'
      CAEligibleAmountForCshDiscount,

      @UI.fieldGroup: { qualifier: 'CashDiscount'}
      @Semantics.amount.currencyCode: 'TransactionCurrency'
      CACashDiscAmountInClearingCrcy,

      // Cash Management and Forecast


      @UI.fieldGroup: { qualifier: 'CashManagemenetandForecast', groupLabel: 'Finanzdisposition' }
      @ObjectModel: { text.element:  [ 'CashPlanningGroupName' ] }
      @Consumption.valueHelpDefinition: [{entity: { name: 'I_CashPlanningGroup', element: 'CashPlanningGroup'}}]
      @UI.textArrangement: #TEXT_ONLY
      CashPlanningGroup,

      @UI.hidden
      _CashPlanningGrp._Text[1: Language=$session.system_language].CashPlanningGroupName,

      @UI.fieldGroup: { qualifier: 'CashManagemenetandForecast' }
      @ObjectModel: { text.element:  [ 'PlanningLevelName' ] }
      @Consumption.valueHelpDefinition: [{entity: { name: 'I_PlanningLevel', element: 'PlanningLevel'}}]
      @UI.textArrangement: #TEXT_ONLY
      PlanningLevel,

      @UI.hidden
      _PlanningLevel._Text[1: Language=$session.system_language].PlanningLevelName,

      // Clearing Data


      @UI.fieldGroup: { qualifier: 'ClearingData'}
      @Consumption.filter.selectionType: #INTERVAL
      @EndUserText.label: 'Clearing Post. Date'
      CAPostingDateOfClearingDoc,

      @UI.fieldGroup: { qualifier: 'ClearingData'}
      @Semantics.currencyCode: true
      @Consumption.valueHelpDefinition: [{entity: { name: 'C_CurrencyValueHelp', element: 'Currency'}}]
      CAClearingCurrency,

      @UI.fieldGroup: { qualifier: 'ClearingData'}
      @Semantics.amount.currencyCode: 'CAClearingCurrency'
      CAClearingAmountInClearingCrcy,

      @UI.fieldGroup: { qualifier: 'ClearingData'}
      @Consumption.filter.selectionType: #INTERVAL
      CAValueDateForClearing,

      @UI.fieldGroup: { qualifier: 'ClearingData'}
      @ObjectModel: { text.element:  [ 'CAClearingRestrictionCodeName' ] }
      @Consumption.valueHelpDefinition: [{entity: { name: 'I_CAClearingRestrictionCodeVH', element: 'CAClearingRestrictionCode'}}]
      CAClearingRestrictionCode,

      @UI.hidden
      //cast('' as val_text)                                                                                                                                                                   as CAClearingRestrictionCodeName,

      _CAClearingRestrictionCode._Text[1: Language=$session.system_language].CAClearingRestrictionCodeName,


      // Dunning Data


      @UI.fieldGroup: { qualifier: 'DunningData', groupLabel: 'Mahndaten' }
      @ObjectModel: { text.element:  [ 'CAItemIsExcludedFromDunText' ] }
//      @EndUserText.label: 'Cannot Be Dunned'

      CAItemIsExcludedFromDunning,

      @UI.hidden
      cast('' as val_text)                                                                                              as CAItemIsExcludedFromDunText,

      @UI.fieldGroup: { qualifier: 'DunningData'}
      @ObjectModel: { text.element:  [ 'CADunningProcedureName' ] }
      @Consumption.valueHelpDefinition: [{entity: { name: 'I_CADunningProcedure', element: 'CADunningProcedure'}}]
      CADunningProcedure,

      @UI.hidden
      _DunningProcedure._Text[1: Language=$session.system_language].CADunningProcedureName,

      // Factoring


      @UI.fieldGroup: { qualifier: 'Factoring', groupLabel: 'Factoring' }
      CACurrentFactoringStatusOfRbl,

      @UI.hidden
      cast('' as val_text)                                                                                              as CACurrentFactoringStsNameOfRbl,

      @UI.fieldGroup: { qualifier: 'Factoring' }
      CAFactoringCheckStsForClrgInfo,

      @UI.hidden
      cast('' as val_text)                                                                                              as CAFactoringClrgInfoChkStsName,

      // Miscellaneous


      @UI.fieldGroup: { qualifier: 'Further', groupLabel: 'Sonstiges'}
      @Consumption.valueHelpDefinition: [{entity: { name: 'I_Branch', element: 'Branch'}}]
      BusinessPlace,

      @UI.fieldGroup: { qualifier: 'Further'}
      @ObjectModel: { text.element:  [ 'CountryName' ] }
      @Consumption.valueHelpDefinition: [{entity: { name: 'I_Country', element: 'Country'}}]
      @UI.textArrangement: #TEXT_ONLY
      CAReceivingCountry,

      @UI.hidden
      _ReceivingCountry._Text[1: Language=$session.system_language].CountryName,

      @UI.fieldGroup: { qualifier: 'Further'}
      @ObjectModel: { text.element:  [ 'CAWorkflowCheckReasonName' ] }
      @Consumption.valueHelpDefinition: [{entity: { name: 'I_CAWorkflowCheckReason', element: 'CAWorkflowCheckReason'}}]
      @UI.textArrangement: #TEXT_ONLY
      CAWorkflowCheckReason,

      @UI.hidden
      _CAWorkflowCheckReason._Text[1: Language=$session.system_language].CAWorkflowCheckReasonName,

      @UI.fieldGroup: { qualifier: 'Further'}
      CAGrpgCodeForTransfToCollAgcy,


      @UI.fieldGroup: { qualifier: 'Further'}
      @ObjectModel: { text.element:  [ 'CAIsIncludedInCollCaseText' ] }
      @UI.textArrangement: #TEXT_ONLY
      CAIsIncludedInCollectionCase,

      @UI.hidden
      cast('' as val_text)                                                                                              as CAIsIncludedInCollCaseText,

      // Header Data


      @UI.fieldGroup: { qualifier: 'HeaderData', groupLabel: 'Kopfdaten'}
      @ObjectModel: { text.element: ['CADocumentTypeName']}
      @Consumption.valueHelpDefinition: [{entity: { name: 'C_CADocumentTypeValueHelp', element: 'CADocumentType'}}]
      CADocumentType,

      @UI.hidden
      _DocType._Text[1: Language=$session.system_language].CADocumentTypeName,

      @UI.fieldGroup: { qualifier: 'HeaderData'}
      @Consumption.valueHelpDefinition: [{entity: { name: 'C_CADocumentHeaderValueHelp', element: 'CADocumentNumber'}}]
      @Consumption.semanticObject: 'CADocument'
      CASubstituteDocumentNumber,

      @Consumption.filter.hidden
      @ObjectModel: { text.element:  [ 'CASubstituteDocCategoryName' ] }
      @UI.textArrangement: #TEXT_ONLY
      CASubstituteDocumentCategory,

      @UI.hidden
      cast('' as val_text)                                                                                              as CASubstituteDocCategoryName,


      @UI.fieldGroup: { qualifier: 'HeaderData'}
      @Consumption.valueHelpDefinition: [{entity: { name: 'C_CADocumentHeaderValueHelp', element: 'CADocumentNumber'}}]
      @Consumption.semanticObject: 'CADocument'
      CADocumentNumberOfOriginItem,

      @UI.fieldGroup: { qualifier: 'HeaderData'}
      @Consumption.semanticObject: 'CAReferenceDocument'
      CAReferenceDocument,

      // Individual Value Adjustment


      @UI.fieldGroup: { qualifier: 'IVA', groupLabel: 'Einzelwertberichtigung' }
      @ObjectModel: { text.element: ['CADoubtfulOrValueAdjmtCodeName']}
      @UI.textArrangement: #TEXT_ONLY
      CADoubtfulOrValueAdjmtCode,

      @UI.hidden
      cast('' as val_text)                                                                                              as CADoubtfulOrValueAdjmtCodeName,

      // Interest Data


      @ObjectModel: { text.element:  [ 'CAInterestCodeName' ] }
      @UI.fieldGroup: { qualifier: 'InterestData', groupLabel: 'Zinsdaten'}
      @Consumption.valueHelpDefinition: [{entity: { name: 'C_CAInterestCodeValueHelp', element: 'CAInterestCode'}}]
      CAInterestCode,

      @UI.hidden
      _InterestCode._Text[1: Language=$session.system_language].CAInterestCodeName                                      as CAInterestCodeName,

      // Payment Data


      // Payment Order

      @ObjectModel: { text.element:  [ 'CAPaymentPreNotifCodeName' ] }
      @UI.fieldGroup: { qualifier: 'PaymentData'}
      @UI.textArrangement: #TEXT_ONLY
      CAPaymentPreNotificationCode,

      @UI.hidden
      cast('' as val_text)                                                                                              as CAPaymentPreNotifCodeName,

      //Can only be cleared

      @UI.fieldGroup: { qualifier: 'PaymentData', groupLabel: 'Zahldaten'}
      @ObjectModel: { text.element: ['CAItemIsOnlyForSettlementText']}
//      @EndUserText.label: 'Can Only Be Cleared'

      @UI.textArrangement: #TEXT_ONLY
      CAItemIsOnlyForSettlement,

      @UI.hidden
      cast('' as val_text)                                                                                              as CAItemIsOnlyForSettlementText,

      @UI.fieldGroup: { qualifier: 'PaymentData'}
      @ObjectModel: { text.element: ['CAIsDownPaymentRequestText']}
      CAIsDownPaymentRequest,

      @UI.hidden
      cast('' as val_text)                                                                                              as CAIsDownPaymentRequestText,


      @UI.fieldGroup: { qualifier: 'PaymentData'}
      @ObjectModel: { text.element: ['CAPaymentMethodName']}
      @Consumption.valueHelpDefinition: [{entity: { name: 'C_CAPaymentMethodVH', element: 'CAPaymentMethod'}}]
      CAPaymentMethod,

      @UI.hidden
      _PaytMethod._Text[1: Language=$session.system_language].CAPaymentMethodName,

      @ObjectModel: { text.element: ['CAPaymentCompanyCodeName']}
      @UI.fieldGroup: { qualifier: 'PaymentData'}
      @Consumption.valueHelpDefinition: [{entity: { name: 'C_CACompanyCodeVH', element: 'CompanyCode'}}]
      CAPaymentCompanyCode,

      @UI.hidden
      _CompCodePayt.CompanyCodeName                                                                                     as CAPaymentCompanyCodeName,

      @UI.fieldGroup: { qualifier: 'PaymentData'}
      CAGroupingForPayment,

      @UI.fieldGroup: { qualifier: 'PaymentData'}
      @ObjectModel: { text.element: ['CAPaymentSpecificationCatName']}
      @EndUserText.label: 'Typ der Festlegung'
      @UI.textArrangement: #TEXT_ONLY
      CAPaymentSpecificationCategory,

      @UI.hidden
      cast('' as val_text)                                                                                              as CAPaymentSpecificationCatName,

      @ObjectModel: { text.element:  [ 'CAAltvBPForPaymentFullName' ] }
      @UI.fieldGroup: { qualifier: 'PaymentData'}
      @Consumption.valueHelpDefinition: [{entity: { name: 'C_CAContractPartnerValueHelp', element: 'BusinessPartner'}}]
      CAAltvBPForPayment,

      @UI.hidden
      _AltvBPForPayment.BusinessPartnerFullName                                                                         as CAAltvBPForPaymentFullName,

      @UI.hidden
      CABankOfAltvBPForPayment,

      @UI.hidden
      CACardOfAltvBPForPayment,


      // Revenue Distribution


      @UI.fieldGroup: { qualifier: 'RevenueDistribution', groupLabel: 'Einnahmeverteilung' }
      @ObjectModel: { text.element:  [ 'CARevenueDistrFinalRcpntName' ] }
      @Consumption.valueHelpDefinition: [{entity: { name: 'I_ContractAccountHeaderStdVH', element: 'ContractAccount'}}]
      @UI.textArrangement: #TEXT_ONLY
      CARevenueDistrFinalRecipient,

      @UI.hidden
      _CAHeaderFinalRec.ContractAccountName                                                                             as CARevenueDistrFinalRcpntName,

      //Revenue Sharing

      @UI.fieldGroup: { qualifier: 'RevenueDistribution'}
      @ObjectModel: { text.element:  [ 'CAPartnerSettlementStatusName' ] }
      @UI.textArrangement: #TEXT_ONLY
      CAPartnerSettlementStatus,

      @UI.hidden
      cast('' as val_text)                                                                                              as CAPartnerSettlementStatusName,

      @UI.fieldGroup: { qualifier: 'RevenueDistribution' }
      @ObjectModel: { text.element:  [ 'CARevenueDistrCurrentStsName' ] }
      @EndUserText.label: 'Aktueller Verteilungsstatus'
      CARevenueDistrCurrentStatus,

      @UI.hidden
      cast('' as val_text)                                                                                              as CARevenueDistrCurrentStsName,

      @UI.fieldGroup: { qualifier: 'RevenueDistribution' }
      @ObjectModel: { text.element:  [ 'CARevenueDistrLastStatusName' ] }
      @EndUserText.label: 'Letzter Verteilungsstatus'
      CARevenueDistrLastStatus,

      @UI.hidden
      cast('' as val_text)                                                                                              as CARevenueDistrLastStatusName,


      // Tax Data


      @UI.fieldGroup: { qualifier: 'TaxData'}
      @ObjectModel: { text.element: ['TaxCodeName']}
      @Consumption.valueHelpDefinition: [{entity: { name: 'I_TaxCode', element: 'TaxCode'}}]
      @UI.textArrangement: #TEXT_ONLY
      TaxCode,

      @UI.hidden
      _TaxCode._Text[1: Language=$session.system_language].TaxCodeName,

      @UI.fieldGroup: { qualifier: 'TaxData', groupLabel: 'Steuerdaten' }
      @Semantics.amount.currencyCode: 'TransactionCurrency'
      @EndUserText.label: 'LC Tax Amount'
      CATaxAmountInLocalCurrency,

      @UI.fieldGroup: { qualifier: 'TaxData'}
      @Semantics.amount.currencyCode: 'TransactionCurrency'
      CATaxAmountInTransCurrency,

      @UI.fieldGroup: { qualifier: 'TaxData'}
      @ObjectModel: { text.element: ['CADownPaymentTaxAcctLongName']}
      @Consumption.valueHelpDefinition: [{entity: { name: 'C_GLAccountValueHelp', element: 'GLAccount'}}]
      @UI.textArrangement: #TEXT_ONLY
      CADownPaymentTaxAccount,

      @UI.hidden
      _TaxAccount._Text[1: Language=$session.system_language].GLAccountLongName                                         as CADownPaymentTaxAcctLongName,

      @UI.fieldGroup: { qualifier: 'TaxData'}
      @ObjectModel: { text.element: ['CADownPaymentOffsetTaxAcctName']}
      @Consumption.valueHelpDefinition: [{entity: { name: 'C_GLAccountValueHelp', element: 'GLAccount'}}]
      @UI.textArrangement: #TEXT_ONLY
      CADownPaymentOffsetTaxAccount,

      @UI.hidden
      _OffsetTaxAccount._Text[1: Language=$session.system_language].GLAccountName                                       as CADownPaymentOffsetTaxAcctName,

      @UI.fieldGroup: { qualifier: 'TaxData'}
      @ObjectModel: { text.element: ['TaxJurisdictionName']}
      @Consumption.valueHelpDefinition: [{entity: { name: 'I_TaxJurisdiction', element: 'TaxJurisdiction'}}]
      @UI.textArrangement: #TEXT_ONLY
      TaxJurisdiction,

      @UI.hidden
      _TaxJurisdiction._Text[1: Language=$session.system_language].TaxJurisdictionName,

      @UI.hidden
      TaxCalculationProcedure,

      @UI.fieldGroup: { qualifier: 'TaxData'}
      @EndUserText.label: 'Quellensteuerprozentsatz'
      @EndUserText.quickInfo: 'Quellensteuerprozentsatz'
      @Semantics.quantity.unitOfMeasure: 'CAPercentageUnit'
      CAWithholdingTaxPercentage,

      @UI.fieldGroup: { qualifier: 'TaxData'}
      @ObjectModel: { text.element: ['CAOtherTaxCodeName']}
      @Consumption.valueHelpDefinition: [{entity: { name: 'I_CAOtherTaxCode', element: 'CAOtherTaxCode'}}]
      @UI.textArrangement: #TEXT_ONLY
      CAOtherTaxCode,

      @UI.hidden
      _OtherTaxCode._Text[1: Language=$session.system_language].CAOtherTaxCodeName,

      @UI.fieldGroup: { qualifier: 'TaxData'}
      @Semantics.amount.currencyCode: 'TransactionCurrency'
      CATaxPortionInLocalCurrency,

      @UI.fieldGroup: { qualifier: 'TaxData'}
      @Semantics.amount.currencyCode: 'TransactionCurrency'
      CATaxPortionInTransCurrency,


      // Witholding Tax


      @UI.fieldGroup: { qualifier: 'WitholdingTax'}
      @ObjectModel: { text.element: ['WhldgTaxCodeName']}
      @Consumption.valueHelpDefinition: [{entity: { name: 'I_WithholdingTaxCode', element: 'WithholdingTaxCode'}}]
      @UI.textArrangement: #TEXT_ONLY
      WithholdingTaxCode,

      @UI.hidden
      _WithholdingTaxCode.WhldgTaxCodeName,

      @UI.fieldGroup: { qualifier: 'WitholdingTax', groupLabel: 'Quellensteuer' }
      @ObjectModel: { text.element: ['CAWithholdingTaxSuplmntName']}
      @Consumption.valueHelpDefinition: [{entity: { name: 'I_CAWithholdingTaxSupplement', element: 'CAWithholdingTaxSupplement'}}]
      @UI.textArrangement: #TEXT_ONLY
      @EndUserText.label: 'Quellensteuerzusatz'
      CAWithholdingTaxSupplement,

      @UI.hidden
      _WhldgTaxSuplmnt._Text[1: Language=$session.system_language].CAWithholdingTaxSuplmntName,

      @UI.fieldGroup: { qualifier: 'WitholdingTax'}
      @ObjectModel: { text.element: ['CAWithholdingTaxCategoryName']}
      @UI.textArrangement: #TEXT_ONLY
      @EndUserText.label: 'Quellensteuerkategorie'
      CAWithholdingTaxCategory,

      @UI.hidden
      cast('' as val_text)                                                                                              as CAWithholdingTaxCategoryName,

      @UI.fieldGroup: { qualifier: 'WitholdingTax'}
      @Semantics.amount.currencyCode: 'TransactionCurrency'
      @EndUserText.label: 'Quellsteuerbetrag'
      CAWithholdingTaxAmount,

      @UI.fieldGroup: { qualifier: 'WitholdingTax' }
      @EndUserText.label: 'Quellensteuerzertifikat'
      WithholdingTaxCertificate,


      // Further Details


      @UI.fieldGroup: { qualifier: 'AdditionalData'}
      @Semantics.currencyCode: true
      @Consumption.valueHelpDefinition: [{entity: { name: 'C_CurrencyValueHelp', element: 'Currency'}}]
      TransactionCurrency,

      @UI.fieldGroup: { qualifier: 'AdditionalData'}
      @ObjectModel: { text.element:  [ 'CAPeriodCodeName' ] }
      @Consumption.valueHelpDefinition: [{entity: { name: 'C_CAPeriodCodeValueHelp', element: 'CAPeriodCode'}}]
      @UI.textArrangement: #TEXT_ONLY
      CAPeriodCode,

      @UI.hidden
      _PeriodCode._Text[1: Language=$session.system_language].CAPeriodCodeName,

      @UI.fieldGroup: { qualifier: 'AdditionalData'}
      @Consumption.filter.selectionType: #SINGLE
      CAStartDateOfBillingPeriod,

      @UI.fieldGroup: { qualifier: 'AdditionalData'}
      @Consumption.filter.selectionType: #SINGLE
      CAEndDateOfBillingPeriod,

      // Canceled

      @UI.fieldGroup: { qualifier: 'AdditionalData'}
      @ObjectModel: { text.element:  [ 'CAItemIsWithdrawnText' ] }
      CAItemIsWithdrawn,

      @UI.hidden
      cast('' as val_text)                                                                                              as CAItemIsWithdrawnText,

      @UI.fieldGroup: { qualifier: 'AdditionalData'}
      @Semantics.amount.currencyCode: 'TransactionCurrency'
      @EndUserText.label: 'Betrag Hauswährung'
      CAAmountInLocalCurrency,

      @UI.fieldGroup: { qualifier: 'AdditionalData'}
      @Semantics.amount.currencyCode: 'TransactionCurrency'
      CAAmountInSecondCurrency,

      @UI.fieldGroup: { qualifier: 'AdditionalData'}
      @Semantics.amount.currencyCode: 'TransactionCurrency'
      CAAmountInThirdCurrency,


      @UI.fieldGroup: { qualifier: 'AdditionalData'}
      @Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.9 }
      CABPItemText,





      @UI.hidden
      CAChangeIsForbidden,

      @Consumption.filter.hidden
      @ObjectModel: { text.element:  [ 'CASEPAPreNotifOriginCodeText' ] }
      CASEPAPreNotifOriginCode,

      @UI.hidden
      cast('' as val_text)                                                                                              as CASEPAPreNotifOriginCodeText,

      // extra fields for authority checks

      @UI.hidden
      _CAPartner.CAAuthorizationGroup,

      @UI.hidden
      _ProviderContract.CAAuthorizationGroup                                                                            as CAProviderContractAuthznGroup
}