*S*************************************************************************         
*S***       
*S***                              WolffPack    
*S***       
*S*** Subroutine: WFISX26E          
*S*** System    : FINANCIER         
*S*** Title     : 2025-26 ISIR Extract routine  
*S*** Function  : This external subroutine extracts and formats a       
*S***             subset of available ISIR information.     
*S***       
*S***      Copyright 1995 - 2025 WolffPack, Inc.  All rights reserved.  
*S***       
*S*************************************************************************         
*S**DEFINE DATA         
*S**  GLOBAL USING WWGDA
*S**  PARAMETER USING WFISX26D /* ISIR file extract PDA     
*S***       
*S**  LOCAL USING WFISR26D     /* Aidyear PDA   
*S**  LOCAL USING WFISR26R     /*   
*S**  LOCAL USING WWAOBJ       /* Used by object subprograms
*S**  LOCAL 
*S**    01 #HOLD-DATE(A8)           
*S**    01 REDEFINE #HOLD-DATE      
*S**      02 #HOLD-YY(A4)           
*S**      02 #HOLD-MM(A2)           
*S**      02 #HOLD-DD(A2)           
*S***       
*S**    01 #CNVT-NEG(L) 
*S**    01 #CNVT-BYTE(A1)           
*S**    01 #PASS-KEY(A30)           
*S**    01 #PASS-TEMP(A30)          
*S**    01 #15-BYTE-FIELD(A15)      
*S**    01 #6-BYTE-FIELD(A6)        
*S***       
*S***       
*S**END-DEFINE          
*S***       
*S***       
*S*************************************************************************         
*S**DEFINE SUBROUTINE EXTRACT-ISIR-2526         
*S*************************************************************************         
*S**  /*    
*S**  /* Read ISIR record           
*S**  ASSIGN WFISR26D.WW-STUDENT-ID = ##STUDENT-ID          
*S**  ASSIGN WFISR26D.WF-FAO = ##FAO-ID         
*S**  ASSIGN WWAOBJ.#FUNCTION = 'GET'           
*S**  CALLNAT 'WFISR26O' WW-GDA     
*S**           WFISR26D 
*S**           WFISR26D-ID          
*S**           WFISR26R 
*S**           WWAOBJ   
*S***       
*S**  RESET WFISX26D    
*S**  IF WWAOBJ.#EXISTS 
*S**    ASSIGN WFISX26D.#EXISTS = TRUE          
*S**  END-IF
*S***       
*S**  MOVE WFISR26D.WF-IS-C-PELL-ELIG TO #PELL-ELIG         
*S**  MOVE WFISR26D.WF-IS-C-MAX-PELL-IND TO #PELL-MAX       
*S**  MOVE WFISR26D.WF-IS-C-MIN-PELL-IND TO #PELL-MIN       
*S**  MOVE WFISR26D.WF-IS-C-CFLAG TO #CFLAG     
*S**  MOVE WFISR26D.WF-IS-C-TRANS-NO TO #TRANS-NO           
*S**  MOVE WFISR26D.WF-IS-C-VER TO #VER         
*S**  MOVE WFISR26D.WF-IS-C-S-MATCH-SSN TO #MATCH-SSN       
*S**  MOVE WFISR26D.WF-IS-C-MATCH-CIT TO #MATCH-CIT         
*S**  MOVE WFISR26D.WF-IS-C-MATCH-DHS TO #MATCH-DHS         
*S**  MOVE WFISR26D.WF-IS-C-MATCH-DHS2 TO #MATCH-DHS2       
*S**  MOVE WFISR26D.WF-IS-C-MATCH-VA TO #MATCH-VA           
*S**  MOVE WFISR26D.WF-IS-C-MATCH-NSL TO #MATCH-NSLDS       
*S**  MOVE WFISR26D.WF-IS-C-SP-MATCH-SSN TO #MATCH-SP       
*S**  MOVE WFISR26D.WF-IS-C-P1-MATCH-SSN TO #MATCH-P1       
*S**  MOVE WFISR26D.WF-IS-C-P2-MATCH-SSN TO #MATCH-P2       
*S**  MOVE WFISR26D.WF-IS-C-MATCH-HS TO #MATCH-HS           
*S**  MOVE WFISR26D.WF-IS-C-VER-TRACK TO #VER-TRACK         
*S**  MOVE WFISR26D.WF-IS-C-VER-DHS TO #VER-DHS 
*S**  MOVE WFISR26D.WF-IS-C-VER-NSL TO #VER-NSLDS           
*S**  MOVE WFISR26D.WF-IS-INCARCERATED TO #INCARCERATED     
*S**  MOVE WFISR26D.WF-IS-C-VER-HS TO #VER-HS   
*S**  MOVE WFISR26D.WF-IS-C-NSLDS-TRAN TO #TRAN-NSLDS       
*S*****     
*S**  MOVE WFISR26D.WF-IS-C-REJ-RSNS TO #DISPLAY-REJECTS    
*S*****     
*S**  IF WFISR26D.WF-IS-C-COM01 NE '000'        
*S**    MOVE WFISR26D.WF-IS-C-COM01 TO #COM01   
*S**  END-IF
*S**  IF WFISR26D.WF-IS-C-COM02 NE '000'        
*S**    MOVE WFISR26D.WF-IS-C-COM02 TO #COM02   
*S**  END-IF
*S**  IF WFISR26D.WF-IS-C-COM03 NE '000'        
*S**    MOVE WFISR26D.WF-IS-C-COM03 TO #COM03   
*S**  END-IF
*S**  IF WFISR26D.WF-IS-C-COM04 NE '000'        
*S**    MOVE WFISR26D.WF-IS-C-COM04 TO #COM04   
*S**  END-IF
*S**  IF WFISR26D.WF-IS-C-COM05 NE '000'        
*S**    MOVE WFISR26D.WF-IS-C-COM05 TO #COM05   
*S**  END-IF
*S**  IF WFISR26D.WF-IS-C-COM06 NE '000'        
*S**    MOVE WFISR26D.WF-IS-C-COM06 TO #COM06   
*S**  END-IF
*S**  IF WFISR26D.WF-IS-C-COM07 NE '000'        
*S**    MOVE WFISR26D.WF-IS-C-COM07 TO #COM07   
*S**  END-IF
*S**  IF WFISR26D.WF-IS-C-COM08 NE '000'        
*S**    MOVE WFISR26D.WF-IS-C-COM08 TO #COM08   
*S**  END-IF
*S**  IF WFISR26D.WF-IS-C-COM09 NE '000'        
*S**    MOVE WFISR26D.WF-IS-C-COM09 TO #COM09   
*S**  END-IF
*S**  IF WFISR26D.WF-IS-C-COM10 NE '000'        
*S**    MOVE WFISR26D.WF-IS-C-COM10 TO #COM10   
*S**  END-IF
*S**  IF WFISR26D.WF-IS-C-COM11 NE '000'        
*S**    MOVE WFISR26D.WF-IS-C-COM11 TO #COM11   
*S**  END-IF
*S**  IF WFISR26D.WF-IS-C-COM12 NE '000'        
*S**    MOVE WFISR26D.WF-IS-C-COM12 TO #COM12   
*S**  END-IF
*S**  IF WFISR26D.WF-IS-C-COM13 NE '000'        
*S**    MOVE WFISR26D.WF-IS-C-COM13 TO #COM13   
*S**  END-IF
*S**  IF WFISR26D.WF-IS-C-COM14 NE '000'        
*S**    MOVE WFISR26D.WF-IS-C-COM14 TO #COM14   
*S**  END-IF
*S**  IF WFISR26D.WF-IS-C-COM15 NE '000'        
*S**    MOVE WFISR26D.WF-IS-C-COM15 TO #COM15   
*S**  END-IF
*S**  IF WFISR26D.WF-IS-C-COM16 NE '000'        
*S**    MOVE WFISR26D.WF-IS-C-COM16 TO #COM16   
*S**  END-IF
*S**  IF WFISR26D.WF-IS-C-COM17 NE '000'        
*S**    MOVE WFISR26D.WF-IS-C-COM17 TO #COM17   
*S**  END-IF
*S**  IF WFISR26D.WF-IS-C-COM18 NE '000'        
*S**    MOVE WFISR26D.WF-IS-C-COM18 TO #COM18   
*S**  END-IF
*S**  IF WFISR26D.WF-IS-C-COM19 NE '000'        
*S**    MOVE WFISR26D.WF-IS-C-COM19 TO #COM19   
*S**  END-IF
*S**  IF WFISR26D.WF-IS-C-COM20 NE '000'        
*S**    MOVE WFISR26D.WF-IS-C-COM20 TO #COM20   
*S**  END-IF
*S**  MOVE WFISR26D.WF-IS-C-APP-SRCE TO #APP-SRCE           
*S*** MOVE WFISR26D.WF-IS-C-ORIG-TYPE TO #ORIG-TYPE         
*S**  IF WFISR26D.WF-IS-C-APP-RCPT-DATE = MASK(YYYYMMDD)    
*S**    MOVE WFISR26D.WF-IS-C-APP-RCPT-DATE TO #HOLD-DATE   
*S**    COMPRESS #HOLD-MM '/' #HOLD-DD '/' #HOLD-YY         
*S**        INTO #APP-RCPT-DATE LEAVING NO      
*S**  END-IF
*S**  MOVE WFISR26D.WF-IS-C-TRAN-SRCE TO #TRAN-SRCE         
*S**  MOVE WFISR26D.WF-IS-C-TRAN-TYPE TO #TRAN-TYPE         
*S**  IF WFISR26D.WF-IS-C-TRAN-RCPT-DATE = MASK(YYYYMMDD)   
*S**    MOVE WFISR26D.WF-IS-C-TRAN-RCPT-DATE TO #HOLD-DATE  
*S**    COMPRESS #HOLD-MM '/' #HOLD-DD '/' #HOLD-YY         
*S**        INTO #TRAN-RCPT-DATE LEAVING NO     
*S**  END-IF
*S**  IF WFISR26D.WF-IS-C-TRAN-PROC-DATE = MASK(YYYYMMDD)   
*S**    MOVE WFISR26D.WF-IS-C-TRAN-PROC-DATE TO #HOLD-DATE  
*S**    COMPRESS #HOLD-MM '/' #HOLD-DD '/' #HOLD-YY         
*S**        INTO #TRAN-PROC-DATE LEAVING NO     
*S**  END-IF
*S**  MOVE WFISR26D.WF-IS-C-ETI TO #ETI         
*S**  MOVE WFISR26D.WF-IS-C-PUSHED TO #PUSHED   
*S**  MOVE WFISR26D.WF-IS-C-SAI-CHG-FLAG TO #SAI-CHG        
*S**  MOVE WFISR26D.WF-IS-C-REJ-CHG TO #REJ-CHG 
*S**  MOVE WFISR26D.WF-IS-C-CFLAG-CHG TO #CFLAG-CHG         
*S**  MOVE WFISR26D.WF-IS-C-VER-CHG TO #VER-CHG 
*S**  MOVE WFISR26D.WF-IS-C-SAI-FORMULA TO #SAI-FORMULA     
*S**  MOVE WFISR26D.WF-IS-C-SAI-COMP-TYPE TO #SAI-COMP-TYPE 
*S***       
*S**  MOVE WFISR26D.WF-IS-C-DEP-MODEL TO #DEP   
*S**  MOVE SUBSTRING(WFISR26D.WF-IS-FISAP-TOT-INC,1,1) TO #CNVT-BYTE    
*S**  RESET #CNVT-NEG   
*S**  IF #CNVT-BYTE = '-'           
*S**    ASSIGN #CNVT-NEG = TRUE     
*S**    EXAMINE WFISR26D.WF-IS-FISAP-TOT-INC FOR '-' DELETE 
*S**  END-IF
*S**  MOVE RIGHT JUSTIFIED WFISR26D.WF-IS-FISAP-TOT-INC TO #15-BYTE-FIELD           
*S**  EXAMINE #15-BYTE-FIELD FOR ' ' REPLACE WITH '0'       
*S**  IF #15-BYTE-FIELD = MASK(999999999999999) 
*S**    ASSIGN #FISAP = VAL(#15-BYTE-FIELD)     
*S**    IF VAL(#15-BYTE-FIELD) > 99999999       
*S**      ASSIGN #FISAP = 99999999  
*S**    ELSE
*S**      ASSIGN #FISAP = VAL(#15-BYTE-FIELD)   
*S**    END-IF          
*S**    IF #CNVT-NEG    
*S**      MULTIPLY #FISAP BY -1     
*S**    END-IF          
*S**  END-IF
*S**        
*S***  IF WFISR26D.WF-IS-C-AUTO-ZERO = 'Y'      
*S***    MOVE 'B' TO #S-ANAL        
*S***  ELSE 
*S***    IF WFISR26D.WF-IS-C-FC1-FRMULA = '1'   
*S***        OR WFISR26D.WF-IS-C-FC1-FRMULA = '2'           
*S***        OR WFISR26D.WF-IS-C-FC1-FRMULA = '3'           
*S***      MOVE 'R' TO #S-ANAL      
*S***    ELSE           
*S***      IF WFISR26D.WF-IS-C-FC1-FRMULA = '4' 
*S***          OR WFISR26D.WF-IS-C-FC1-FRMULA = '5'         
*S***          OR WFISR26D.WF-IS-C-FC1-FRMULA = '6'         
*S***        MOVE 'S' TO #S-ANAL    
*S***      END-IF       
*S***    END-IF         
*S***  END-IF           
*S**  IF #DEP = 'D' OR #DEP = 'X'   
*S**    MOVE #S-ANAL TO #P-ANAL     
*S**  END-IF
*S***       
*S*** IF WFISR26D.WF-IS-C-FC1-TI = MASK(99999999)           
*S***   ASSIGN #P-IT = VAL(WFISR26D.WF-IS-C-FC1-TI)         
*S*** ELSE  
*S***   MOVE SUBSTRING(WFISR26D.WF-IS-C-FC1-TI,8,1) TO #CNVT-BYTE       
*S***   PERFORM CONVERT-SIGNS #CNVT-BYTE #CNVT-NEG          
*S***   MOVE #CNVT-BYTE TO SUBSTRING(WFISR26D.WF-IS-C-FC1-TI,8,1)       
*S***   IF WFISR26D.WF-IS-C-FC1-TI = MASK(99999999)         
*S***     ASSIGN #P-IT = VAL(WFISR26D.WF-IS-C-FC1-TI)       
*S***     IF #CNVT-NEG  
*S***       MULTIPLY #P-IT BY -1    
*S***     END-IF        
*S***   END-IF          
*S*** END-IF
*S***  IF WFISR26D.WF-IS-C-FC1-STI = MASK(99999999)         
*S***    ASSIGN #S-IT = VAL(WFISR26D.WF-IS-C-FC1-STI)       
*S***  ELSE 
*S***    MOVE SUBSTRING(WFISR26D.WF-IS-C-FC1-STI,8,1) TO #CNVT-BYTE     
*S***    PERFORM CONVERT-SIGNS #CNVT-BYTE #CNVT-NEG         
*S***    MOVE #CNVT-BYTE TO SUBSTRING(WFISR26D.WF-IS-C-FC1-STI,8,1)     
*S***    IF WFISR26D.WF-IS-C-FC1-STI = MASK(99999999)       
*S***      ASSIGN #S-IT = VAL(WFISR26D.WF-IS-C-FC1-STI)     
*S***      IF #CNVT-NEG 
*S***        MULTIPLY #S-IT BY -1   
*S***      END-IF       
*S***    END-IF         
*S***  END-IF           
*S***  IF WFISR26D.WF-IS-C-FC1-STX = MASK(9999999)          
*S***    ASSIGN #P-ST = VAL(WFISR26D.WF-IS-C-FC1-STX)       
*S***  ELSE 
*S***    MOVE SUBSTRING(WFISR26D.WF-IS-C-FC1-STX,7,1) TO #CNVT-BYTE     
*S***    PERFORM CONVERT-SIGNS #CNVT-BYTE #CNVT-NEG         
*S***    MOVE #CNVT-BYTE TO SUBSTRING(WFISR26D.WF-IS-C-FC1-STX,7,1)     
*S***    IF WFISR26D.WF-IS-C-FC1-STX = MASK(9999999)        
*S***      ASSIGN #P-ST = VAL(WFISR26D.WF-IS-C-FC1-STX)     
*S***      IF #CNVT-NEG 
*S***        MULTIPLY #P-ST BY -1   
*S***      END-IF       
*S***    END-IF         
*S***  END-IF           
*S***  IF WFISR26D.WF-IS-C-FC1-EA = MASK(9999999)           
*S***    ASSIGN #P-EA = VAL(WFISR26D.WF-IS-C-FC1-EA)        
*S***  ELSE 
*S***    MOVE SUBSTRING(WFISR26D.WF-IS-C-FC1-EA,7,1) TO #CNVT-BYTE      
*S***    PERFORM CONVERT-SIGNS #CNVT-BYTE #CNVT-NEG         
*S***    MOVE #CNVT-BYTE TO SUBSTRING(WFISR26D.WF-IS-C-FC1-EA,7,1)      
*S***    IF WFISR26D.WF-IS-C-FC1-EA = MASK(9999999)         
*S***      ASSIGN #P-EA = VAL(WFISR26D.WF-IS-C-FC1-EA)      
*S***      IF #CNVT-NEG 
*S***        MULTIPLY #P-EA BY -1   
*S***      END-IF       
*S***    END-IF         
*S***  END-IF           
*S***  IF WFISR26D.WF-IS-C-FC1-IPA = MASK(9999999)          
*S***    ASSIGN #P-IPA = VAL(WFISR26D.WF-IS-C-FC1-IPA)      
*S***  ELSE 
*S***    MOVE SUBSTRING(WFISR26D.WF-IS-C-FC1-IPA,7,1) TO #CNVT-BYTE     
*S***    PERFORM CONVERT-SIGNS #CNVT-BYTE #CNVT-NEG         
*S***    MOVE #CNVT-BYTE TO SUBSTRING(WFISR26D.WF-IS-C-FC1-IPA,7,1)     
*S***    IF WFISR26D.WF-IS-C-FC1-IPA = MASK(9999999)        
*S***      ASSIGN #P-IPA = VAL(WFISR26D.WF-IS-C-FC1-IPA)    
*S***      IF #CNVT-NEG 
*S***        MULTIPLY #P-IPA BY -1  
*S***      END-IF       
*S***    END-IF         
*S***  END-IF           
*S***  IF WFISR26D.WF-IS-C-FC1-ATI = MASK(9999999)          
*S***    ASSIGN #P-AT = VAL(WFISR26D.WF-IS-C-FC1-ATI)       
*S***  ELSE 
*S***    MOVE SUBSTRING(WFISR26D.WF-IS-C-FC1-ATI,7,1) TO #CNVT-BYTE     
*S***    PERFORM CONVERT-SIGNS #CNVT-BYTE #CNVT-NEG         
*S***    MOVE #CNVT-BYTE TO SUBSTRING(WFISR26D.WF-IS-C-FC1-ATI,7,1)     
*S***    IF WFISR26D.WF-IS-C-FC1-ATI = MASK(9999999)        
*S***      ASSIGN #P-AT = VAL(WFISR26D.WF-IS-C-FC1-ATI)     
*S***      IF #CNVT-NEG 
*S***        MULTIPLY #P-AT BY -1   
*S***      END-IF       
*S***    END-IF         
*S***  END-IF           
*S***  IF WFISR26D.WF-IS-C-FC1-SATI = MASK(9999999)         
*S***    ASSIGN #S-AT = VAL(WFISR26D.WF-IS-C-FC1-SATI)      
*S***  ELSE 
*S***    MOVE SUBSTRING(WFISR26D.WF-IS-C-FC1-SATI,7,1) TO #CNVT-BYTE    
*S***    PERFORM CONVERT-SIGNS #CNVT-BYTE #CNVT-NEG         
*S***    MOVE #CNVT-BYTE TO SUBSTRING(WFISR26D.WF-IS-C-FC1-SATI,7,1)    
*S***    IF WFISR26D.WF-IS-C-FC1-SATI = MASK(9999999)       
*S***      ASSIGN #S-AT = VAL(WFISR26D.WF-IS-C-FC1-SATI)    
*S***      IF #CNVT-NEG 
*S***        MULTIPLY #S-AT BY -1   
*S***      END-IF       
*S***    END-IF         
*S***  END-IF           
*S***  IF WFISR26D.WF-IS-C-FC1-AI = MASK(99999999)          
*S***    ASSIGN #P-AI = VAL(WFISR26D.WF-IS-C-FC1-AI)        
*S***  ELSE 
*S***    MOVE SUBSTRING(WFISR26D.WF-IS-C-FC1-AI,8,1) TO #CNVT-BYTE      
*S***    PERFORM CONVERT-SIGNS #CNVT-BYTE #CNVT-NEG         
*S***    MOVE #CNVT-BYTE TO SUBSTRING(WFISR26D.WF-IS-C-FC1-AI,8,1)      
*S***    IF WFISR26D.WF-IS-C-FC1-AI = MASK(99999999)        
*S***      ASSIGN #P-AI = VAL(WFISR26D.WF-IS-C-FC1-AI)      
*S***      IF #CNVT-NEG 
*S***        MULTIPLY #P-AI BY -1   
*S***      END-IF       
*S***    END-IF         
*S***  END-IF           
*S***  IF WFISR26D.WF-IS-C-FC1-NW = MASK(999999999)         
*S***    ASSIGN #P-NW = VAL(WFISR26D.WF-IS-C-FC1-NW)        
*S***  ELSE 
*S***    MOVE SUBSTRING(WFISR26D.WF-IS-C-FC1-NW,9,1) TO #CNVT-BYTE      
*S***    PERFORM CONVERT-SIGNS #CNVT-BYTE #CNVT-NEG         
*S***    MOVE #CNVT-BYTE TO SUBSTRING(WFISR26D.WF-IS-C-FC1-NW,9,1)      
*S***    IF WFISR26D.WF-IS-C-FC1-NW = MASK(999999999)       
*S***      ASSIGN #P-NW = VAL(WFISR26D.WF-IS-C-FC1-NW)      
*S***      IF #CNVT-NEG 
*S***        MULTIPLY #P-NW BY -1   
*S***      END-IF       
*S***    END-IF         
*S***  END-IF           
*S***  IF WFISR26D.WF-IS-C-FC1-APA = MASK(999999999)        
*S***    ASSIGN #P-APA = VAL(WFISR26D.WF-IS-C-FC1-APA)      
*S***  ELSE 
*S***    MOVE SUBSTRING(WFISR26D.WF-IS-C-FC1-APA,9,1) TO #CNVT-BYTE     
*S***    PERFORM CONVERT-SIGNS #CNVT-BYTE #CNVT-NEG         
*S***    MOVE #CNVT-BYTE TO SUBSTRING(WFISR26D.WF-IS-C-FC1-APA,9,1)     
*S***    IF WFISR26D.WF-IS-C-FC1-APA = MASK(999999999)      
*S***      ASSIGN #P-APA = VAL(WFISR26D.WF-IS-C-FC1-APA)    
*S***      IF #CNVT-NEG 
*S***        MULTIPLY #P-APA BY -1  
*S***      END-IF       
*S***    END-IF         
*S***  END-IF           
*S***  IF WFISR26D.WF-IS-C-FC1-DNW = MASK(999999999)        
*S***    ASSIGN #P-DNW = VAL(WFISR26D.WF-IS-C-FC1-DNW)      
*S***  ELSE 
*S***    MOVE SUBSTRING(WFISR26D.WF-IS-C-FC1-DNW,9,1) TO #CNVT-BYTE     
*S***    PERFORM CONVERT-SIGNS #CNVT-BYTE #CNVT-NEG         
*S***    MOVE #CNVT-BYTE TO SUBSTRING(WFISR26D.WF-IS-C-FC1-DNW,9,1)     
*S***    IF WFISR26D.WF-IS-C-FC1-DNW = MASK(999999999)      
*S***      ASSIGN #P-DNW = VAL(WFISR26D.WF-IS-C-FC1-DNW)    
*S***      IF #CNVT-NEG 
*S***        MULTIPLY #P-DNW BY -1  
*S***      END-IF       
*S***    END-IF         
*S***  END-IF           
*S***  IF WFISR26D.WF-IS-C-FC1-SDNW = MASK(999999999)       
*S***    ASSIGN #S-DNW = VAL(WFISR26D.WF-IS-C-FC1-SDNW)     
*S***  ELSE 
*S***    MOVE SUBSTRING(WFISR26D.WF-IS-C-FC1-SDNW,9,1) TO #CNVT-BYTE    
*S***    PERFORM CONVERT-SIGNS #CNVT-BYTE #CNVT-NEG         
*S***    MOVE #CNVT-BYTE TO SUBSTRING(WFISR26D.WF-IS-C-FC1-SDNW,9,1)    
*S***    IF WFISR26D.WF-IS-C-FC1-SDNW = MASK(999999999)     
*S***      ASSIGN #S-DNW = VAL(WFISR26D.WF-IS-C-FC1-SDNW)   
*S***      IF #CNVT-NEG 
*S***        MULTIPLY #S-DNW BY -1  
*S***      END-IF       
*S***    END-IF         
*S***  END-IF           
*S***  IF WFISR26D.WF-IS-C-FC1-AAI = MASK(99999999)         
*S***    ASSIGN #P-AAI = VAL(WFISR26D.WF-IS-C-FC1-AAI)      
*S***  ELSE 
*S***    MOVE SUBSTRING(WFISR26D.WF-IS-C-FC1-AAI,8,1) TO #CNVT-BYTE     
*S***    PERFORM CONVERT-SIGNS #CNVT-BYTE #CNVT-NEG         
*S***    MOVE #CNVT-BYTE TO SUBSTRING(WFISR26D.WF-IS-C-FC1-AAI,8,1)     
*S***    IF WFISR26D.WF-IS-C-FC1-AAI = MASK(99999999)       
*S***      ASSIGN #P-AAI = VAL(WFISR26D.WF-IS-C-FC1-AAI)    
*S***      IF #CNVT-NEG 
*S***        MULTIPLY #P-AAI BY -1  
*S***      END-IF       
*S***    END-IF         
*S***  END-IF           
*S***  IF WFISR26D.WF-IS-S-FED-TAX = MASK(9999999)          
*S***    ASSIGN #S-FT = VAL(WFISR26D.WF-IS-S-FED-TAX)       
*S***  ELSE 
*S***    MOVE SUBSTRING(WFISR26D.WF-IS-S-FED-TAX,7,1) TO #CNVT-BYTE     
*S***    PERFORM CONVERT-SIGNS #CNVT-BYTE #CNVT-NEG         
*S***    MOVE #CNVT-BYTE TO SUBSTRING(WFISR26D.WF-IS-S-FED-TAX,7,1)     
*S***    IF WFISR26D.WF-IS-S-FED-TAX = MASK(9999999)        
*S***      ASSIGN #S-FT = VAL(WFISR26D.WF-IS-S-FED-TAX)     
*S***    END-IF         
*S***  END-IF           
*S***  IF WFISR26D.WF-IS-P-FED-TAX = MASK(9999999)          
*S***    ASSIGN #P-FT = VAL(WFISR26D.WF-IS-P-FED-TAX)       
*S***  ELSE 
*S***    MOVE SUBSTRING(WFISR26D.WF-IS-P-FED-TAX,7,1) TO #CNVT-BYTE     
*S***    PERFORM CONVERT-SIGNS #CNVT-BYTE #CNVT-NEG         
*S***    MOVE #CNVT-BYTE TO SUBSTRING(WFISR26D.WF-IS-P-FED-TAX,7,1)     
*S***    IF WFISR26D.WF-IS-P-FED-TAX = MASK(9999999)        
*S***      ASSIGN #P-FT = VAL(WFISR26D.WF-IS-P-FED-TAX)     
*S***    END-IF         
*S***  END-IF           
*S***  IF WFISR26D.WF-IS-S-FAM-COL = MASK(9)    
*S***    ASSIGN #S-NC = VAL(WFISR26D.WF-IS-S-FAM-COL)       
*S***  END-IF           
*S***  IF WFISR26D.WF-IS-P-FAM-COL = MASK(9)    
*S***    ASSIGN #P-NC = VAL(WFISR26D.WF-IS-P-FAM-COL)       
*S***  END-IF           
*S***  IF #DEP = 'I' OR #DEP = 'Y'  
*S***    MOVE #P-IT  TO #S-IT       
*S***    MOVE #P-ST  TO #S-ST       
*S***    MOVE #P-EA  TO #S-EA       
*S***    MOVE #P-IPA TO #S-IPA      
*S***    MOVE #P-AT  TO #S-AT       
*S***    MOVE #P-AI  TO #S-AI       
*S***    MOVE #P-NW  TO #S-NW       
*S***    MOVE #P-APA TO #S-APA      
*S***    MOVE #P-DNW TO #S-DNW      
*S***    MOVE #P-AAI TO #S-AAI      
*S***    RESET #P-IT #P-FT #P-ST #P-EA #P-IPA #P-AT #P-AI #P-NW #P-APA  
*S***          #P-DNW #P-AAI #P-NC  
*S***  END-IF           
*S***  IF WFISR26D.WF-IS-C-FC1-TSC = MASK(9999999)          
*S***    ASSIGN #S-CT = VAL(WFISR26D.WF-IS-C-FC1-TSC)       
*S***  ELSE 
*S***    MOVE SUBSTRING(WFISR26D.WF-IS-C-FC1-TSC,7,1) TO #CNVT-BYTE     
*S***    PERFORM CONVERT-SIGNS #CNVT-BYTE #CNVT-NEG         
*S***    MOVE #CNVT-BYTE TO SUBSTRING(WFISR26D.WF-IS-C-FC1-TSC,7,1)     
*S***    IF WFISR26D.WF-IS-C-FC1-TSC = MASK(9999999)        
*S***      ASSIGN #S-CT = VAL(WFISR26D.WF-IS-C-FC1-TSC)     
*S***      IF #CNVT-NEG 
*S***        MULTIPLY #S-CT BY -1   
*S***      END-IF       
*S***    END-IF         
*S***  END-IF           
*S**  MOVE SUBSTRING(WFISR26D.WF-IS-S-FC1-CI,1,1) TO #CNVT-BYTE         
*S**  RESET #CNVT-NEG   
*S**  IF #CNVT-BYTE = '-'           
*S**    ASSIGN #CNVT-NEG = TRUE     
*S**    EXAMINE WFISR26D.WF-IS-S-FC1-CI FOR '-' DELETE      
*S**  END-IF
*S**  MOVE RIGHT JUSTIFIED WFISR26D.WF-IS-S-FC1-CI TO #15-BYTE-FIELD    
*S**  EXAMINE #15-BYTE-FIELD FOR ' ' REPLACE WITH '0'       
*S**  IF #15-BYTE-FIELD = MASK(999999999999999) 
*S**    ASSIGN #S-SCI = VAL(#15-BYTE-FIELD)     
*S**    IF VAL(#15-BYTE-FIELD) > 9999999        
*S**      ASSIGN #S-SCI = 9999999   
*S**    ELSE
*S**      ASSIGN #S-SCI = VAL(#15-BYTE-FIELD)   
*S**    END-IF          
*S**    IF #CNVT-NEG    
*S**      MULTIPLY #S-SCI BY -1     
*S**    END-IF          
*S**  END-IF
*S**  MOVE SUBSTRING(WFISR26D.WF-IS-S-FC1-CA,1,1) TO #CNVT-BYTE         
*S**  RESET #CNVT-NEG   
*S**  IF #CNVT-BYTE = '-'           
*S**    ASSIGN #CNVT-NEG = TRUE     
*S**    EXAMINE WFISR26D.WF-IS-S-FC1-CA FOR '-' DELETE      
*S**  END-IF
*S**  MOVE RIGHT JUSTIFIED WFISR26D.WF-IS-S-FC1-CA TO #15-BYTE-FIELD    
*S**  EXAMINE #15-BYTE-FIELD FOR ' ' REPLACE WITH '0'       
*S**  IF #15-BYTE-FIELD = MASK(999999999999999) 
*S**    ASSIGN #S-SCA = VAL(#15-BYTE-FIELD)     
*S**    IF VAL(#15-BYTE-FIELD) > 9999999        
*S**      ASSIGN #S-SCA = 9999999   
*S**    ELSE
*S**      ASSIGN #S-SCA = VAL(#15-BYTE-FIELD)   
*S**    END-IF          
*S**    IF #CNVT-NEG    
*S**      MULTIPLY #S-SCA BY -1     
*S**    END-IF          
*S**  END-IF
*S*** IF WFISX26D.#SAI-FORMULA = 'C'      /* dlb
*S***    ASSIGN #S-SC = 
*S*** ELSE  
*S**    IF (#S-SCI + #S-SCA) > 9999999          
*S**      ASSIGN #S-SC = 9999999    
*S**    ELSE
*S**     ASSIGN #S-SC = #S-SCI + #S-SCA         
*S**    END-IF          
*S*** END-IF
*S**  MOVE SUBSTRING(WFISR26D.WF-IS-P1-FC1-CONT,1,1) TO #CNVT-BYTE      
*S**  RESET #CNVT-NEG   
*S**  IF #CNVT-BYTE = '-'           
*S**    ASSIGN #CNVT-NEG = TRUE     
*S**    EXAMINE WFISR26D.WF-IS-P1-FC1-CONT FOR '-' DELETE   
*S**  END-IF
*S**  MOVE RIGHT JUSTIFIED WFISR26D.WF-IS-P1-FC1-CONT TO #15-BYTE-FIELD 
*S**  EXAMINE #15-BYTE-FIELD FOR ' ' REPLACE WITH '0'       
*S**  IF #15-BYTE-FIELD = MASK(999999999999999) 
*S**    ASSIGN #P-PC = VAL(#15-BYTE-FIELD)      
*S**    IF VAL(#15-BYTE-FIELD) > 9999999        
*S**      ASSIGN #P-PC = 9999999    
*S**    ELSE
*S**      ASSIGN #P-PC = VAL(#15-BYTE-FIELD)    
*S**    END-IF          
*S**    IF #CNVT-NEG    
*S**      MULTIPLY #P-PC BY -1      
*S**    END-IF          
*S**  END-IF
*S**  MOVE SUBSTRING(WFISR26D.WF-IS-P1-FC1-CA,1,1) TO #CNVT-BYTE        
*S**  RESET #CNVT-NEG   
*S**  IF #CNVT-BYTE = '-'           
*S**    ASSIGN #CNVT-NEG = TRUE     
*S**    EXAMINE WFISR26D.WF-IS-P1-FC1-CA FOR '-' DELETE     
*S**  END-IF
*S**  MOVE RIGHT JUSTIFIED WFISR26D.WF-IS-P1-FC1-CA TO #15-BYTE-FIELD   
*S**  EXAMINE #15-BYTE-FIELD FOR ' ' REPLACE WITH '0'       
*S**  IF #15-BYTE-FIELD = MASK(999999999999999) 
*S**    ASSIGN #P-PCA = VAL(#15-BYTE-FIELD)     
*S**    IF VAL(#15-BYTE-FIELD) > 9999999        
*S**      ASSIGN #P-PCA = 9999999   
*S**    ELSE
*S**      ASSIGN #P-PCA = VAL(#15-BYTE-FIELD)   
*S**    END-IF          
*S**    IF #CNVT-NEG    
*S**      MULTIPLY #P-PCA BY -1     
*S**    END-IF          
*S**  END-IF
*S**  ASSIGN #P-PCI = #P-PC - #P-PCA
*S**  /* Fill in masked values and/or translations          
*S**  MOVE SUBSTRING(WFISR26D.WF-IS-C-SAI,1,1) TO #CNVT-BYTE
*S**  RESET #CNVT-NEG   
*S**  IF #CNVT-BYTE = '-'           
*S**    ASSIGN #CNVT-NEG = TRUE     
*S**    EXAMINE WFISR26D.WF-IS-C-SAI FOR '-' DELETE         
*S**  END-IF
*S**  MOVE RIGHT JUSTIFIED WFISR26D.WF-IS-C-SAI TO #6-BYTE-FIELD        
*S**  EXAMINE #6-BYTE-FIELD FOR ' ' REPLACE WITH '0'        
*S**  IF #6-BYTE-FIELD = MASK(999999)           
*S**    ASSIGN #P-PCA = VAL(#6-BYTE-FIELD)      
*S**    IF VAL(#6-BYTE-FIELD) > 999999          
*S**      ASSIGN #PRI-SAI = 999999  
*S**    ELSE
*S**      ASSIGN #PRI-SAI = VAL(#6-BYTE-FIELD)  
*S**    END-IF          
*S**    IF #CNVT-NEG    
*S**      MULTIPLY #PRI-SAI BY -1   
*S**    END-IF          
*S**  END-IF
*S**  IF WFISR26D.WF-IS-C-SAI = ' ' 
*S**    ASSIGN #BLANK-SAI = 'Y'     
*S**    ASSIGN #PRI-SAI-MSK = ' '   
*S**  ELSE  
*S**    MOVE EDITED #PRI-SAI(EM=ZZZ,ZZ9-) TO #PRI-SAI-MSK   
*S**  END-IF
*S**  MOVE EDITED #P-PC(EM=Z,ZZZ,ZZZ-) TO #P-PC-MSK         
*S**  MOVE EDITED #P-PCA(EM=Z,ZZZ,ZZZ-) TO #P-PCA-MSK       
*S**  MOVE EDITED #P-PCI(EM=Z,ZZZ,ZZZ-) TO #P-PCI-MSK       
*S**  MOVE EDITED #S-SC(EM=Z,ZZZ,ZZZ-) TO #S-SC-MSK         
*S**  MOVE EDITED #S-SCA(EM=Z,ZZZ,ZZZ-) TO #S-SCA-MSK       
*S**  MOVE EDITED #S-SCI(EM=Z,ZZZ,ZZZ-) TO #S-SCI-MSK       
*S***  MOVE 'WFAIDYND.WF-AY-M1-DEP' TO #PASS-KEY
*S***  MOVE #DEP TO #PASS-TEMP      
*S***  PERFORM GET-VALUE-TRANSLATION #PASS-KEY #PASS-TEMP   
*S***  MOVE #PASS-TEMP TO #DEP-TRAN 
*S***  MOVE 'WWSYSVRD.WF-CAL-ANAL' TO #PASS-KEY 
*S***  MOVE #S-ANAL TO #PASS-TEMP   
*S***  PERFORM GET-VALUE-TRANSLATION #PASS-KEY #PASS-TEMP   
*S***  MOVE #PASS-TEMP TO #S-ANAL-TRAN          
*S***  MOVE 'WWSYSVRD.WF-CAL-ANAL' TO #PASS-KEY 
*S***  MOVE #P-ANAL TO #PASS-TEMP   
*S***  PERFORM GET-VALUE-TRANSLATION #PASS-KEY #PASS-TEMP   
*S***  MOVE #PASS-TEMP TO #P-ANAL-TRAN          
*S**END-SUBROUTINE /* EXTRACT-ISIR-2526         
*S**END     
*E          
