I_PURCHASINGINFORECORD

CDS View

Purchasing Info Record

I_PURCHASINGINFORECORD is a CDS View in S/4HANA. Purchasing Info Record. It contains 39 fields. 33 CDS views read from this table.

CDS Views using this table (33)

ViewTypeJoinVDMDescription
A_PurchasingInfoRecord view from BASIC Purchasing Info Record
C_MassUpdtPurgInfoRecdVH view from CONSUMPTION Info Record Value Help
C_MMPurchasingInfoRecordHelp view from CONSUMPTION Purchasing Info Record Help
C_ProductObjPgPurgInfoRecd view from CONSUMPTION Product Object Page - Purchasing Info Record
C_PurgInfoRecdMassUpdt view from CONSUMPTION Mass Changes to Purchasing Info Records
C_PurgInfoRecordFs view from CONSUMPTION Purchasing Info Record
C_Purordmaintaininfrecvalhelp view from CONSUMPTION Value Help for Inforecord
C_PurOrdRefDocIR view left_outer CONSUMPTION Reference Documents for PO Creation - Inforecord Items
I_ATPSourceOfSupply view_entity union COMPOSITE ATP Source of Supply
I_FldLogsRetServicePurOrdVH view inner COMPOSITE Service PO F4 Help for FL Returns
I_MRPPurchasingInfoRecord view from COMPOSITE Basic InfoRecords for SOS
I_PurchasingInfoRecordApi01 view from BASIC Purchasing Info Record
I_PurchasingInfoRecordNote view_entity inner BASIC Purchasing Info Record General Notes
I_PurchasingInfoRecordStdVH view from COMPOSITE Purchasing Info Record
I_PurgInfoRecdSuplrSubRngeVH view from COMPOSITE Purchasing Info Record Supplier Subrange
I_PurgInfoRecordWithOrgData view from BASIC Info Record with Org Plant Data
I_PurInfoRecdMaterialPrcgCndn view inner BASIC Purch Info Record Material Cond
I_PurInfoRecdNonStkItmPrcgCndn view inner BASIC Purch Info Record Non Stock Item Cond
I_PurInfoRecdOrderUnitPrcgCndn view inner BASIC Purch Info Record Order Unit Cond
I_PurReqnQuickView view left_outer COMPOSITE Purchase Requisition Details
P_AssgblSuplrForProcmtProd view from CONSUMPTION Assgbl Suplr for Procmt Prod Value Help
P_InfoRecdMassUpdtMatlGrp view from CONSUMPTION Material Group calculation
P_InfoRecordLeadTime view from COMPOSITE Demand Driven Product Lead Time InfoRecord Specific
P_Inforecordmanagesos view from CONSUMPTION EINA EINE combination for Manage Sources of Supply App
P_InfoRecordPriceVariance view from CONSUMPTION Info Record Price Variance
P_InfoRecordsPurOrdSpend view from CONSUMPTION Purchase Order Spend from Info Records
P_Purchasingdocument_Fs view union BASIC Private Factsheet - Purchasing Document
P_PurchasingInfoRecMassUpdate view from CONSUMPTION Union of General and Org. Data
P_PurOrdMaintainRefDocumentAll view left_outer CONSUMPTION PO Maintenance: Ref. Doc. for PO Create (Item + Inforecord)
P_SupplierByProduct view from COMPOSITE Supplier by Product (helper)
P_SupplierByProduct view union COMPOSITE Supplier by Product (helper)
R_JP_SubcontrgChrgblCompPr view_entity from TRANSACTIONAL Price List for Chargable Components
R_PurchasingInfoRecordTP view_entity from TRANSACTIONAL Purchase Info Record

Fields (39)

KeyField CDS FieldsUsed in Views
KEY Material ManufacturerMaterial,Material 11
KEY PurchasingInfoRecord ActivePurchasingInfoRecord,PurchasingInfoRecord 11
KEY Supplier PreferredSupplier,Supplier 10
_Material _Material 2
_MaterialGroup _MaterialGroup 1
_Supplier _Supplier 4
_SupplierPurchasingOrg _SupplierPurchasingOrg 1
AvailabilityEndDate AvailableToDate 1
AvailabilityStartDate AvailableFromDate,ValidityStartDate 2
BaseUnit BaseUnit 2
CreationDate CreationDate 2
IsDeleted GeneralDataDeleted,IsDeleted 3
IsRegularSupplier IsRegularSupplier,relif 2
Manufacturer Manufacturer 1
MaterialGroup MaterialGroup,ProductVariantGroup 4
NoDaysReminder1 NoDaysReminder1 1
NoDaysReminder2 NoDaysReminder2 1
NoDaysReminder3 NoDaysReminder3 1
OrderItemQtyToBaseQtyDnmntr OrderItemQtyToBaseQtyDnmntr 4
OrderItemQtyToBaseQtyNmrtr OrderItemQtyToBaseQtyNmrtr 4
PriorSupplier PriorSupplier 2
ProductPurchasePointsQty ProductPurchasePointsQty 1
ProductPurchasePointsQtyUnit ProductPurchasePointsQtyUnit 1
PurchasingInfoRecordDesc PurchasingDocumentItemText,PurchasingInfoRecordDesc 5
PurgDocOrderQuantityUnit OrderUnit,PurchaseOrderQuantityUnit,PurgDocOrderQuantityUnit 5
ReturnAgreement ReturnAgreement 1
SuplrCertOriginClassfctnNumber SuplrCertOriginClassfctnNumber 1
SupplierCertOriginCat SupplierCertOriginCat 1
SupplierCertOriginCountry SupplierCertOriginCountry 1
SupplierCertOriginNumber SupplierCertOriginNumber 1
SupplierCertOriginRegion SupplierCertOriginRegion 1
SupplierCertValidityEndDate SupplierCertValidityEndDate 1
SupplierMaterialGroup SupplierMaterialGroup 2
SupplierMaterialNumber SupplierMaterialNumber 4
SupplierPhoneNumber SupplierPhoneNumber 2
SupplierRespSalesPersonName SalesPerson,SupplierRespSalesPersonName 2
SupplierSubrange SupplierSubrange 1
SupplierSubrangeSortNumber SupplierSubrangeSortNumber 1
VarblPurOrdUnitIsActive vabme,VarblPurOrdUnitIsActive 3
@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 = ''