@EndUserText.label: 'Entry Flow for Project Billing Element'
@VDM.viewType: #BASIC
@VDM.lifecycle.contract.type: #PUBLIC_LOCAL_API
@AccessControl.authorizationCheck: #CHECK
@Analytics.dataExtraction.enabled: true
@Analytics.dataExtraction.delta.changeDataCapture.mapping: [{
table: 'PRJBLGEMTENTRFLW',
role: #MAIN,
viewElement: ['ProjBillgElmntEntrItmFlowUUID'],
tableElement: ['projbillgelmntentritmflowuuid']
}]
@Analytics.technicalName: 'IPRJBLGELMETRFLW'
@ObjectModel: {
modelingPattern: #ANALYTICAL_DIMENSION,
supportedCapabilities: [ #SQL_DATA_SOURCE, #CDS_MODELING_DATA_SOURCE, #CDS_MODELING_ASSOCIATION_TARGET, #ANALYTICAL_DIMENSION, #EXTRACTION_DATA_SOURCE ],
usageType:{
sizeCategory: #L,
dataClass: #TRANSACTIONAL,
serviceQuality: #B
},
representativeKey: 'ProjBillgElmntEntrItmFlowUUID'
}
@Metadata.ignorePropagatedAnnotations: true
define view entity I_ProjectBillingElementEntrFlw
as select from prjblgemtentrflw as ProjectBillingElementEntryFlow
left outer to one join projbillgreq as _ProjectBillingRequest on ProjectBillingElementEntryFlow.precedingdocument = _ProjectBillingRequest.projectbillingrequest
and ProjectBillingElementEntryFlow.precedingdocument is not initial
left outer to one join projbillgreqitem as _ProjectBillingRequestItem on _ProjectBillingRequest.projectbillingrequestuuid = _ProjectBillingRequestItem.projectbillingrequestuuid
and ProjectBillingElementEntryFlow.projbillgelmntentritmuuid = _ProjectBillingRequestItem.projbillgelmntentritmuuid
association [1..1] to I_ProjectBillingElementEntry as _ProjectBillingElementEntry on $projection.ProjBillgElmntEntrItmUUID = _ProjectBillingElementEntry.ProjBillgElmntEntrItmUUID
{
key ProjectBillingElementEntryFlow.projbillgelmntentritmflowuuid as ProjBillgElmntEntrItmFlowUUID,
ProjectBillingElementEntryFlow.projbillgelmntentritmuuid as ProjBillgElmntEntrItmUUID,
ProjectBillingElementEntryFlow.billingdocument as BillingDocument,
ProjectBillingElementEntryFlow.billingdocumentitem as BillingDocumentItem,
ProjectBillingElementEntryFlow.billingdocumenttype as BillingDocumentType,
ProjectBillingElementEntryFlow.sddocumentcategory as SDDocumentCategory,
ProjectBillingElementEntryFlow.precedingdocument as ProjectBillingRequest,
ProjectBillingElementEntryFlow.precedingdocumentitem as BillingDocRequestItemReference,
ProjectBillingElementEntryFlow.billingdate as BillingDate,
ProjectBillingElementEntryFlow.documentbillingstatus as DocumentBillingStatus,
ProjectBillingElementEntryFlow.enterpriseprojectserviceorg as EnterpriseProjectServiceOrg,
_ProjectBillingElementEntry.TransactionCurrency as TransactionCurrency,
_ProjectBillingElementEntry.ProjectCurrency as ProjectCurrency,
_ProjectBillingElementEntry.GlobalCurrency as GlobalCurrency,
_ProjectBillingElementEntry.DocumentCurrency as DocumentCurrency,
@Semantics.amount.currencyCode: 'DocumentCurrency'
ProjectBillingElementEntryFlow.netpriceamountindoccrcy as NetPriceAmountInDocCrcy,
@Semantics.quantity.unitOfMeasure: 'NetPriceQuantityUnit'
ProjectBillingElementEntryFlow.netpricequantity as NetPriceQuantity,
ProjectBillingElementEntryFlow.netpricequantityunit as NetPriceQuantityUnit,
_ProjectBillingElementEntry.QuantityUnit as QuantityUnit,
@Semantics.quantity.unitOfMeasure: 'QuantityUnit'
ProjectBillingElementEntryFlow.billingrequestedquantity as BillingRequestedQuantity,
@Semantics.amount.currencyCode: 'TransactionCurrency'
ProjectBillingElementEntryFlow.billgreqdamtintransaccrcy as BillgReqdAmtInTransacCrcy,
@Semantics.amount.currencyCode: 'ProjectCurrency'
ProjectBillingElementEntryFlow.billgreqdamtinprojectcrcy as BillgReqdAmtInProjectCrcy,
@Semantics.amount.currencyCode: 'GlobalCurrency'
ProjectBillingElementEntryFlow.billgreqdamtinglobalcrcy as BillgReqdAmtInGlobalCrcy,
@Semantics.quantity.unitOfMeasure: 'QuantityUnit'
ProjectBillingElementEntryFlow.writtenoffquantity as WrittenOffQuantity,
@Semantics.amount.currencyCode: 'TransactionCurrency'
ProjectBillingElementEntryFlow.writtenoffamtintransaccrcy as WrittenOffAmtInTransacCrcy,
@Semantics.amount.currencyCode: 'ProjectCurrency'
ProjectBillingElementEntryFlow.writtenoffamtinprojectcrcy as WrittenOffAmtInProjectCrcy,
@Semantics.amount.currencyCode: 'GlobalCurrency'
ProjectBillingElementEntryFlow.writtenoffamtinglobalcrcy as WrittenOffAmtInGlobalCrcy,
@Semantics.quantity.unitOfMeasure: 'QuantityUnit'
ProjectBillingElementEntryFlow.postponedquantity as PostponedQuantity,
@Semantics.amount.currencyCode: 'TransactionCurrency'
ProjectBillingElementEntryFlow.postponedamountintransaccrcy as PostponedAmountInTransacCrcy,
@Semantics.amount.currencyCode: 'ProjectCurrency'
ProjectBillingElementEntryFlow.postponedamountinprojectcrcy as PostponedAmountInProjectCrcy,
@Semantics.amount.currencyCode: 'GlobalCurrency'
ProjectBillingElementEntryFlow.postponedamountinglobalcrcy as PostponedAmountInGlobalCrcy,
@Semantics.amount.currencyCode: 'DocumentCurrency'
ProjectBillingElementEntryFlow.billgreqdrevenueamtindoccrcy as BillgReqdRevenueAmtInDocCrcy,
@Semantics.amount.currencyCode: 'DocumentCurrency'
ProjectBillingElementEntryFlow.writtenoffrevenueamtindoccrcy as WrittenOffRevenueAmtInDocCrcy,
@Semantics.user.createdBy: true
ProjectBillingElementEntryFlow.prjblgelmentrflwcreatedbyuser as PrjBlgElmEntrFlwCreatedByUser,
@Semantics.systemDateTime.createdAt: true
ProjectBillingElementEntryFlow.prjblgelmentrflwcrtedatdtetme as PrjBlgElmEntrFlwCrtedAtDteTme,
@Semantics.user.lastChangedBy: true
ProjectBillingElementEntryFlow.prjblgelmentrflwchangedbyuser as PrjBlgElmEntrFlwChangedByUser,
@Semantics.systemDateTime.lastChangedAt: true
ProjectBillingElementEntryFlow.prjblgelmentrflwchgdatdtetme as PrjBlgElmEntrFlwChgdAtDteTme,
_ProjectBillingRequestItem.projbillingrequestitemlongtext as ProjBillingRequestItemLongText,
_ProjectBillingElementEntry
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_PROJECTBILLINGELEMENTENTRY",
"PRJBLGEMTENTRFLW",
"PROJBILLGREQ",
"PROJBILLGREQITEM"
],
"ASSOCIATED":
[
"I_PROJECTBILLINGELEMENTENTRY"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/