@AbapCatalog.sqlViewName: 'PCAINVDOC_I'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@VDM.private: true
@VDM.viewType: #COMPOSITE
@AccessControl.authorizationCheck: #CHECK
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel: {
usageType:{
serviceQuality: #D,
sizeCategory: #XL,
dataClass: #TRANSACTIONAL
},
representativeKey: 'CAInvcgDocItem'
}
define view P_CAInvcgDocItem
as select from I_CAInvcgDocItem
-- further associations (not on I-level due to view complexity)
association [0..1] to I_CAMainTransaction as _CAMainTransaction on $projection.CAApplicationArea = _CAMainTransaction.CAApplicationArea
and $projection.CAMainTransaction = _CAMainTransaction.CAMainTransaction
association [0..1] to I_CASubTransaction as _CASubTransaction on $projection.CAApplicationArea = _CASubTransaction.CAApplicationArea
and $projection.CAMainTransaction = _CASubTransaction.CAMainTransaction
and $projection.CASubTransaction = _CASubTransaction.CASubTransaction
association [0..1] to I_CAOtherTaxCode as _CAOtherTaxCode on $projection.CompanyCodeCountry = _CAOtherTaxCode.Country
and $projection.CAOtherTaxCode = _CAOtherTaxCode.CAOtherTaxCode
association [0..1] to I_TaxCode as _TaxCode on $projection.TaxCalculationProcedure = _TaxCode.TaxCalculationProcedure
and $projection.TaxCode = _TaxCode.TaxCode
association [0..1] to I_TaxJurisdiction as _TaxJurisdiction on $projection.TaxCalculationProcedure = _TaxJurisdiction.TaxJurisdictionCalcProcedure
and $projection.TaxJurisdiction = _TaxJurisdiction.TaxJurisdiction
association [0..1] to I_WithholdingTaxCode as _WithholdingTaxCode on $projection.WithholdingTaxCode = _WithholdingTaxCode.WithholdingTaxCode
and $projection.CompanyCodeCountry = _WithholdingTaxCode.Country
{
key CAInvoicingDocument,
key CAInvcgDocItem,
CAInvcgDocumentItemType,
CompanyCode,
Division,
CAContract,
CAProviderContractItemNumber,
CASubApplication,
CAInvcgItmAltvBusinessPartner,
CAInvcgItmAltvContractAccount,
CAInvcgDocItmAltvMDCat,
@ObjectModel.foreignKey.association: '_CAMainTransaction'
CAMainTransaction,
@ObjectModel.foreignKey.association: '_CASubTransaction'
CASubTransaction,
CAIsDocItemSimulated,
CAInvcgDocItemIsReversal,
CAInvcgIsInFinalAmt,
CAInvcgIsItemPostingRelevant,
CAInvcgIsNotBPRelevant,
CAInvcgIsItemPrintingRelevant,
CAInvcgSubstituteGroupPrinting,
TransactionCurrency,
CAAmountInTransactionCurrency,
CACurrencySourceDocument,
CAInvcgSourceDocumentAmount,
CAGroupingCurrencyTranslation,
CAAccountDeterminationCode,
BusinessPlace,
BusinessArea,
CATaxIsIncluded,
CATaxDetnType,
CAInvcgTaxGroupingKey,
@ObjectModel.foreignKey.association: '_CAOtherTaxCode'
CAOtherTaxCode,
@ObjectModel.foreignKey.association: '_TaxCode'
TaxCode,
CATaxDeterminationCode,
@ObjectModel.foreignKey.association: '_TaxJurisdiction'
TaxJurisdiction,
CATransactionKeyAccountDetn,
CAConditionType,
CATaxRateInPercent,
TaxCountry,
TransToTaxCntryCrcyCnvrsnFctr,
CAInvcgOffsettingCategory,
CAInvcgOffsettingProcedure,
CAInvcgOffsettingAction,
CATaxDate,
CATaxBaseAmount,
CATaxAmountInTransCurrency,
CATaxPortionInTransCurrency,
@ObjectModel.foreignKey.association: '_WithholdingTaxCode'
WithholdingTaxCode,
CAIsDownPaymentRequest,
CAStatisticalItemCode,
CAInvcgOffsettingGroup,
CAInvcgDfrrdRevenueStatus,
CAIsRevenueAccountingRelevant,
CAInvcgRevenueGrouping,
CARevenueAccountingServiceType,
CAInvcgAccrualPostingType,
CAIsPrepaid,
UnitOfMeasure,
Quantity,
CANetDueDate,
CACashDiscountDueDate,
CACashDiscountRate,
CAInvcgDocItemDefStatus,
CAItemPeriodStartDate,
CAItemPeriodEndDate,
CAInvcgRefPostingDocType,
CADocumentNumber,
CAGroupingKeyDocumentItems,
CAInvcgGroupingKey,
CAClearingDocumentNumber,
CAClearingAmountInTransCrcy,
CAInvcgDocItemCrtnMethod,
CAInvcgFunction,
CAInvcgSourceDocumentCat,
CAInvcgSourceDocumentNumber,
CAInvcgDocItemSourceItmCat,
CAInvcgSourceDocumentItem,
CABllbleItmDiscountKey,
CABllbleItmDiscountVersion,
CAInvcgCorrectionCategory,
//applk
_CAInvcgDocHeader.CAApplicationArea as CAApplicationArea,
case when TaxCountry is initial
then _CompCode._Country.TaxCalculationProcedure
else _TaxCountry.TaxCalculationProcedure
end as TaxCalculationProcedure,
_CompCode.Country as CompanyCodeCountry,
/* Associations */
_CAMainTransaction,
_CASubTransaction,
_CAOtherTaxCode,
_TaxCode,
_WithholdingTaxCode,
_TaxJurisdiction,
_BusinessArea,
_CAAccountDetnCode,
_CABllbleItmDiscountKey,
_CAConditionType,
_CACurrencySourceDocument,
_CADeferredRevenueStatus,
_CADocumentHeader,
_CAInvcgDocHeader,
_CAInvcgDocItemType,
_CAInvcgDocItmAltvMDCat,
_CAInvcgDocItmCrtnMethod,
_CAInvcgDocItmDefStatus,
_CAInvcgDocItmSrceItmCat,
_CAInvcgFunction,
_CAInvcgItmAltvBusinessPartner,
_CAInvcgItmAltvContractAccount,
_CAInvcgRefPostgDocTyp,
_CAInvcgSourceDocCat,
_CARevnAcctgServiceType,
_CAInvcgAccrualPostingType,
_CAStatisticalItemCode,
_CASubApplication,
_CATaxDetnType,
_CATransactionKeyAcctDetn,
_CompCode,
_Division,
_TaxCountry,
_TransactionCurrency,
_UnitOfMeasure,
_CAInvcgCorrectionCat,
_CAInvcgOffsettingAction,
_CAInvcgOffsettingCategory,
_CAInvcgOffsettingProcedure
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_CAINVCGDOCHEADER",
"I_CAINVCGDOCITEM",
"I_COMPANYCODE",
"I_COUNTRY"
],
"ASSOCIATED":
[
"I_BUSINESSAREA",
"I_BUSINESSPARTNER",
"I_CAACCOUNTDETNCODE",
"I_CABLLBLEITMDISCOUNTKEY",
"I_CADEFERREDREVENUESTATUS",
"I_CADOCUMENTHEADER",
"I_CAINVCGACCRUALPOSTINGTYPE",
"I_CAINVCGCORRECTIONCAT",
"I_CAINVCGDOCHEADER",
"I_CAINVCGDOCITEMTYPE",
"I_CAINVCGDOCITMALTVMDCAT",
"I_CAINVCGDOCITMCRTNMETHOD",
"I_CAINVCGDOCITMDEFSTATUS",
"I_CAINVCGDOCITMSRCEITMCAT",
"I_CAINVCGFUNCTION",
"I_CAINVCGOFFSETTINGACTION",
"I_CAINVCGOFFSETTINGCATEGORY",
"I_CAINVCGOFFSETTINGPROCEDURE",
"I_CAINVCGREFPOSTGDOCTYP",
"I_CAINVCGSOURCEDOCCAT",
"I_CAMAINTRANSACTION",
"I_CAOTHERTAXCODE",
"I_CAREVNACCTGSERVICETYPE",
"I_CASTATISTICALITEMCODE",
"I_CASUBAPPLICATION",
"I_CASUBTRANSACTION",
"I_CATAXDETNTYPE",
"I_CATRANSACTIONKEYACCTDETN",
"I_COMPANYCODE",
"I_CONDITIONTYPE",
"I_CONTRACTACCOUNTHEADER",
"I_COUNTRY",
"I_CURRENCY",
"I_DIVISION",
"I_TAXCODE",
"I_TAXJURISDICTION",
"I_UNITOFMEASURE",
"I_WITHHOLDINGTAXCODE"
],
"BASE":
[
"I_CAINVCGDOCITEM"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/