@AbapCatalog.sqlViewName: 'PCNTRACCTLNTM'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey:true
@VDM.viewType: #CONSUMPTION
@VDM.private: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@ClientHandling: { type: #INHERITED, algorithm: #SESSION_VARIABLE }
@EndUserText.label: 'Items in Contract Accounting document'
define view P_ContractAccountingLineItem as select distinct from I_CADocumentGLItem as fica_itm_gl
inner join I_CADocumentHeader as fica_head on fica_itm_gl.CADocumentNumber = fica_head.CADocumentNumber
// association [0..*] to I_GLAccountText as _GLAcctInChartOfAccountsText on $projection.ChartOfAccounts = _GLAcctInChartOfAccountsText.ChartOfAccounts
// and $projection.GLAccount = _GLAcctInChartOfAccountsText.GLAccount
{
key fica_itm_gl.CADocumentNumber,
key fica_itm_gl.CompanyCode,
key fica_itm_gl.CAGLItemNumber,
key fica_itm_gl._DocHeader.CAReconciliationKey,
fica_head.CAReferenceDocument,
fica_itm_gl._DocHeader.CAPostingDate,
cast('S' as farp_koart preserving type ) as FinancialAccountType,
fica_head.CADocumentType,
fica_head.CADocumentOriginCode,
fica_head.CASeparateDocIsCreatedInGL as CASeparateDocIsCreatedInGL,
fica_itm_gl.ChartOfAccounts,
fica_itm_gl.GLAccount,
// cast( ' ' as fis_altkt_skb1 preserving type ) as AlternativeGLAccount,
// fica_itm_gl.GLAccount as OperationalGLAccount,
fica_itm_gl.TransactionCurrency,
fica_itm_gl.CAAmountInTransactionCurrency,
fica_itm_gl._CompCode.Currency as CompanyCodeCurrency,
fica_itm_gl.CAAmountInLocalCurrency,
cast( '0000' as fis_auggj preserving type) as ClearingDocFiscalYear,
cast( ' ' as bu_partner preserving type) as BusinessPartner,
cast( '' as business_partner_name ) as BusinessPartnerName,
fica_itm_gl.PartnerCompany,
'' as CAClearingStatus
}
where fica_head.CAReversedDocumentNumber is initial
and ( ( fica_head.CADocumentOriginCode <> '02'
and fica_head.CADocumentOriginCode <> '05'
and fica_head.CADocumentOriginCode <> '06'
and fica_head.CADocumentOriginCode <> '09'
and fica_head.CADocumentOriginCode <> '19'
and fica_head.CADocumentOriginCode <> '20'
and fica_head.CADocumentOriginCode <> '21'
and fica_head.CADocumentOriginCode <> '22'
and fica_head.CADocumentOriginCode <> '24'
and fica_head.CADocumentOriginCode <> '25'
and fica_head.CADocumentOriginCode <> '26'
and fica_head.CADocumentOriginCode <> '45'
and fica_head.CADocumentOriginCode <> '55'
and fica_head.CADocumentOriginCode <> '1A'
and fica_head.CADocumentOriginCode <> '1B'
and fica_head.CADocumentOriginCode <> '1C'
and fica_head.CADocumentOriginCode <> '1D'
and fica_head.CADocumentOriginCode <> '1E'
and fica_head.CADocumentOriginCode <> '7B'
and fica_head.CADocumentOriginCode <> '7E'
and fica_head.CADocumentOriginCode <> 'RB'
and fica_head.CADocumentOriginCode <> '78'
and fica_head.CADocumentOriginCode <> '16'
)
or ( ( fica_head.CADocumentOriginCode = '01'
or fica_head.CADocumentOriginCode = '77'
) and fica_head.CAClearingInformation <> '1' ) )
union all select distinct from I_CADocumentBPItemPhysical as fica_itm_bp
inner join I_CADocumentHeader as fica_head on fica_itm_bp.CADocumentNumber = fica_head.CADocumentNumber
// association [0..*] to I_GLAccountText as _GLAcctInChartOfAccountsText on $projection.ChartOfAccounts = _GLAcctInChartOfAccountsText.ChartOfAccounts
// and $projection.GLAccount = _GLAcctInChartOfAccountsText.GLAccount
{
key fica_itm_bp.CADocumentNumber,
key fica_itm_bp.CompanyCode,
key cast( '0000' as opupk_kk preserving type) as CAGLItemNumber,
key fica_head.CAReconciliationKey,
fica_head.CAReferenceDocument,
fica_head.CAPostingDate,
cast('D' as farp_koart preserving type) as FinancialAccountType,
fica_head.CADocumentType,
fica_head.CADocumentOriginCode,
fica_head.CASeparateDocIsCreatedInGL as CASeparateDocIsCreatedInGL,
fica_itm_bp.ChartOfAccounts,
fica_itm_bp.CAReconciliationAccount as GLAccount,
// cast( ' ' as fis_altkt_skb1 preserving type ) as AlternativeGLAccount,
// fica_itm_bp.CAReconciliationAccount as OperationalGLAccount,
fica_itm_bp.TransactionCurrency,
sum(fica_itm_bp.CAAmountInTransactionCurrency) as CAAmountInTransactionCurrency,
fica_itm_bp.CompanyCodeCurrency,
sum(fica_itm_bp.CAAmountInLocalCurrency) as CAAmountInLocalCurrency,
cast( '0000' as fis_auggj preserving type) as ClearingDocFiscalYear,
fica_itm_bp.BusinessPartner,
fica_itm_bp._BusinessPartner.BusinessPartnerName,
fica_itm_bp.PartnerCompany,
max (fica_itm_bp.CAClearingStatus) as CAClearingStatus
}
where fica_head.CAReversedDocumentNumber is initial
and ( (
fica_head.CADocumentOriginCode <> '02'
and fica_head.CADocumentOriginCode <> '05'
and fica_head.CADocumentOriginCode <> '06'
and fica_head.CADocumentOriginCode <> '09'
and fica_head.CADocumentOriginCode <> '19'
and fica_head.CADocumentOriginCode <> '20'
and fica_head.CADocumentOriginCode <> '21'
and fica_head.CADocumentOriginCode <> '22'
and fica_head.CADocumentOriginCode <> '24'
and fica_head.CADocumentOriginCode <> '25'
and fica_head.CADocumentOriginCode <> '26'
and fica_head.CADocumentOriginCode <> '45'
and fica_head.CADocumentOriginCode <> '55'
and fica_head.CADocumentOriginCode <> '1A'
and fica_head.CADocumentOriginCode <> '1B'
and fica_head.CADocumentOriginCode <> '1C'
and fica_head.CADocumentOriginCode <> '1D'
and fica_head.CADocumentOriginCode <> '1E'
and fica_head.CADocumentOriginCode <> '7B'
and fica_head.CADocumentOriginCode <> '7E'
and fica_head.CADocumentOriginCode <> 'RB'
and fica_head.CADocumentOriginCode <> '78'
and fica_head.CADocumentOriginCode <> '16'
)
or ( ( fica_head.CADocumentOriginCode = '01'
or fica_head.CADocumentOriginCode = '77'
) and fica_head.CAClearingInformation <> '1' ) )
group by fica_itm_bp.CADocumentNumber,
fica_head.CAPostingDate,
fica_itm_bp.CompanyCode,
fica_head.CAReconciliationKey,
fica_head.CAReferenceDocument,
fica_itm_bp.CAPostingDate,
fica_head.CADocumentType,
fica_head.CADocumentOriginCode,
fica_head.CASeparateDocIsCreatedInGL,
fica_itm_bp.ChartOfAccounts,
fica_itm_bp.CAReconciliationAccount,
fica_itm_bp.CAReconciliationAccount,
fica_itm_bp.TransactionCurrency,
fica_itm_bp.CompanyCodeCurrency,
fica_itm_bp.BusinessPartner,
fica_itm_bp._BusinessPartner.BusinessPartnerName,
fica_itm_bp.PartnerCompany
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_BUSINESSPARTNER",
"I_CADOCUMENTBPITEMPHYSICAL",
"I_CADOCUMENTGLITEM",
"I_CADOCUMENTHEADER",
"I_COMPANYCODE"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/