C_SourcingProjectNegotiationTP

DDL: C_SOURCINGPROJECTNEGOTIATIONTP Type: view_entity CONSUMPTION

Negotiation for Sourcing Project - TP

C_SourcingProjectNegotiationTP is a Consumption CDS View that provides data about "Negotiation for Sourcing Project - TP" in SAP S/4HANA. It reads from 1 data source (R_SourcingProjectNegotiationTP) and exposes 26 fields with key field SourcingProjectNegotiationUUID. It has 2 associations to related views.

Data Sources (1)

SourceAliasJoin Type
R_SourcingProjectNegotiationTP R_SourcingProjectNegotiationTP projection

Associations (2)

CardinalityTargetAliasCondition
[1..*] C_SrcgProjItemHierarchy _SrcgProjItemHierarchy $projection.SourcingProjectUUID = _SrcgProjItemHierarchy.SourcingProjectUUID
[0..*] C_SrcgProjNegttnQtanSummary _SrcgProjNegttnQtanSummary $projection.SourcingProjectNegotiationUUID = _SrcgProjNegttnQtanSummary.SourcingProjectNegotiationUUID

Annotations (20)

NameValueLevelField
VDM.viewType #CONSUMPTION view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #NOT_REQUIRED view
ObjectModel.representativeKey SourcingProjectNegotiationUUID view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #L view
Search.searchable true view
EndUserText.label Negotiation for Sourcing Project - TP view
UI.headerInfo.typeName Negotiation view
UI.headerInfo.typeNamePlural Negotiations view
UI.headerInfo.title.value SourcingProjectNegotiationName view
UI.headerInfo.description.value SourcingProjectNegotiation view
Metadata.allowExtensions true view
AbapCatalog.extensibility.extensible true view
AbapCatalog.extensibility.allowNewDatasources false view
AbapCatalog.extensibility.elementSuffix SNH view
AbapCatalog.extensibility.quota.maximumFields 404 view
AbapCatalog.extensibility.quota.maximumBytes 40400 view
AbapCatalog.extensibility.allowNewCompositions true view

Fields (26)

