SADL_V_ExpVoc_Connection_Par

DDL: SADL_V_EXPVOC_CONNECTION_PAR SQL: SADL_V_E_CONP Type: view

Connection

SADL_V_ExpVoc_Connection_Par is a CDS View that provides data about "Connection" in SAP S/4HANA. It reads from 1 data source (spfli) and exposes 16 fields with key fields Airline, ConnectionID. It has 4 associations to related views.

Data Sources (1)

SourceAliasJoin Type
spfli spfli from

Parameters (2)

NameTypeDefault
p_airpfrom s_fromairp
p_airpto s_toairp

Associations (4)

CardinalityTargetAliasCondition
[1..1] SADL_V_ExpVoc_Airline _Airline $projection.Airline = _Airline.Code
[1..1] SADL_V_ExpVoc_Airport _FromAirport $projection.AirportOfDeparture = _FromAirport.Airport
[1..1] SADL_V_ExpVoc_Airport _ToAirport $projection.DestinationAirport = _ToAirport.Airport
[0..*] SADL_V_ExpVoc_Airport _Airports ( $projection.AirportOfDeparture = _Airports.Airport or $projection.DestinationAirport = _Airports.Airport )

Annotations (2)

NameValueLevelField
AbapCatalog.sqlViewName SADL_V_E_CONP view
EndUserText.label Connection view

Fields (16)

KeyFieldSource TableSource FieldDescription
KEY Airline carrid FallbackTest
KEY ConnectionID connid
CountryOfDeparture spfli countryfr
CityOfDeparture cityfrom
AirportOfDeparture airpfrom
countryto spfli countryto
DestinationCity cityto
DestinationAirport airpto
DepartureTime deptime
ArrivalTime arrtime
Distance distance
DistanceUnit distid
_Airline _Airline
_FromAirport _FromAirport
_ToAirport _ToAirport
_Airports _Airports
@AbapCatalog.sqlViewName: 'SADL_V_E_CONP'
@EndUserText.label: 'Connection'

