I_CmplRqRsltCustCmplncChkTP

DDL: I_CMPLRQRSLTCUSTCMPLNCCHKTP SQL: ICRRCCCTP Type: view TRANSACTIONAL

CRR Customer Compliance Check - TP

I_CmplRqRsltCustCmplncChkTP is a Transactional CDS View that provides data about "CRR Customer Compliance Check - TP" in SAP S/4HANA. It reads from 1 data source (I_CmplRqRslt) and exposes 29 fields with key field CmplRqRsltUUID. It has 2 associations to related views.

Data Sources (1)

SourceAliasJoin Type
I_CmplRqRslt I_CmplRqRslt from

Associations (2)

CardinalityTargetAliasCondition
[0..1] I_CmplRqRsltCstCmChkDetsTP _CmplRqRsltCstCmChkDets $projection.CmplRqRsltUUID = _CmplRqRsltCstCmChkDets.CmplRqRsltUUID
[1..1] R_ChemicalCustomerMaterialTP _ChmCustMat $projection.ChemicalCustomerMaterialUUID = _ChmCustMat.ChemicalCustomerMaterialUUID

Annotations (23)

NameValueLevelField
AbapCatalog.sqlViewName ICRRCCCTP view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #MANDATORY view
EndUserText.label CRR Customer Compliance Check - TP view
VDM.viewType #TRANSACTIONAL view
VDM.lifecycle.contract.type #SAP_INTERNAL_API view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.modelCategory #BUSINESS_OBJECT view
ObjectModel.compositionRoot true view
ObjectModel.draftEnabled true view
ObjectModel.transactionalProcessingEnabled true view
ObjectModel.createEnabled true view
ObjectModel.updateEnabled true view
ObjectModel.deleteEnabled true view
ObjectModel.writeDraftPersistence ehpmaw_crr_ccc view
ObjectModel.writeActivePersistence ehfndv_crr view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.serviceQuality #B view
ObjectModel.entityChangeStateId LastChangeDateTime view
ObjectModel.sapObjectNodeType.name CustomerComplianceAssessment view
AccessControl.personalData.blocking #REQUIRED view

Fields (29)

KeyFieldSource TableSource FieldDescription
KEY CmplRqRsltUUID CmplRqRsltUUID
ProdCmplncRiskLevelUUID _CmplRqRsltCstCmChkDets ProdCmplncRiskLevelUUID
ActiveCmplRqRsltUUID
CmplRqVersUUID CmplRqVersUUID
ChmlCmplncInfoUUID ChmlCmplncInfoUUID
ChemicalCustomerMaterialUUID ChemicalCustomerMaterialUUID
ComplianceRequirement ComplianceRequirement
CreationDateTime CreationDateTime
CreatedByUser CreatedByUser
LastChangeDateTime LastChangeDateTime
LastChangedByUser LastChangedByUser
CmplRqRsltProcessingStatus CmplRqRsltProcessingStatus
Processor Processor
ReleasedByUser ReleasedByUser
ValidityStartDateTime ValidityStartDateTime
ValidityEndDateTime ValidityEndDateTime
CmplRqRsltReldCmplncSts CmplRqRsltReldCmplncSts
CmplRqRsltCalculatedStatus CmplRqRsltCalculatedStatus
CmplRqRsltManualStatus CmplRqRsltManualStatus
CmplRqRsltPrelimCmplncSts CmplRqRsltPrelimCmplncSts
CmplRqRsltStatusRemark CmplRqRsltStatusRemark
MaterialIsSold MaterialIsSold
MaterialIsTransported MaterialIsTransported
MaterialIsSourced MaterialIsSourced
MaterialIsProduced MaterialIsProduced
ChmlCustMatlLifeCycleStatus _ChmCustMat ChmlCustMatlLifeCycleStatus
_ChmlCmplncInfo _ChmlCmplncInfo
_CmplRqRsltCstCmChkDets _CmplRqRsltCstCmChkDets
_ChmCustMat _ChmCustMat
@AbapCatalog.sqlViewName: 'ICRRCCCTP'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #MANDATORY
@EndUserText.label: 'CRR Customer Compliance Check - TP'

@VDM.viewType: #TRANSACTIONAL
// TODO: Clarify what this annotation is required for

@VDM.lifecycle.contract.type:#SAP_INTERNAL_API

// TODO: Clarify what this annotation is required for

@ClientHandling.algorithm: #SESSION_VARIABLE

