@AbapCatalog.sqlViewName: 'CRTNRDOCITMF1708'
@VDM.viewType: #CONSUMPTION
@ClientHandling.algorithm:#SESSION_VARIABLE
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Return Reference Document Item'
@Search.searchable: true
@ObjectModel.usageType.dataClass: #MIXED
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #XXL
@ObjectModel: {
updateEnabled
}
define view C_ReturnRefDocItem_F1708
as select from I_SalesDocumentItem as SalesDocumentItem
inner join I_SalesDocument as SalesDocument on SalesDocument.SalesDocument = SalesDocumentItem.SalesDocument
//left outer join P_AllwdOrdTypPerSlsOrg_F1708 on P_AllwdOrdTypPerSlsOrg_F1708.Document = SalesDocument.SalesDocument
left outer join I_SalesDocumentCopyControl as SalesDocumentCopyControl on SalesDocumentCopyControl.SourceSalesDocumentType = SalesDocument.SalesDocumentType
and SalesDocumentCopyControl.ReferenceItemCategory = SalesDocumentItem.SalesDocumentItemCategory
//association [0..*] to I_ReturnableQtyOfSales_F1708 as _ReturnableQtyOfSales_F1708 on $projection.ReturnsReferenceDocument = _ReturnableQtyOfSales_F1708.SalesDocument
// and $projection.ReturnsReferenceDocumentItem = _ReturnableQtyOfSales_F1708.SalesDocumentItem
//Value Helps
association [0..1] to I_AllwdPlantsPerSlsOrgVH as _Plant_VH_F1708 on $projection.ProductionPlant = _Plant_VH_F1708.Plant
and $projection.salesorganization = _Plant_VH_F1708.SalesOrganization
and $projection.distributionchannel = _Plant_VH_F1708.DistributionChannel
association [0..1] to I_UnitOfMeasure as _QuantityUnitValueHelp on $projection.OrderQuantityUnit = _QuantityUnitValueHelp.UnitOfMeasure
//Text associations
association [0..*] to I_SDDocumentCategoryText as _SDDocumentCategoryText on $projection.SDDocumentCategory = _SDDocumentCategoryText.SDDocumentCategory
association [0..*] to I_ShippingPointText as _ShippingPointText on $projection.ShippingPoint = _ShippingPointText.ShippingPoint
association [0..*] to I_MaterialText as _MaterialText on $projection.Material = _MaterialText.Material
association [0..*] to I_MaterialGroupText as _MaterialGroupText on $projection.MaterialGroup = _MaterialGroupText.MaterialGroup
{
@Search.defaultSearchElement: true
key SalesDocumentItem.SalesDocument as ReturnsReferenceDocument,
@EndUserText.label: 'Item'
key SalesDocumentItem as ReturnsReferenceDocumentItem,
@UI.hidden: true
SalesDocumentItem.SalesDocument as SalesDocument,
@UI.hidden: true
SalesDocumentItem as SalesDocumentItem,
@Semantics.quantity.unitOfMeasure: 'OrderQuantityUnit'
cast(SalesDocumentItem.OrderQuantity as original_quantity) as OrderQuantity,
@Search.defaultSearchElement: true
@ObjectModel.text.association: '_MaterialText'
SalesDocumentItem.Material,
@ObjectModel.text.association: '_MaterialGroupText'
SalesDocumentItem.MaterialGroup,
@Semantics.amount.currencyCode: 'Currency'
SalesDocumentItem.NetAmount,
@Semantics.currencyCode: true
SalesDocumentItem.TransactionCurrency as Currency,
@Consumption.valueHelp: '_QuantityUnitValueHelp'
@Semantics.unitOfMeasure: true
SalesDocumentItem.OrderQuantityUnit,
@ObjectModel.text.association: '_SDDocumentCategoryText'
SalesDocumentItem.SDDocumentCategory as SDDocumentCategory,
@ObjectModel.text.element: [ 'PlantName' ]
SalesDocumentItem.Plant as ProductionPlant,
SalesDocumentItem._Plant.PlantName,
SalesDocumentItem.Batch,
SalesDocumentItem._SalesDocument.RequestedDeliveryDate as DeliveryDate,
// @Semantics.quantity.unitOfMeasure: 'OrderQuantityUnit'
// cast(_ReturnableQtyOfSales_F1708.ReturnableQuantity as returnable_quantity ) as ReturnableQuantity,
SalesDocumentItem.MaterialByCustomer as MaterialByCustomer,
@Semantics.unitOfMeasure: true
SalesDocumentItem.OrderQuantityUnit as ReturnQuantityUnit,
@Semantics.quantity.unitOfMeasure: 'ReturnQuantityUnit'
/* case
when _ReturnableQtyOfSales_F1708.ReturnableQuantity < 0
then 0 else _ReturnableQtyOfSales_F1708.ReturnableQuantity
end */ cast(0 as kwmeng) as ReturnQuantity,
@ObjectModel.text.association: '_ShippingPointText'
SalesDocumentItem.ShippingPoint,
SalesDocumentItem._SalesDocument.OrganizationDivision,
SalesDocumentItem._SalesDocument.SalesOrganization,
SalesDocumentItem._SalesDocument.DistributionChannel,
_QuantityUnitValueHelp,
_MaterialText,
_MaterialGroupText,
_ShippingPointText,
_SDDocumentCategoryText,
_Plant_VH_F1708
}
where
SalesDocument.SalesDocumentType = SalesDocumentCopyControl.SourceSalesDocumentType
and SalesDocumentCopyControl._TargetSalesDocumentType.SalesDocumentType = 'CBAR'
and SalesDocumentItem.SalesDocumentItemCategory = SalesDocumentCopyControl.ReferenceItemCategory
// and (
// ( P_AllwdOrdTypPerSlsOrg_F1708.CheckRequired = 'X'
// and P_AllwdOrdTypPerSlsOrg_F1708.SalesDocumentType='CBAR'
// and SalesDocument.DistributionChannel = P_AllwdOrdTypPerSlsOrg_F1708.DistributionChannel
// and SalesDocument.SalesOrganization = P_AllwdOrdTypPerSlsOrg_F1708.SalesOrganization
// and SalesDocument.OrganizationDivision = P_AllwdOrdTypPerSlsOrg_F1708.Division
// )
// or P_AllwdOrdTypPerSlsOrg_F1708.CheckRequired = ''
// )
union select from I_BillingDocumentItem as BillingDocumentItem
inner join I_BillingDocument as BillingDocument on BillingDocument.BillingDocument = BillingDocumentItem.BillingDocument
//left outer join P_AllwdOrdTypPerSlsOrg_F1708 on P_AllwdOrdTypPerSlsOrg_F1708.Document = BillingDocument.BillingDocument
left outer join I_SalesDocumentCopyControl as SalesDocumentCopyControl on SalesDocumentCopyControl.SourceBillingDocumentType = BillingDocument.BillingDocumentType
and SalesDocumentCopyControl.ReferenceItemCategory = BillingDocumentItem.SalesDocumentItemCategory
//association [0..*] to I_ReturnableQtyOfBilling_F1708 as _ReturnableQtyOfBilling_F1708 on $projection.ReturnsReferenceDocument = _ReturnableQtyOfBilling_F1708.BillingDocument
// and $projection.ReturnsReferenceDocumentItem = _ReturnableQtyOfBilling_F1708.BillingDocumentItem
//association [0..*] to I_ReturnableQtyOfSales_F1708 as _ReturnableQtyOfSales_F1708 on $projection.SalesDocument = _ReturnableQtyOfSales_F1708.SalesDocument
// and $projection.SalesDocumentItem = _ReturnableQtyOfSales_F1708.SalesDocumentItem
//Value Helps
association [0..1] to I_AllwdPlantsPerSlsOrgVH as _Plant_VH_F1708 on $projection.ProductionPlant = _Plant_VH_F1708.Plant
and $projection.salesorganization = _Plant_VH_F1708.SalesOrganization
and $projection.distributionchannel = _Plant_VH_F1708.DistributionChannel
association [0..1] to I_UnitOfMeasure as _QuantityUnitValueHelp on $projection.orderquantityunit = _QuantityUnitValueHelp.UnitOfMeasure
//Text Associations
association [0..*] to I_SDDocumentCategoryText as _SDDocumentCategoryText on $projection.SDDocumentCategory = _SDDocumentCategoryText.SDDocumentCategory
association [0..*] to I_ShippingPointText as _ShippingPointText on $projection.ShippingPoint = _ShippingPointText.ShippingPoint
association [0..*] to I_MaterialText as _MaterialText on $projection.Material = _MaterialText.Material
association [0..*] to I_MaterialGroupText as _MaterialGroupText on $projection.MaterialGroup = _MaterialGroupText.MaterialGroup
{
@Search.defaultSearchElement: true
key BillingDocumentItem.BillingDocument as ReturnsReferenceDocument,
key BillingDocumentItem as ReturnsReferenceDocumentItem,
@UI.hidden: true
BillingDocumentItem.SalesDocument as SalesDocument,
@UI.hidden: true
SalesDocumentItem as SalesDocumentItem,
@Semantics.quantity.unitOfMeasure: 'OrderQuantityUnit'
cast(BillingDocumentItem.BillingQuantity as original_quantity) as OrderQuantity,
@ObjectModel.text.association: '_MaterialText'
BillingDocumentItem.Material,
@ObjectModel.text.association: '_MaterialGroupText'
BillingDocumentItem.MaterialGroup,
@Semantics.amount.currencyCode: 'Currency'
BillingDocumentItem.NetAmount,
@Semantics.currencyCode: true
BillingDocumentItem.TransactionCurrency as Currency,
@Consumption.valueHelp: '_QuantityUnitValueHelp'
@Semantics.unitOfMeasure: true
BillingDocumentItem._SalesDocumentItem.OrderQuantityUnit,
@ObjectModel.text.association: '_SDDocumentCategoryText'
BillingDocumentItem._BillingDocument.SDDocumentCategory as SDDocumentCategory,
@ObjectModel.text.element: [ 'PlantName' ]
BillingDocumentItem._SalesDocumentItem.Plant as ProductionPlant,
BillingDocumentItem._SalesDocumentItem._Plant.PlantName,
BillingDocumentItem.Batch,
BillingDocumentItem._BillingDocument.BillingDocumentDate as DeliveryDate,
// @Semantics.quantity.unitOfMeasure: 'OrderQuantityUnit'
// cast(
// case
// when _ReturnableQtyOfBilling_F1708.ReturnableQuantity > _ReturnableQtyOfSales_F1708.ReturnableQuantity
// then _ReturnableQtyOfSales_F1708.ReturnableQuantity
// else _ReturnableQtyOfBilling_F1708.ReturnableQuantity
// end
// as returnable_quantity ) as ReturnableQuantity,
// Placeholder, needed because of union, not part of BillingDocument
'' as MaterialByCustomer,
@Semantics.unitOfMeasure: true
BillingDocumentItem._SalesDocumentItem.OrderQuantityUnit as ReturnQuantityUnit,
@Semantics.quantity.unitOfMeasure: 'ReturnQuantityUnit'
/*case
when _ReturnableQtyOfBilling_F1708.ReturnableQuantity > _ReturnableQtyOfSales_F1708.ReturnableQuantity
then
case when _ReturnableQtyOfSales_F1708.ReturnableQuantity < 0
then 0 else _ReturnableQtyOfSales_F1708.ReturnableQuantity
end
else
case when _ReturnableQtyOfBilling_F1708.ReturnableQuantity <0
then 0 else _ReturnableQtyOfBilling_F1708.ReturnableQuantity
end
end*/ cast(0 as kwmeng) as ReturnQuantity,
@ObjectModel.text.association: '_ShippingPointText'
BillingDocumentItem.ShippingPoint,
BillingDocumentItem._BillingDocument.Division as OrganizationDivision,
BillingDocumentItem._BillingDocument.SalesOrganization,
BillingDocumentItem._BillingDocument.DistributionChannel,
_QuantityUnitValueHelp,
_MaterialText,
_MaterialGroupText,
_ShippingPointText,
_SDDocumentCategoryText,
_Plant_VH_F1708
}
where
BillingDocument.BillingDocumentType = SalesDocumentCopyControl.SourceBillingDocumentType
and SalesDocumentCopyControl._TargetSalesDocumentType.SalesDocumentType = 'CBAR'
and BillingDocumentItem.SalesDocumentItemCategory = SalesDocumentCopyControl.ReferenceItemCategory
// and (
// ( P_AllwdOrdTypPerSlsOrg_F1708.CheckRequired = 'X'
// and P_AllwdOrdTypPerSlsOrg_F1708.SalesDocumentType='CBAR'
// and BillingDocument.DistributionChannel = P_AllwdOrdTypPerSlsOrg_F1708.DistributionChannel
// and BillingDocument.SalesOrganization = P_AllwdOrdTypPerSlsOrg_F1708.SalesOrganization
// and BillingDocument.Division = P_AllwdOrdTypPerSlsOrg_F1708.Division
// )
// or P_AllwdOrdTypPerSlsOrg_F1708.CheckRequired = ''
// )
//
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_BILLINGDOCUMENT",
"I_BILLINGDOCUMENTITEM",
"I_PLANT",
"I_SALESDOCUMENT",
"I_SALESDOCUMENTCOPYCONTROL",
"I_SALESDOCUMENTITEM",
"I_SALESDOCUMENTTYPE"
],
"ASSOCIATED":
[
"I_ALLWDPLANTSPERSLSORGVH",
"I_MATERIALGROUPTEXT",
"I_MATERIALTEXT",
"I_SDDOCUMENTCATEGORYTEXT",
"I_SHIPPINGPOINTTEXT",
"I_UNITOFMEASURE"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/