@VDM: {
viewType: #COMPOSITE,
lifecycle.contract.type: #PUBLIC_REMOTE_API
}
@AccessControl: {
authorizationCheck: #MANDATORY,
personalData.blocking: #('TRANSACTIONAL_DATA')
}
@ObjectModel: {
usageType: {
dataClass: #TRANSACTIONAL,
serviceQuality: #C,
sizeCategory: #XL
}
}
@Metadata.ignorePropagatedAnnotations: true
@EndUserText.label: 'Credit Memo Request Item Simulation'
define view entity A_CreditMemoReqItemSimulation
as select from I_CreditMemoRequestItem as CreditMemoRequestItem
inner join I_SalesDocumentBasic as CreditMemoRequest on CreditMemoRequest.SalesDocument = CreditMemoRequestItem.CreditMemoRequest // needed for DCL
and CreditMemoRequest.SDDocumentCategory = 'K'
association to parent A_CreditMemoRequestSimulation as _CreditMemoRequest on $projection.CreditMemoRequest = _CreditMemoRequest.CreditMemoRequest
composition [0..*] of A_CrdtMemoReqItemPartnerSimln as _Partner
composition [0..*] of A_CrdtMemoReqItmPrcgElmntSimln as _PricingElement
association [0..1] to E_SalesDocumentItemBasic as _Extension on $projection.CreditMemoRequest = _Extension.SalesDocument
and $projection.CreditMemoRequestItem = _Extension.SalesDocumentItem
{
@ObjectModel.readOnly: true
key CreditMemoRequestItem.CreditMemoRequest,
@ObjectModel.text.element: ['CreditMemoRequestItemText']
key CreditMemoRequestItem.CreditMemoRequestItem,
CreditMemoRequestItem.HigherLevelItem,
CreditMemoRequestItem.CreditMemoRequestItemCategory,
@Semantics.text: true
CreditMemoRequestItem.CreditMemoRequestItemText,
CreditMemoRequestItem.PurchaseOrderByCustomer,
CreditMemoRequestItem.Material,
CreditMemoRequestItem.MaterialByCustomer,
CreditMemoRequestItem.PricingDate,
@Semantics.quantity.unitOfMeasure: 'RequestedQuantityUnit'
@Semantics.quantity.unitOfMeasureSapCode: 'RequestedQuantitySAPUnit'
@Semantics.quantity.unitOfMeasureIsoCode: 'RequestedQuantityISOUnit'
CreditMemoRequestItem.RequestedQuantity,
CreditMemoRequestItem.RequestedQuantityUnit,
cast(CreditMemoRequestItem._RequestedQuantityUnit.UnitOfMeasureSAPCode as sd_reqd_qty_sapunit preserving type) as RequestedQuantitySAPUnit,
cast(CreditMemoRequestItem._RequestedQuantityUnit.UnitOfMeasureISOCode as sd_reqd_qty_isounit preserving type) as RequestedQuantityISOUnit,
@ObjectModel.readOnly: true
@Semantics.quantity.unitOfMeasure: 'ItemWeightUnit'
@Semantics.quantity.unitOfMeasureSapCode: 'ItemWeightSAPUnit'
@Semantics.quantity.unitOfMeasureIsoCode: 'ItemWeightISOUnit'
CreditMemoRequestItem.ItemGrossWeight,
@ObjectModel.readOnly: true
@Semantics.quantity.unitOfMeasure: 'ItemWeightUnit'
@Semantics.quantity.unitOfMeasureSapCode: 'ItemWeightSAPUnit'
@Semantics.quantity.unitOfMeasureIsoCode: 'ItemWeightISOUnit'
CreditMemoRequestItem.ItemNetWeight,
@ObjectModel.readOnly: true
CreditMemoRequestItem.ItemWeightUnit,
@ObjectModel.readOnly: true
cast(CreditMemoRequestItem._ItemWeightUnit.UnitOfMeasureSAPCode as sd_itm_wgt_sapunit preserving type) as ItemWeightSAPUnit,
@ObjectModel.readOnly: true
cast(CreditMemoRequestItem._ItemWeightUnit.UnitOfMeasureISOCode as sd_itm_wgt_isounit preserving type) as ItemWeightISOUnit,
@Semantics.quantity.unitOfMeasure: 'ItemVolumeUnit'
@Semantics.quantity.unitOfMeasureSapCode: 'ItemVolumeSAPUnit'
@Semantics.quantity.unitOfMeasureIsoCode: 'ItemVolumeISOUnit'
@ObjectModel.readOnly: true
CreditMemoRequestItem.ItemVolume,
@ObjectModel.readOnly: true
CreditMemoRequestItem.ItemVolumeUnit,
@ObjectModel.readOnly: true
cast(CreditMemoRequestItem._ItemVolumeUnit.UnitOfMeasureSAPCode as sd_itm_vol_sapunit preserving type) as ItemVolumeSAPUnit,
@ObjectModel.readOnly: true
cast(CreditMemoRequestItem._ItemVolumeUnit.UnitOfMeasureISOCode as sd_itm_vol_isounit preserving type) as ItemVolumeISOUnit,
@ObjectModel.sapObjectNodeTypeReference: 'Currency'
@ObjectModel.readOnly: true
CreditMemoRequestItem.TransactionCurrency,
@Semantics.amount.currencyCode: 'TransactionCurrency'
@ObjectModel.readOnly: true
CreditMemoRequestItem.NetAmount,
CreditMemoRequestItem.MaterialGroup,
@ObjectModel.readOnly: true
@ObjectModel.sapObjectNodeTypeReference: 'AdditionalProductGroup1'
CreditMemoRequestItem.AdditionalMaterialGroup1,
@ObjectModel.readOnly: true
@ObjectModel.sapObjectNodeTypeReference: 'AdditionalProductGroup2'
CreditMemoRequestItem.AdditionalMaterialGroup2,
@ObjectModel.readOnly: true
@ObjectModel.sapObjectNodeTypeReference: 'AdditionalProductGroup3'
CreditMemoRequestItem.AdditionalMaterialGroup3,
@ObjectModel.readOnly: true
@ObjectModel.sapObjectNodeTypeReference: 'AdditionalProductGroup4'
CreditMemoRequestItem.AdditionalMaterialGroup4,
@ObjectModel.readOnly: true
@ObjectModel.sapObjectNodeTypeReference: 'AdditionalProductGroup5'
CreditMemoRequestItem.AdditionalMaterialGroup5,
@ObjectModel.readOnly: true
@Semantics.amount.currencyCode: 'TransactionCurrency'
CreditMemoRequestItem.Subtotal1Amount,
@ObjectModel.readOnly: true
@Semantics.amount.currencyCode: 'TransactionCurrency'
CreditMemoRequestItem.Subtotal2Amount,
@ObjectModel.readOnly: true
@Semantics.amount.currencyCode: 'TransactionCurrency'
CreditMemoRequestItem.Subtotal3Amount,
@ObjectModel.readOnly: true
@Semantics.amount.currencyCode: 'TransactionCurrency'
CreditMemoRequestItem.Subtotal4Amount,
@ObjectModel.readOnly: true
@Semantics.amount.currencyCode: 'TransactionCurrency'
CreditMemoRequestItem.Subtotal5Amount,
@ObjectModel.readOnly: true
@Semantics.amount.currencyCode: 'TransactionCurrency'
CreditMemoRequestItem.Subtotal6Amount,
@ObjectModel.readOnly: true
@Semantics.amount.currencyCode: 'TransactionCurrency'
CreditMemoRequestItem.TaxAmount,
@ObjectModel.sapObjectNodeTypeReference: 'MaterialPricingGroup'
CreditMemoRequestItem.MaterialPricingGroup,
CreditMemoRequestItem.ProductTaxClassification1,
CreditMemoRequestItem.ProductTaxClassification2,
CreditMemoRequestItem.ProductTaxClassification3,
CreditMemoRequestItem.ProductTaxClassification4,
CreditMemoRequestItem.ProductTaxClassification5,
CreditMemoRequestItem.ProductTaxClassification6,
CreditMemoRequestItem.ProductTaxClassification7,
CreditMemoRequestItem.ProductTaxClassification8,
CreditMemoRequestItem.ProductTaxClassification9,
CreditMemoRequestItem.MatlAccountAssignmentGroup,
@ObjectModel.readOnly: true
CreditMemoRequestItem.Batch,
@ObjectModel.sapObjectNodeTypeReference: 'IncotermsClassification'
CreditMemoRequestItem.IncotermsClassification,
CreditMemoRequestItem.IncotermsTransferLocation,
CreditMemoRequestItem.IncotermsLocation1,
CreditMemoRequestItem.IncotermsLocation2,
@ObjectModel.sapObjectNodeTypeReference: 'BillingBlockReason'
CreditMemoRequestItem.ItemBillingBlockReason,
@ObjectModel.sapObjectNodeTypeReference: 'SalesDocumentRjcnReason'
CreditMemoRequestItem.SalesDocumentRjcnReason,
// WBSElement,
CreditMemoRequestItem.ProfitCenter,
CreditMemoRequestItem.ReferenceSDDocument,
CreditMemoRequestItem.ReferenceSDDocumentItem,
// For Access control
@Consumption.hidden: true
CreditMemoRequest.SalesDocumentType as CreditMemoRequestType,
@Consumption.hidden: true
CreditMemoRequest.OrganizationDivision,
@Consumption.hidden: true
CreditMemoRequest.SalesOrganization,
@Consumption.hidden: true
CreditMemoRequest.DistributionChannel,
CreditMemoRequestItem.ServicesRenderedDate,
// Expose own associations
_CreditMemoRequest,
_Partner,
_PricingElement
}
where
CreditMemoRequestItem.CreditMemoRequest = '0'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_CREDITMEMOREQUESTITEM",
"I_SALESDOCUMENTBASIC",
"I_UNITOFMEASURE"
],
"ASSOCIATED":
[
"A_CRDTMEMOREQITEMPARTNERSIMLN",
"A_CRDTMEMOREQITMPRCGELMNTSIMLN",
"A_CREDITMEMOREQUESTSIMULATION"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/