@ObjectModel:
{
  modelCategory: #BUSINESS_OBJECT,
  compositionRoot: true,
  draftEnabled: true,
  transactionalProcessingEnabled: true,
  createEnabled: true,
  updateEnabled: true,
  // TODO: Clarify, whether "deleteEnabled" shall be "true" or "EXTERNAL_CALCULATION"

  deleteEnabled: true,
  writeDraftPersistence: 'ehpmaw_crr_ccc',
  writeActivePersistence: 'ehfndv_crr',
  semanticKey:  [ 'CmplRqRsltUUID' ],
  usageType:
  {
    dataClass: #TRANSACTIONAL,
    // TODO: Clarify correct size category

    sizeCategory: #XL,
    // TODO: Clarify correct service quality

    serviceQuality: #B
  },
  entityChangeStateId: 'LastChangeDateTime',
  sapObjectNodeType.name: 'CustomerComplianceAssessment'
}

@AccessControl.personalData.blocking: #REQUIRED
define view I_CmplRqRsltCustCmplncChkTP  
  as select from I_CmplRqRslt

  // CRR Customer Compliance Check Details

  association [0..1] to I_CmplRqRsltCstCmChkDetsTP as _CmplRqRsltCstCmChkDets on $projection.CmplRqRsltUUID = _CmplRqRsltCstCmChkDets.CmplRqRsltUUID
  
  // get the chemical customer material information like customer, city and customer business completion status

  association [1..1] to R_ChemicalCustomerMaterialTP as _ChmCustMat           on  $projection.ChemicalCustomerMaterialUUID = _ChmCustMat.ChemicalCustomerMaterialUUID
{
      @ObjectModel.mandatory: true
  key CmplRqRsltUUID,
  
      @ObjectModel.readOnly: true
      _CmplRqRsltCstCmChkDets.ProdCmplncRiskLevelUUID,

      // Active UUID of CRR

      @ObjectModel.readOnly: true
      cast( CmplRqRsltUUID as  ehfnd_crr_active_uuid preserving type ) as ActiveCmplRqRsltUUID,

      @ObjectModel.mandatory: true
      CmplRqVersUUID,

      ChmlCmplncInfoUUID,
      ChemicalCustomerMaterialUUID,

      ComplianceRequirement,

      @ObjectModel.mandatory: true
      CreationDateTime,

      @ObjectModel.mandatory: true
      CreatedByUser,

      @ObjectModel.mandatory: true
      LastChangeDateTime,

      @ObjectModel.mandatory: true
      LastChangedByUser,

      CmplRqRsltProcessingStatus,

      // TODO: Fix issue with typing of field (deviation of data type length from GFN default data element)

      Processor,

      ReleasedByUser,

      ValidityStartDateTime,

      ValidityEndDateTime,

      CmplRqRsltReldCmplncSts,

      CmplRqRsltCalculatedStatus,

      CmplRqRsltManualStatus,

      CmplRqRsltPrelimCmplncSts,

      CmplRqRsltStatusRemark,

      MaterialIsSold,

      MaterialIsTransported,

      MaterialIsSourced,

      MaterialIsProduced,
      
      //needed for DPP authorization (DCL)

      _ChmCustMat.ChmlCustMatlLifeCycleStatus, 

      // TODO: Clarify, whether we need to include the logistics roles (e.g. "MaterialIsSold",

      // "MaterialIsTransported", etc.) in the selection


      // TODO: Clarify, whether we need any additional association for the purpose of authroization

      // checks. Is the association "_ChmlCmplncInfo" in view "I_CmplRqRsltSubstListChkTP" obsolete,

      // since the DCL object for "I_CmplRqRslt" merely checks for authorizations for authorization

      // object "EHFND_CRR"?


      // Required for retrieving additional information regarding the CCI, namely the fields

      // "ChmlCmplncInfoType" and "ChmlCmplncProdIsResearched"

      _ChmlCmplncInfo,

      @ObjectModel.association.type: [ #TO_COMPOSITION_CHILD ]
      _CmplRqRsltCstCmChkDets,
      
      _ChmCustMat
      
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_CMPLRQRSLT",
"I_CMPLRQRSLTCSTCMCHKDETSTP",
"R_CHEMICALCUSTOMERMATERIALTP"
],
"ASSOCIATED":
[
"I_CHMLCMPLNCINFO",
"I_CMPLRQRSLTCSTCMCHKDETSTP",
"R_CHEMICALCUSTOMERMATERIALTP"
],
"BASE":
[
"I_CMPLRQRSLT"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/