@VDM.viewType: #CONSUMPTION
@AccessControl.authorizationCheck: #MANDATORY
@AccessControl.personalData.blocking: #REQUIRED
@AccessControl.privilegedAssociations: [ '_CAInvcgUserContact' ]
@EndUserText.label: 'Fakturierungsbeleg Kopf'
@Metadata.allowExtensions: true
@ObjectModel:{
usageType:{
serviceQuality: #D,
sizeCategory: #XL,
dataClass: #MIXED
},
semanticKey: ['CAInvoicingDocument']
}
define view entity C_CAInvcgOvwInvcgDocHeader
as select from R_CAInvcgDocumentTP as _CAInvcgDocHeader
// ADDITIONAL DATA
association [0..1] to I_ContractAccountPartner as _ContractAccountPartner on $projection.ContractAccount = _ContractAccountPartner.ContractAccount
and $projection.BusinessPartner = _ContractAccountPartner.BusinessPartner
association [0..1] to C_CAInvcgUserContact as _CAInvcgUserContact on $projection.CreatedByUser = _CAInvcgUserContact.ContactCardID
// extension
association [0..1] to E_CAInvcgDocHeader as _Extension on $projection.CAInvoicingDocument = _Extension.CAInvoicingDocument
{
//INVDOCNO
@ObjectModel.filter.transformedBy: 'ABAP:CL_CINV_SADL_EXIT_INVDOC_DSP'
key _CAInvcgDocHeader.CAInvoicingDocument,
//EXBEL
_CAInvcgDocHeader.CAOfficialDocumentNumber,
//GPART
@Semantics: { name.fullName: true }
_CAInvcgDocHeader._BusinessPartner.FirstName,
@Semantics: { name.fullName: true }
_CAInvcgDocHeader._BusinessPartner.LastName,
@ObjectModel.filter.enabled: false
_CAInvcgBPAddress.BusinessPartnerFullName,
concat_with_space(_CAInvcgDocHeader._BusinessPartner._CurrentDefaultAddress._StandardAddress.StreetName, _CAInvcgDocHeader._BusinessPartner._CurrentDefaultAddress._StandardAddress.HouseNumber, 1) as StreetName,
concat_with_space(_CAInvcgDocHeader._BusinessPartner._CurrentDefaultAddress._StandardAddress.PostalCode, _CAInvcgDocHeader._BusinessPartner._CurrentDefaultAddress._StandardAddress.CityName, 1) as AddressCityName,
_CAInvcgDocHeader._BusinessPartner._CurrentDefaultAddress._StandardAddress.Country,
@ObjectModel.text.element: ['BusinessPartnerFullName']
_CAInvcgDocHeader.BusinessPartner,
//VKONT
@ObjectModel.text.element: ['ContractAccountName']
_CAInvcgDocHeader.ContractAccount,
_CAInvcgDocHeader._ContractAccountHeader.ContractAccountName,
//INV_TYPE
@ObjectModel.text.element: ['CAInvcgTypeText']
_CAInvcgDocHeader.CAInvcgType,
//INVPERIOD
_CAInvcgDocHeader.CAInvcgDocPeriodDate,
//BLDAT
_CAInvcgDocHeader.DocumentDate,
//Amount and Currency
_CAInvcgDocHeader.TransactionCurrency,
@Semantics.amount.currencyCode: 'TransactionCurrency'
_CAInvcgDocHeader.CAAmountInTransactionCurrency,
//INV_PROCESS
@ObjectModel.text.element: ['CAInvcgProcessText']
_CAInvcgDocHeader.CAInvcgProcess,
//DOCTYPE
@ObjectModel.text.element: ['CAInvcgDocumentTypeText']
_CAInvcgDocHeader.CAInvcgDocumentType,
//MAZAE
_CAInvcgDocHeader.CADunningCounter,
//CFCSIMULATED
_CAInvcgDocHeader.CAInvcgDocHasControlDoc,
//FORMKEY
_CAInvcgDocHeader.ApplicationForm,
//PRINTDATE
_CAInvcgDocHeader.CAInvcgDocumentPrintDate,
//PRINTLOCK
@ObjectModel.text.element: ['CAInvcgDocLockedForPrintText']
_CAInvcgDocHeader.CAInvcgDocIsLockedForPrinting,
//FAEDN - Due date for net payment
_CAInvcgDocHeader.CANetDueDate,
//REVREASON - Reversal Reason
@ObjectModel.text.element: ['CAInvcgDocReversalReasonText']
_CAInvcgDocHeader.CAInvcgDocumentReversalReason,
//INVOICED
_CAInvcgDocHeader.CAInvcgIsDocumentPosted,
//PRELIMINARY
_CAInvcgDocHeader.CAInvcgIsDocumentPreliminary,
//SIMULATED
_CAInvcgDocHeader.CAInvcgIsDocumentSimulated,
//BUDAT
_CAInvcgDocHeader.CAPostingDate,
//APPLK
_CAInvcgDocHeader.CAApplicationArea,
//TECHDOCTYPE
@ObjectModel.text.element: ['CAInvcgDocTechDocTypeText']
_CAInvcgDocHeader.CAInvcgTechnicalDocumentType,
//TARGPROCESS
@ObjectModel.text.element: ['CAInvcgTargetProcText']
_CAInvcgDocHeader.CAInvcgTargetProcess,
//MDCAT
@ObjectModel.text.element: ['CAInvcgMasterDataTypeText']
_CAInvcgDocHeader.CAInvcgMasterDataType,
//ABWVK
_CAInvcgDocHeader.AltvContractAcctForCollvBills,
//ABWBL
_CAInvcgDocHeader.CASubstituteDocumentNumber,
//CRNAME
_CAInvcgDocHeader.CreatedByUser,
//CRDATE
@Consumption.hidden: true
_CAInvcgDocHeader.CAInvcgCreationDate,
//CRTIME
@Consumption.hidden: true
_CAInvcgDocHeader.CAInvcgCreationTime,
//combined field of crdate and crtime
@ObjectModel.filter.transformedBy: 'ABAP:CL_CINV_SADL_FILTER_DATETIME'
cast(dats_tims_to_tstmp(_CAInvcgDocHeader.CAInvcgCreationDate, _CAInvcgDocHeader.CAInvcgCreationTime,
abap_system_timezone($session.client, 'NULL'),
$session.client, 'NULL') as invdoc_crtsmp_kk) as CAInvcgCreationDateTime,
//CRMODE
@ObjectModel.text.element: ['CAInvcgDocCreationModeText']
_CAInvcgDocHeader.CAInvcgDocCreationMode,
//RECNUM
_CAInvcgDocHeader.CAInvcgNmbrOfInvoicingDocItems,
//BIT_NUMBER
_CAInvcgDocHeader.CABllbleItmNumber,
//INVRUNNO
_CAInvcgDocHeader.CAInvcgDocInternalNumber,
//FIKEY
_CAInvcgDocHeader.CAReconciliationKey,
//FAEDS
_CAInvcgDocHeader.CACashDiscountDueDate,
//SKTPZ
_CAInvcgDocHeader.CACashDiscountRate,
//PRLINV_CAT
_CAInvcgDocHeader.CAInvcgPreliminaryCategory,
//INV_CATEGORY
@ObjectModel.text.element: ['CAInvcgCategoryText']
_CAInvcgDocHeader.CAInvcgCategory,
//REVERSALDOC
@ObjectModel.filter.transformedBy: 'ABAP:CL_CINV_SADL_EXIT_INVDOC_DSP'
_CAInvcgDocHeader.CAInvcgReversalDocument,
//REVERSEDDOC
@ObjectModel.filter.transformedBy: 'ABAP:CL_CINV_SADL_EXIT_INVDOC_DSP'
_CAInvcgDocHeader.CAInvcgReversedDocument,
//CORRCAT
@ObjectModel.text.element: ['CAInvcgCorrectionCatText']
_CAInvcgDocHeader.CAInvcgCorrectionCategory,
//PYMET
@ObjectModel.text.element: ['CAPaymentMethodName']
_CAInvcgDocHeader.CAPaymentMethod,
_CAInvcgDocHeader._CAPaymentMethod._Text[1: Language=$session.system_language].CAPaymentMethodName,
//NRZAS
_CAInvcgDocHeader.CAPaymentFormNumber,
//ZLSCH
_CAInvcgDocHeader.FormIDForAttachedPaymentMedium,
//EXKID
_CAInvcgDocHeader.CAKeyIdentification,
//PTSRL
_CAInvcgDocHeader.CAPartnerSettlementRule,
//BUKRS
@ObjectModel.text.element: ['CompanyCodeName']
_CAInvcgDocHeader.CompanyCode,
//BUPLA
_CAInvcgDocHeader.BusinessPlace,
//VTREF
@ObjectModel.filter.transformedBy: 'ABAP:CL_CINV_SADL_EXIT_INVDOC_DSP'
_CAInvcgDocHeader.CAContract,
@ObjectModel: {
readOnly: true,
virtualElement: true,
virtualElementCalculatedBy: 'ABAP:CL_CINV_VTREF_SEMOBJ'
}
cast ( '' as vtref_semobj_kk ) as CAContractSemanticObject,
//SUBAP
@ObjectModel.text.element: ['CASubApplicationText']
_CAInvcgDocHeader.CASubApplication,
_CASubApplication._CASubApplicationText[1: Language=$session.system_language].CASubApplicationText,
//INVOICE_BASEDATE
_CAInvcgDocHeader.CAInvcgBaseDate,
//INVPERCAT
@ObjectModel.text.element: ['CAInvcgPeriodCatText']
_CAInvcgDocHeader.CAInvcgDocPeriodCategory,
//INVPERIOD
_CAInvcgDocHeader.CAInvcgDocPeriodStartDate,
//CHGDOC_EX
@ObjectModel.text.element: ['CAInvcgDocChrgDiscItemsText']
_CAInvcgDocHeader.CAInvcgDocHasChargeOrDiscItems,
//BOLLOTAX
@ObjectModel.text.element: ['CAInvcgBolloTaxPostStatText']
_CAInvcgDocHeader.CAInvcgBolloTaxPostStatus,
//XSUBINV
@ObjectModel.text.element: ['CAInvcgDocPartOfListText']
_CAInvcgDocHeader.CAInvcgDocIsPartOfList,
//XINVDOC_X
_CAInvcgDocHeader.CAInvcgDocHasObjectRelation,
//SEPA_PRENOT
_CAInvcgDocHeader.CAInvcgDocHasSEPAPreNotif,
//EXT_INVDOCNO
_CAInvcgDocHeader.CAInvcgDocExternal,
//ADJUSTMENTDOC
@ObjectModel.filter.transformedBy: 'ABAP:CL_CINV_SADL_EXIT_INVDOC_DSP'
_CAInvcgDocHeader.CAInvcgAdjustmentDocument,
//ADJUSTEDDOC
@ObjectModel.filter.transformedBy: 'ABAP:CL_CINV_SADL_EXIT_INVDOC_DSP'
_CAInvcgDocHeader.CAInvcgAdjustedDocument,
_CAInvcgDocumentType._CAInvcgDocumentTypeText[1: Language=$session.system_language].CAInvcgDocumentTypeText,
_CAInvcgProcess._CAInvcgProcessText[1: Language=$session.system_language].CAInvcgProcessText,
_CAInvcgType._CAInvcgTypeText[1: Language=$session.system_language].CAInvcgTypeText,
_CAInvcgCategory._CAInvcgCategoryText[1: Language=$session.system_language].CAInvcgCategoryText,
_CAInvcgDocTechDocType._CAInvcgDocTechDocTypeText[1: Language=$session.system_language].CAInvcgDocTechDocTypeText,
_CAInvcgTargetProc._CAInvcgTargetProcText[1: Language=$session.system_language].CAInvcgTargetProcText,
_CAInvcgMasterDataType._CAInvcgMasterDataTypeText[1: Language=$session.system_language].CAInvcgMasterDataTypeText,
_CAInvcgDocCreationMode._CAInvcgDocCreationModeText[1: Language=$session.system_language].CAInvcgDocCreationModeText,
_CAInvcgPreliminaryCategory._Text[1: Language=$session.system_language].CAInvcgPreliminaryCategoryTxt,
_CAPreliminaryInvcgDocStatus._Text[1: Language=$session.system_language].CAPreliminaryInvcgDocStatusTxt,
_CAInvcgDocReversalReason._CAInvcgDocReversalReasonText[1: Language=$session.system_language].CAInvcgDocReversalReasonText,
_CAInvcgCorrectionCat._CAInvcgCorrectionCatText[1: Language=$session.system_language].CAInvcgCorrectionCatText,
_CAInvcgDocLockedforPrint._CAInvcgDocLockedForPrintText[1: Language=$session.system_language].CAInvcgDocLockedForPrintText,
_CAInvcgPeriodCat._CAInvcgPeriodCatText[1: Language=$session.system_language].CAInvcgPeriodCatText,
_CAInvcgDocChrgDiscItems._CAInvcgDocChrgDiscItemsText[1: Language=$session.system_language].CAInvcgDocChrgDiscItemsText,
_CAInvcgBolloTaxPostStatus._CAInvcgBolloTaxPostStatText[1: Language=$session.system_language].CAInvcgBolloTaxPostStatText,
_CAInvcgDocPartOfList._CAInvcgDocPartOfListText[1: Language=$session.system_language].CAInvcgDocPartOfListText,
_CAInvcgDocHeader._CompanyCode.CompanyCodeName,
// Make association public
_BusinessPartner,
_ContractAccountPartner,
_ContractAccountHeader,
_ProviderContract,
_CAInvcgUserContact
}