@AbapCatalog.sqlViewName: 'CCAINVOVWBILL_H'
@AbapCatalog.preserveKey: true
@AbapCatalog.compiler.compareFilter: true
@VDM.viewType: #CONSUMPTION
@ClientHandling.algorithm: #SESSION_VARIABLE
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #REQUIRED
@EndUserText.label: 'Abrechnungsbelegkopf anzeigen'
@Consumption.semanticObject: 'CABillgDocument'
@AccessControl.privilegedAssociations: [ '_CAInvcgUserContact' ]
@ObjectModel:{
usageType:{
serviceQuality: #D,
sizeCategory: #XL,
dataClass: #MIXED
},
semanticKey: ['CABillgDocument']
}
@UI:{
headerInfo:{
typeName: 'Abrechnungsbeleg',
typeNamePlural: 'Abrechnungsbelege'
},
selectionVariant: [
{ text: 'Nichtstornierte Belege', qualifier: 'selvar_notrev', filter: 'CABillgReversalDocument eq null and CABillgReversedDocument eq null' },
{ text: 'Stornierte Belege', qualifier: 'selvar_reversed', filter: 'CABillgReversalDocument ne null and CABillgReversedDocument eq null' },
{ text: 'Stornobelege', qualifier: 'selvar_reversal', filter: 'CABillgReversalDocument eq null and CABillgReversedDocument ne null' },
{ text: 'Alle Belege', qualifier: 'selvar_all' }
],
presentationVariant.sortOrder: { by: 'CABillgDocCreationDateTime', direction: #DESC }
}
define view C_CAInvcgOvwBillgDocHeader
as select from I_CABillgDocHeader as _CABillgDocHeader
association [0..1] to I_CABillgDocInvcgDoc as _CABillgDocInvcgDoc on $projection.CABillgDocument = _CABillgDocInvcgDoc.CABillgDocument
// Value help with tables
association [0..1] to I_BusinessPartner as _BusinessPartner on $projection.BusinessPartner = _BusinessPartner.BusinessPartner
association [0..1] to I_ContractAccountPartner as _ContractAccountPartner on $projection.ContractAccount = _ContractAccountPartner.ContractAccount
and $projection.BusinessPartner = _ContractAccountPartner.BusinessPartner
and $projection.BusinessPartner = _ContractAccountPartner.BusinessPartner
association [0..1] to I_ContractAccountHeader as _ContractAccountHeader on $projection.ContractAccount = _ContractAccountHeader.ContractAccount
association [0..1] to I_CAInvcgDocumentType as _CAInvcgDocumentType on $projection.CAInvcgDocumentType = _CAInvcgDocumentType.CAInvcgDocumentType
and $projection.CAApplicationArea = _CAInvcgDocumentType.CAApplicationArea
and _CAInvcgDocumentType.NameNumberRangeObject = 'FKKINVBILL'
association [0..1] to C_CAInvcgUserContact as _CAInvcgUserContact on $projection.CreatedByUser = _CAInvcgUserContact.ContactCardID
// extension
association [0..1] to E_CABillgDocHeader as _Extension on $projection.CABillgDocument = _Extension.CABillgDocument
{
//BILLDOCNO
@UI.lineItem: { position: 10, importance: #HIGH, semanticObjectAction: 'display', label: 'Abrechnungsbeleg'}
@Consumption.semanticObject: 'CABillgDocument'
key _CABillgDocHeader.CABillgDocument,
//INVDOCNO
@Consumption.semanticObject: 'CAInvoicingDocument'
@UI.lineItem: { position: 20, importance: #HIGH, semanticObjectAction: 'display'}
@EndUserText.label: 'Fakturierungsbeleg'
@ObjectModel.filter.transformedBy: 'ABAP:CL_CINV_SADL_EXIT_BILLDOC_DSP'
replace(_CABillgDocInvcgDoc.CAInvoicingDocument, '000000000000', '') as CAInvoicingDocument,
//GPART
@Semantics: { name.fullName: true }
_BusinessPartner.FirstName,
@Semantics: { name.fullName: true }
_BusinessPartner.LastName,
@UI.hidden: true
_BusinessPartner.BusinessPartnerFullName,
@EndUserText.label:'Straße'
concat_with_space(_BusinessPartner._CurrentDefaultAddress._StandardAddress.StreetName, _BusinessPartner._CurrentDefaultAddress._StandardAddress.HouseNumber, 1) as StreetName,
@EndUserText.label:'Ort'
concat_with_space(_BusinessPartner._CurrentDefaultAddress._StandardAddress.PostalCode, _BusinessPartner._CurrentDefaultAddress._StandardAddress.CityName, 1) as AddressCityName,
_BusinessPartner._CurrentDefaultAddress._StandardAddress.Country,
@UI.lineItem: { position: 40, importance: #HIGH}
@ObjectModel.foreignKey.association: '_BusinessPartner'
@Consumption.valueHelpDefinition: [{ entity: { name: 'C_CAContractPartnerValueHelp', element: 'BusinessPartner' }}]
@Consumption.semanticObject: 'CAContractPartner'
_CABillgDocHeader.BusinessPartner,
//VKONT
@UI.lineItem: { position: 50, importance: #HIGH}
@ObjectModel.foreignKey.association: '_ContractAccountHeader'
@Consumption.valueHelpDefinition: [{ entity: { name: 'C_ContractAccountValueHelp', element: 'ContractAccount' }}]
@Consumption.semanticObject: 'ContractAccount'
_CABillgDocHeader.ContractAccount,
_ContractAccountHeader.ContractAccountName,
//bill_type
@UI.lineItem: { position: 60, importance: #HIGH}
@ObjectModel.text.element: 'CABillgTypeText'
_CABillgDocHeader.CABillgType,
//date_from
@UI.lineItem: { position: 70, importance: #HIGH}
@Consumption.filter.selectionType: #INTERVAL
_CABillgDocHeader.CABillgDocPeriodStartDate,
//date_to
@UI.lineItem: { position: 80, importance: #HIGH}
_CABillgDocHeader.CABillgDocPeriodEndDate,
//crdate
@Consumption.hidden: true
//@UI.lineItem: { position: 90, importance: #HIGH}
//@Consumption.filter.selectionType: #INTERVAL
_CABillgDocHeader.CABillgDocCreationDate,
//crtime
@Consumption.hidden: true
_CABillgDocHeader.CABillgDocCreationTime,
//combined field of crdate and crtime
@UI.lineItem: { position: 90, importance: #HIGH}
@Consumption.filter.selectionType: #INTERVAL
@ObjectModel.filter.transformedBy: 'ABAP:CL_CINV_SADL_FILTER_DATETIME'
cast(dats_tims_to_tstmp(_CABillgDocHeader.CABillgDocCreationDate, _CABillgDocHeader.CABillgDocCreationTime,
abap_system_timezone($session.client, 'NULL'),
$session.client, 'NULL') as billdoc_crtsmp_kk) as CABillgDocCreationDateTime,
//revreason
@ObjectModel.text.element: 'CABillgDocReversalReasonText'
_CABillgDocHeader.CABillgDocumentReversalReason,
//simulated
_CABillgDocHeader.CABillgIsDocumentSimulated,
//refdocno
// @EndUserText.label: 'Externe Belegnummer'
_CABillgDocHeader.CABillgDocumentExternal,
//log_system
_CABillgDocHeader.LogicalSystem,
//applk
@ObjectModel.foreignKey.association: '_CAApplicationArea'
_CABillgDocHeader.CAApplicationArea,
//srcprocess
@ObjectModel.text.element: 'CABillgDocOriginProcessText'
_CABillgDocHeader.CABillgDocOriginProcess,
//srcdoctype
_CABillgDocHeader.CAInvcgSourceDocumentType,
//techdoctype
@ObjectModel.text.element: 'CAInvcgDocTechDocTypeText'
_CABillgDocHeader.CAInvcgTechnicalDocumentType,
//doctype
@ObjectModel.text.element: 'CAInvcgDocumentTypeText'
_CABillgDocHeader.CAInvcgDocumentType,
//targprocess
@ObjectModel.text.element: 'CAInvcgTargetProcText'
_CABillgDocHeader.CAInvcgTargetProcess,
//mdcat
@ObjectModel.text.element: 'CAInvcgMasterDataTypeText'
_CABillgDocHeader.CAInvcgMasterDataType,
//gpart_inv
_CABillgDocHeader.CAInvcgAltvBusinessPartner,
//vkont_inv
_CABillgDocHeader.CAInvcgAltvContractAccount,
//bill_basedate
_CABillgDocHeader.CABillgBaseDate,
//bill_curr
_CABillgDocHeader.CABillgCurrency,
//inv_curr
_CABillgDocHeader.CAInvcgCurrency,
//tax_det_type
@ObjectModel.foreignKey.association: '_CATaxDetnType'
@Consumption: { valueHelp: '_CATaxDetnType' }
@ObjectModel.text.element: 'CATaxDetnTypeText'
_CABillgDocHeader.CATaxDetnType,
//tax_date_type
@ObjectModel.text.element: 'CATaxDateTypeText'
_CABillgDocHeader.CATaxDateType,
//inv_category
@ObjectModel.text.element: 'CAInvcgCategoryText'
_CABillgDocHeader.CAInvcgCategory,
//separate_inv
@ObjectModel.text.element: 'CAInvcgControlOfInvcgUnitTxt'
_CABillgDocHeader.CAInvcgControlOfInvoicingUnit,
//invoice_first
_CABillgDocHeader.CAInvcgFirstDate,
//reversaldoc
// @EndUserText.label: 'Stornobeleg'
@Consumption.semanticObject: 'CABillgDocument'
@ObjectModel.filter.transformedBy: 'ABAP:CL_CINV_SADL_EXIT_BILLDOC_DSP'
_CABillgDocHeader.CABillgReversalDocument,
//reverseddoc
// @EndUserText.label: 'Stornierter Beleg'
@Consumption.semanticObject: 'CABillgDocument'
@ObjectModel.filter.transformedBy: 'ABAP:CL_CINV_SADL_EXIT_BILLDOC_DSP'
_CABillgDocHeader.CABillgReversedDocument,
//adjustmentdoc
// @EndUserText.label: 'Anpassungsbeleg'
@ObjectModel.filter.transformedBy: 'ABAP:CL_CINV_SADL_EXIT_BILLDOC_DSP'
_CABillgDocHeader.CABillgAdjustmentDocument,
//adjusteddoc
// @EndUserText.label: 'Angepasster Beleg'
@ObjectModel.filter.transformedBy: 'ABAP:CL_CINV_SADL_EXIT_BILLDOC_DSP'
_CABillgDocHeader.CABillgAdjustedDocument,
//corrcat
@ObjectModel.text.element: 'CAInvcgCorrectionCatText'
_CABillgDocHeader.CAInvcgCorrectionCategory,
//trigdeleted
_CABillgDocHeader.CaInvcgIsOrderDeleted,
//xinfbill
@Consumption: { valueHelp: '_CABillgExistsAddInvcg' }
@ObjectModel.text.element: 'CABillgAdditionalInvoiceText'
_CABillgDocHeader.CABillgHasAdditionalInvoice,
//invlock
@ObjectModel.text.element: 'CABillgLockedForInvcgText'
_CABillgDocHeader.CABillgLockedForInvoicing,
//add_group
_CABillgDocHeader.CABillgGrpgOfAdditionalItems,
//xinvbill_x
_CABillgDocHeader.CABillgDocHasRefObjects,
//recnum
_CABillgDocHeader.CABillgDocumentNumberOfItems,
//crname
_CABillgDocHeader.CreatedByUser,
//billrunno
_CABillgDocHeader.CABillgDocInternalNumber,
//bill_process
@ObjectModel.text.element: 'CABillgProcessText'
_CABillgDocHeader.CABillgProcess,
//prepaid_incl
_CABillgDocHeader.CABillgDocHasPrepaidItems,
//pprefill_incl
_CABillgDocHeader.CABillgDocHasRefillItems,
//revrec_incl
_CABillgDocHeader.CABillgDocHasRevnRecgnItems,
//ptsrl
_CABillgDocHeader.CAPartnerSettlementRule,
//invstatus
_CABillgDocHeader.CABillgDocumentInvcgStatus,
//invcrdate
_CABillgDocHeader.CAInvcgCreationDate,
//keypp
_CABillgDocHeader.CASubAreaForParallelization,
//altmd_orig_incl
_CABillgDocHeader.CAAltvMDOriginalIsIncluded,
@UI.hidden: true
_CAInvcgDocumentType._CAInvcgDocumentTypeText[1: Language=$session.system_language].CAInvcgDocumentTypeText,
@UI.hidden: true
_CABillgDocOriginProcess._CABillgDocOriginProcessText[1: Language=$session.system_language].CABillgDocOriginProcessText,
@UI.hidden: true
_CAInvcgTargetProc._CAInvcgTargetProcText[1: Language=$session.system_language].CAInvcgTargetProcText,
@UI.hidden: true
_CAInvcgCategory._CAInvcgCategoryText[1: Language=$session.system_language].CAInvcgCategoryText,
@UI.hidden: true
_CABillgProcess._CABillgProcessText[1: Language=$session.system_language].CABillgProcessText,
@UI.hidden: true
_CABillgType._CABillgTypeText[1: Language=$session.system_language].CABillgTypeText,
@UI.hidden: true
_CAInvcgDocTechDocType._CAInvcgDocTechDocTypeText[1: Language=$session.system_language].CAInvcgDocTechDocTypeText,
@UI.hidden: true
_CABillgDocReversalReason._CABillgDocReversalReasonText[1: Language=$session.system_language].CABillgDocReversalReasonText,
@UI.hidden: true
_CAInvcgMasterDataType._CAInvcgMasterDataTypeText[1: Language=$session.system_language].CAInvcgMasterDataTypeText,
@UI.hidden: true
_CATaxDetnType._CATaxDetnTypeText[1: Language=$session.system_language].CATaxDetnTypeText,
@UI.hidden: true
_CATaxDateType._CATaxDateTypeText[1: Language=$session.system_language].CATaxDateTypeText,
@UI.hidden: true
_CAInvcgControlOfInvcgUnit._CAInvcgControlOfInvcgUnitTxt[1: Language=$session.system_language].CAInvcgControlOfInvcgUnitTxt,
@UI.hidden: true
_CAInvcgCorrectionCat._CAInvcgCorrectionCatText[1: Language=$session.system_language].CAInvcgCorrectionCatText,
@UI.hidden: true
_CABillgExistsAddInvcg._CABillgExistsAddInvcgText[1: Language=$session.system_language].CABillgAdditionalInvoiceText,
@UI.hidden: true
_CABillgLockedForInvcg._CABillgLockedForInvcgText[1: Language=$session.system_language].CABillgLockedForInvcgText,
// Make association public
_ContractAccountPartner,
_ContractAccountHeader,
_CABillgDocInvcgDoc,
_BusinessPartner,
_CAInvcgAltvBusinessPartner,
_CAInvcgAltvContractAccount,
_CABillgReversalDocument,
_CABillgReversedDocument,
_CABillgAdjustedDocument,
_CABillgAdjustmentDocument,
_CAApplicationArea,
_CABillgCurrency,
_CAInvcgCurrency,
_CABillgDocOriginProcess,
_CAInvcgTargetProc,
_CAInvcgCategory,
_CABillgProcess,
_CABillgType,
_CAInvcgDocTechDocType,
_CAInvcgMasterDataType,
_CATaxDetnType,
_CATaxDateType,
_CAInvcgDocumentType,
_CAInvcgControlOfInvcgUnit,
_CAInvcgCorrectionCat,
_CABillgExistsAddInvcg,
_CABillgLockedForInvcg,
_CABillgDocReversalReason,
@UI.lineItem: { position: 160, importance: #HIGH, label: 'Angelegt von', type: #AS_CONTACT, value: '.'}
_CAInvcgUserContact,
@UI.hidden: true
concat('00000000', _CABillgDocHeader.CABillgDocument ) as CAInvcgSourceDocumentNumber,
@UI.hidden: true
'INVBI' as CAInvcgSourceDocumentCat
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_ADDRESS",
"I_BPCURRENTDEFAULTADDRESS",
"I_BUSINESSPARTNER",
"I_CABILLGDOCHEADER",
"I_CABILLGDOCINVCGDOC",
"I_CABILLGDOCORIGINPROCESS",
"I_CABILLGDOCORIGINPROCESSTEXT",
"I_CABILLGDOCREVERSALREASON",
"I_CABILLGDOCREVERSALREASONTEXT",
"I_CABILLGEXISTSADDINVCG",
"I_CABILLGEXISTSADDINVCGTEXT",
"I_CABILLGLOCKEDFORINVCG",
"I_CABILLGLOCKEDFORINVCGTEXT",
"I_CABILLGPROCESS",
"I_CABILLGPROCESSTEXT",
"I_CABILLGTYPE",
"I_CABILLGTYPETEXT",
"I_CAINVCGCATEGORY",
"I_CAINVCGCATEGORYTEXT",
"I_CAINVCGCONTROLOFINVCGUNIT",
"I_CAINVCGCONTROLOFINVCGUNITTXT",
"I_CAINVCGCORRECTIONCAT",
"I_CAINVCGCORRECTIONCATTEXT",
"I_CAINVCGDOCTECHDOCTYPE",
"I_CAINVCGDOCTECHDOCTYPETEXT",
"I_CAINVCGDOCUMENTTYPE",
"I_CAINVCGDOCUMENTTYPETEXT",
"I_CAINVCGMASTERDATATYPE",
"I_CAINVCGMASTERDATATYPETEXT",
"I_CAINVCGTARGETPROC",
"I_CAINVCGTARGETPROCTEXT",
"I_CATAXDATETYPE",
"I_CATAXDATETYPETEXT",
"I_CATAXDETNTYPE",
"I_CATAXDETNTYPETEXT",
"I_CONTRACTACCOUNTHEADER"
],
"ASSOCIATED":
[
"C_CAINVCGUSERCONTACT",
"E_CABILLGDOCHEADER",
"I_BUSINESSPARTNER",
"I_CAAPPLICATIONAREA",
"I_CABILLGDOCHEADER",
"I_CABILLGDOCINVCGDOC",
"I_CABILLGDOCORIGINPROCESS",
"I_CABILLGDOCREVERSALREASON",
"I_CABILLGEXISTSADDINVCG",
"I_CABILLGLOCKEDFORINVCG",
"I_CABILLGPROCESS",
"I_CABILLGTYPE",
"I_CAINVCGCATEGORY",
"I_CAINVCGCONTROLOFINVCGUNIT",
"I_CAINVCGCORRECTIONCAT",
"I_CAINVCGDOCTECHDOCTYPE",
"I_CAINVCGDOCUMENTTYPE",
"I_CAINVCGMASTERDATATYPE",
"I_CAINVCGTARGETPROC",
"I_CATAXDATETYPE",
"I_CATAXDETNTYPE",
"I_CONTRACTACCOUNTHEADER",
"I_CONTRACTACCOUNTPARTNER",
"I_CURRENCY"
],
"BASE":
[
"I_CABILLGDOCHEADER"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/