C_ChmlCmplncMktSpcfcCvrg

DDL: C_CHMLCMPLNCMKTSPCFCCVRG Type: view CONSUMPTION

Specific Coverage of Packaged Product

C_ChmlCmplncMktSpcfcCvrg is a Consumption CDS View that provides data about "Specific Coverage of Packaged Product" in SAP S/4HANA. It reads from 3 data sources (I_ChmlCmplncInfo, I_ChmlCmplncMktCvrg, I_ChmlCmplncProdAssgmt) and exposes 11 fields with key fields ChmlCmplncProdAssgmtUUID, Country. It has 3 associations to related views.

Data Sources (3)

SourceAliasJoin Type
I_ChmlCmplncInfo pp_cci inner
I_ChmlCmplncMktCvrg pp_cov inner
I_ChmlCmplncProdAssgmt pp_prd from

Associations (3)

CardinalityTargetAliasCondition
[1..1] C_ChmlCmplncMktTP _ChmlCmplncMktTP _ChmlCmplncMktTP.ChmlCmplncInfoUUID = $projection.ChmlCmplncProdUUID
[1..1] I_ChmlCmplncInfoTP _ChmlCmplncInfoTP _ChmlCmplncInfoTP.ChmlCmplncInfoUUID = $projection.ChmlCmplncInfoUUID
[1..1] I_ChmlCmplncMktReq _ChmlCmplncMktReq _ChmlCmplncMktReq.ChmlCmplncInfoUUID = $projection.ChmlCmplncInfoUUID and _ChmlCmplncMktReq.Country = $projection.Country

Annotations (12)

NameValueLevelField
EndUserText.label Specific Coverage of Packaged Product view
AbapCatalog.sqlViewName CCCMKTSPCFCCVRG view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #NOT_REQUIRED view
ClientHandling.algorithm #SESSION_VARIABLE view
VDM.viewType #CONSUMPTION view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.sizeCategory #M view
ObjectModel.usageType.serviceQuality #C view
UI.headerInfo.typeName Specific Packaged Products Assessment view
UI.headerInfo.typeNamePlural Specific Packaged Products Assessment view

Fields (11)

KeyFieldSource TableSource FieldDescription
KEY ChmlCmplncProdAssgmtUUID I_ChmlCmplncProdAssgmt ChmlCmplncProdAssgmtUUID
KEY Country I_ChmlCmplncMktCvrg Country
CountryName
ChmlCmplncInfoUUID I_ChmlCmplncInfo ChmlCmplncInfoUUID
ChmlCmplncProdUUID I_ChmlCmplncProdAssgmt ChmlCmplncProdUUID
ActiveChmlCmplncInfoUUID _ChmlCmplncInfoTP ActiveChmlCmplncInfoUUID
ChmlCmplncSalesCvrgReqdCritlty
ChmlCmplncSalesIsReqd _ChmlCmplncMktReq ChmlCmplncSalesIsReqd
ChmlCmplncSalesAllwd I_ChmlCmplncMktCvrg ChmlCmplncSalesAllwd
_ChmlCmplncMktTP _ChmlCmplncMktTP
_Country I_ChmlCmplncMktCvrg _Country
@EndUserText.label: 'Specific Coverage of Packaged Product'

@AbapCatalog:
{
  sqlViewName: 'CCCMKTSPCFCCVRG',
  compiler.compareFilter: true
}

@AccessControl:
{
  authorizationCheck: #CHECK,
  // blocking of personal data not required (no personal data fields exposed for material)

  personalData.blocking: #NOT_REQUIRED
}

@ClientHandling.algorithm: #SESSION_VARIABLE

@VDM.viewType: #CONSUMPTION

@ObjectModel:
{
  semanticKey:  [ 'Country' ],
  usageType:
  {
    dataClass: #MIXED,
    sizeCategory: #M,
    serviceQuality: #C
  }
}

@UI:
{
  headerInfo : {
    typeName: 'Specific Packaged Products Assessment',
    typeNamePlural: 'Specific Packaged Products Assessment'
  },
  presentationVariant.sortOrder: [{by: 'CountryName', direction: 'ASC' }]
}

