I_TankVisualization

DDL: I_TANKVISUALIZATION SQL: ITANKVISU Type: view COMPOSITE

Tank Visualization Details

I_TankVisualization is a Composite CDS View that provides data about "Tank Visualization Details" in SAP S/4HANA. It reads from 4 data sources (adrc, I_SiloTankDip, I_MaterialDescription, I_SiloTankDetails) and exposes 37 fields with key fields LocationId, TankID, Material, OpenTankDipTime.

Data Sources (4)

SourceAliasJoin Type
adrc t2 left_outer
I_SiloTankDip v2 left_outer
I_MaterialDescription v3 left_outer
I_SiloTankDetails v4 left_outer

Annotations (10)

NameValueLevelField
AbapCatalog.sqlViewName ITANKVISU view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #REQUIRED view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #L view
VDM.viewType #COMPOSITE view
ClientHandling.algorithm #SESSION_VARIABLE view
EndUserText.label Tank Visualization Details view

Fields (37)

KeyFieldSource TableSource FieldDescription
KEY LocationId v1 LocationId
KEY TankID v1 TankID
KEY Material I_SiloTankDip Material
KEY OpenTankDipTime I_SiloTankDip OpenTankDipTime
clientNULL521asOilTimeStampDisplay
MaterialDescription I_MaterialDescription MaterialDescription
DipGUID I_SiloTankDip DipGUID
Capacity I_SiloTankDetails Capacity
UnpumpableQuantity I_SiloTankDetails UnpumpableQuantity
MaterialVolumeUoM I_SiloTankDetails MaterialVolumeUoM
MinimumHeight I_SiloTankDetails MinimumHeight
MaximumHeight I_SiloTankDetails MaximumHeight
LengthUnitOfMeasure I_SiloTankDetails LengthUnitOfMeasure
TankDipTotalHeight I_SiloTankDip TankDipTotalHeight
TankDipTotalHeightUoM I_SiloTankDip TankDipTotalHeightUoM
TankDipWaterHeight I_SiloTankDip TankDipWaterHeight
TankDipWaterHeightUoM I_SiloTankDip TankDipWaterHeightUoM
LinearVolMaterialQty I_SiloTankDip LinearVolMaterialQty
LinearVolWaterQty I_SiloTankDip LinearVolWaterQty
LinearVolCnvrsnUom I_SiloTankDip LinearVolCnvrsnUom
NetStandardVolumeUoM I_SiloTankDip NetStandardVolumeUoM
NetStandardVolume I_SiloTankDip NetStandardVolume
DryGrossVolumeUoM I_SiloTankDip DryGrossVolumeUoM
DryGrossVolume I_SiloTankDip DryGrossVolume
AmbientTemperature I_SiloTankDip AmbientTemperature
AmbientTemperatureUnit I_SiloTankDip AmbientTemperatureUnit
StandardDensity I_SiloTankDip StandardDensity
StandardDensityUnit I_SiloTankDip StandardDensityUnit
BaseSedimentWater I_SiloTankDip BaseSedimentWater
BaseSedimentWaterUnit I_SiloTankDip BaseSedimentWaterUnit
VaporLiqVolume I_SiloTankDip VaporLiqVolume
VaporLiqVolumeUnit I_SiloTankDip VaporLiqVolumeUnit
ShellTemperature I_SiloTankDip ShellTemperature
ShellTemperatureUnit I_SiloTankDip ShellTemperatureUnit
Capacity2endasTankUtilizationRatio
StorageType v1 StorageType
PlantCountry v1 PlantCountry
@AbapCatalog.sqlViewName: 'ITANKVISU'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #REQUIRED
@ObjectModel.usageType.dataClass: #MIXED
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #L
@VDM.viewType: #COMPOSITE
@ClientHandling.algorithm: #SESSION_VARIABLE
@EndUserText.label: 'Tank Visualization Details'
define view I_TankVisualization as select distinct from I_SiloTankMatlAssign as v1
            left outer join I_SiloTankDip         as v2 on v1.StorageObjSgmntNmbr = v2.StorageObjSgmntNmbr
            left outer join I_MaterialDescription as v3 on v2.Material = v3.Material
            left outer join I_SiloTankDetails     as v4 on v1.OilLinearVolCnvrsnSetNmbr = v4.OilLinearVolCnvrsnSetNmbr and v1.RecalibrationIndex = v4.RecalibrationIndex
            left outer join adrc                  as t2 on v1.AddressID = t2.addrnumber and t2.date_from  = '00010101' and t2.nation = ' '
{
  key  v1.LocationId,
  key  v1.TankID,
  key  v2.Material,
  key  v2.OpenTankDipTime ,
  
concat_with_space(  
concat(
concat(                            
concat( substring(tstmp_to_dats( cast( v2.OpenTankDipTime as abap.dec( 15,0 ) ),
                                t2.time_zone,
                                $session.client,
                                'NULL' ) ,7,2), '.'),
concat( substring(tstmp_to_dats( cast( v2.OpenTankDipTime as abap.dec( 15,0 ) ),
                                 t2.time_zone,
                                 $session.client,
                                 'NULL' ),5,2), '.') 
       ),   
concat( substring(tstmp_to_dats( cast( v2.OpenTankDipTime as abap.dec( 15,0 ) ),
                                 t2.time_zone,
                                 $session.client,
                                 'NULL' ),1,4), ' ' ) 
 ) ,
 
concat(
concat(                            
concat( substring(tstmp_to_tims(  cast ( v2.OpenTankDipTime as abap.dec( 15,0 ) ) ,
                                  t2.time_zone,
                                  $session.client,      
                                  'NULL' ),1,2), ':'),
concat( substring(tstmp_to_tims(  cast ( v2.OpenTankDipTime as abap.dec( 15,0 ) ) ,
                                 t2.time_zone,
                                 $session.client,      
                                 'NULL' ),3,2), ':') 
       ),   
concat( substring(tstmp_to_tims( cast ( v2.OpenTankDipTime as abap.dec( 15,0 ) ) ,
                                t2.time_zone,
                                $session.client,      
                                'NULL' ),5,2), ' ' ) 
 ) 
,1 )as OilTimeStampDisplay, 
    
    v3.MaterialDescription,
    v2.DipGUID,
    v4.Capacity,
    v4.UnpumpableQuantity,
    v4.MaterialVolumeUoM,
    v4.MinimumHeight,
    v4.MaximumHeight,
    v4.LengthUnitOfMeasure,
    v2.TankDipTotalHeight,
    v2.TankDipTotalHeightUoM,
    v2.TankDipWaterHeight, 
    v2.TankDipWaterHeightUoM,
    v2.LinearVolMaterialQty,
    v2.LinearVolWaterQty,
    v2.LinearVolCnvrsnUom,
    v2.NetStandardVolumeUoM,
    v2.NetStandardVolume,
    v2.DryGrossVolumeUoM,                            
    v2.DryGrossVolume,
    v2.AmbientTemperature ,
    v2.AmbientTemperatureUnit,
    v2.StandardDensity,
    v2.StandardDensityUnit,
    v2.BaseSedimentWater,
    v2.BaseSedimentWaterUnit, 
    v2.VaporLiqVolume,  
    v2.VaporLiqVolumeUnit,
    v2.ShellTemperature,
    v2.ShellTemperatureUnit,
case when v4.Capacity > 0 then

   division( (v2.LinearVolMaterialQty + v2.LinearVolWaterQty + v2.VaporLiqVolume) * 100,
            v4.Capacity,                   
            2 ) 
            end 
 as TankUtilizationRatio,
    v1.StorageType,
    v1.PlantCountry

}