I_PurchasingInfoRecord

DDL: I_PURCHASINGINFORECORD SQL: IPURINFREC Type: view BASIC Package: VDM_MM_PUR_SOS

Purchasing Info Record

I_PurchasingInfoRecord is a Basic CDS View that provides data about "Purchasing Info Record" in SAP S/4HANA. It reads from 1 data source (eina) and exposes 46 fields with key field PurchasingInfoRecord. It has 8 associations to related views. Part of development package VDM_MM_PUR_SOS.

Data Sources (1)

SourceAliasJoin Type
eina eina from

Associations (8)

CardinalityTargetAliasCondition
[1..*] I_PurgInfoRecdOrgPlantData _PurgInfoRecdOrgPlantData $projection.PurchasingInfoRecord = _PurgInfoRecdOrgPlantData.PurchasingInfoRecord
[1..1] I_Material _Material $projection.Material = _Material.Material
[1..1] I_Supplier _Supplier $projection.Supplier = _Supplier.Supplier
[1..1] I_MaterialGroup _MaterialGroup $projection.MaterialGroup = _MaterialGroup.MaterialGroup
[0..1] I_UnitOfMeasure _BaseUnit $projection.BaseUnit = _BaseUnit.UnitOfMeasure
[0..1] I_UnitOfMeasure _PurgDocOrderQuantityUnit $projection.PurgDocOrderQuantityUnit = _PurgDocOrderQuantityUnit.UnitOfMeasure
[0..*] I_SupplierPurchasingOrg _SupplierPurchasingOrg _SupplierPurchasingOrg.Supplier = $projection.Supplier
[0..1] E_PurchasingInforecord _PurchasingInforecordExtension _PurchasingInforecordExtension.PurchasingInfoRecord = $projection.PurchasingInfoRecord

Annotations (11)

NameValueLevelField
EndUserText.label Purchasing Info Record view
AbapCatalog.sqlViewName IPURINFREC view
AccessControl.authorizationCheck #CHECK view
VDM.viewType #BASIC view
ObjectModel.usageType.dataClass #MASTER view
ObjectModel.usageType.serviceQuality #A view
ObjectModel.usageType.sizeCategory #L view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.representativeKey PurchasingInfoRecord view
AccessControl.personalData.blocking #BLOCKED_DATA_EXCLUDED view
AbapCatalog.preserveKey true view

Fields (46)

KeyFieldSource TableSource FieldDescription
KEY PurchasingInfoRecord infnr
Supplier lifnr
Material matnr
MaterialGroup matkl
CreationDate erdat
IsDeleted loekz
CreatedByUser ernam
PurchasingInfoRecordDesc txz01
PurgInfoRecNonStockItmSortTerm sortl
PurgDocOrderQuantityUnit meins
OrderItemQtyToBaseQtyNmrtr umrez
OrderItemQtyToBaseQtyDnmntr umren
SupplierMaterialNumber idnlf
SupplierRespSalesPersonName verkf
SupplierPhoneNumber telf1
BaseUnit lmein
SupplierMaterialGroup wglif
PriorSupplier kolif
AvailabilityStartDate lifab
AvailabilityEndDate lifbi
VarblPurOrdUnitIsActive vabme
Manufacturer mfrnr
IsRegularSupplier relif
SupplierSubrange ltsnr
NoDaysReminder1 mahn1
NoDaysReminder2 mahn2
NoDaysReminder3 mahn3
ProductPurchasePointsQty anzpu
ProductPurchasePointsQtyUnit punei
ReturnAgreement rueck
SupplierCertOriginCat urztp
SupplierCertOriginNumber urznr
SupplierCertValidityEndDate urzdt
SupplierCertOriginCountry urzla
SupplierCertOriginRegion regio
SuplrCertOriginClassfctnNumber urzzt
SupplierSubrangeSortNumber ltssf
LastChangeDateTime lastchangedatetime
IsEndOfPurposeBlocked eina iseopblocked
_PurgInfoRecdOrgPlantData _PurgInfoRecdOrgPlantData
_Material _Material
_MaterialGroup _MaterialGroup
_Supplier _Supplier
_BaseUnit _BaseUnit
_PurgDocOrderQuantityUnit _PurgDocOrderQuantityUnit
_SupplierPurchasingOrg _SupplierPurchasingOrg
@EndUserText.label: 'Purchasing Info Record'
@AbapCatalog.sqlViewName: 'IPURINFREC'
@AccessControl.authorizationCheck: #CHECK
@VDM.viewType: #BASIC
@ObjectModel.usageType.dataClass: #MASTER
@ObjectModel.usageType.serviceQuality: #A
@ObjectModel.usageType.sizeCategory: #L
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.representativeKey: 'PurchasingInfoRecord'
@AccessControl.personalData.blocking: #BLOCKED_DATA_EXCLUDED
//@VDM.lifecycle.contract.type: #SAP_INTERNAL_API

@AbapCatalog.preserveKey:true 

