*S*************************************************************************         
*S***       
*S***                              WolffPack    
*S***       
*S*** Program  : WFFLE26B           
*S*** System   : FINANCIER          
*S*** Title    : Federal Grant XML Export       
*S*** Function : This program converts the fixed records produced       
*S***            by WFFLRyyB to Federal Grant XML documents and         
*S***            exports them for transmission to COD.      
*S***       
*S***            COD Schema Version 5.0a        
*S***       
*S***      Copyright 1995 - 2025 WolffPack, Inc.  All rights reserved.  
*S***       
*S*************************************************************************         
*S**DEFINE DATA         
*S**  GLOBAL USING WWGDA
*S***       
*S**  LOCAL USING WWREQIBD          
*S**  LOCAL USING WFFLE26D          
*S**  LOCAL USING WWCONST           
*S**  LOCAL 
*S***       
*S*** Note: '@' inserted in initial values and programmatically         
*S***       replaced with the hex representation for '"' to 
*S***       avoid the Natural compiler's default conversion of          
*S***       double-quotes to single-quotes      
*S***       
*S*** DOCUMENT BLOCK    
*S***       
*S**01 #XML-LINE1       
*S**  02 #XML-L1 (A21) INIT <'<?xml version=@1.0@?>'>       
*S**01 #XML-L2          
*S**  02 #SEG1(A59)     
*S** INIT <'<CommonRecord xmlns=@http://www.ed.gov/FSA/COD/2023/v5.0b@ '>           
*S**  02 #SEG2(A54)     
*S** INIT <'xmlns:xsi=@http://www.w3.org/2001/XMLSchema-instance@ '>    
*S**  02 #SEG3(A57)     
*S** INIT <'xsi:schemaLocation=@http://www.ed.gov/FSA/COD/2023/v5.0b '> 
*S**  02 #SEG4(A22)     
*S** INIT <'CommonRecord5.0b.xsd@>'>
*S**01 REDEFINE #XML-L2 
*S**  02 #XML-LINE2(A192)           
*S***       
*S**01 #TRANSDATA-BEG   
*S**  02 #TRANSDATA-S  (A18) INIT <'<TransmissionData>'>    
*S**  02 #FILLER       (A82)        
*S***       
*S**01 #DOC-OUT         
*S**  02 #DOCID-S      (A12) INIT <'<DocumentID>'>          
*S**  02 #DOCUMENT-ID  (A30)        
*S**  02 REDEFINE #DOCUMENT-ID      
*S**    03 #DOCID-DT   (A10)        
*S**    03 #DOCID-T    (A1)         
*S**    03 #DOCID-TM   (A10)        
*S**    03 #DOCID-SEC  (A1)         
*S**    03 #DOCID-SCHL (A8)         
*S**  02 #DOCID-E      (A13) INIT <'</DocumentID>'>         
*S**  02 #FILLER       (A45)        
*S**01 #CREATE-OUT      
*S**  02 #CREATE-S     (A17) INIT <'<CreatedDateTime>'>     
*S**  02 #CREATE-DT    (A22)        
*S**  02 REDEFINE #CREATE-DT        
*S**    03 #CRT-DATE   (A10)        
*S**    03 #CRT-T      (A1)         
*S**    03 #CRT-TIME   (A10)        
*S**    03 #CRT-SEC    (A1)         
*S**  02 #CREATE-E     (A18) INIT <'</CreatedDateTime>'>    
*S**  02 #FILLER       (A43)        
*S***       
*S**01 #SOURCE-BEG      
*S**  02 #SOURCE-S     (A8)  INIT <'<Source>'>  
*S**  02 #FILLER       (A92)        
*S**01 #SCHOOL-BEG      
*S**  02 #SCHOOL-S     (A8)  INIT <'<School>'>  
*S**  02 #FILLER       (A92)        
*S**01 #SCHOOL-OUT      
*S**  02 #SCHOOLID-S   (A11) INIT <'<RoutingID>'>           
*S**  02 #SCHOOLID     (A8)         
*S**  02 #SCHOOLID-E   (A12) INIT <'</RoutingID>'>          
*S**  02 #FILLER       (A69)        
*S**01 #SCHOOL-END      
*S**  02 #SCHOOL-E     (A9)  INIT <'</School>'> 
*S**  02 #FILLER       (A91)        
*S**01 #SOURCE-END      
*S**  02 #SOURCE-E     (A9)  INIT <'</Source>'> 
*S**  02 #FILLER       (A91)        
*S**01 #DEST-BEG        
*S**  02 #DEST-S       (A13) INIT <'<Destination>'>         
*S**  02 #FILLER       (A87)        
*S**01 #COD-BEG         
*S**  02 #COD-S        (A5)  INIT <'<COD>'>     
*S**  02 #FILLER       (A95)        
*S**01 #COD-OUT         
*S**  02 #CODID-S      (A11) INIT <'<RoutingID>'>           
*S**  02 #CODID        (A8)  INIT <'00000001'>  
*S**  02 #CODID-E      (A12) INIT <'</RoutingID>'>          
*S**  02 #FILLER       (A69)        
*S**01 #COD-END         
*S**  02 #COD-E        (A6)  INIT <'</COD>'>    
*S**  02 #FILLER       (A94)        
*S**01 #DEST-END        
*S**  02 #DEST-E       (A14) INIT <'</Destination>'>        
*S**  02 #FILLER       (A86)        
*S***       
*S**01 #SOFTWARE-BEG    
*S**  02 #SOFTWARE-S   (A10) INIT <'<Software>'>
*S**  02 #FILLER       (A90)        
*S**01 #SW-PROVIDER-OUT 
*S**  02 #SW-PROVIDER-S(A18) INIT <'<SoftwareProvider>'>    
*S**  02 #SW-PROVIDER  (A9)  INIT <'WolffPack'> 
*S**  02 #SW-PROVIDER-E(A19) INIT <'</SoftwareProvider>'>   
*S**  02 #FILLER       (A54)        
*S**01 #SW-VERSION-OUT  
*S**  02 #SW-VERSION-S (A17) INIT <'<SoftwareVersion>'>     
*S**  02 #SW-VERSION   (A6)  INIT <'FIN-V1'>    
*S**  02 #SW-VERSION-E (A18) INIT <'</SoftwareVersion>'>    
*S**  02 #FILLER       (A59)        
*S**01 #SOFTWARE-END    
*S**  02 #SOFTWARE-E   (A11) INIT <'</Software>'>           
*S**  02 #FILLER       (A89)        
*S**01 #FULLRESP-OUT    
*S**  02 #FULL-RESP-S  (A18) INIT <'<FullResponseCode>'>    
*S**  02 #FULL-RESP    (A1)  INIT <'F'>         
*S**  02 #FULL-RESP-E  (A19) INIT <'</FullResponseCode>'>   
*S**  02 #FILLER       (A62)        
*S**01 #TRANSDATA-END   
*S**  02 #TRANSDATA-E  (A19) INIT <'</TransmissionData>'>   
*S**  02 #FILLER       (A81)        
*S***       
*S*** ENTITY BLOCK      
*S***       
*S**01 #RPTSCHL-BEG     
*S**  02 #RPTSCHL-S    (A17) INIT <'<ReportingSchool>'>     
*S**  02 #FILLER       (A83)        
*S**01 #RPTSCHL-OUT     
*S**  02 #RPTSCHLID-S  (A11) INIT <'<RoutingID>'>           
*S**  02 #RPTSCHLID    (A8)         
*S**  02 #RPTSCHLID-E  (A12) INIT <'</RoutingID>'>          
*S**  02 #FILLER       (A69)        
*S***       
*S**01 #RPT-SUMMARY-BEG 
*S**  02 #RPTSUMM      (A26) INIT <'<ReportedFinancialSummary>'>        
*S**  02 #FILLER       (A74)        
*S**01 #FINTYPE-OUT    (A100)       
*S**01 #FINTYPE-OUT-PELL
*S**  02 #FINAWD-PELL-S(A20) INIT <'<FinancialAwardType>'>  
*S**  02 #FINAWD-PELL  (A4)  INIT <'Pell'>      
*S**  02 #FINAWD-PELL-E(A21) INIT <'</FinancialAwardType>'> 
*S**  02 #FILLER       (A55)        
*S**01 REDEFINE #FINTYPE-OUT-PELL   
*S**  02 #FINTYPE-PELL (A100)       
*S**01 #FINTYPE-OUT-TEACH           
*S**  02 #FINAWD-TEACH-S(A20) INIT <'<FinancialAwardType>'> 
*S**  02 #FINAWD-TEACH  (A5)  INIT <'TEACH'>    
*S**  02 #FINAWD-TEACH-E(A21) INIT <'</FinancialAwardType>'>
*S**  02 #FILLER        (A54)       
*S**01 REDEFINE #FINTYPE-OUT-TEACH  
*S**  02 #FINTYPE-TEACH(A100)       
*S**01 #FINAWD-OUT      
*S**  02 #FINAWD-YR-S  (A20) INIT <'<FinancialAwardYear>'>  
*S**  02 #FINAWD-YR    (A4)         
*S**  02 #FINAWD-YR-E  (A21) INIT <'</FinancialAwardYear>'> 
*S**  02 #FILLER       (A55)        
*S**01 #COUNT-OUT       
*S**  02 #TOT-COUNT-S  (A12) INIT <'<TotalCount>'>          
*S**  02 #TOT-COUNT    (A9)         
*S**  02 #TOT-COUNT-E  (A13) INIT <'</TotalCount>'>         
*S**  02 #FILLER       (A66)        
*S**01 #TOTAWD-OUT      
*S**  02 #TOT-RPT-AWD-S(A20) INIT <'<TotalReportedAward>'>  
*S**  02 #TOT-RPT-AWD  (A16)        
*S**  02 #TOT-RPT-AWD-E(A21) INIT <'</TotalReportedAward>'> 
*S**  02 #FILLER       (A43)        
*S**01 #TOTDSB-OUT      
*S**  02 #TOT-RPT-DSB-S(A27) INIT <'<TotalReportedDisbursement>'>       
*S**  02 #TOT-RPT-DSB  (A16)        
*S**  02 #TOT-RPT-DSB-E(A28) INIT <'</TotalReportedDisbursement>'>      
*S**  02 #FILLER       (A29)        
*S**01 #RPT-SUMMARY-END 
*S**  02 #RPT-SUMM-E   (A27) INIT <'</ReportedFinancialSummary>'>       
*S**  02 #FILLER       (A73)        
*S***       
*S**01 #ATTSCHL-BEG     
*S**  02 #ATTSCHL-S    (A16) INIT <'<AttendedSchool>'>      
*S**  02 #FILLER       (A84)        
*S**01 #ATTSCHL-OUT     
*S**  02 #ATTSCHLID-S  (A11) INIT <'<RoutingID>'>           
*S**  02 #ATTSCHLID    (A8)         
*S**  02 #ATTSCHLID-E  (A12) INIT <'</RoutingID>'>          
*S**  02 #FILLER       (A69)        
*S***       
*S*** PERSON BLOCK      
*S***       
*S**01 #STUDENT-BEG     
*S**  02 #STUDENT-S    (A9)  INIT <'<Student>'> 
*S**  02 #FILLER       (A91)        
*S**01 #STUINDEX-BEG    
*S**  02 #STUINDEX-S   (A7)  INIT <'<Index>'>   
*S**  02 #FILLER       (A93)        
*S**01 #STUDENT-SSN-OUT 
*S**  02 #STU-SSN-S    (A5)  INIT <'<SSN>'>     
*S**  02 #STU-SSN      (A9)         
*S**  02 #STU-SSN-E    (A6)  INIT <'</SSN>'>    
*S**  02 #FILLER       (A80)        
*S**01 #STUDENT-DOB-OUT 
*S**  02 #STU-DOB-S    (A11) INIT <'<BirthDate>'>           
*S**  02 #STU-DOB      (A10)        
*S**  02 #STU-DOB-E    (A12) INIT <'</BirthDate>'>          
*S**  02 #FILLER       (A67)        
*S**01 #STUDENT-LAST-OUT
*S**  02 #STU-LAST-S   (A10) INIT <'<LastName>'>
*S**  02 #STU-LAST     (A35)        
*S**  02 #STU-LAST-E   (A11) INIT <'</LastName>'>           
*S**  02 #FILLER       (A44)        
*S**01 #STUINDEX-END    
*S**  02 #STUINDEX-E   (A8)  INIT <'</Index>'>  
*S**  02 #FILLER       (A92)        
*S***       
*S**01 #STU-PERSID-BEG  
*S**  02 #STU-PERSID-S (A19) INIT <'<PersonIdentifiers>'>   
*S**  02 #FILLER       (A81)        
*S**01 #STUDENT-SID-OUT 
*S**  02 #STU-SID-S    (A24) INIT <'<SchoolAssignedPersonID>'>          
*S**  02 #STU-SID      (A9)         
*S**  02 #STU-SID-E    (A25) INIT <'</SchoolAssignedPersonID>'>         
*S**  02 #FILLER       (A42)        
*S**01 #STU-PERSID-END  
*S**  02 #STU-PERSID-E (A20) INIT <'</PersonIdentifiers>'>  
*S**  02 #FILLER       (A80)        
*S***       
*S**01 #STU-NAME-BEG    
*S**  02 #STU-NAME-S   (A6)  INIT <'<Name>'>    
*S**  02 #FILLER       (A94)        
*S**01 #STU-FIRST-OUT   
*S**  02 #STU-FIRST-S  (A11) INIT <'<FirstName>'>           
*S**  02 #STU-FIRST    (A35)        
*S**  02 #STU-FIRST-E  (A12) INIT <'</FirstName>'>          
*S**  02 #FILLER       (A42)        
*S**01 #STU-MI-OUT      
*S**  02 #STU-MI-S     (A12) INIT <'<MiddleName>'>          
*S**  02 #STU-MI       (A35)        
*S**  02 #STU-MI-E     (A13) INIT <'</MiddleName>'>         
*S**  02 #FILLER       (A40)        
*S**01 #STU-NAME-END    
*S**  02 #STU-NAME-E   (A7) INIT <'</Name>'>    
*S**  02 #FILLER       (A93)        
*S***       
*S**01 #STU-CONTACT-BEG 
*S**  02 #STU-CONT-S   (A10) INIT <'<Contacts>'>
*S**  02 #FILLER       (A90)        
*S**01 #STU-ADDRESS-BEG 
*S**  02 #STU-ADDR-S   (A18) INIT <'<PermanentAddress>'>    
*S**  02 #FILLER       (A82)        
*S**01 #STU-STREET-OUT  
*S**  02 #STU-STRT-S   (A13) INIT <'<AddressLine>'>         
*S**  02 #STU-STRT     (A40)        
*S**  02 #STU-STRT-E   (A14) INIT <'</AddressLine>'>        
*S**  02 #FILLER       (A33)        
*S**01 #STU-CITY-OUT    
*S**  02 #STU-CITY-S   (A6)  INIT  <'<City>'>   
*S**  02 #STU-CITY     (A30)        
*S**  02 #STU-CITY-E   (A7)  INIT  <'</City>'>  
*S**  02 #FILLER       (A57)        
*S**01 #STU-STATE-OUT   
*S**  02 #STU-STATE-S  (A19) INIT <'<StateProvinceCode>'>   
*S**  02 #STU-STATE    (A2)         
*S**  02 #STU-STATE-E  (A20) INIT <'</StateProvinceCode>'>  
*S**  02 #FILLER       (A59)        
*S**01 #STU-COUNTRY-OUT 
*S**  02 #STU-CNTRY-S  (A13) INIT <'<CountryCode>'>         
*S**  02 #STU-CNTRY    (A2)         
*S**  02 #STU-CNTRY-E  (A14) INIT <'</CountryCode>'>        
*S**  02 #FILLER       (A71)        
*S**01 #STU-ZIP-OUT     
*S**  02 #STU-ZIP-S    (A12) INIT <'<PostalCode>'>          
*S**  02 #STU-ZIP      (A10)        
*S**  02 #STU-ZIP-E    (A13) INIT <'</PostalCode>'>         
*S**  02 #FILLER       (A65)        
*S**01 #STU-ADDRESS-END 
*S**  02 #STU-ADDR-E   (A19) INIT <'</PermanentAddress>'>   
*S**  02 #FILLER       (A81)        
*S**01 #STU-CONTACT-END 
*S**  02 #STU-CONT-E   (A11) INIT <'</Contacts>'>           
*S**  02 #FILLER       (A89)        
*S***       
*S**01 #STU-CIT-BEG     
*S**  02 #STU-CITIZ-S  (A13) INIT <'<Citizenship>'>         
*S**  02 #FILLER       (A87)        
*S**01 #STU-CIT-OUT     
*S**  02 #STU-CIT-S    (A23) INIT <'<CitizenshipStatusCode>'>           
*S**  02 #STU-CIT      (A1)         
*S**  02 #STU-CIT-E    (A24) INIT <'</CitizenshipStatusCode>'>          
*S**  02 #FILLER       (A52)        
*S**01 #STU-CIT-END     
*S**  02 #STU-CITIZ-E  (A14) INIT <'</Citizenship>'>        
*S**  02 #FILLER       (A86)        
*S***       
*S*** AWARD BLOCK       
*S***       
*S**01 #AWD-BEG         
*S**  02 #AWD-TAG      (A30)        
*S**  02 #FILLER       (A70)        
*S***       
*S**01 #FG-PELL        (A30) INIT <'<Pell>'>    
*S**01 #FG-TEACH       (A30) INIT <'<TEACH>'>   
*S***       
*S**01 #AWD-END         
*S**  02 #AWD-TAG-END  (A31)        
*S**  02 #FILLER       (A69)        
*S***       
*S**01 #FG-PELL-END    (A31) INIT <'</Pell>'>   
*S**01 #FG-TEACH-END   (A31) INIT <'</TEACH>'>  
*S***       
*S**01 #AWARD-YR-OUT    
*S**  02 #FIN-AWDYR-S  (A20) INIT <'<FinancialAwardYear>'>  
*S**  02 #FIN-AWDYR    (A4)         
*S**  02 #FIN-AWDYR-E  (A21) INIT <'</FinancialAwardYear>'> 
*S**  02 #FILLER       (A55)        
*S**01 #FPSTRAN-OUT     
*S**  02 #FPS-TRAN-S   (A22) INIT <'<FPSTransactionNumber>'>
*S**  02 #FPS-TRAN     (A2)         
*S**  02 #FPS-TRAN-E   (A23) INIT <'</FPSTransactionNumber>'>           
*S**  02 #FILLER       (A53)        
*S***       
*S**01 #AWD-AMT-OUT     
*S**  02 #FIN-AWD-AMT-S(A22) INIT <'<FinancialAwardAmount>'>
*S**  02 #FIN-AWD-AMT  (A8)         
*S**  02 #FIN-AWD-AMT-E(A23) INIT <'</FinancialAwardAmount>'>           
*S**  02 #FILLER       (A47)        
*S**01 #AWARD-UPD-BEG   
*S**  02 #AWDNOTE-S    (A6)  INIT <'<Note>'>    
*S**  02 #FILLER       (A94)        
*S**01 #AWARD-UPD-OUT   
*S**  02 #AWARD-UPD-S  (A19) INIT <'<SchoolNoteMessage>'>   
*S**  02 #AWARD-UPD    (A4)         
*S**  02 #AWARD-UPD-E  (A20) INIT <'</SchoolNoteMessage>'>  
*S**  02 #FILLER       (A57)        
*S**01 #AWARD-UPD-END   
*S**  02 #AWDNOTE-E    (A7)  INIT <'</Note>'>   
*S**  02 #FILLER       (A93)        
*S**01 #AWARD-ID-OUT    
*S**  02 #AWARD-ID-S   (A18) INIT <'<FinancialAwardID>'>    
*S**  02 #AWARD-ID     (A21)        
*S**  02 #AWARD-ID-E   (A19) INIT <'</FinancialAwardID>'>   
*S**  02 #FILLER       (A42)        
*S**01 #AWARD-NUM-OUT   
*S**  02 #AWARD-NUM-S  (A22) INIT <'<FinancialAwardNumber>'>
*S**  02 #AWARD-NUM    (N3)         
*S**  02 #AWARD-NUM-E  (A23) INIT <'</FinancialAwardNumber>'>           
*S**  02 #FILLER       (A52)        
*S**01 #YR-COL-OUT      
*S**  02 #YR-COL-S     (A18) INIT <'<StudentLevelCode>'>    
*S**  02 #YR-COL       (A1)         
*S**  02 #YR-COL-E     (A19) INIT <'</StudentLevelCode>'>   
*S**  02 #FILLER       (A62)        
*S**01 #COST-OUT        
*S**  02 #COST-S       (A16) INIT <'<AttendanceCost>'>      
*S**  02 #COST         (A8)         
*S**  02 #COST-E       (A17) INIT <'</AttendanceCost>'>     
*S**  02 #FILLER       (A59)        
*S**01 #VERSTAT-OUT     
*S**  02 #VERSTAT-S    (A24) INIT <'<VerificationStatusCode>'>          
*S**  02 #VERSTAT      (A1)         
*S**  02 #VERSTAT-E    (A25) INIT <'</VerificationStatusCode>'>         
*S**  02 #FILLER       (A50)        
*S**01 #ENR-OUT         
*S**  02 #ENR-DT-S     (A16) INIT <'<EnrollmentDate>'>      
*S**  02 #ENR-DT       (A10)        
*S**  02 #ENR-DT-E     (A17) INIT <'</EnrollmentDate>'>     
*S**  02 #FILLER       (A57)        
*S***       
*S**01 #ATB-CODE-OUT    
*S**  02 #ATB-CODE-S   (A24) INIT <'<StudentEligibilityCode>'>          
*S**  02 #ATB-CODE     (A2)         
*S**  02 #ATB-CODE-E   (A25) INIT <'</StudentEligibilityCode>'>         
*S**  02 #FILLER       (A49)        
*S**01 #ATB-ADMN-OUT    
*S**  02 #ATB-ADMN-S   (A39)        
*S**                   INIT <'<AbilityToBenefitTestAdministratorCode>'> 
*S**  02 #ATB-ADMN     (A2)         
*S**  02 #ATB-ADMN-E   (A40)        
*S**                   INIT <'</AbilityToBenefitTestAdministratorCode>'>
*S**  02 #FILLER       (A19)        
*S**01 #ATB-TEST-OUT    
*S**  02 #ATB-TEST-S   (A26) INIT <'<AbilityToBenefitTestCode>'>        
*S**  02 #ATB-TEST     (A2)         
*S**  02 #ATB-TEST-E   (A27) INIT <'</AbilityToBenefitTestCode>'>       
*S**  02 #FILLER       (A45)        
*S**01 #ATB-DATE-OUT    
*S**  02 #ATB-DATE-S   (A32) INIT <'<AbilityToBenefitCompletionDate>'>  
*S**  02 #ATB-DATE     (A10)        
*S**  02 #ATB-DATE-E   (A33) INIT <'</AbilityToBenefitCompletionDate>'> 
*S**  02 #FILLER       (A25)        
*S**01 #ATB-STATE-OUT   
*S**  02 #ATB-STATE-S  (A27) INIT <'<AbilityToBenefitStateCode>'>       
*S**  02 #ATB-STATE    (A2)         
*S**  02 #ATB-STATE-E  (A28) INIT <'</AbilityToBenefitStateCode>'>      
*S**  02 #FILLER       (A43)        
*S***       
*S**01 #AEI-OUT         
*S**  02 #AEI-S        (A32) INIT <'<AdditionalEligibilityIndicator>'>  
*S**  02 #AEI          (A5)         
*S**  02 #AEI-E        (A33) INIT <'</AdditionalEligibilityIndicator>'> 
*S**  02 #FILLER       (A30)        
*S***       
*S*** DISB BLOCK        
*S**01 #DISB-NBR-OUT    
*S**  02 #DISB-NBR-S   (A22) INIT <'<Disbursement Number=@'>
*S**  02 #DISB-NBR     (N2)         
*S**  02 #DISB-NBR-E   (A2) INIT <'@>'>         
*S**  02 #FILLER       (A74)        
*S***       
*S**01 #DISB-DP-BEG     
*S**  02 #DPNOTE-S     (A6)  INIT <'<Note>'>    
*S**  02 #FILLER       (A94)        
*S**01 #DISB-DP-OUT     
*S**  02 #DISB-DP-S    (A19) INIT <'<SchoolNoteMessage>'>   
*S**  02 #DISB-DP      (A1)         
*S**  02 #DISB-DP-E    (A20) INIT <'</SchoolNoteMessage>'>  
*S**  02 #FILLER       (A60)        
*S**01 #DISB-DP-END     
*S**  02 #DPNOTE-S     (A7)  INIT <'</Note>'>   
*S**  02 #FILLER       (A93)        
*S***       
*S**01 #DISB-AMT-OUT    
*S**  02 #DISB-AMT-S   (A20) INIT <'<DisbursementAmount>'>  
*S**  02 #DISB-AMT     (A8)         
*S**  02 #DISB-AMT-E   (A21) INIT <'</DisbursementAmount>'> 
*S**  02 #FILLER       (A51)        
*S***       
*S**01 #DISB-DT-OUT     
*S**  02 #DISB-DT-S    (A18) INIT <'<DisbursementDate>'>    
*S**  02 #DISB-DT      (A10)        
*S**  02 #DISB-DT-E    (A19) INIT <'</DisbursementDate>'>   
*S**  02 #FILLER       (A53)        
*S***       
*S**01 #DISB-RLS-OUT    
*S**  02 #DISB-RLS-S   (A30) INIT <'<DisbursementReleaseIndicator>'>    
*S**  02 #DISB-RLS     (A5)         
*S**  02 #DISB-RLS-E   (A31) INIT <'</DisbursementReleaseIndicator>'>   
*S**  02 #FILLER       (A34)        
*S***       
*S**01 #DISB-SEQ-OUT    
*S**  02 #DISB-SEQ-S   (A28) INIT <'<DisbursementSequenceNumber>'>      
*S**  02 #DISB-SEQ     (N2)         
*S**  02 #DISB-SEQ-E   (A29) INIT <'</DisbursementSequenceNumber>'>     
*S**  02 #FILLER       (A41)        
*S***       
*S**01 #DISB-ENRSCH-OUT 
*S**  02 #DISB-ENRSCH-S(A22) INIT <'<EnrollmentSchoolCode>'>
*S**  02 #DISB-ENRSCH  (A8)         
*S**  02 #DISB-ENRSCH-E(A23) INIT <'</EnrollmentSchoolCode>'>           
*S**  02 #FILLER       (A47)        
*S***       
*S**01 #DISB-PAYPD-DATE-OUT         
*S**  02 #DISB-PAYPD-S(A24) INIT <'<PaymentPeriodStartDate>'>           
*S**  02 #DISB-PAYPD-DATE(A10)      
*S**  02 #DISB-PAYPD-E(A25) INIT <'</PaymentPeriodStartDate>'>          
*S***       
*S**01 #DISB-PAYPD-END-OUT          
*S**  02 #DISB-PAYPD-END-S(A22) INIT <'<PaymentPeriodEndDate>'>         
*S**  02 #DISB-PAYPD-END-DATE(A10)  
*S**  02 #DISB-PAYPD-END-E(A23) INIT <'</PaymentPeriodEndDate>'>        
*S***       
*S**01 #DISB-ENR-STATUS-OUT         
*S**  02 #DISB-ENR-STATUS-S(A18) INIT <'<EnrollmentStatus>'>
*S**  02 #DISB-ENR-STATUS(A1)       
*S**  02 #DISB-ENR-STATUS-E(A19) INIT <'</EnrollmentStatus>'>           
*S***       
*S**01 #DISB-ENR-INTENS-OUT         
*S**  02 #DISB-ENR-INTENS-S(A21) INIT <'<EnrollmentIntensity>'>         
*S**  02 #DISB-ENR-INTENS(N3)       
*S**  02 #DISB-ENR-INTENS-E(A22) INIT <'</EnrollmentIntensity>'>        
*S**  02 #FILLER (A54)  
*S***       
*S**01 #DISB-CIP-CODE-OUT           
*S**  02 #DISB-CIP-CODE-S(A16)   INIT <'<ProgramCIPCode>'>  
*S**  02 #DISB-CIP-CODE(A20)        
*S**  02 #DISB-CIP-CODE-E(A17)   INIT <'</ProgramCIPCode>'> 
*S**  02 #FILLER (A47)  
*S***       
*S**01 #PGM-LGTH-Y-OUT  
*S**  02 #PGM-LGTH-YRS-S(A25) INIT <'<PublishedPgmLengthYears>'>        
*S**  02 #PGM-LGTH-YRS (A7)         
*S**  02 #PGM-LGTH-YRS-E(A26) INIT <'</PublishedPgmLengthYears>'>       
*S**  02 #FILLER (A42)  
*S***       
*S**01 #PGM-LGTH-M-OUT  
*S**  02 #PGM-LGTH-MOS-S(A26) INIT <'<PublishedPgmLengthMonths>'>       
*S**  02 #PGM-LGTH-MOS(A7)          
*S**  02 #PGM-LGTH-MOS-E(A27) INIT <'</PublishedPgmLengthMonths>'>      
*S**  02 #FILLER (A39)  
*S***       
*S**01 #PGM-LGTH-W-OUT  
*S**  02 #PGM-LGTH-WKS-S(A25) INIT <'<PublishedPgmLengthWeeks>'>        
*S**  02 #PGM-LGTH-WKS(A7)          
*S**  02 #PGM-LGTH-WKS-E(A26) INIT <'</PublishedPgmLengthWeeks>'>       
*S**  02 #FILLER (A42)  
*S***       
*S**01 #PGM-ACAD-W-OUT  
*S**  02 #PGM-ACAD-WKS-S(A27) INIT <'<WeeksProgramsAcademicYear>'>      
*S**  02 #PGM-ACAD-WKS (A7)         
*S**  02 #PGM-ACAD-WKS-E(A28) INIT <'</WeeksProgramsAcademicYear>'>     
*S**  02 #FILLER (A38)  
*S***       
*S**01 #SPEC-PGM-OUT    
*S**  02 #SPEC-PGM-S(A17) INIT <'<SpecialPrograms>'>        
*S**  02 #SPEC-PGM (A1) 
*S**  02 #SPEC-PGM-E(A18) INIT <'</SpecialPrograms>'>       
*S**  02 #FILLER (A64)  
*S***       
*S**01 #CRED-LEVEL-OUT  
*S**  02 #CRED-LEV-S(A24) INIT <'<ProgramCredentialLevel>'> 
*S**  02 #CRED-LEV (A2) 
*S**  02 #CRED-LEV-E(A25) INIT <'</ProgramCredentialLevel>'>
*S**  02 #FILLER (A49)  
*S***       
*S**01 #DISB-CIP-CODE-YEAR-OUT      
*S**  02 #DISB-CIP-CODE-YEAR-S (A20) INIT <'<ProgramCIPCodeYear>'>      
*S**  02 #DISB-CIP-CODE-YEAR (A4)   
*S**  02 #DISB-CIP-CODE-YEAR-E(A21)  INIT <'</ProgramCIPCodeYear>'>     
*S**  02 #FILLER (A55)  
*S***       
*S**01 #DISB-END        
*S**  02 #DISB-E       (A15) INIT <'</Disbursement>'>       
*S**  02 #FILLER       (A85)        
*S***       
*S** 01 #STUDENT-END    
*S**   02 #STUDENT-E   (A10) INIT <'</Student>'>
*S**   02 #FILLER      (A90)        
*S** 01 #ATTSCHL-END    
*S**   02 #ATTSCHL-E   (A17) INIT <'</AttendedSchool>'>     
*S**   02 #FILLER      (A83)        
*S** 01 #RPTSCHL-END    
*S**   02 #RPTSCHL-E   (A18) INIT <'</ReportingSchool>'>    
*S**   02 #FILLER      (A82)        
*S** 01 #END-REC        
*S**   02 #COMMONREC-E (A15) INIT <'</CommonRecord>'>       
*S**   02 #FILLER(A85)  
*S***       
*S** 01 #PELL(L)        
*S** 01 #TEACH(L)       
*S***       
*S** 01 #SUMMARY-COUNTER (P7)       
*S** 01 #READ-COUNTER (P7)          
*S** 01 #WRITE-COUNTER (P7)         
*S** 01 #XML-COUNTER (P7)           
*S***       
*S** 01 #SUB (P3)       
*S** 01 #WORK-FIELD (A50)           
*S** 01 #LINE-OUT(A90)  
*S**END-DEFINE          
*S***       
*S*** Define printers, formats, headings        
*S**EJECT OFF(1)        
*S**FORMAT(1) LS=80 PS=60 ZP=ON IS=OFF ES=OFF SG=OFF        
*S***       
*S*** Load Parameters   
*S**MOVE ##PASS-TEMP TO PASS-BATCH-FLDS         
*S***       
*S**PERFORM TRANSLATE-QUOTES-TO-HEX 
*S**WRITE WORK FILE 3 VARIABLE #XML-LINE1       
*S**WRITE WORK FILE 3 VARIABLE #XML-LINE2       
*S**ADD 2 TO #XML-COUNTER           
*S***       
*S**PROG.   
*S**REPEAT  
*S**READ WORK FILE 1 WFFLS26D       
*S** IF (WFFLS26D.#EXPORT-PROGRAM NOT = 'Pell' AND          
*S**     WFFLS26D.#EXPORT-PROGRAM NOT = 'TEACH') OR         
*S**    WFFLS26D.#EXPORT-FAO NOT = #INPUT-FAO OR
*S**    WFFLS26D.#EXPORT-AIDYEAR NOT = #INPUT-AID-YEAR      
*S**   SKIP(1) 3        
*S**   WRITE(1) 3T 'Input parameters do not match summary file'         
*S**   SKIP(1) 1        
*S**   WRITE(1) 3T 'Correct invalid or missing parameters and re-run job'           
*S**   TERMINATE        
*S** END-IF 
*S** ADD 1 TO #SUMMARY-COUNTER      
*S***       
*S** IF #SUMMARY-COUNTER = 1        
*S**   PERFORM DOCUMENT-SETUP       
*S** END-IF 
*S** PERFORM RPT-SUMMARY-SETUP      
*S**END-WORK
*S***       
*S** WRITE WORK FILE 3 VARIABLE #ATTSCHL-BEG    
*S*** WRITE WORK FILE 3 VARIABLE #ATTSCHL-OUT   
*S** COMPRESS #ATTSCHLID-S #ATTSCHLID #ATTSCHLID-E  /* #ATTSCHL-OUT     
*S**   INTO #LINE-OUT LEAVING NO SPACE          
*S** WRITE WORK FILE 3 VARIABLE #LINE-OUT       
*S** ADD 2 TO #XML-COUNTER          
*S***       
*S**READ WORK FILE 2 WFFLE26D       
*S**  IF (WFFLE26D.#EXPORT-PROGRAM NOT = 'Pell' AND         
*S**      WFFLE26D.#EXPORT-PROGRAM NOT = 'TEACH') OR        
*S**     WFFLE26D.#EXPORT-FAO NOT = #INPUT-FAO OR           
*S**     WFFLE26D.#EXPORT-AIDYEAR NOT = #INPUT-AID-YEAR     
*S**    SKIP(1) 3       
*S**    WRITE(1) 3T 'Input parameters do not match student file'        
*S**    SKIP(1) 1       
*S**    WRITE(1) 3T 'Correct invalid or missing parameters and re-run job'          
*S**    TERMINATE       
*S**  END-IF
*S**  ADD 1 TO #READ-COUNTER        
*S***       
*S**  RESET #PELL #TEACH
*S**  RESET INITIAL #STUDENT-SSN-OUT #STUDENT-DOB-OUT       
*S**                #STUDENT-LAST-OUT #STUDENT-SID-OUT      
*S**                #STU-FIRST-OUT #STU-MI-OUT  
*S**                #STU-STREET-OUT #STU-CITY-OUT #STU-STATE-OUT        
*S**                #STU-COUNTRY-OUT #STU-ZIP-OUT           
*S**                #AWARD-YR-OUT #FPSTRAN-OUT #AWD-AMT-OUT 
*S**                #AWARD-UPD-OUT #AWARD-ID-OUT #AWARD-NUM-OUT         
*S**                #YR-COL-OUT #COST-OUT #VERSTAT-OUT #ENR-OUT         
*S**                #ATB-CODE-OUT #ATB-ADMN-OUT #ATB-TEST-OUT           
*S**                #ATB-DATE-OUT #ATB-STATE-OUT
*S**                #AEI-OUT        
*S**  PERFORM TRANSLATE-QUOTES-TO-HEX           
*S***       
*S**  PERFORM STUDENT-SETUP         
*S**  PERFORM AWARD-SETUP           
*S**  FOR #SUB = 1 TO 12
*S**    IF #E-DISB-NUMBER(#SUB) > 0 
*S**      PERFORM DISB-SETUP        
*S**      RESET INITIAL #DISB-NBR-OUT #DISB-AMT-OUT #DISB-DT-OUT        
*S**                    #DISB-RLS-OUT #DISB-SEQ-OUT #DISB-DP-OUT        
*S**      PERFORM TRANSLATE-QUOTES-TO-HEX       
*S**    ELSE
*S**      ESCAPE BOTTOM 
*S**    END-IF          
*S**  END-FOR           
*S**  WRITE WORK FILE 3 VARIABLE #AWD-TAG-END   
*S**  WRITE WORK FILE 3 VARIABLE #STUDENT-END   
*S**  ADD 2 TO #XML-COUNTER         
*S**  ADD 1 TO #WRITE-COUNTER       
*S***       
*S**  IF (#INPUT-RUNMODE = 'TRIAL' OR = 'SAMPLE') AND       
*S**      #INPUT-LIMIT-COUNT > 0    
*S**    IF #WRITE-COUNTER GE #INPUT-LIMIT-COUNT 
*S**      ESCAPE BOTTOM IMMEDIATE   
*S**    END-IF          
*S**  END-IF
*S**END-WORK
*S***       
*S**WRITE WORK FILE 3 VARIABLE #ATTSCHL-END     
*S**WRITE WORK FILE 3 VARIABLE #RPTSCHL-END     
*S**WRITE WORK FILE 3 VARIABLE #END-REC         
*S**ADD 3 TO #XML-COUNTER           
*S**ESCAPE BOTTOM (PROG.) IMMEDIATE 
*S**END-REPEAT          
*S***       
*S*** Print job statistics          
*S**  WRITE(1) NOTITLE  
*S**    15T 'FINANCIER processing:' /           
*S**    17T 'Summary records read:' 
*S**                        (I) 55T #SUMMARY-COUNTER (EM=Z,ZZZ,ZZ9) /   
*S**    17T 'Student records read:' 
*S**                        (I) 55T #READ-COUNTER (EM=Z,ZZZ,ZZ9) //     
*S**    17T 'Student records exported:'         
*S**                        (I) 55T #WRITE-COUNTER (EM=Z,ZZZ,ZZ9) /     
*S**    17T 'XML lines written:'    
*S**                        (I) 55T #XML-COUNTER (EM=Z,ZZZ,ZZ9) /       
*S***       
*S***       
*S*************************************************************************         
*S**DEFINE SUBROUTINE DOCUMENT-SETUP
*S*************************************************************************         
*S**  MOVE EDITED *DATX(EM=YYYY-MM-DD) TO #DOCID-DT         
*S**  MOVE #DOCID-DT  TO #CRT-DATE  
*S**  MOVE *TIME TO #DOCID-TM       
*S**                #CRT-TIME       
*S**  MOVE WFFLS26D.#EXPORT-ENTITY  TO #SCHOOLID
*S**                                   #DOCID-SCHL          
*S**                                   #RPTSCHLID           
*S**                                   #ATTSCHLID           
*S**  MOVE 'T'   TO #DOCID-T        
*S**                #CRT-T          
*S**  MOVE '0'   TO #DOCID-SEC      
*S**                #CRT-SEC        
*S***       
*S**  WRITE WORK FILE 3 VARIABLE #TRANSDATA-BEG 
*S*** WRITE WORK FILE 3 VARIABLE #DOC-OUT       
*S**  MOVE LEFT JUSTIFIED #DOCID-DT TO #DOCID-DT  /* #DOC-OUT           
*S**  COMPRESS #DOCID-S #DOCUMENT-ID #DOCID-E     /* #DOC-OUT           
*S**    INTO #LINE-OUT LEAVING NO SPACE         
*S**  WRITE WORK FILE 3 VARIABLE #LINE-OUT      
*S**  WRITE WORK FILE 3 VARIABLE #CREATE-OUT    
*S**  WRITE WORK FILE 3 VARIABLE #SOURCE-BEG    
*S**  WRITE WORK FILE 3 VARIABLE #SCHOOL-BEG    
*S*** WRITE WORK FILE 3 VARIABLE #SCHOOL-OUT    
*S**  COMPRESS #SCHOOLID-S #SCHOOLID #SCHOOLID-E   /* #SCHOOL-OUT       
*S**    INTO #LINE-OUT LEAVING NO SPACE         
*S**  WRITE WORK FILE 3 VARIABLE #LINE-OUT      
*S**  WRITE WORK FILE 3 VARIABLE #SCHOOL-END    
*S**  WRITE WORK FILE 3 VARIABLE #SOURCE-END    
*S**  WRITE WORK FILE 3 VARIABLE #DEST-BEG      
*S**  WRITE WORK FILE 3 VARIABLE #COD-BEG       
*S**  WRITE WORK FILE 3 VARIABLE #COD-OUT       
*S**  WRITE WORK FILE 3 VARIABLE #COD-END       
*S**  WRITE WORK FILE 3 VARIABLE #DEST-END      
*S**  WRITE WORK FILE 3 VARIABLE #SOFTWARE-BEG  
*S**  WRITE WORK FILE 3 VARIABLE #SW-PROVIDER-OUT           
*S**  WRITE WORK FILE 3 VARIABLE #SW-VERSION-OUT
*S**  WRITE WORK FILE 3 VARIABLE #SOFTWARE-END  
*S**  WRITE WORK FILE 3 VARIABLE #FULLRESP-OUT  
*S**  WRITE WORK FILE 3 VARIABLE #TRANSDATA-END 
*S**  WRITE WORK FILE 3 VARIABLE #RPTSCHL-BEG   
*S*** WRITE WORK FILE 3 VARIABLE #RPTSCHL-OUT   
*S**  COMPRESS #RPTSCHLID-S #RPTSCHLID #RPTSCHLID-E   /* #RPTSCHL-OUT   
*S**    INTO #LINE-OUT LEAVING NO SPACE         
*S**  WRITE WORK FILE 3 VARIABLE #LINE-OUT      
*S**  ADD 21 TO #XML-COUNTER        
*S**END-SUBROUTINE /* DOCUMENT-SETUP
*S***       
*S*************************************************************************         
*S**DEFINE SUBROUTINE RPT-SUMMARY-SETUP         
*S*************************************************************************         
*S**  IF #E-SUMM-STUDENT > 0        
*S**    DECIDE ON FIRST VALUE OF WFFLS26D.#EXPORT-PROGRAM   
*S**      VALUE 'Pell'  
*S**        MOVE #FINTYPE-PELL TO #FINTYPE-OUT  
*S**      VALUE 'TEACH' 
*S**        MOVE #FINTYPE-TEACH TO #FINTYPE-OUT 
*S**      NONE          
*S**        IGNORE      
*S**    END-DECIDE      
*S**    MOVE WFFLS26D.#EXPORT-AIDYEAR TO #FINAWD-YR         
*S**    MOVE EDITED #E-SUMM-STUDENT(EM=ZZZZZZZZ9) TO #TOT-COUNT         
*S**    MOVE EDITED #E-SUMM-AWARD(EM=ZZZZZZZZZZZZ9.99)  TO #TOT-RPT-AWD 
*S**    MOVE EDITED #E-SUMM-DISB(EM=ZZZZZZZZZZZZ9.99)   TO #TOT-RPT-DSB 
*S***       
*S**    WRITE WORK FILE 3 VARIABLE #RPT-SUMMARY-BEG         
*S**    WRITE WORK FILE 3 VARIABLE #FINTYPE-OUT 
*S**    WRITE WORK FILE 3 VARIABLE #FINAWD-OUT  
*S***   WRITE WORK FILE 3 VARIABLE #COUNT-OUT   
*S**    MOVE LEFT JUSTIFIED #TOT-COUNT TO #TOT-COUNT      /* #COUNT-OUT 
*S**    COMPRESS #TOT-COUNT-S #TOT-COUNT #TOT-COUNT-E     /* #COUNT-OUT 
*S**      INTO #LINE-OUT LEAVING NO SPACE       
*S**    WRITE WORK FILE 3 VARIABLE #LINE-OUT    
*S***   WRITE WORK FILE 3 VARIABLE #TOTAWD-OUT  
*S**    MOVE LEFT JUSTIFIED #TOT-RPT-AWD TO #TOT-RPT-AWD    /* #TOTAWD-OUT          
*S**    COMPRESS #TOT-RPT-AWD-S #TOT-RPT-AWD #TOT-RPT-AWD-E /* #TOTAWD-OUT          
*S**      INTO #LINE-OUT LEAVING NO SPACE       
*S**    WRITE WORK FILE 3 VARIABLE #LINE-OUT    
*S***   WRITE WORK FILE 3 VARIABLE #TOTDSB-OUT  
*S**    MOVE LEFT JUSTIFIED #TOT-RPT-DSB TO #TOT-RPT-DSB    /* #TOTDSB-OUT          
*S**    COMPRESS #TOT-RPT-DSB-S #TOT-RPT-DSB #TOT-RPT-DSB-E /* #TOTDSB-OUT          
*S**      INTO #LINE-OUT LEAVING NO SPACE       
*S**    WRITE WORK FILE 3 VARIABLE #LINE-OUT    
*S**    WRITE WORK FILE 3 VARIABLE #RPT-SUMMARY-END         
*S**    ADD 7 TO #XML-COUNTER       
*S**  END-IF
*S**END-SUBROUTINE /* RPT-SUMMARY-SETUP         
*S***       
*S*************************************************************************         
*S**DEFINE SUBROUTINE STUDENT-SETUP 
*S*************************************************************************         
*S**  MOVE #E-ORIG-SSN        TO #STU-SSN       
*S**  MOVE EDITED #E-ORIG-DOB(EM=YYYY-MM-DD) TO #STU-DOB    
*S**  MOVE #E-ORIG-LAST       TO #STU-LAST      
*S**  MOVE #E-ORIG-STUDENT-ID TO #STU-SID       
*S**  MOVE #E-ORIG-FIRST      TO #STU-FIRST     
*S**  MOVE #E-ORIG-MI         TO #STU-MI        
*S**  MOVE #E-ORIG-AD-STRT TO #WORK-FIELD       
*S**  EXAMINE #WORK-FIELD '&' REPLACE '&amp;'   
*S**  EXAMINE #WORK-FIELD SINGLE-QUOTE REPLACE '&apos;'     
*S**  MOVE #WORK-FIELD        TO #STU-STRT      
*S**  MOVE #E-ORIG-AD-CITY TO #WORK-FIELD       
*S**  EXAMINE #WORK-FIELD '&' REPLACE '&amp;'   
*S**  EXAMINE #WORK-FIELD SINGLE-QUOTE REPLACE '&apos;'     
*S**  MOVE #WORK-FIELD        TO #STU-CITY      
*S**  MOVE #E-ORIG-AD-STATE   TO #STU-STATE     
*S**  MOVE #E-ORIG-AD-ZIP     TO #STU-ZIP       
*S**  MOVE #E-ORIG-CIT        TO #STU-CIT       
*S***       
*S**  WRITE WORK FILE 3 VARIABLE #STUDENT-BEG   
*S**  WRITE WORK FILE 3 VARIABLE #STUINDEX-BEG  
*S**  WRITE WORK FILE 3 VARIABLE #STUDENT-SSN-OUT           
*S**  WRITE WORK FILE 3 VARIABLE #STUDENT-DOB-OUT           
*S*** WRITE WORK FILE 3 VARIABLE #STUDENT-LAST-OUT          
*S**  COMPRESS #STU-LAST-S #STU-LAST #STU-LAST-E /* #STUDENT-LAST-OUT   
*S**    INTO #LINE-OUT LEAVING NO SPACE         
*S**  WRITE WORK FILE 3 VARIABLE #LINE-OUT      
*S**  WRITE WORK FILE 3 VARIABLE #STUINDEX-END  
*S**  WRITE WORK FILE 3 VARIABLE #STU-PERSID-BEG
*S**  WRITE WORK FILE 3 VARIABLE #STUDENT-SID-OUT           
*S**  WRITE WORK FILE 3 VARIABLE #STU-PERSID-END
*S**  WRITE WORK FILE 3 VARIABLE #STU-NAME-BEG  
*S*** WRITE WORK FILE 3 VARIABLE #STU-FIRST-OUT 
*S**  COMPRESS #STU-FIRST-S #STU-FIRST #STU-FIRST-E /* #STU-FIRST-OUT   
*S**    INTO #LINE-OUT LEAVING NO SPACE         
*S**  WRITE WORK FILE 3 VARIABLE #LINE-OUT      
*S*** WRITE WORK FILE 3 VARIABLE #STU-MI-OUT    
*S**  IF #STU-MI NE ' ' 
*S**    COMPRESS #STU-MI-S #STU-MI #STU-MI-E          /* #STU-MI-OUT    
*S**      INTO #LINE-OUT LEAVING NO SPACE       
*S**    WRITE WORK FILE 3 VARIABLE #LINE-OUT    
*S**    ADD 1 TO #XML-COUNTER       
*S**  END-IF
*S**  WRITE WORK FILE 3 VARIABLE #STU-NAME-END  
*S**  WRITE WORK FILE 3 VARIABLE #STU-CONTACT-BEG           
*S**  WRITE WORK FILE 3 VARIABLE #STU-ADDRESS-BEG           
*S*** WRITE WORK FILE 3 VARIABLE #STU-STREET-OUT
*S**  COMPRESS #STU-STRT-S #STU-STRT #STU-STRT-E   /*#STU-STRT-E        
*S**    INTO #LINE-OUT LEAVING NO SPACE         
*S**  WRITE WORK FILE 3 VARIABLE #LINE-OUT      
*S*** WRITE WORK FILE 3 VARIABLE #STU-CITY-OUT  
*S**  COMPRESS #STU-CITY-S #STU-CITY #STU-CITY-E /* #STU-CITY-OUT       
*S**    INTO #LINE-OUT LEAVING NO SPACE         
*S**  WRITE WORK FILE 3 VARIABLE #LINE-OUT      
*S*** WRITE WORK FILE 3 VARIABLE #STU-STATE-OUT 
*S**  COMPRESS #STU-STATE-S #STU-STATE #STU-STATE-E   /* #STU-STATE-OUT 
*S**    INTO #LINE-OUT LEAVING NO SPACE         
*S**  WRITE WORK FILE 3 VARIABLE #LINE-OUT      
*S*** WRITE WORK FILE 3 VARIABLE #STU-ZIP-OUT   
*S**  COMPRESS #STU-ZIP-S #STU-ZIP #STU-ZIP-E /* #STU-ZIP-OUT           
*S**    INTO #LINE-OUT LEAVING NO SPACE         
*S**  WRITE WORK FILE 3 VARIABLE #LINE-OUT      
*S**  WRITE WORK FILE 3 VARIABLE #STU-ADDRESS-END           
*S**  WRITE WORK FILE 3 VARIABLE #STU-CONTACT-END           
*S**  WRITE WORK FILE 3 VARIABLE #STU-CIT-BEG   
*S*** WRITE WORK FILE 3 VARIABLE #STU-CIT-OUT   
*S**  COMPRESS #STU-CIT-S #STU-CIT #STU-CIT-E     /* #STU-CIT-OUT       
*S**    INTO #LINE-OUT LEAVING NO SPACE         
*S**  WRITE WORK FILE 3 VARIABLE #LINE-OUT      
*S**  WRITE WORK FILE 3 VARIABLE #STU-CIT-END   
*S**  ADD 23 TO #XML-COUNTER        
*S**END-SUBROUTINE /* STUDENT-SETUP 
*S***       
*S*************************************************************************         
*S**DEFINE SUBROUTINE AWARD-SETUP   
*S*************************************************************************         
*S**  DECIDE ON FIRST VALUE OF WFFLE26D.#EXPORT-PROGRAM     
*S**    VALUE 'Pell'    
*S**      ASSIGN #PELL  = TRUE      
*S**      MOVE #FG-PELL      TO #AWD-TAG        
*S**      MOVE #FG-PELL-END  TO #AWD-TAG-END    
*S**    VALUE 'TEACH'   
*S**      ASSIGN #TEACH = TRUE      
*S**      MOVE #FG-TEACH     TO #AWD-TAG        
*S**      MOVE #FG-TEACH-END TO #AWD-TAG-END    
*S**    NONE
*S**      IGNORE        
*S**  END-DECIDE        
*S***       
*S**  MOVE WFFLE26D.#EXPORT-AIDYEAR               TO #FIN-AWDYR         
*S**  MOVE #E-ORIG-TRANS-NO                       TO #FPS-TRAN          
*S**  MOVE EDITED #E-ORIG-AWARD(EM=ZZZZ9.99)      TO #FIN-AWD-AMT       
*S**  MOVE #E-ORIG-UPDATE                         TO #AWARD-UPD         
*S**  MOVE #E-ORIG-GRANT-ID                       TO #AWARD-ID          
*S**  MOVE #E-ORIG-GRANT-NUM                      TO #AWARD-NUM         
*S**  MOVE #E-ORIG-YR-COL                         TO #YR-COL
*S**  MOVE EDITED #E-ORIG-BUDGET(EM=ZZZZ9.99)     TO #COST  
*S**  MOVE #E-ORIG-VER-STATUS                     TO #VERSTAT           
*S**  MOVE EDITED #E-ORIG-ENR-DATE(EM=YYYY-MM-DD) TO #ENR-DT
*S**  MOVE #E-ORIG-ATB-CODE                       TO #ATB-CODE          
*S**  MOVE #E-ORIG-ATB-ADMN                       TO #ATB-ADMN          
*S**  MOVE #E-ORIG-ATB-TEST                       TO #ATB-TEST          
*S**  MOVE EDITED #E-ORIG-ATB-DATE(EM=YYYY-MM-DD) TO #ATB-DATE          
*S**  MOVE #E-ORIG-ATB-STATE                      TO #ATB-STATE         
*S**  IF #E-ORIG-AEI = 'Y'          
*S**     MOVE 'true' TO #AEI        
*S**  ELSE  
*S**     MOVE 'false' TO #AEI       
*S**  END-IF
*S***       
*S**  WRITE WORK FILE 3 VARIABLE #AWD-BEG       
*S**  WRITE WORK FILE 3 VARIABLE #AWARD-YR-OUT  
*S**  WRITE WORK FILE 3 VARIABLE #FPSTRAN-OUT   
*S*** WRITE WORK FILE 3 VARIABLE #AWD-AMT-OUT   
*S**  MOVE LEFT JUSTIFIED #FIN-AWD-AMT TO #FIN-AWD-AMT    /* #AWD-AMT-OUT           
*S**  COMPRESS #FIN-AWD-AMT-S #FIN-AWD-AMT #FIN-AWD-AMT-E /* #AWD-AMT-OUT           
*S**    INTO #LINE-OUT LEAVING NO SPACE         
*S**  WRITE WORK FILE 3 VARIABLE #LINE-OUT      
*S**  WRITE WORK FILE 3 VARIABLE #AWARD-UPD-BEG 
*S**  WRITE WORK FILE 3 VARIABLE #AWARD-UPD-OUT 
*S**  WRITE WORK FILE 3 VARIABLE #AWARD-UPD-END 
*S**  ADD 7 TO #XML-COUNTER         
*S***       
*S**  IF #TEACH         
*S**    WRITE WORK FILE 3 VARIABLE #AWARD-NUM-OUT           
*S**    WRITE WORK FILE 3 VARIABLE #AWARD-ID-OUT
*S**    WRITE WORK FILE 3 VARIABLE #YR-COL-OUT  
*S**    ADD 3 TO #XML-COUNTER       
*S**  END-IF
*S***       
*S**  IF #PELL          
*S***   WRITE WORK FILE 3 VARIABLE #COST-OUT    
*S**    MOVE LEFT JUSTIFIED #COST TO #COST   /* #COST       
*S**    COMPRESS #COST-S #COST #COST-E       /* #COST       
*S**      INTO #LINE-OUT LEAVING NO SPACE       
*S**    WRITE WORK FILE 3 VARIABLE #LINE-OUT    
*S**    ADD 1 TO #XML-COUNTER       
*S**    IF #VERSTAT NE ' '          
*S**      WRITE WORK FILE 3 VARIABLE #VERSTAT-OUT           
*S**      ADD 1 TO #XML-COUNTER     
*S**    END-IF          
*S**  END-IF
*S***       
*S*** WRITE WORK FILE 3 VARIABLE #ENR-OUT       
*S**  MOVE LEFT JUSTIFIED #ENR-DT TO #ENR-DT      /* #ENR-OUT           
*S**  COMPRESS #ENR-DT-S #ENR-DT #ENR-DT-E        /* #ENR-OUT           
*S**    INTO #LINE-OUT LEAVING NO SPACE         
*S**  WRITE WORK FILE 3 VARIABLE #LINE-OUT      
*S**  ADD 1 TO #XML-COUNTER         
*S***       
*S**  IF #PELL          
*S***   WRITE WORK FILE 3 VARIABLE #AEI-OUT     
*S**    COMPRESS #AEI-S #AEI #AEI-E /* #AEI-OUT 
*S**      INTO #LINE-OUT LEAVING NO SPACE       
*S**    WRITE WORK FILE 3 VARIABLE #LINE-OUT    
*S**    ADD 1 TO #XML-COUNTER       
*S**  END-IF
*S***       
*S**  IF #ATB-CODE NE ' '           
*S***   WRITE WORK FILE 3 VARIABLE #ATB-CODE-OUT
*S**    COMPRESS #ATB-CODE-S #ATB-CODE #ATB-CODE-E /* #ATB-CODE-OUT     
*S**      INTO #LINE-OUT LEAVING NO SPACE       
*S**    WRITE WORK FILE 3 VARIABLE #LINE-OUT    
*S**    ADD 1 TO #XML-COUNTER       
*S**    IF #ATB-ADMN NE ' '         
*S***     WRITE WORK FILE 3 VARIABLE #ATB-ADMN-OUT          
*S**      COMPRESS #ATB-ADMN-S #ATB-ADMN #ATB-ADMN-E /* #ATB-ADMN-OUT   
*S**        INTO #LINE-OUT LEAVING NO SPACE     
*S**      WRITE WORK FILE 3 VARIABLE #LINE-OUT  
*S**      ADD 1 TO #XML-COUNTER     
*S**    END-IF          
*S**    IF #ATB-TEST NE ' '         
*S***     WRITE WORK FILE 3 VARIABLE #ATB-TEST-OUT          
*S**      COMPRESS #ATB-TEST-S #ATB-TEST #ATB-TEST-E /* #ATB-TEST-OUT   
*S**        INTO #LINE-OUT LEAVING NO SPACE     
*S**      WRITE WORK FILE 3 VARIABLE #LINE-OUT  
*S**      ADD 1 TO #XML-COUNTER     
*S**    END-IF          
*S**    IF #ATB-STATE NE ' '        
*S***     WRITE WORK FILE 3 VARIABLE #ATB-STATE-OUT         
*S**      COMPRESS #ATB-STATE-S #ATB-STATE #ATB-STATE-E /* #ATB-STATE-OUT           
*S**        INTO #LINE-OUT LEAVING NO SPACE     
*S**      WRITE WORK FILE 3 VARIABLE #LINE-OUT  
*S**      ADD 1 TO #XML-COUNTER     
*S**    END-IF          
*S**    IF #ATB-DATE NE ' '         
*S***     WRITE WORK FILE 3 VARIABLE #ATB-DATE-OUT          
*S**      COMPRESS #ATB-DATE-S #ATB-DATE #ATB-DATE-E /* #ATB-DATE-OUT   
*S**        INTO #LINE-OUT LEAVING NO SPACE     
*S**      WRITE WORK FILE 3 VARIABLE #LINE-OUT  
*S**      ADD 1 TO #XML-COUNTER     
*S**    END-IF          
*S**  END-IF
*S***       
*S**END-SUBROUTINE /* AWARD-SETUP   
*S***       
*S*************************************************************************         
*S**DEFINE SUBROUTINE DISB-SETUP    
*S*************************************************************************         
*S**  MOVE #E-DISB-NUMBER(#SUB) TO #DISB-NBR    
*S**  MOVE #E-DISB-DP(#SUB) TO #DISB-DP         
*S**  MOVE EDITED #E-DISB-AMOUNT(#SUB)(EM=ZZZZ9.99) TO #DISB-AMT        
*S**  MOVE EDITED #E-DISB-DATE(#SUB) (EM=YYYY-MM-DD) TO #DISB-DT        
*S**  IF #E-DISB-REL(#SUB) = 'Y'    
*S**     MOVE 'true' TO #DISB-RLS   
*S**  ELSE  
*S**     MOVE 'false' TO #DISB-RLS  
*S**  END-IF
*S**  MOVE #E-DISB-SEQ(#SUB)  TO #DISB-SEQ      
*S**  IF #E-DISB-ENR-STATUS(#SUB) = 'T'         
*S**    MOVE 'Q' TO #DISB-ENR-STATUS
*S**  ELSE  
*S**    IF #E-DISB-ENR-STATUS(#SUB) = 'N'       
*S**      MOVE 'H' TO #DISB-ENR-STATUS          
*S**    ELSE
*S**      MOVE #E-DISB-ENR-STATUS(#SUB) TO #DISB-ENR-STATUS 
*S**    END-IF          
*S**  END-IF
*S***       
*S**  MOVE #E-DISB-ENR-INTENSITY(#SUB) TO #DISB-ENR-INTENS  
*S**  MOVE #E-DISB-CIP-CODE(#SUB) TO #DISB-CIP-CODE         
*S**  MOVE #E-DISB-CIP-CODE-YEAR(#SUB) TO #DISB-CIP-CODE-YEAR           
*S**  MOVE #EXPORT-OPEID TO #DISB-ENRSCH        
*S***       
*S**  MOVE EDITED #E-DISB-PAYPD-START-DATE(#SUB) (EM=YYYY-MM-DD) TO     
*S**       #DISB-PAYPD-DATE         
*S**  MOVE EDITED #E-DISB-PAYPD-END-DATE(#SUB) (EM=YYYY-MM-DD) TO       
*S**       #DISB-PAYPD-END-DATE     
*S***       
*S*****only ONE of the below can be transmitted 
*S**  MOVE EDITED #E-DISB-PGM-LGTH-YRS(#SUB)(EM=ZZ9.999) TO #PGM-LGTH-YRS           
*S**  MOVE EDITED #E-DISB-PGM-LGTH-MOS(#SUB)(EM=ZZ9.999) TO #PGM-LGTH-MOS           
*S**  MOVE EDITED #E-DISB-PGM-LGTH-WKS(#SUB)(EM=ZZ9.999) TO #PGM-LGTH-WKS           
*S***       
*S**  MOVE EDITED #E-DISB-PGM-ACAD-WKS(#SUB)(EM=ZZ9.999) TO #PGM-ACAD-WKS           
*S**  MOVE #E-DISB-SPEC-PGM(#SUB)                TO #SPEC-PGM           
*S**  MOVE #E-DISB-CRED-LEV(#SUB)                TO #CRED-LEV           
*S***       
*S**  WRITE WORK FILE 3 VARIABLE #DISB-NBR-OUT  
*S*** WRITE WORK FILE 3 VARIABLE #DISB-AMT-OUT  
*S**  MOVE LEFT JUSTIFIED #DISB-AMT TO #DISB-AMT  /* #DISB-AMT-OUT      
*S**  COMPRESS #DISB-AMT-S #DISB-AMT #DISB-AMT-E  /* #DISB-AMT-OUT      
*S**    INTO #LINE-OUT LEAVING NO SPACE         
*S**  WRITE WORK FILE 3 VARIABLE #LINE-OUT      
*S**  WRITE WORK FILE 3 VARIABLE #DISB-DT-OUT   
*S*** WRITE WORK FILE 3 VARIABLE #DISB-RLS-OUT  
*S**  COMPRESS #DISB-RLS-S #DISB-RLS #DISB-RLS-E /* #DISB-RLS           
*S**    INTO #LINE-OUT LEAVING NO SPACE         
*S**  WRITE WORK FILE 3 VARIABLE #LINE-OUT      
*S**  WRITE WORK FILE 3 VARIABLE #DISB-SEQ-OUT  
*S*** WRITE WORK FILE 3 VARIABLE #DISB-ENRSCH-OUT           
*S**  COMPRESS #DISB-ENRSCH-S #DISB-ENRSCH #DISB-ENRSCH-E   
*S**                                                   /* #DISB-ENRSCH-OUT          
*S**    INTO #LINE-OUT LEAVING NO SPACE         
*S**  WRITE WORK FILE 3 VARIABLE #LINE-OUT      
*S***       
*S**    IF #DISB-PAYPD-DATE NE ' '  
*S**      MOVE LEFT JUSTIFIED #DISB-PAYPD-DATE TO #DISB-PAYPD-DATE      
*S**    COMPRESS #DISB-PAYPD-S #DISB-PAYPD-DATE #DISB-PAYPD-E  /*#DISB-PAYPD        
*S**        INTO #LINE-OUT LEAVING NO SPACE     
*S**      WRITE WORK FILE 3 VARIABLE  #LINE-OUT 
*S**      ADD 1 TO #XML-COUNTER     
*S**    END-IF          
*S**    IF #DISB-PAYPD-END-DATE NE ' '          
*S**      MOVE LEFT JUSTIFIED #DISB-PAYPD-END-DATE TO #DISB-PAYPD-END-DATE          
*S**    COMPRESS #DISB-PAYPD-END-S #DISB-PAYPD-END-DATE #DISB-PAYPD-END-E           
*S**        INTO #LINE-OUT LEAVING NO SPACE     
*S**      WRITE WORK FILE 3 VARIABLE  #LINE-OUT 
*S**      ADD 1 TO #XML-COUNTER     
*S**    END-IF          
*S***       
*S**  IF #DISB-ENR-STATUS NE ' '    
*S**    COMPRESS #DISB-ENR-STATUS-S #DISB-ENR-STATUS #DISB-ENR-STATUS-E 
*S**                                               /* #DISB-ENR-STATUS-OUT          
*S**      INTO #LINE-OUT LEAVING NO SPACE       
*S**    WRITE WORK FILE 3 VARIABLE #LINE-OUT    
*S**    ADD 1 TO #XML-COUNTER       
*S**  END-IF
*S**  IF #PELL          
*S**      COMPRESS #DISB-ENR-INTENS-S #DISB-ENR-INTENS #DISB-ENR-INTENS-E           
*S**      INTO #LINE-OUT LEAVING NO SPACE       
*S**      WRITE WORK FILE 3 VARIABLE #lINE-OUT  
*S**      ADD 1 TO #XML-COUNTER     
*S**  END-IF
*S**  IF #DISB-CIP-CODE NE ' '      
*S**    COMPRESS #DISB-CIP-CODE-S #DISB-CIP-CODE #DISB-CIP-CODE-E       
*S**                                              /* #DISB-CIP-CODE-OUT 
*S**      INTO #LINE-OUT LEAVING NO SPACE       
*S**    WRITE WORK FILE 3 VARIABLE #LINE-OUT    
*S**    ADD 1 TO #XML-COUNTER       
*S**  END-IF
*S***       
*S**  IF VAL(#PGM-LGTH-YRS) > 0     
*S**    MOVE LEFT JUSTIFIED #PGM-LGTH-YRS TO #PGM-LGTH-YRS  
*S**    COMPRESS #PGM-LGTH-YRS-S #PGM-LGTH-YRS #PGM-LGTH-YRS-E          
*S**      INTO #LINE-OUT LEAVING NO SPACE              /* #PGM-LGTH-Y-OUT           
*S**    WRITE WORK FILE 3 VARIABLE #LINE-OUT    
*S**    ADD 1 TO #XML-COUNTER       
*S**   ELSE 
*S**    IF VAL(#PGM-LGTH-MOS) > 0   
*S**      MOVE LEFT JUSTIFIED #PGM-LGTH-MOS TO #PGM-LGTH-MOS
*S**      COMPRESS #PGM-LGTH-MOS-S #PGM-LGTH-MOS #PGM-LGTH-MOS-E        
*S**        INTO #LINE-OUT LEAVING NO SPACE           /* #PGM-LGTH-M-OUT
*S**      WRITE WORK FILE 3 VARIABLE #LINE-OUT  
*S**      ADD 1 TO #XML-COUNTER     
*S**     ELSE           
*S**      IF VAL(#PGM-LGTH-WKS) > 0 
*S**        MOVE LEFT JUSTIFIED #PGM-LGTH-WKS TO #PGM-LGTH-WKS          
*S**        COMPRESS #PGM-LGTH-WKS-S #PGM-LGTH-WKS #PGM-LGTH-WKS-E      
*S**          INTO #LINE-OUT LEAVING NO SPACE        /* #PGM-LGTH-W-OUT 
*S**        WRITE WORK FILE 3 VARIABLE #LINE-OUT
*S**        ADD 1 TO #XML-COUNTER   
*S**      END-IF        
*S**    END-IF          
*S**  END-IF
*S**  IF (VAL(#PGM-LGTH-MOS)> 0) OR (VAL(#PGM-LGTH-WKS)> 0) OR          
*S**     (#SPEC-PGM = 'P')          
*S**    MOVE LEFT JUSTIFIED #PGM-ACAD-WKS TO #PGM-ACAD-WKS  
*S**    COMPRESS #PGM-ACAD-WKS-S #PGM-ACAD-WKS #PGM-ACAD-WKS-E          
*S**      INTO #LINE-OUT LEAVING NO SPACE         /* #PGM-ACAD-W-OUT    
*S**    WRITE WORK FILE 3 VARIABLE #LINE-OUT    
*S**    ADD 1 TO #XML-COUNTER       
*S**  END-IF
*S**  IF #SPEC-PGM NE ' '           
*S**    COMPRESS #SPEC-PGM-S #SPEC-PGM #SPEC-PGM-E          
*S**      INTO #LINE-OUT LEAVING NO SPACE         /* #SPEC-PGM-OUT      
*S**    WRITE WORK FILE 3 VARIABLE #LINE-OUT    
*S**    ADD 1 TO #XML-COUNTER       
*S**  END-IF
*S**  IF VAL(#CRED-LEV) > 0         
*S**    MOVE LEFT JUSTIFIED #CRED-LEV TO #CRED-LEV          
*S**    COMPRESS #CRED-LEV-S #CRED-LEV #CRED-LEV-E          
*S**      INTO #LINE-OUT LEAVING NO SPACE          /* #CRED-LEVEL-OUT   
*S**    WRITE WORK FILE 3 VARIABLE #LINE-OUT    
*S**    ADD 1 TO #XML-COUNTER       
*S**  END-IF
*S**  IF #DISB-CIP-CODE NE ' '  /*IF we have a cip code then output yr  
*S**    COMPRESS #DISB-CIP-CODE-YEAR-S #DISB-CIP-CODE-YEAR  
*S**             #DISB-CIP-CODE-YEAR-E          
*S**        INTO #LINE-OUT LEAVING NO SPACE     
*S**      WRITE WORK FILE 3 VARIABLE  #LINE-OUT 
*S**      ADD 1 TO #XML-COUNTER     
*S**  END-IF
*S**  WRITE WORK FILE 3 VARIABLE #DISB-DP-BEG   
*S**  WRITE WORK FILE 3 VARIABLE #DISB-DP-OUT   
*S**  WRITE WORK FILE 3 VARIABLE #DISB-DP-END   
*S**  ADD 9 TO #XML-COUNTER         
*S***       
*S**  WRITE WORK FILE 3 VARIABLE #DISB-END      
*S**  ADD 1 TO #XML-COUNTER         
*S**END-SUBROUTINE /* DISB-SETUP    
*S***       
*S*************************************************************************         
*S**DEFINE SUBROUTINE TRANSLATE-QUOTES-TO-HEX   
*S*************************************************************************         
*S**  EXAMINE #XML-L1 '@' REPLACE DOUBLE-QUOTE  
*S**  EXAMINE #SEG1 '@' REPLACE DOUBLE-QUOTE    
*S**  EXAMINE #SEG2 '@' REPLACE DOUBLE-QUOTE    
*S**  EXAMINE #SEG3 '@' REPLACE DOUBLE-QUOTE    
*S**  EXAMINE #SEG4 '@' REPLACE DOUBLE-QUOTE    
*S**  EXAMINE #DISB-NBR-S '@' REPLACE DOUBLE-QUOTE          
*S**  EXAMINE #DISB-NBR-E '@' REPLACE DOUBLE-QUOTE          
*S**END-SUBROUTINE /* TRANSLATE-QUOTES-TO-HEX   
*S**END     
*E          
