C_BatchObjPgInspectionLot

DDL: C_BATCHOBJPGINSPECTIONLOT SQL: CBATCHINSPLOT Type: view CONSUMPTION

Inspection Lots for Batch Object Page

C_BatchObjPgInspectionLot is a Consumption CDS View that provides data about "Inspection Lots for Batch Object Page" in SAP S/4HANA. It reads from 2 data sources (I_InspectionLot, I_Material) and exposes 17 fields with key field InspectionLot. It has 4 associations to related views.

Data Sources (2)

SourceAliasJoin Type
I_InspectionLot I_InspectionLot from
I_Material I_Material inner

Associations (4)

CardinalityTargetAliasCondition
[0..*] I_InspectionLotTypeText _InspectionLotTypeText $projection.InspectionLotType = _InspectionLotTypeText.InspectionLotType
[0..*] I_InspectionLotOriginText _InspectionLotOriginText $projection.InspectionLotOrigin = _InspectionLotOriginText.InspectionLotOrigin
[0..*] I_UsageDecisionCodeText _UsageDecisionCodeText $projection.insplotusagedecisioncodegroup = _UsageDecisionCodeText.UsageDecisionCodeGroup and $projection.inspectionlotusagedecisioncode = _UsageDecisionCodeText.UsageDecisionCode
[0..1] I_Plant _Plant $projection.Plant = _Plant.Plant

Annotations (11)

NameValueLevelField
AbapCatalog.sqlViewName CBATCHINSPLOT view
AbapCatalog.preserveKey true view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
EndUserText.label Inspection Lots for Batch Object Page view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.serviceQuality #A view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ClientHandling.algorithm #SESSION_VARIABLE view
VDM.private false view
VDM.viewType #CONSUMPTION view

Fields (17)

KeyFieldSource TableSource FieldDescription
KEY InspectionLot InspectionLot
Batch Batch
Material I_InspectionLot Material
Plant Plant
InspectionLotOrigin InspectionLotOrigin
InspectionLotType InspectionLotType
InspectionLotUsageDecidedOn _InspLotUsageDecision InspectionLotUsageDecidedOn
InspLotUsageDecisionCodeGroup _InspLotUsageDecision InspLotUsageDecisionCodeGroup
InspectionLotUsageDecisionCode _InspLotUsageDecision InspectionLotUsageDecisionCode
AuthorizationGroup I_Material AuthorizationGroup
_InspectionLotOrigin _InspectionLotOrigin
_InspectionLotOriginText _InspectionLotOriginText
_InspectionLotType _InspectionLotType
_InspectionLotTypeText _InspectionLotTypeText
_InspLotUsageDecision _InspLotUsageDecision
_UsageDecisionCodeText _UsageDecisionCodeText
_Plant _Plant
@AbapCatalog.sqlViewName: 'CBATCHINSPLOT'
@AbapCatalog.preserveKey: true
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Inspection Lots for Batch Object Page'

@ObjectModel.usageType.sizeCategory: #L
@ObjectModel.usageType.serviceQuality: #A
@ObjectModel.usageType.dataClass:#TRANSACTIONAL
@AccessControl.privilegedAssociations: ['_UsageDecisionCodeText']
@ClientHandling.algorithm: #SESSION_VARIABLE

@VDM.private: false
@VDM.viewType: #CONSUMPTION

@ObjectModel: {
    semanticKey: ['InspectionLot']
}
define view C_BatchObjPgInspectionLot 
// remove inner join once DCLs can follow associations without bigger performance impact than an implicit join in the view

as select from I_InspectionLot inner join I_Material on I_InspectionLot.Material = I_Material.Material

  association [0..*] to I_InspectionLotTypeText   as _InspectionLotTypeText   on  $projection.InspectionLotType = _InspectionLotTypeText.InspectionLotType
  association [0..*] to I_InspectionLotOriginText as _InspectionLotOriginText on  $projection.InspectionLotOrigin = _InspectionLotOriginText.InspectionLotOrigin
  association [0..*] to I_UsageDecisionCodeText   as _UsageDecisionCodeText   on  $projection.insplotusagedecisioncodegroup  = _UsageDecisionCodeText.UsageDecisionCodeGroup
                                                                              and $projection.inspectionlotusagedecisioncode = _UsageDecisionCodeText.UsageDecisionCode
  association [0..1] to I_Plant                     as _Plant                 on  $projection.Plant = _Plant.Plant
{
    @UI.lineItem: {position: 10}
    @Consumption: { semanticObject: 'InspectionLot' }
    key InspectionLot,
    @UI.hidden: true
    Batch,
    @UI.hidden: true
    I_InspectionLot.Material,
    
    @ObjectModel.foreignKey.association: '_Plant'
    @Consumption: { semanticObject: 'Plant' }
    @UI.lineItem: {position: 5}
    @UI.textArrangement: #TEXT_FIRST
    Plant,

    @ObjectModel.text.association: '_InspectionLotOriginText'
    @UI.textArrangement: #TEXT_ONLY
    @UI.lineItem: {position: 20}
    InspectionLotOrigin,

    @ObjectModel.text.association: '_InspectionLotTypeText'
    @UI.textArrangement: #TEXT_ONLY
    InspectionLotType,


    @UI.lineItem: {position: 50}
    @Semantics: { businessDate: { at: true }}
    _InspLotUsageDecision.InspectionLotUsageDecidedOn,

    @UI.hidden: true // Necessary for text association of UD code;

    _InspLotUsageDecision.InspLotUsageDecisionCodeGroup,

    @ObjectModel.text.association: '_UsageDecisionCodeText'
    @UI.textArrangement: #TEXT_FIRST
    @UI.lineItem: {position: 40}
    _InspLotUsageDecision.InspectionLotUsageDecisionCode,
    
    // only relevant for DCL!

    @UI.hidden: true
    I_Material.AuthorizationGroup,

    /* Associations */
    _InspectionLotOrigin,
    _InspectionLotOriginText,

    _InspectionLotType,
    _InspectionLotTypeText,

    _InspLotUsageDecision,
    _UsageDecisionCodeText,
    
    _Plant
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_INSPECTIONLOT",
"I_INSPLOTUSAGEDECISION",
"I_MATERIAL"
],
"ASSOCIATED":
[
"I_INSPECTIONLOTORIGIN",
"I_INSPECTIONLOTORIGINTEXT",
"I_INSPECTIONLOTTYPE",
"I_INSPECTIONLOTTYPETEXT",
"I_INSPLOTUSAGEDECISION",
"I_PLANT",
"I_USAGEDECISIONCODETEXT"
],
"BASE":
[
"I_INSPECTIONLOT"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/