define view I_PurchasingInfoRecord
  as select from eina

  association [1..*] to I_PurgInfoRecdOrgPlantData as _PurgInfoRecdOrgPlantData on $projection.PurchasingInfoRecord = _PurgInfoRecdOrgPlantData.PurchasingInfoRecord

  association [1..1] to I_Material                 as _Material                 on $projection.Material = _Material.Material

  association [1..1] to I_Supplier                 as _Supplier                 on $projection.Supplier = _Supplier.Supplier

  association [1..1] to I_MaterialGroup            as _MaterialGroup            on $projection.MaterialGroup = _MaterialGroup.MaterialGroup

  association [0..1] to I_UnitOfMeasure            as _BaseUnit                 on $projection.BaseUnit = _BaseUnit.UnitOfMeasure

  association [0..1] to I_UnitOfMeasure            as _PurgDocOrderQuantityUnit on $projection.PurgDocOrderQuantityUnit = _PurgDocOrderQuantityUnit.UnitOfMeasure
  
  association [0..*] to I_SupplierPurchasingOrg    as _SupplierPurchasingOrg    on _SupplierPurchasingOrg.Supplier = $projection.Supplier
  
  association [0..1] to E_PurchasingInforecord     as _PurchasingInforecordExtension on  _PurchasingInforecordExtension.PurchasingInfoRecord = $projection.PurchasingInfoRecord


{
  key infnr              as PurchasingInfoRecord,
      //      @Consumption.valueHelpDefinition: [

      //        { entity:  { name:    'I_Supplier_Vh',

      //                     element: 'Supplier' }

      //                     }]

      @ObjectModel.foreignKey.association: '_Supplier'
      lifnr              as Supplier,
      //      @Consumption.valueHelpDefinition: [

      //        { entity:  { name:    'I_MaterialStdVH',

      //                     element: 'Material' }

      //        }]

      @ObjectModel.foreignKey.association: '_Material'
      matnr              as Material,
      //      @Consumption.valueHelpDefinition: [

      //        { entity:  { name:    'C_MM_MaterialGroupValueHelp',

      //                     element: 'MaterialGroup' }

      //        }]

      @ObjectModel.foreignKey.association: '_MaterialGroup'
// Inforecord Model - The original BO stores either Material or Material Group for every IR.

// However, we want to show Material Group for all inforecords regardless.

// Achieving it here results in ESH object error since case statements are not accepted.

//            case

//             when matkl = ''

//              then _Material.MaterialGroup

//             else

//              matkl

//            end    as MaterialGroup,

      //_Material.MaterialGroup,

      matkl              as MaterialGroup,

      @Semantics.businessDate.createdAt
      erdat              as CreationDate,

      loekz              as IsDeleted,
      
      ernam              as CreatedByUser,

      txz01              as PurchasingInfoRecordDesc,
      
      sortl              as PurgInfoRecNonStockItmSortTerm,
      @Semantics.unitOfMeasure: true
      @ObjectModel.foreignKey.association: '_PurgDocOrderQuantityUnit'
      meins              as PurgDocOrderQuantityUnit,

      umrez              as OrderItemQtyToBaseQtyNmrtr,

      umren              as OrderItemQtyToBaseQtyDnmntr,

      idnlf              as SupplierMaterialNumber,

      verkf              as SupplierRespSalesPersonName,

      telf1              as SupplierPhoneNumber,

      @Semantics.unitOfMeasure: true
      @ObjectModel.foreignKey.association: '_BaseUnit'
      lmein              as BaseUnit,

      wglif              as SupplierMaterialGroup,

      kolif              as PriorSupplier,

      @Semantics.businessDate.from
      lifab              as AvailabilityStartDate,

//      @Semantics.businessDate.to

      lifbi              as AvailabilityEndDate,

      vabme              as VarblPurOrdUnitIsActive,

      mfrnr              as Manufacturer,

      relif              as IsRegularSupplier,

      ltsnr              as SupplierSubrange,

      mahn1              as NoDaysReminder1,

      mahn2              as NoDaysReminder2,

      mahn3              as NoDaysReminder3,

      anzpu              as ProductPurchasePointsQty,

      punei              as ProductPurchasePointsQtyUnit,

      rueck              as ReturnAgreement,

      urztp              as SupplierCertOriginCat,

      urznr              as SupplierCertOriginNumber,

      urzdt              as SupplierCertValidityEndDate,

      urzla              as SupplierCertOriginCountry,

      regio              as SupplierCertOriginRegion,

      urzzt              as SuplrCertOriginClassfctnNumber,

      ltssf              as SupplierSubrangeSortNumber,

      lastchangedatetime as LastChangeDateTime,

      eina.iseopblocked  as IsEndOfPurposeBlocked,

      _PurgInfoRecdOrgPlantData,
      _Material,
      _MaterialGroup,
      _Supplier,
      _BaseUnit,
      _PurgDocOrderQuantityUnit,
      _SupplierPurchasingOrg   
}
where
     iseopblocked <> 'X'
  or iseopblocked = ''