C_MonitorSupplierConfirmation

DDL: C_MONITORSUPPLIERCONFIRMATION SQL: CSUPCONFOVP Type: view CONSUMPTION

Monitor Supplier Confirmations

C_MonitorSupplierConfirmation is a Consumption CDS View that provides data about "Monitor Supplier Confirmations" in SAP S/4HANA. It reads from 1 data source (I_PurchasingCategoryMatlGroup) and exposes 28 fields with key fields PurchasingDocument, PurchasingDocumentItem, ScheduleLine. It has 3 associations to related views.

Data Sources (1)

SourceAliasJoin Type
I_PurchasingCategoryMatlGroup PurchasingCategoryMatlGroup left_outer

Parameters (1)

NameTypeDefault
P_DisplayCurrency vdm_v_display_currency

Associations (3)

CardinalityTargetAliasCondition
[1..1] P_QuantityVarienceCal _CommittedQuantityView $projection.PurchasingDocument = _CommittedQuantityView.PurchasingDocument and $projection.PurchasingDocumentItem = _CommittedQuantityView.PurchasingDocumentItem and $projection.ScheduleLine = _CommittedQuantityView.ScheduleLine
[0..1] P_ConfirmationDate _Confirmation $projection.PurchasingDocument = _Confirmation.PurchasingDocument and $projection.PurchasingDocumentItem = _Confirmation.PurchasingDocumentItem
[1..1] I_UnitOfMeasure _UnitOfMeasure _UnitOfMeasure.UnitOfMeasure = 'TAG'

Annotations (11)

NameValueLevelField
AbapCatalog.sqlViewName CSUPCONFOVP view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
EndUserText.label Monitor Supplier Confirmations view
Search.searchable true view
VDM.viewType #CONSUMPTION view
AccessControl.personalData.blocking #NOT_REQUIRED view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #MIXED view

Fields (28)

KeyFieldSource TableSource FieldDescription
KEY PurchasingDocument PurchasingDocument
KEY PurchasingDocumentItem PurchasingDocumentItem
KEY ScheduleLine ScheduleLine
FormattedPurchasingDocItem
ScheduleLineDeliveryDate ScheduleLineDeliveryDate
EarliestConfirmationDate _Confirmation OrderConfirmationDate
TimeVarianceInDays
Supplier Supplier
SupplierName SupplierName
UnitOfMeasureName
SupplierConfirmationCategory SupplierConfirmationCategory
PurchasingDocumentItemText ShortText
NetAmount NetAmount
DocumentCurrency DocumentCurrency
PurgDocOrderQuantityUnit OrderUnit
OrderedQuantity OrderedQuantity
CommittedQuantity _CommittedQuantityView CommittedQuantity
QuantityVarianceInPct
NetPriceAmount NetPriceAmount
DisplayCurrency
PurchasingDocumentType PurchasingDocumentType
Plant Plant
PurchasingOrganization PurchasingOrganization
PurchasingGroup PurchasingGroup
CompanyCode CompanyCode
Material Material
MaterialGroup P_PurgDocSchedline MaterialGroup
PurchasingCategory
@AbapCatalog.sqlViewName: 'CSUPCONFOVP'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Monitor Supplier Confirmations'

@Search.searchable: true
@VDM.viewType: #CONSUMPTION
@AccessControl.personalData.blocking: #NOT_REQUIRED
@ClientHandling.algorithm: #SESSION_VARIABLE

@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #L
@ObjectModel.usageType.dataClass: #MIXED

define view C_MonitorSupplierConfirmation
    with parameters
    //@Consumption.valueHelpDefinition: [{ entity: { name : 'I_Currency', element : 'DisplayCurrency' } }]

    P_DisplayCurrency : vdm_v_display_currency
    as select distinct from P_PurgDocSchedline

    left outer join       I_PurchasingCategoryMatlGroup as PurchasingCategoryMatlGroup on P_PurgDocSchedline.MaterialGroup = PurchasingCategoryMatlGroup.MaterialGroup

  association [1..1] to P_QuantityVarienceCal as _CommittedQuantityView on  $projection.PurchasingDocument     = _CommittedQuantityView.PurchasingDocument
                                                                        and $projection.PurchasingDocumentItem = _CommittedQuantityView.PurchasingDocumentItem
                                                                        and $projection.ScheduleLine           = _CommittedQuantityView.ScheduleLine

  association [0..1] to P_ConfirmationDate    as _Confirmation          on  $projection.PurchasingDocument     = _Confirmation.PurchasingDocument
                                                                        and $projection.PurchasingDocumentItem = _Confirmation.PurchasingDocumentItem


  association [1..1] to I_UnitOfMeasure       as _UnitOfMeasure         on  _UnitOfMeasure.UnitOfMeasure = 'TAG'

