I_AccountingNotification is a Basic CDS View that provides data about "Accounting Notification" in SAP S/4HANA. It reads from 1 data source (fan_hdr) and exposes 35 fields with key field AccountingNotificationUUID. It has 9 associations to related views.
@AccessControl.authorizationCheck: #NOT_REQUIRED@EndUserText.label: 'Accounting Notification'
@VDM.viewType: #BASIC@ObjectModel: {
usageType.serviceQuality: #A,
usageType.sizeCategory: #XXL,
usageType.dataClass: #TRANSACTIONAL }define root viewentity I_AccountingNotification
asselectfrom fan_hdr
composition [0..*] of I_AcctgNotifAddlCompanyCode as _AddlCompanyCode
association [0..1] to I_CompanyCode as _LeadingCompanyCode on $projection.LeadingCompanyCode = _LeadingCompanyCode.CompanyCode
association [0..1] to I_CompanyCode as _LeadingCompanyCodeText on $projection.LeadingCompanyCode = _LeadingCompanyCodeText.CompanyCode
// association [0..1] to I_ReferenceDocumentType as _ReferenceDocumentType on $projection.ReferenceDocumentType = _ReferenceDocumentType.ReferenceDocumentType
association [0..1] to I_AccountingNotificationType as _AccountingNotificationType on $projection.AccountingNotificationType = _AccountingNotificationType.AccountingNotificationType
association [0..1] to I_AcctgNotifRefDocumentType as _ReferenceDocumentType on $projection.ReferenceDocumentType = _ReferenceDocumentType.ReferenceDocumentType
association [0..1] to I_AcctgNotifTypeRefDocType as _AcctgNotifTypeRefDocType on $projection.AccountingNotificationType = _AcctgNotifTypeRefDocType.AccountingNotificationType
and $projection.ReferenceDocumentType = _AcctgNotifTypeRefDocType.ReferenceDocumentType
association [0..1] to I_User as _CreatedByUser on $projection.CreatedByUser = _CreatedByUser.UserID
association [0..1] to I_User as _LastChangedByUser on $projection.LastChangedByUser = _LastChangedByUser.UserID
association [0..1] to I_AcctgNotifProcessingStatus as _ProcessingStatus on $projection.AcctgNotifProcessingStatus = _ProcessingStatus.AcctgNotifProcessingStatus
// association [0..*] to I_AcctgNotifJournalEntry as _AcctgNotifJournalEntry on $projection.AccountingNotificationUUID = _AcctgNotifJournalEntry.AccountingNotificationUUID
{
key accounting_notification_uuid as AccountingNotificationUUID,
@ObjectModel.foreignKey.association: '_AccountingNotificationType'
accounting_notification_type as AccountingNotificationType,
@ObjectModel.foreignKey.association: '_ReferenceDocumentType'
reference_document_type as ReferenceDocumentType,
reference_document as ReferenceDocument,
reference_document_context as ReferenceDocumentContext,
// for label on UI
cast ( reference_document_item as fan_ref_doc_item ) as ReferenceDocumentItem,
// for label on UI
cast( ref_doc_logical_system as fan_ref_doc_logical_system ) as ReferenceDocumentLogicalSystem, //tbc: might need to be replaced by GlobalTenantID
@Semantics.systemDateTime.createdAt: true// for label on UI
cast( creation_datetime as fan_creation_datetime ) as CreationDateTime,
reference_document_oid as ReferenceDocumentOID,
reference_document_display_id as ReferenceDocumentDisplayID,
ref_doc_last_change_datetime as RefDocLastChangeDateTime,
@ObjectModel.foreignKey.association: '_LeadingCompanyCode'
leading_company_code as LeadingCompanyCode,
proposed_posting_date as ProposedPostingDate,
@ObjectModel.foreignKey.association: '_ProcessingStatus'
acctg_notif_processing_status as AcctgNotifProcessingStatus,
@Semantics.systemDateTime.lastChangedAt: true// for label on UI
cast( last_change_datetime as fan_last_change_datetime ) as LastChangeDateTime,
@ObjectModel.foreignKey.association: '_CreatedByUser'
@Semantics.user.createdBy: true
created_by_user as CreatedByUser,
@ObjectModel.foreignKey.association: '_LastChangedByUser'
@Semantics.user.lastChangedBy: true
last_changed_by_user as LastChangedByUser,
cast( application_log_handle asabap.char( 22) ) as ApplicationLogHandle,
latest_message_class as LatestMessageClass,
latest_message_number as LatestMessageNumber,
latest_message_severity as LatestMessageSeverity,
latest_message_variable1_text as LatestMessageVariable1Text,
latest_message_variable2_text as LatestMessageVariable2Text,
latest_message_variable3_text as LatestMessageVariable3Text,
latest_message_variable4_text as LatestMessageVariable4Text,
is_reversal as IsReversal,
cast( case acctg_notif_processing_status
when 'FA' then 1
else 0
endas eve_tv_criticality ) as StatusCriticality,
//associations
_AddlCompanyCode,
_LeadingCompanyCode,
@Consumption.hidden: true
_LeadingCompanyCodeText,
_AccountingNotificationType,
_ReferenceDocumentType,
_AcctgNotifTypeRefDocType,
_CreatedByUser,
_LastChangedByUser,
_ProcessingStatus
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"FAN_HDR"
],
"ASSOCIATED":
[
"I_ACCOUNTINGNOTIFICATIONTYPE",
"I_ACCTGNOTIFADDLCOMPANYCODE",
"I_ACCTGNOTIFPROCESSINGSTATUS",
"I_ACCTGNOTIFREFDOCUMENTTYPE",
"I_ACCTGNOTIFTYPEREFDOCTYPE",
"I_COMPANYCODE",
"I_USER"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/