KeyFieldSource TableSource FieldDescription
KEY SourcingProjectNegotiationUUID _SourcingProjectNegotiationTP SourcingProjectNegotiationUUID
SourcingProjectNegotiationName _SourcingProjectNegotiationTP SourcingProjectNegotiationName
SourcingProjectUUID _SourcingProjectNegotiationTP SourcingProjectUUID
SourcingProjectNegotiationType _SourcingProjectNegotiationTP SourcingProjectNegotiationType
SourcingProjectNegotiation SourcingProjectNegotiation
LastChangeDateTime LastChangeDateTime
SrcgProjNegotiationStartDate SrcgProjNegotiationStartDate
SrcgProjNegotiationEndDate SrcgProjNegotiationEndDate
CreationDateTime CreationDateTime
CreatedByUser CreatedByUser Created by User
CreatedByUserName _CreatedByUser UserDescription
LastChangedByUser _SourcingProjectNegotiationTP LastChangedByUser Last Changed by User
ChangedByUserName _ChangedByUser UserDescription
SrcgProjNegttnLifecycleStatus _SourcingProjectNegotiationTP SrcgProjNegttnLifecycleStatus Status
SourcingProject SourcingProject
SourcingProjectName SourcingProjectName
SourcingProjectVersion SourcingProjectVersion Sourcing Project Version
virtualBiddervdm_businesspartner
char450 Note Type List Text
_SrcgProjItemHierarchy _SrcgProjItemHierarchy
_SourcingProjectTP _SourcingProjectTP
_SrcgProjNegttnLfcycStatus _SrcgProjNegttnLfcycStatus
_SrcgProjNegotiationType _SrcgProjNegotiationType
_SrcgProjNegttnQtanSummary _SrcgProjNegttnQtanSummary
_ChangedByUser _ChangedByUser
_CreatedByUser _CreatedByUser
@VDM.viewType: #CONSUMPTION
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #NOT_REQUIRED
@ObjectModel: { semanticKey: ['SourcingProjectNegotiation', 'SourcingProjectNegotiationUUID'],
                representativeKey: 'SourcingProjectNegotiationUUID',
                usageType.dataClass: #TRANSACTIONAL,
                usageType.serviceQuality:  #C,
                usageType.sizeCategory: #L }

@AccessControl.privilegedAssociations: [ '_CreatedByUser', '_ChangedByUser' ]

@Search.searchable: true
@EndUserText.label: 'Negotiation for Sourcing Project - TP'

@UI.headerInfo:{
  typeName: 'Negotiation',
  typeNamePlural: 'Negotiations',
  title: { value: 'SourcingProjectNegotiationName' },
  description: { value: 'SourcingProjectNegotiation' }
}

@UI.presentationVariant: [{ sortOrder: [{ by: 'SourcingProjectNegotiation', direction:  #DESC }] }]

@VDM.usage.type:[#TRANSACTIONAL_PROCESSING_SERVICE]
@Metadata.allowExtensions: true
@AbapCatalog.extensibility: {
  extensible: true,
  dataSources: ['_SourcingProjectNegotiationTP'],
  allowNewDatasources: false,
  elementSuffix: 'SNH',
  quota: { maximumFields: 404,
           maximumBytes: 40400 },
  allowNewCompositions: true }

define root view entity C_SourcingProjectNegotiationTP
  provider contract transactional_query
  as projection on R_SourcingProjectNegotiationTP as _SourcingProjectNegotiationTP
  association [1..*] to C_SrcgProjItemHierarchy     as _SrcgProjItemHierarchy     on $projection.SourcingProjectUUID = _SrcgProjItemHierarchy.SourcingProjectUUID
  association [0..*] to C_SrcgProjNegttnQtanSummary as _SrcgProjNegttnQtanSummary on $projection.SourcingProjectNegotiationUUID = _SrcgProjNegttnQtanSummary.SourcingProjectNegotiationUUID

{
          @UI.facet: [

                        { id: 'SourcingProjectNegotiationType',
                          purpose:     #HEADER,
                          type:        #DATAPOINT_REFERENCE,
                          importance:  #HIGH,
                          position:   10,
                          targetQualifier: 'SourcingProjectNegotiationType'},
                        { id: 'SrcgProjNegttnLifecycleStatus',
                          purpose:     #HEADER,
                          type:        #DATAPOINT_REFERENCE,
                          importance:  #HIGH,
                          position:   20,
                          targetQualifier: 'SrcgProjNegttnLifecycleStatus'},
                        {
                          id:'GeneralInformation',
                          type: #COLLECTION,
                          isSummary,
                          position: 10,
                          label: 'General Information'
                        },
                        {
                            //label: 'Column 1',

                            id: 'Column1',
                            parentId: 'GeneralInformation',
                            type: #IDENTIFICATION_REFERENCE,
                            position: 10
                            //targetQualifier: 'Column1'

                          },

                           {
                            //label: 'Column 2',

                            id: 'Column2',
                            parentId: 'GeneralInformation',
                            type: #FIELDGROUP_REFERENCE,
                            position: 20,
                            targetQualifier: 'Column2'
                          },
                          {
                            //label: 'Sourcing Project Details',

                            id: 'Column3',
                            parentId: 'GeneralInformation',
                            type: #FIELDGROUP_REFERENCE,
                            position: 30,
                            targetQualifier: 'Column3'
                          },
                            {
                            id: 'Column4',
                            parentId: 'GeneralInformation',
                            type: #FIELDGROUP_REFERENCE,
                            position: 30,
                            targetQualifier: 'Column4'
                          },

                        {
                            label: 'Quotations',
                            id: 'SrcgProjQuotation',
                            type: #LINEITEM_REFERENCE,
                            position: 30,
                            targetElement: '_SrcgProjNegttnQtanSummary',
                            hidden:  #(SrcgProjNegttnQtnInfoIsHidden)
  }

  ]

          @UI.identification: [{ type: #FOR_ACTION, dataAction: 'Publish' ,       label: 'Publish', position : 10 },
                               { type: #FOR_ACTION, dataAction: 'SetSourcingProjectNegotiationToCancld'  ,       label: 'Cancel' , position : 20 },
                               { type: #FOR_ACTION, dataAction: 'EndNegotiation', label: 'End'    , position : 30 },
                               { type: #FOR_ACTION, dataAction: 'Copy',           label: 'Copy'   , position : 40 },
                               { type: #FOR_ACTION, dataAction: 'SetSourcingProjectNegotiationToCmpltd',           label: 'Complete'   , position : 50 }]

          @UI.hidden: true
  key     _SourcingProjectNegotiationTP.SourcingProjectNegotiationUUID,

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

          @UI.identification: [{position: 10, importance: #HIGH, label: 'Description'}]
                    //@UI.lineItem: [{ position: 10, importance: #HIGH, label:'Description' }]

          @Semantics.text: true
          //@UI.fieldGroup:[{qualifier: 'Column1', position: 10, label:'Description'}]

          @Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.7 }
          _SourcingProjectNegotiationTP.SourcingProjectNegotiationName   as SourcingProjectNegotiationName,

          @UI.hidden: true
          _SourcingProjectNegotiationTP.SourcingProjectUUID,

          @UI.hidden: true
          _SrcgProjNegotiationType._Text.SrcgProjectNegotiationTypeName  as SrcgProjectNegotiationTypeName : localized,

          @UI.textArrangement: #TEXT_ONLY
          @ObjectModel.text.element: ['SrcgProjectNegotiationTypeName']
          @UI.lineItem: [{ position: 20, importance: #HIGH }]
          @UI.selectionField: [{ position: 70 }]
          @Consumption.valueHelpDefinition: [{entity:{name: 'I_SrcgProjNegotiationType', element: 'SourcingProjectNegotiationType'} }]
          @UI.fieldGroup:[{qualifier: 'SuplrListLifecycleStatus', position: 10}]
          @UI.dataPoint: { title: 'Type' }
          _SourcingProjectNegotiationTP.SourcingProjectNegotiationType,

          @UI.lineItem: [{ position: 10, importance: #HIGH, label:'Negotiation' }]
          @ObjectModel.text.element: [ 'SourcingProjectNegotiationName' ]
          @UI.selectionField: [{ position: 10 }]
          @UI.fieldGroup: [{label: 'Negotiation' }]
          @Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 1 }
          SourcingProjectNegotiation,

          //          @UI.lineItem: [{ position: 50, importance: #HIGH, label:'Last Changed On' }]

          @UI.fieldGroup:[{qualifier: 'Column3', position: 30, label:'Last Changed On'}]
          @Semantics.systemDateTime.lastChangedAt: true
          LastChangeDateTime,


          @UI.lineItem: [{ position: 50, importance: #HIGH, label:'Start Date' }]
         // @UI.identification: [{position: 20, importance: #HIGH, label: 'Start Date'}]

          @UI.fieldGroup:[{qualifier: 'Column2', position: 20, label:'Start Date'}]
          //   @UI.selectionField: [{ position: 30 }]

          SrcgProjNegotiationStartDate,


          @UI.lineItem: [{ position: 60, importance: #HIGH, label:'End Date' }]
         // @UI.identification: [{position: 30, importance: #HIGH, label: 'End Date'}]

          @UI.fieldGroup:[{qualifier: 'Column2', position: 30, label: 'End Date'}]
          //  @UI.selectionField: [{ position: 40 }]

          SrcgProjNegotiationEndDate,

          @Semantics.systemDateTime.createdAt: true
          CreationDateTime,

          @Semantics.user.createdBy: true
          @EndUserText.label: 'Created by User'
          @ObjectModel.foreignKey.association:'_CreatedByUser'
          @ObjectModel.text.element: ['CreatedByUserName']
          @UI.textArrangement: #TEXT_SEPARATE
          @UI.selectionField: [{ position: 60 }]
          @Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.7 }
          CreatedByUser,

          @UI.hidden: true
          @Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.7 }
          _CreatedByUser.UserDescription                                 as CreatedByUserName,

          @EndUserText.label: 'Last Changed by User'
          @Semantics.user.lastChangedBy: true
          @ObjectModel.foreignKey.association:'_ChangedByUser'
          @ObjectModel.text.element: ['ChangedByUserName']
          @UI.textArrangement: #TEXT_SEPARATE
          _SourcingProjectNegotiationTP.LastChangedByUser,

          @UI.hidden: true
          _ChangedByUser.UserDescription                                 as ChangedByUserName,

          @ObjectModel.text.element: ['SrcgProjNegttnLfcycStatusName']
          @UI.fieldGroup:[{qualifier: 'SuplrListLifecycleStatus', position: 20, label:'Status'}]
          @UI.lineItem: [{ position: 80, importance: #HIGH, label:'Status' }]
          @UI.selectionField: [{ position: 50 }]
          @Consumption.valueHelpDefinition: [{entity:{name: 'I_SrcgProjNegttnLfcycStatus', element: 'SrcgProjNegttnLifecycleStatus'} }]
          @EndUserText.label: 'Status'
          @UI.textArrangement: #TEXT_ONLY
          @UI.dataPoint: {title: 'Status'}
          _SourcingProjectNegotiationTP.SrcgProjNegttnLifecycleStatus,

          @UI.hidden: true
          _SrcgProjNegttnLfcycStatus._Text.SrcgProjNegttnLfcycStatusName as SrcgProjNegttnLfcycStatusName  : localized,

          @UI.fieldGroup:[{qualifier: 'Column4', position: 10, label:'Sourcing Project Number'}]
          @Consumption.semanticObject: 'SourcingProject'
          @Consumption.valueHelpDefinition: [{entity:{name: 'R_SourcingProjectValueHelp', element: 'SourcingProject'} }]
          @UI.lineItem: [{ position: 40, importance: #HIGH, label:'Sourcing Project' }]
          @ObjectModel.text.element: [ 'SourcingProjectName' ]
          @UI.selectionField: [{ position: 80 }]
          @Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 1 }
          SourcingProject,

          @Semantics.text: true
          @UI.fieldGroup:[{qualifier: 'Column4', position: 20, label:'Sourcing Project Name'}]
          @UI.hidden: true
          @Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.7 }
          SourcingProjectName,

          @EndUserText.label: 'Sourcing Project Version'
          @UI.fieldGroup:[{qualifier: 'Column4', position: 30, label:'Sourcing Project Version'}]
          SourcingProjectVersion,

          @UI.hidden: true
          @Semantics.booleanIndicator: true
          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_MMPUR_SRCPROJNGN_TRANS_EXIT'
  virtual SrcgProjNegttnQtnInfoIsHidden : abap_boolean,

          @UI.hidden: true
          @Semantics.booleanIndicator: true
          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_MMPUR_SRCPROJNGN_TRANS_EXIT'
  virtual IsChangeDocumentsEnabled      : abap_boolean,

          // @EndUserText.label: 'Supplier'

          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_MMPUR_SRCPROJNGN_TRANS_EXIT'
          @UI.selectionField: [{ position: 20 }]
          @ObjectModel.filter.transformedBy: 'ABAP:CL_MMPUR_SRCPROJNGN_TRANS_EXIT'
          @Consumption.valueHelpDefinition: [{ entity: { name :  'I_BusinessPartnerVH', element: 'BusinessPartner' } }]

  virtual Bidder                        : vdm_businesspartner,

          @EndUserText.label: 'Supplier Quotation'
          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_MMPUR_SRCPROJNGN_TRANS_EXIT'
          @UI.selectionField: [{ position: 90 }]
          @ObjectModel.filter.transformedBy: 'ABAP:CL_MMPUR_SRCPROJNGN_TRANS_EXIT'
          @Consumption.valueHelpDefinition: [{ entity:{ name: 'C_SourcingProjectQuotationVH', element: 'C_SourcingProjectQuotationVH' } }]
  virtual SourcingProjectQuotation      : vdm_sourcingprojectquotation,

          @UI.hidden: true
          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_MMPUR_SRCPROJNGN_TRANS_EXIT'
          @EndUserText.label: 'Note Type List Text'
  virtual NoteTypeListText              : abap.char( 450 ),

          //workaround for function import labels

          @UI.hidden: true
          @Semantics.booleanIndicator: true
          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_MMPUR_SRCPROJNGN_TRANS_EXIT'
  virtual NoteIsCopyEnabled             : vdm_noteiscopyenabled,


          @UI.lineItem: [{ position: 30, importance: #HIGH, label:'Business Partner',value: '_SrcgProjNegttnQuotationTP.Supplier' }]
          _SrcgProjNegttnQuotationTP : redirected to composition child C_SrcgProjNegttnQuotationTP,
          @ObjectModel.filter.enabled: false
          _SrcgProjItemHierarchy,
          _SourcingProjectTP,
          _SrcgProjNegttnLfcycStatus,
          _SrcgProjNegotiationType,
          _SrcgProjNegttnQtanSummary,

          @Consumption.filter.hidden: true
          @UI.fieldGroup:[{qualifier: 'Column3', value:'_ChangedByUser', position: 20, label:'Changed By', type: #AS_CONTACT}]
          _ChangedByUser,
           
          @Consumption.filter.hidden: true
          @UI.fieldGroup:[{qualifier: 'Column3', value:'_CreatedByUser', position: 10, label:'Created By', type: #AS_CONTACT}]
          @UI.lineItem: [{ value:'_CreatedByUser', position: 70, importance: #HIGH, label:'Created By', type: #AS_CONTACT }]
          _CreatedByUser

}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_SRCGPROJNEGOTIATIONTYPE",
"I_SRCGPROJNEGOTIATIONTYPETEXT",
"I_SRCGPROJNEGTTNLFCYCSTATUS",
"I_SRCGPROJNEGTTNLFCYCSTATUSTXT",
"I_USERCONTACTCARD",
"R_SOURCINGPROJECTNEGOTIATIONTP"
],
"ASSOCIATED":
[
"C_SRCGPROJITEMHIERARCHY",
"C_SRCGPROJNEGTTNQTANSUMMARY",
"C_SRCGPROJNEGTTNQUOTATIONTP",
"I_SRCGPROJNEGOTIATIONTYPE",
"I_SRCGPROJNEGTTNLFCYCSTATUS",
"I_USERCONTACTCARD",
"R_SOURCINGPROJECTTP",
"R_SRCGPROJNEGTTNQUOTATIONTP"
],
"BASE":
[
"R_SOURCINGPROJECTNEGOTIATIONTP"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/