define view C_ChmlCmplncMktSpcfcCvrg
  as select from I_ChmlCmplncProdAssgmt as pp_prd
    inner join   I_ChmlCmplncInfo       as pp_cci
      inner join I_ChmlCmplncMktCvrg    as pp_cov on pp_cci.ChmlCmplncInfoUUID = pp_cov.ChmlCmplncInfoUUID
    on pp_prd.ChmlCmplncInfoUUID = pp_cci.ChmlCmplncInfoUUID

  association [1..1] to C_ChmlCmplncMktTP  as _ChmlCmplncMktTP  on  _ChmlCmplncMktTP.ChmlCmplncInfoUUID = $projection.ChmlCmplncProdUUID
  association [1..1] to I_ChmlCmplncInfoTP as _ChmlCmplncInfoTP on  _ChmlCmplncInfoTP.ChmlCmplncInfoUUID = $projection.ChmlCmplncInfoUUID
  association [1..1] to I_ChmlCmplncMktReq as _ChmlCmplncMktReq on  _ChmlCmplncMktReq.ChmlCmplncInfoUUID = $projection.ChmlCmplncInfoUUID
                                                                and _ChmlCmplncMktReq.Country            = $projection.Country

{

       @UI:
         {
           -- Facet Annotations
           facet:
           [
             -- Facet 'Specific Marketability for Packaged Product'
             {
               label: 'Specific Marketability for Packaged Product',
               id: 'CCCMKTSPCFCCVRG_PP',
               type: #COLLECTION,
               position: 10
             },
               -- Facet 'Market Coverage' - Identification
               {
                 label: 'Specific Marketability for Packaged Product',
                 id: 'CCCMKTSPCFCCVRG_PPLI',
                 parentId: 'CCCMKTSPCFCCVRG_PP',
                 position: 10,
                 type: #IDENTIFICATION_REFERENCE
               }
           ]
         }

       @UI.hidden: true
       @ObjectModel.readOnly: true
  key  pp_prd.ChmlCmplncProdAssgmtUUID                                                   as ChmlCmplncProdAssgmtUUID,

       // Country

       @UI: {
         lineItem:
         {
           position: 10,
           label: 'Country/Region'
        },
        textArrangement: #TEXT_ONLY
       }
  key  pp_cov.Country                                                                    as Country,

       // Country Name

       @ObjectModel.readOnly: true
       @UI.hidden: true
       _Country._Text[1: Language = $session.system_language ].CountryName               as CountryName,

       // UUID of packaged product

       @UI.hidden: true
       @ObjectModel.readOnly: true
       pp_cci.ChmlCmplncInfoUUID                                                         as ChmlCmplncInfoUUID,

       // UUID of unpackaged product

       @UI.hidden: true
       @ObjectModel.readOnly: true
       pp_prd.ChmlCmplncProdUUID                                                         as ChmlCmplncProdUUID,

       @UI.hidden: true
       @ObjectModel.readOnly: true
       _ChmlCmplncInfoTP.ActiveChmlCmplncInfoUUID                                        as ActiveChmlCmplncInfoUUID,

       // Product name of packaged product

       @UI:
       {
         lineItem:
         {
           position: 20
         }
       }
       @ObjectModel.readOnly: true
       cast(pp_prd._ChmlCmplncInfo._MaterialAssignment[1: Material = Material]._Product._Text[1: Language = $session.system_language ].ProductName
       as ehfnd_cci_product_name )                                                       as ProductName,

       // Application

       --TODO Chemical Compliance Information: not yet needed, until the packaged product is editable by an own app
       //       @UI:

       //       {

       //         lineItem:

       //         {

       //           position: 30

       //         },

       //         multiLineText: true

       //       }

       //       @ObjectModel.virtualElement

       //       @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EHPMA_MKT_CALC_EXIT2'

       //       @ObjectModel.readOnly: true

       //       cast( '' as ehpma_application_long)                                               as ChmlCmplncApplication,



       // Export From

       /*@UI: {
         lineItem:
         {
           position: 40,
           criticality: 'ChmlCmplncExprtCvrgReqdCritlty',
           criticalityRepresentation: #WITHOUT_ICON
         }
       }
       @ObjectModel.virtualElement
       @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EHPMA_MKT_CALC_EXIT1'
       @ObjectModel.readOnly: true
       cast( '' as ehpma_export_covreq_status_dsc )                                      as ChmlCmplncExprtAllwdReqdName,

       @UI.hidden
       @ObjectModel.virtualElement
       @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EHPMA_MKT_CALC_EXIT1'
       @ObjectModel.readOnly: true
       cast( 0 as integer )                                                              as ChmlCmplncExprtCvrgReqdCritlty,

       @UI.hidden
       @ObjectModel.readOnly: true
       _ChmlCmplncMktReq.ChmlCmplncExprtIsReqd                                           as ChmlCmplncExprtIsReqd,

       @UI.hidden
       @ObjectModel.readOnly: true
       pp_cov.ChmlCmplncExprtAllwd                                                       as ChmlCmplncExprtAllwd,


       // Import To

       @UI: {
         lineItem:
         {
           position: 50,
           criticality: 'ChmlCmplncImprtCvrgReqdCritlty',
           criticalityRepresentation: #WITHOUT_ICON
         }
       }
       @ObjectModel.virtualElement
       @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EHPMA_MKT_CALC_EXIT1'
       @ObjectModel.readOnly: true
       cast( '' as ehpma_import_covreq_status_dsc )                                      as ChmlCmplncImprtAllwdReqdName,

       @UI.hidden
       @ObjectModel.virtualElement
       @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EHPMA_MKT_CALC_EXIT1'
       @ObjectModel.readOnly: true
       cast( 0 as integer )                                                              as ChmlCmplncImprtCvrgReqdCritlty,

       @UI.hidden
       @ObjectModel.readOnly: true
       _ChmlCmplncMktReq.ChmlCmplncImprtIsReqd                                           as ChmlCmplncImprtIsReqd,

       @UI.hidden
       @ObjectModel.readOnly: true
       pp_cov.ChmlCmplncImprtAllwd                                                       as ChmlCmplncImprtAllwd,
        */

       // Sell

       @UI: {
         lineItem:
         {
           position: 60,
           criticality: 'ChmlCmplncSalesCvrgReqdCritlty',
           criticalityRepresentation: #WITHOUT_ICON
         }
       }
       @ObjectModel.virtualElement
       @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EHPMA_MKT_CALC_EXIT1'
       @ObjectModel.readOnly: true
       cast( '' as ehpma_sales_covreq_status_dsc )                                       as ChmlCmplncSalesAllwdReqdName,

       @UI.hidden
       @ObjectModel.virtualElement
       @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EHPMA_MKT_CALC_EXIT1'
       @ObjectModel.readOnly: true
       cast( 0 as integer )                                                              as ChmlCmplncSalesCvrgReqdCritlty,

       @UI.hidden
       @ObjectModel.readOnly: true
       _ChmlCmplncMktReq.ChmlCmplncSalesIsReqd                                           as ChmlCmplncSalesIsReqd,

       @UI.hidden
       @ObjectModel.readOnly: true
       pp_cov.ChmlCmplncSalesAllwd                                                       as ChmlCmplncSalesAllwd,

       // Associations

       _ChmlCmplncMktTP,
       pp_cov._Country


}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_CHMLCMPLNCINFO",
"I_CHMLCMPLNCINFOTP",
"I_CHMLCMPLNCMATLASSGMT",
"I_CHMLCMPLNCMKTCVRG",
"I_CHMLCMPLNCMKTREQ",
"I_CHMLCMPLNCPRODASSGMT",
"I_COUNTRY",
"I_COUNTRYTEXT",
"I_PRODUCT",
"I_PRODUCTTEXT"
],
"ASSOCIATED":
[
"C_CHMLCMPLNCMKTTP",
"I_CHMLCMPLNCINFOTP",
"I_CHMLCMPLNCMKTREQ",
"I_COUNTRY"
],
"BASE":
[
"I_CHMLCMPLNCMKTCVRG"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/