@VDM.viewType: #COMPOSITE
@VDM.private: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType.sizeCategory: #XL
@ObjectModel.usageType.serviceQuality: #X
@ObjectModel.usageType.dataClass: #MIXED
@AbapCatalog.preserveKey: true
@AbapCatalog.sqlViewName: 'PBNKSTMNTITIDBS'
// Interface view for Bank Statement Line Items
define view P_ARBankStatementItemIDBS
as select from P_Arbanktransactiondocitem_07(
P_TransactionType : '1')
// left outer join P_Arattachmentagreegator as srgbtbrel on srgbtbrel.instid_a = P_Arbanktransactiondocitem_07.AttachmentKey
left outer join dd07v as dd07v on dd07v.domname = 'FARP_BS_ITM_LIFECYC_STAT'
and dd07v.domvalue_l = LifeCycSts
and dd07v.ddlanguage = $session.system_language
// pull in the text for the Payment Transaction Category - before, this was done in P_Arbanktransactiondocitem_07. But in some cases the PaymentTransactionCategory was calculated in P_Arbanktransactiondocitem_07 and the text
//determination did not work. so we moved it in this view
left outer join P_Arbanktransactiondocitem_03 as PayTransCategory on PaymentTransactionCategory = PayTransCategory.tatyp
{
key cast ( StatementShortID as farp_kukey ) as BankStatementShortID,
key cast ( StatementItem as farp_esnum ) as BankStatementItem,
CompanyCode,
HouseBank,
HouseBankAccount,
cast ( StatementNumber as farp_aznum ) as BankStatement,
cast ( StatementDate as farp_azdat ) as BankStatementDate,
cast ( StatementStatus as farp_astat ) as BankStatementStatus,
Currency,
cast ( BankLedgerIsPosted as farp_vb1ok ) as BankLedgerIsPosted,
cast ( SubledgerIsPostedSuccessfully as farp_vb2ok ) as SubledgerIsPostedSuccessfully,
case when IsInProcess = '' and MemoLineIsChanged = '' then ''
when posar = '1' and BankLedgerIsPosted = '' or posar = '2' and SubledgerIsPostedSuccessfully = '' then 'X'
else '' end as IsInProcess,
AmountInTransactionCurrency,
ItemGroup as BankStatementItemGroup,
cast ( PostingRule as farp_vgint ) as BankStatementPostingRule,
cast ( StatementPostingRuleName as farp_vgint_text ) as BankStatementPostingRuleName,
PaymentTransaction,
cast( PayTransCategory.text as far_bsproc_tatxt) as PaymentTransactionCategoryName,
PaymentTransactionCategory,
InterpretationAlgorithm,
ValueDate,
PaymentAdviceAccountType,
PaymentAdviceAccountTypeName,
PaymentAdviceAccount,
// case when srgbtbrel.reltype = 'ATTA' then 'X'
// else ' ' end as HasAttachment,
HasAttachment,
MemoLineIsChanged,
MemoLine1,
BankInternalID,
BankAccount,
BankAccountInternalID,
BankDataStorageApplication,
TransactionCurrency,
cast ( OriginalCurrency as farp_fwaer) as OriginalCurrency,
AmountInOriginalCurrency,
// cast ( ExchangeRate as abap.char ( 15 ) ) as ExchangeRate,
ExchangeRate as ExchangeRate,
DebitCreditCode,
cast ( BusinessPartnerName as farp_partn ) as BusinessPartnerName,
PaymentManualTransacType,
PaymentManualTransacTypeName,
PaymentAdvice,
BankPostingDate,
PostingDate,
ValueDateTime,
PaymentExternalTransacType,
PaymentTransactionDescription,
AccountingClerk,
CostCenter,
BusinessArea,
ProfitCenter,
TreasuryContract,
TreasuryContractType,
DaybookEntry,
Cheque,
PaymentMediumReference,
CustomerReferenceNumber,
ItemIsInterpreted as BankStatementItemIsInterpreted,
PostingErrorStatus,
BankLedgerDocument,
FiscalYear,
FeeAmountInTransactionCrcy,
FeeAmountInOriginalCrcy,
BankPostingKey,
AcctDetnFreeDefinedAttribute,
DocumentReferenceID,
AssignmentReference,
PartnerBankCountry,
PartnerBank,
PartnerBankSWIFTCode,
PartnerBankAccount,
ItemDescription1 as BankStatementItemDescription1,
ItemDescription2 as BankStatementItemDescription2,
SubledgerDocument,
BankLedgerOnAccountDocument,
SubledgerOnAccountDocument,
PayerParty,
LifeCycSts as BankStatementItemLifeCycSts,
dd07v.ddtext as BankStatementItmLifeCycStsName,
// cast ( AccountingExchangeRate as abap.char( 15 ) ) as AccountingExchangeRate,
AccountingExchangeRate,
DocumentItemText,
BillOfExchangeFailureDate,
BankReference,
ReferenceDocument,
ReferenceDocumentType,
OverdueChargeAmtInTransacCrcy,
ItemProcessingType as BankStmntItemProcessingType,
PaymentReference,
ReturnReason,
DunningBlockingReason,
BankLedgerExternalApplication,
BankLedgerPostingIsSuppressed,
BankLedgerExtPostgErrorStatus,
BankLedgerExtPostingDocument,
BankLedgerExtPostingRefDocType,
SubledgerExtPostingApplication,
SubledgerPostingIsSuppressed,
SubledgerExtPostingErrorStatus,
SubledgerExtPostingDocument,
SubledgerExtPostingRefDocType,
PartnerBankIBAN,
BankStmntItemReprocessReason,
ItemIsReprocessed as BankStmntItemIsReprocessed,
ItemReprocessRsnName as BankStmntItemReprocessRsnName,
IsCompleted,
// AccountingClerkName,
BankStatementDateMonth,
BankStatementDateYear,
MachineLrngBankStmntItemStatus,
BankStmntProcessingApplication,
AccountServicerReference,
BankStatementItemStatusByBank,
BankStmntItmProcessingCategory
}
where P_Arbanktransactiondocitem_07.BankDataStorageApplication = '0001'
or P_Arbanktransactiondocitem_07.BankDataStorageApplication = '0004'
or P_Arbanktransactiondocitem_07.BankDataStorageApplication = '0007'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"P_ARBANKTRANSACTIONDOCITEM_03",
"P_ARBANKTRANSACTIONDOCITEM_07",
"DD07V"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/