I_PPS_PurchasingDocumentStatus

DDL: I_PPS_PURCHASINGDOCUMENTSTATUS SQL: IPPSXPOPOS Type: view BASIC

Status of Purchase Order

I_PPS_PurchasingDocumentStatus is a Basic CDS View that provides data about "Status of Purchase Order" in SAP S/4HANA. It reads from 1 data source (ekko) and exposes 1 field with key field PurchaseOrder.

Data Sources (1)

SourceAliasJoin Type
ekko Header from

Annotations (10)

NameValueLevelField
AbapCatalog.sqlViewName IPPSXPOPOS view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
ClientHandling.algorithm #SESSION_VARIABLE view
AccessControl.authorizationCheck #NOT_REQUIRED view
EndUserText.label Status of Purchase Order view
ObjectModel.usageType.serviceQuality #X view
ObjectModel.usageType.sizeCategory #XXL view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
VDM.viewType #BASIC view

Fields (1)

KeyFieldSource TableSource FieldDescription
KEY PurchaseOrder ekko ebeln
@AbapCatalog.sqlViewName: 'IPPSXPOPOS'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@ClientHandling.algorithm: #SESSION_VARIABLE
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Status of Purchase Order'
@ObjectModel.usageType:{
  serviceQuality: #X,
  sizeCategory: #XXL,
  dataClass: #TRANSACTIONAL
}
@VDM.viewType: #BASIC
define view I_PPS_PurchasingDocumentStatus
  as select from           ekko                        as Header
    left outer to one join I_PPS_PurgHistWthRemovedDoc as POHist   on POHist.PurchasingDocument = Header.ebeln
    left outer to one join I_PPS_POOutpReq             as Om_new   on Header.ebeln = Om_new.PurchasingDocumentNoteObjectID
    left outer to one join I_PPS_POOutputMsgSts        as om_old   on Header.ebeln = om_old.TextObjectKey
    left outer to one join P_PurchaseOrderStatusOMErr  as om_error on Header.ebeln = om_error.appl_object_id
{

  key  Header.ebeln as PurchaseOrder,
       case Header.loekz
          when 'X' then cast('10' as mmpur_doc_status)
          when 'L' then cast('10' as mmpur_doc_status)
            else case Header.memory
              when 'X' then cast('01' as mmpur_doc_status)
                else case Header.procstat
                  when '08' then cast('38' as mmpur_doc_status)
                    else case Header.frgrl
                      when 'X' then cast('02' as mmpur_doc_status)
                        else case when (om_error.appl_object_id is null) then
                          case when (POHist.PurchasingDocument is null) then
                             case when (Om_new.PurchasingDocumentNoteObjectID is null) then
                                case when (om_old.TextObjectKey is null) then cast('03' as mmpur_doc_status)
                                   else
                                   cast('04' as mmpur_doc_status)
                                   end
                                else cast('04' as mmpur_doc_status)
                                end
                             else cast('05' as mmpur_doc_status)
                             end
                          else cast('37' as mmpur_doc_status)
                          end
                        end
                    end
                end
            end     as PurchasingDocumentStatus
}