*S*************************************************************************         
*S***       
*S***                              WolffPack    
*S***       
*S*** Subprogram: WFPKD27N          
*S*** System    : FINANCIER         
*S*** Title     : Packaging routine - Determine Pell Award  
*S*** Function  : This subprogram determines Pell awards post 2024      
*S***              specifically this is the the 2026-2027 Aid Year      
*S***       
*S***              Year specific Pell min and Max amounts are also      
*S***                hard-coded here
*S***       
*S***      Copyright 1995 - 2026 WolffPack, Inc.  All rights reserved.  
*S***       
*S*** Institutional Notes:          
*S*************************************************************************         
*S**DEFINE DATA         
*S**  GLOBAL USING WWGDA
*S**  PARAMETER USING WWPDA         
*S**  PARAMETER         
*S**    01 #PASS-AID-YEAR(A4)       
*S**    01 #PASS-TIME(N1)           
*S**    01 #PASS-COA(N6)
*S**    01 #PASS-EFC(N6)
*S**    01 #PASS-PELL-AWARD(P6.2)   
*S**    01 #PASS-SUCCESS(A1)        
*S***       
*S**  LOCAL USING WFISX27D          
*S**  LOCAL USING WWAOBJ
*S***       
*S**  LOCAL 
*S**    01 #MAX-PELL-AWD(N6) INIT <7395>        
*S**    01 #MIN-PELL-AWD(N6) INIT <740>         
*S**    01 #MAX-EFC(N6) INIT <14790>
*S**    01 #MAX-PELL-ELIG(L)        
*S**    01 #MIN-PELL-ELIG(L)        
*S**    01 #PELL-DETERMINED(L)      
*S**    01 #NEED-TO-ROUND(L)        
*S**    01 #SUBPGM(A8)  
*S**    01 #SUB(P3)     
*S**    01 #AWD-SUB(P3) 
*S**    01 #HOLD-PELL-AWARD(N6)     
*S**    01 REDEFINE #HOLD-PELL-AWARD
*S**      02 #HOLD-PELL-5(N5)       
*S**      02 #HOLD-PELL-1(N1)       
*S**    01 #RTN-CODE(A1)
*S**    01 #AWARD-FC(N6.2)          
*S**    01 #AWARD-NEED(N6.2)        
*S**    01 #INST-PARMS(L)           
*S**    01 #AID-CCYY(N4)
*S**    01 REDEFINE #AID-CCYY       
*S**      02 #AID-CC(N2)
*S**      02 #AID-YY(N2)
*S***       
*S*** Institutional variables       
*S***       
*S***       
*S**END-DEFINE          
*S***       
*S*************************************************************************         
*S**  /*    
*S**  /* Populate WW-GDA from WW-PDA
*S**  MOVE BY POSITION WW-PDA TO WW-GDA         
*S**  ASSIGN #AID-CCYY = VAL(##AID-YEAR)        
*S**  /*    
*S**  /*  ISIR data     
*S**  PERFORM EXTRACT-ISIR-2627 WFISX27D        
*S**  /*    
*S**  /* Determine Pell award       
*S**  /*    
*S**  /*   Determine Maximum Pell Eligibility   
*S**  IF #PELL-MAX = '1' OR         
*S**     #PELL-MAX = '2' OR         
*S**     #PELL-MAX = '3'
*S**    ASSIGN #MAX-PELL-ELIG = TRUE
*S**    ASSIGN #PASS-PELL-AWARD = #MAX-PELL-AWD 
*S**  END-IF
*S**  /*    
*S**  /*   Determine Minimum Pell Eligibilty    
*S**  IF #PELL-MIN = '1' OR         
*S**     #PELL-MIN = '2' OR         
*S**     #PELL-MIN = '3' OR         
*S**     #PELL-MIN = '4' OR         
*S**     #PELL-MIN = '5'
*S**    ASSIGN #MIN-PELL-ELIG = TRUE
*S**    IF #PASS-PELL-AWARD = 0     
*S**      ASSIGN #PASS-PELL-AWARD = #MIN-PELL-AWD           
*S**    END-IF          
*S**  END-IF
*S**  /*    
*S**  /*   Calculate Pell based on SAI          
*S**  IF NOT #MAX-PELL-ELIG AND     
*S**     NOT #MIN-PELL-ELIG         
*S**    IF #PASS-EFC <= 0           
*S**      ASSIGN #PASS-PELL-AWARD = #MAX-PELL-AWD           
*S**    ELSE
*S**      IF #PASS-EFC <= #MAX-PELL-AWD         
*S**        ASSIGN #PASS-PELL-AWARD = #MAX-PELL-AWD -       
*S**                                  #PASS-EFC 
*S**        ASSIGN #NEED-TO-ROUND = TRUE        
*S**      END-IF        
*S**    END-IF          
*S**  END-IF
*S**  /*    
*S**  /* Pell awards must be rounded to the nearest 5 dollars           
*S**  DECIDE FOR FIRST CONDITION    
*S**    WHEN #PASS-EFC > #MAX-EFC   
*S**       /*           
*S**       /* SAI cannot exceed threshold       
*S**      ASSIGN #PASS-PELL-AWARD = 0           
*S**      ASSIGN #PASS-SUCCESS = 'M'
*S**    WHEN #PASS-PELL-AWARD > #MIN-PELL-AWD AND           
*S**         #PASS-PELL-AWARD > #PASS-COA       
*S**       /*           
*S**       /* Cap Pell award at COA 
*S**      ASSIGN #PASS-PELL-AWARD = #PASS-COA   
*S**    WHEN #PASS-PELL-AWARD < #MIN-PELL-AWD AND           
*S**         NOT #MIN-PELL-ELIG     
*S**      /*
*S**      /* Pell grant can not be calculated as < MINIMUM Pell         
*S**      ASSIGN #PASS-PELL-AWARD = 0           
*S**    WHEN #MIN-PELL-ELIG         
*S**      /*
*S**      /* Student may qualify for a minimum Pell         
*S**      ASSIGN #PASS-PELL-AWARD = #MIN-PELL-AWD           
*S**    WHEN NONE       
*S**      IGNORE        
*S**  END-DECIDE        
*S**  /*    
*S**  IF #NEED-TO-ROUND 
*S**    IF #PASS-PELL-AWARD >= #PASS-COA        
*S**        
*S**      /*
*S**      /* Pell cannot exceed COA (don't round)           
*S**      IGNORE        
*S**    ELSE
*S**      /*
*S**      /* Round any remaining Pell awards to nearest $5  
*S**      PERFORM ROUND-TO-NEAREST-FIVE         
*S**    END-IF          
*S**  END-IF
*S**  /*    
*S**  /* Populate WW-PDA from WW-GDA
*S**  MOVE BY POSITION WW-GDA TO WW-PDA         
*S**  /*    
*S***       
*S*************************************************************************         
*S**DEFINE SUBROUTINE ROUND-TO-NEAREST-FIVE     
*S*************************************************************************         
*S**  /*    
*S**  ASSIGN #HOLD-PELL-AWARD = #PASS-PELL-AWARD
*S**  IF #HOLD-PELL-1 = 0 OR        
*S**     #HOLD-PELL-1 = 1 OR        
*S**     #HOLD-PELL-1 = 2           
*S**    ASSIGN #HOLD-PELL-1 = 0     
*S**  END-IF
*S**  IF #HOLD-PELL-1 = 3 OR        
*S**     #HOLD-PELL-1 = 4 OR        
*S**     #HOLD-PELL-1 = 5 OR        
*S**     #HOLD-PELL-1 = 6 OR        
*S**     #HOLD-PELL-1 = 7           
*S**    ASSIGN #HOLD-PELL-1 = 5     
*S**  END-IF
*S**  IF #HOLD-PELL-1 = 8 OR        
*S**     #HOLD-PELL-1 = 9           
*S**    ASSIGN #HOLD-PELL-1 = 0     
*S**    ASSIGN #HOLD-PELL-5 = #HOLD-PELL-5 + 1  
*S**  END-IF
*S**  ASSIGN #PASS-PELL-AWARD = #HOLD-PELL-AWARD
*S**  /*    
*S**END-SUBROUTINE      
*S**END     