@UI: {
    headerInfo:{
      typeName: 'Connection',
      typeNamePlural: 'Connections',
      typeImageUrl: 'ImageUrl',
      title:  { type: #STANDARD, value: 'ConnectionID' },
      description: { type: #WITH_URL, value: 'CountryOfDeparture', url: 'https://sap.com/bilder/bildchen.img' }

    },

    badge:{
      headLine: { label: 'Connections', value: 'ConnectionID' },
      title: { value: 'ConnectionID', url: 'https://sap.com/bilder/bild.img'}

    },

    chart: [
      {
        title: 'ConnectionChart',
        description: 'Chart for Connections TEST',
        chartType: #COLUMN,
        dimensions:  [ '_FromAirport._City.MasterCity', '_ToAirport.AirportName' ] ,
        measures:  [ 'CountryOfDeparture', 'CityOfDeparture' ]
      },
      {
        qualifier: 'City',
        title: 'CityChart',
        description: 'Chart for Cities',
        chartType: #AREA,
        dimensions:  [ 'AIRLINE', 'ConnectionID' ] ,
        measures:  [ '_FromAirport._City.Airport', '_ToAirport._City.Airport' ]
      },
      {
        qualifier: 'InvalidChart',
        title: 'Should not be displayed',
        description: 'Should not be displayed',
        chartType: #AREA,
        dimensions:  [ 'AIRLINE', 'ConnectionID' ] ,
        measures:  [ '_FromAirport._City.Airport', '_InvalidAssoc.Property' ]
      }
    ],

    selectionVariant: [
        {
            qualifier: 'SelVar01', id: 'Selection_001', text: 'Selection Variant Test',
                         parameters: [
                            { name: 'p_airpfrom', value: '22' },
                            { name: 'p_airpto', value: '42' }
                         ]
        },
        {
            qualifier: 'SelVar02', id: 'Selection_002', text: 'Selection Variant Test Selection'
        }
    ],

    presentationVariant:[{
        qualifier: 'OpenAmountByCustomer',
        text: 'Open Amount in Local Currency by Customer',
        sortOrder: [
            { element: 'DocumentDate', descending },
            { element: 'DocumentNumber', descending }
        ],
        groupBy:['Customer'],
        total:['AmountInLocalCurrency'],
        includeGrandTotal: true,
        initialExpansionLevel: 1,
        requestAtLeast: ['CompanyCode'],
        visualizations: [
          { type: #AS_LINEITEM, qualifier: 'CustomerOpen' },
          { type: #AS_CHART,    qualifier: 'AmountByCustomer' }
        ]
    }],

    selectionPresentationVariant:[
        {
            qualifier: 'Qualifier3',
            text:      'SAP SE Open Amount at 12/31/2015 by Customer',
            selectionVariantQualifier:    'Qualifier1',
            presentationVariantQualifier: 'Qualifier2'
        }
    ],

textArrangement: #TEXT_ONLY

}


define view SADL_V_ExpVoc_Connection_Par
  with parameters
    p_airpfrom :s_fromairp,
    p_airpto   :s_toairp
  as select from spfli
  association [1..1] to SADL_V_ExpVoc_Airline as _Airline     on $projection.Airline = _Airline.Code
  association [1..1] to SADL_V_ExpVoc_Airport as _FromAirport on $projection.AirportOfDeparture = _FromAirport.Airport
  association [1..1] to SADL_V_ExpVoc_Airport as _ToAirport   on $projection.DestinationAirport = _ToAirport.Airport
  association [0..*] to SADL_V_ExpVoc_Airport as _Airports    on (
        $projection.AirportOfDeparture    = _Airports.Airport
        or $projection.DestinationAirport = _Airports.Airport
      )
{
      @UI.identification: { position: '10', exclude }
      @UI.statusInfo: { position: '10', exclude }
      @EndUserText.label: 'FallbackTest'
      @UI.lineItem: [{ position:10},{position:10,qualifier:'ValueList'}] // used in default line item as well as in value helps

      @UI.selectionField.position:10
      @Semantics.name.givenName
  key carrid          as Airline,

      @UI.identification: [{ label: 'Connection', importance: #HIGH, position: 20 }]
      @UI.statusInfo: [{ label: 'Connection', importance: #HIGH, position: 20 }]

      @UI.lineItem: [{position:20},{position:20,qualifier:'ValueList'}]
      @UI.selectionField.position:40
      @UI.multiLineText: true
      @UI.hidden: true
      @Semantics.name.additionalName
  key connid          as ConnectionID,

      @UI.identification: { label: 'Country Of Departure', label_AsOTR: '8169D568EFBC8642A01BF36EEB2498DA', position: '15.75', exclude: false }
      @UI.statusInfo: { label: 'Country Of Departure', label_AsOTR: '8169D568EFBC8642A01BF36EEB2498DA', position: '15.75', exclude: false }
      @UI.lineItem: {position:30,importance:#LOW} // used only in default line item with low importance

      @UI.fieldGroup:[{qualifier:'from',groupLabel:'From',position:30}]
      @UI.selectionField.position:20
      @UI.hidden: true
      @UI.dataPoint:{description: 'Datapoint Test (Country)',
                     valueFormat: {scaleFactor:1000,numberOfFractionalDigits:1},
                     criticalityCalculation: { toleranceRangeHighValueElement: 'ConnectionID', toleranceRangeLowValueElement: 'Airline'}
                    }
      spfli.countryfr as CountryOfDeparture,

      @UI.lineItem.position:40 // used only in default line item

      @UI.fieldGroup:[{qualifier:'from',position:20}]
      @UI.selectionField.position:30
      @UI.dataPoint:{description: 'Datapoint Test', longDescription: 'Datapoint Test with a lot of additional Text', valueFormat:{scaleFactor:1000,numberOfFractionalDigits:1}}
      cityfrom        as CityOfDeparture,

      @UI.lineItem: [{position:50},{position:50,qualifier:'ValueList'}]
      @UI.fieldGroup:[{qualifier:'from',position:10}]
      @UI.masked: true
      @Semantics.address.type: [#WORK, #PREF]
      @Semantics.address.city: true
      airpfrom        as AirportOfDeparture,

      @UI.lineItem: {position:60,importance:#LOW}
      @UI.fieldGroup:[{qualifier:'to',groupLabel:'To', groupLabel_AsOTR:'001CC412326A02EE8EF12A25E400889E', position:30}]
      @Semantics.telephone.type: [#CELL]
      spfli.countryto, //  as DestinationCountry,


      @UI.lineItem: {position:40,qualifier:'ValueList'} // used only in value helps, between ConnectionID and AirportOfDeparture

      @UI.fieldGroup:[{qualifier:'to',position:20}]
      @Semantics.address.city: true
      @Semantics.address.street: true
      @Semantics.address.country: true
      @Semantics.telephone.type: [#FAX]
      cityto          as DestinationCity,

      @UI.lineItem: [{position:80},{position:80,qualifier:'ValueList'}]
      @UI.fieldGroup:[{qualifier:'to',position:10}]
      @Semantics.telephone.type: [#WORK, #PREF]
      airpto          as DestinationAirport,

      deptime         as DepartureTime,
      arrtime         as ArrivalTime,
      distance        as Distance,    
      distid          as DistanceUnit,

      // @UI.lineItem:[{value:'_Airline.CurrencyCode',importance:#LOW},{value:'_Airline.Name'}]

      @UI.identification: [{ position: '10', label: 'ToAirlines', value: '_Airline.CurrencyCode'}, { position: '20', label: 'AlsoToAirlines', value: '_Airline.Name' }]
      @UI.statusInfo: [{ position: '10', label: 'ToAirlines', value: '_Airline.CurrencyCode'}, { position: '20', label: 'AlsoToAirlines', value: '_Airline.Name' }]
      @UI.selectionField:[{position:80, element:'.Name'},{position:70, element:'_Airline.Code'}]
      _Airline,

      //@UI.lineItem:[{value:'_FromAirport.AirportName',importance:#LOW},{value:'_FromAirport._City.MasterCity'}]

      @UI.identification: [{ position: '100', label: 'FromAirport', value:'_FromAirport.AirportName' }, { position: '200', label: 'AlsoFromAirport', value:'_FromAirport.MasterCity' }]
      @UI.statusInfo: [{ position: '100', label: 'FromAirport', value:'_FromAirport.AirportName' }, { position: '200', label: 'AlsoFromAirport', value:'_FromAirport.MasterCity' }]
      _FromAirport,

      @UI.lineItem:[{value:'_ToAirport.AirportName',importance:#LOW},{value:'_ToAirport.AirportName', qualifier: 'ValueList'}]
      @UI.identification: [{ position: '100', label: 'ToAirport', value:'_ToAirport.AirportName' }]
      @UI.statusInfo: [{ position: '100', label: 'ToAirport', value:'_ToAirport.AirportName' }]
      _ToAirport,

      _Airports
}
where
      airpfrom = $parameters.p_airpfrom
  and airpto   = $parameters.p_airpto         
 /*+[internal] {
"BASEINFO":
{
"FROM":
[
"SPFLI"
],
"ASSOCIATED":
[
"SADL_V_EXPVOC_AIRLINE",
"SADL_V_EXPVOC_AIRPORT"
],
"BASE":
[],
"ANNO_REF":
[],
"VERSION":0
}
}*/