P_PurOrdMaintainHeaderStatus

DDL: P_PURORDMAINTAINHEADERSTATUS SQL: PPOMAINTHDRSTAT Type: view CONSUMPTION

P_PurOrdMaintainHeaderStatus is a Consumption CDS View in SAP S/4HANA. It reads from 1 data source (I_PurchaseOrder) and exposes 1 field with key field PurchaseOrder.

Data Sources (1)

SourceAliasJoin Type
I_PurchaseOrder header from

Annotations (5)

NameValueLevelField
ClientHandling.algorithm #SESSION_VARIABLE view
AbapCatalog.sqlViewName PPOMAINTHDRSTAT view
VDM.private true view
AccessControl.authorizationCheck #PRIVILEGED_ONLY view
VDM.viewType #CONSUMPTION view

Fields (1)

KeyFieldSource TableSource FieldDescription
KEY PurchaseOrder I_PurchaseOrder PurchaseOrder
// =========================================================================

//               "Simple" Status of Purchase Order Header

// =========================================================================

// The following "simple" status values are supported:

//   01 Draft

//   02 In Approval

//   10 Deleted

//   38 Rejected

//

// The "simple" Status view is used e.g. in "Manage Purchase Order" list,

// the "complex" (i.e. performance intensive) status values are not

// considered here and are calculated in ABAP.

// All status values are calculated in "I_PurchaseOrderStatus".

// =========================================================================


@ClientHandling.algorithm: #SESSION_VARIABLE 
@AbapCatalog.sqlViewName: 'PPOMAINTHDRSTAT'
@VDM.private: true
@AccessControl.authorizationCheck: #PRIVILEGED_ONLY
@VDM.viewType: #CONSUMPTION
define view P_PurOrdMaintainHeaderStatus   
  as select from I_PurchaseOrder as header

{
     key  header.PurchaseOrder         as PurchaseOrder,
     case header.PurchasingDocumentDeletionCode
      when 'X' then cast('10' as abap.char(2))
      when 'L' then cast('10' as abap.char(2))
       else case header.PurchasingCompletenessStatus
         when 'X' then cast('01' as abap.char(2))
          else case header.PurchasingProcessingStatus
           when '08' then cast('38' as abap.char(2))
            else case header.ReleaseIsNotCompleted
             when 'X' then cast('02' as abap.char(2))
              else ''
             end
           end
         end
      end                              as PurchasingDocumentStatus
} 
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_PURCHASEORDER"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/