P_SALESORDERINSUPPLYMFGISSUE2

CDS View

P_SALESORDERINSUPPLYMFGISSUE2 is a CDS View in S/4HANA. It contains 5 fields. 1 CDS views read from this table.

CDS Views using this table (1)

ViewTypeJoinVDMDescription
P_SalesOrderInSupplyMfgIssue1 view from COMPOSITE

Fields (5)

KeyField CDS FieldsUsed in Views
KEY ManufacturingOrder ManufacturingOrder 1
ManufacturingOrderCategory ManufacturingOrderCategory 1
MfgOrderEndDateOverdue MfgOrderEndDateOverdue 1
MfgOrderReleasedDateOverdue MfgOrderReleasedDateOverdue 1
MfgOrderStartDateOverdue MfgOrderStartDateOverdue 1
@ClientHandling.algorithm: #SESSION_VARIABLE 
@ObjectModel.usageType.dataClass: #MIXED
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #S
@VDM.private: true
@VDM.viewType: #COMPOSITE
@AccessControl.authorizationCheck:#NOT_REQUIRED
@AbapCatalog.sqlViewName: 'PSOFISSUESU022'

define view P_SalesOrderInSupplyMfgIssue2

as select from I_ManufacturingOrder --released version of I_MfgOrder

{
   key ManufacturingOrder,
    
   ManufacturingOrderCategory,
   SalesOrder,
   SalesOrderItem, 
   
   
//All dates needed above for 1. DueDateCalculation and  2.Checking that PO is still open    

   MfgOrderActualReleaseDate,
   MfgOrderActualStartDate,
   MfgOrderActualEndDate,
   MfgOrderScheduledReleaseDate, 
   MfgOrderScheduledStartDate,
   MfgOrderScheduledEndDate,
   MfgOrderItemActualDeliveryDate,                                                                          
   MfgOrderActualCompletionDate,   -- when populated: OrderIsTechnicallyCompleted, OrderIsClosed
   IsMarkedForDeletion,            -- when set: OrderIsDeleted, OrderIsMarkedForDeletion   
   IsCompletelyDelivered,          -- when set: OrderIsDelivered
   MfgOrderConfirmedEndDate,       -- when populated: OrderIsConfirmed
   

-------------------------
--Calculate Overdue Flags      
-------------------------
// ReleaseDate Overdue ? ("Overdue" means: there is no Actual<Date>, despite Scheduled<Date> is overdue (in past) )

   case when MfgOrderActualReleaseDate = '00000000' and MfgOrderScheduledReleaseDate < $session.system_date 
        then 'X'
        else ' '
   end as MfgOrderReleasedDateOverdue,

// StartDate Overdue ? 

    case when MfgOrderActualStartDate = '00000000' and MfgOrderScheduledStartDate < $session.system_date   
         then 'X'
         else ' '
    end as MfgOrderStartDateOverdue,  

// EndDate Overdue ? (treat ActualEndDate and ActualDeliveryDate together)

    case when IsCompletelyDelivered = ' ' and MfgOrderScheduledEndDate <= $session.system_date
         then 'X'
         else ' '
    end as MfgOrderEndDateOverdue 
   
 }
 



-----Old version OP2020, CE2011 has new version
//with parameters

//   P_ReferenceDate : sydate


//as select from I_MfgOrder

//

//{

//   key ManufacturingOrder,

//    

//   ManufacturingOrderCategory,

//   SalesOrder,

//   SalesOrderItem, 

//   

//   MfgOrderActualReleaseDate,

//   MfgOrderActualStartDate,

//   MfgOrderActualEndDate,

//   MfgOrderScheduledReleaseDate, 

//   MfgOrderScheduledStartDate,

//   MfgOrderScheduledEndDate,

//   

//   MfgOrderItemActualDeliveryDate,                                                                          --AT19.06.2019: needed in upper model for necessary condition of issue

//      

//// )

//   case when MfgOrderActualReleaseDate = '00000000' and MfgOrderScheduledReleaseDate < $session.system_date --AT19.06.2019 only when really overdue (changed from <= to <)

//        then 'X'

//        else ' '

//   end as MfgOrderReleasedDateOverdue,

//

//// )

//    case when MfgOrderActualStartDate = '00000000' and MfgOrderScheduledStartDate < $session.system_date   --AT19.06.2019 only when really overdue (changed from <= to <)

//         then 'X'

//         else ' '

//    end as MfgOrderStartDateOverdue,  

//

//// )

//    -- AT26.8. also consider ltrmi (MfgOrderItemActualDeliveryDate) together with gltri (MfgOrderActualEndDate)

//    case when MfgOrderActualEndDate = '00000000' and MfgOrderItemActualDeliveryDate = '00000000' and MfgOrderScheduledEndDate <= $session.system_date

//         then 'X'

//         else ' '

//    end as MfgOrderEndDateOverdue 

//   

// }

// 

                              
  
  
  
  
  
  
  
  
  
 /*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_MANUFACTURINGORDER"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/