{
      @Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
      @UI:{lineItem:[{position:10,importance: #HIGH},{position:30,importance:#HIGH,qualifier: 'CharacteristicsTab'}] }
  key PurchasingDocument,

      @UI:{lineItem:[{position:20,importance: #HIGH},{position:10,importance:#HIGH,qualifier: 'CharacteristicsTab'}] }
  key PurchasingDocumentItem,

  key ScheduleLine,

      cast(concat(concat(PurchasingDocument, '/'), PurchasingDocumentItem) as abap.char(16))                                                      as  FormattedPurchasingDocItem,

      // Requested Delivery Date

      @UI:{lineItem:[{position:30,importance: #HIGH},{position:20,importance:#HIGH,qualifier: 'CharacteristicsTab'}] }
      //DeliveryDate                                                                                                                                as  DeliveryDate, //The GFN change from ScheduleLineDeliveryDate --> DeliveryDate has been made to support navigation. TODO: Revert this change in 2002

      ScheduleLineDeliveryDate,
      
      @UI.hidden: true
      _Confirmation.OrderConfirmationDate                                                                                                         as  EarliestConfirmationDate,

      //@Semantics.quantity.unitOfMeasure: 'UnitOfMeasureName'

      DATS_DAYS_BETWEEN (ScheduleLineDeliveryDate, _Confirmation.OrderConfirmationDate)                                                                       as  TimeVarianceInDays,


      @Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
      @UI:{lineItem:[{position:40,importance:#HIGH,qualifier: 'CharacteristicsTab'}] }
      @ObjectModel.text.element:  [ 'SupplierName' ]
      Supplier,

      SupplierName,

//      @Semantics.unitOfMeasure: true

//      @ObjectModel.text.element: ['UnitOfMeasureName']

//      _UnitOfMeasure.UnitOfMeasure,


      @Semantics.text: true
      _UnitOfMeasure._Text[1: Language = $session.system_language].UnitOfMeasureName,


      SupplierConfirmationCategory,

      //Description

      ShortText                                                                                                                                   as  PurchasingDocumentItemText,
      
      @Semantics.amount.currencyCode: 'DisplayCurrency'
      NetAmount,

      @Semantics.currencyCode: true
      DocumentCurrency                                                                                                                            as  DocumentCurrency,

      @Semantics.unitOfMeasure: true
      OrderUnit                                                                                                                                   as  PurgDocOrderQuantityUnit,


      case when
           _Confirmation.OrderConfirmationDate  > ScheduleLineDeliveryDate
           then
               '01'
           else
               '00'
      end                                                                                                                                         as  VarianceCalcDataIsRecorded,



      /********************************************************************************************************************************************************************
      Calculated Fields
      **********************************************************************************************************************************************************************/
      // Quantity Variance

      // Requested Quantity as per scope

      @Semantics.quantity.unitOfMeasure: 'PurgDocOrderQuantityUnit'
      OrderedQuantity,

      _CommittedQuantityView.CommittedQuantity,



      division(_CommittedQuantityView.QuantityVarience, OrderedQuantity, 2) *100                                                                  as  QuantityVarianceInPct,

      @Semantics.amount.currencyCode: 'DisplayCurrency'    
      NetPriceAmount,
      
      @Semantics.currencyCode: true
      cast(:P_DisplayCurrency as displaycurrency)                                                                                                   as  DisplayCurrency,
      

      //@Semantics.quantity.unitOfMeasure: 'DisplayCurrency'

      //(OrderedQuantity * NetPriceAmount)                                                                                                          as  ItemPrice,

      
      //CURRENCY CONVERSION CODE - START

      @Semantics.amount.currencyCode: 'DisplayCurrency'
      @DefaultAggregation: #SUM
      cast( currency_conversion(  amount =>  ItemPrice,
                              source_currency =>  DocumentCurrency,
                              target_currency => $parameters.P_DisplayCurrency ,
                              exchange_rate_date =>  DocumentDate,
                              error_handling => 'KEEP_UNCONVERTED'
                             )    as vdm_ponetamount    )                                                                                       as ItemPrice ,
      //CURRENNCY CONVERSION CODE - END



      // Blank field needed for not displaying 6th column in UI

    // cast('          ' as abap.char(11))                                                                                                         as  SchdLnReqdValueInTransCurrency, // field not needed and coming from OVP to support navigation






      /*********************************************************************************************************************************************************************************************************************************************************************************
      Exposing Filter fileds for Global search function
      *********************************************************************************************************************************************************************************************************************************************************************************/
      PurchasingDocumentType,

      @Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
      Plant,

      @Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
      PurchasingOrganization,

      @Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
      PurchasingGroup,

      @Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
      CompanyCode,

      @Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
      Material,

      @Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
      P_PurgDocSchedline.MaterialGroup,

      @Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
      PurchasingCategoryMatlGroup._PurchasingCategory.PurchasingCategory                                                                          as  PurchasingCategory

}

where
          SupplierConfirmationCategory         = 'AB'
  and

          OrderedQuantity != 0
  and

  (
          BalanceQuantity                      is null
    or(
          BalanceQuantity                      is not null
      and OrderedQuantity                      > BalanceQuantity
    )
  )
  and(
    (
          Supplier                             = ' '
    )
    or(
          _Supplier.IsBusinessPurposeCompleted = ' '
    )
  )
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_PURCHASINGCATEGORY",
"I_PURCHASINGCATEGORYMATLGROUP",
"I_SUPPLIER",
"I_UNITOFMEASURE",
"I_UNITOFMEASURETEXT",
"P_CONFIRMATIONDATE",
"P_PURGDOCSCHEDLINE",
"P_QUANTITYVARIENCECAL"
],
"ASSOCIATED":
[
"I_UNITOFMEASURE",
"P_CONFIRMATIONDATE",
"P_QUANTITYVARIENCECAL"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/