Quintiq file version 2.0 
 | 
#parent: #root 
 | 
StaticMethod CanEditActualPISPIPs ( 
 | 
  ProductInStockingPointInPeriods pispips, 
 | 
  output String feedback_o 
 | 
) declarative remote as Boolean 
 | 
{ 
 | 
  Description: 'Return true if the selected PISPIPs are used for planning and do not have shelf life and maturation.' 
 | 
  TextBody: 
 | 
  [* 
 | 
    feedback_o := ''; 
 | 
     
 | 
    // If any of the select PISPIPs is non-planning, we will return false 
 | 
    invalidPISPIP := select( pispips, Elements, pispip, 
 | 
                             not pispip.IsPlanning() ); 
 | 
     
 | 
    // If any of the selected PISPIPs has shelf life or maturation, return false 
 | 
    shelflifepispip := select( pispips, Elements, pispip, 
 | 
                               pispip.IsPlanning(), 
 | 
                               pispip.ProductInStockingPoint_MP().Product_MP().HasShelfLifeOrMaturation() ); 
 | 
     
 | 
    if( not isnull( invalidPISPIP ) ) 
 | 
    { 
 | 
      feedback_o := SanityCheckMessage::GetFormattedMessage( ProductInStockingPointInPeriod::GetInstanceText( invalidPISPIP ), 
 | 
                                                             Translations::MP_ActualProductInStockingPointInPeriod_ValidateInput_IsNotPlanningPISPIP() ); 
 | 
    } 
 | 
    else if( not isnull( shelflifepispip ) ) 
 | 
    { 
 | 
      feedback_o := SanityCheckMessage::GetFormattedMessage( ProductInStockingPointInPeriod::GetInstanceText( shelflifepispip ), 
 | 
                                                             Translations::MP_ActualProductInStockingPointInPeriod_ValidateInput_IsProductWithShelfLife() ); 
 | 
    } 
 | 
     
 | 
    return feedback_o = ''; 
 | 
  *] 
 | 
} 
 |