Exhibit 1 to Addendum No. 1.pdf

PDF 2 MB Posted

Attached to
LAS/PBS Data Application Migration
Solicitation number
RFP-01486
Issued by
Leon County, Florida

About this file

This document is an Addendum to a Request for Proposal (RFP) issued by the Executive Office of the Governor (EOG), Systems Design and Development, for the data application migration of the Legislative Appropriations System/Planning and Budgeting Subsystem (LAS/PBS). The RFP seeks qualified vendors to provide these services. The addendum includes revisions to the QA and RFP, as well as a timeline revision. The public opening will be conducted via conference call. The contract term and any renewal options are not specified.

The RFP does not provide details on pricing terms, set asides, incumbents, funding requirements or sources, or contract amounts. The current environment and other salient information is also not included in the document.

View the file

Other files

Show all 13

On GovTribe

Work with this file

  • Download the original file
  • Contacts named in this file
  • Similar government files
  • Ask GovTribe AI about this file

Text version

*H**ENAT8208202206171356223MVS/ESA 4AEMB 08.2

*C** SYSTEM NBDDLMF1 M S N 0000

*D01NAT4206M SYSTEM NBDDLMF1 KGS KGS 0025 R

*D02 2012092614555962012092614555960000003951

*D03MVS/ESA CICS NAT2

*D04 IBM01140

*S*** MAP2: PROTOTYPE

*S*** WRITE USING MAP 'XXXXXXXX'

*S*** #COL-HEAD(*) #C2-COL(*) #C2-COL-TOT-AMT(*) #C2-RECS-IGNORED

*S*** #C2-RECS-UPLOADED #C2-TIME #C3-COL-TOT-FTE(*) #C5-SPREADSHEET

*S*** #DATE-D

*S**DEFINE DATA PARAMETER

*S**1 #COL-HEAD (A023/00001:00003)

*S**1 #C2-COL (A003/00001:00003)

*S**1 #C2-COL-TOT-AMT (N12.0/00001:00003)

*S**1 #C2-RECS-IGNORED (N06.0)

*S**1 #C2-RECS-UPLOADED (N06.0)

*S**1 #C2-TIME (A006)

*S**1 #C3-COL-TOT-FTE (N10.2/00001:00003)

*S**1 #C5-SPREADSHEET (A050)

*S**1 #DATE-D (D)

*S**END-DEFINE

*S**FORMAT PS=017 LS=132 ZP=OFF SG=OFF KD=OFF IP=OFF

*S*** MAP2: MAP PROFILES ***************************** 410***********

*S*** .TT OO D I D I ? +< *

*S*** 017132 N1NNUCN x 01 SYSDBA NL 1 * *S**************************************************************************

*S**WRITE ( AD=D /*

*S** )

*S** 001T '* BUDGET DETAIL UPLOAD RESULTS'

*S** 131T '*' *S**/ *S** 001T '*' *S** 131T '*' *S**/ *S** 001T '*' *S** 131T '*' *S**/ *S** 001T '*'

*S** 010T 'LAS/PBS COLUMN'

*S** 055T 'DOLLARS'

*S** 081T 'FTE'

*S** 131T '*' *S**/

Exhibit 1 to Addendum No.1 LAS/PBS Objects EADR BDDR & Rules

*S** 001T '*'

*S** 012T #C2-COL (1) (AD=OD ) /*.01U003 A003 .

*S** /**A1000030000100001000010000100001100003001001001001000HV

*S** 018T #COL-HEAD (1) (AD=OD ) /*.01U023 A023 .

*S** /**A1000030000100001000010000100001100003001001001001000HV

*S** 046T #C2-COL-TOT-AMT (1) (AD=OD EM=-ZZZ,ZZZ,ZZZ,ZZ9 ZP=ON ) /*.01U016 N12.0 .

*S** /**A1000030000100001000010000100001100003001001001001000HV

*S** 067T #C3-COL-TOT-FTE (1) (AD=OD EM=-Z,ZZZ,ZZZ,ZZZ.99 ZP=ON /*.01U017 N10.2 .

*S** )

*S** /**A1000030000100001000010000100001100003001001001001000HV

*S** 131T '*' *S**/ *S** 001T '*' *S** 131T '*' *S**/ *S** 001T '*'

*S** 012T #C2-COL (2) (AD=OD ) /*.01U003 A003 .

*S** 018T #COL-HEAD (2) (AD=OD ) /*.01U023 A023 .

*S** 046T #C2-COL-TOT-AMT (2) (AD=OD EM=-ZZZ,ZZZ,ZZZ,ZZ9 ZP=ON ) /*.01U016 N12.0 .

*S** 067T #C3-COL-TOT-FTE (2) (AD=OD EM=-Z,ZZZ,ZZZ,ZZZ.99 ZP=ON /*.01U017 N10.2 .

*S** ) *S** 131T '*' *S**/ *S** 001T '*' *S** 131T '*' *S**/ *S** 001T '*'

*S** 012T #C2-COL (3) (AD=OD ) /*.01U003 A003 .

*S** 018T #COL-HEAD (3) (AD=OD ) /*.01U023 A023 .

*S** 046T #C2-COL-TOT-AMT (3) (AD=OD EM=-ZZZ,ZZZ,ZZZ,ZZ9 ZP=ON ) /*.01U016 N12.0 .

*S** 067T #C3-COL-TOT-FTE (3) (AD=OD EM=-Z,ZZZ,ZZZ,ZZZ.99 ZP=ON /*.01U017 N10.2 .

*S** ) *S** 131T '*' *S**/ *S** 001T '*' *S** 003T '-' (127) *S** 131T '*' *S**/ *S** 001T '*' *S** 131T '*' *S**/ *S** 001T '*'

*S** 025T 'NUMBER OF RECORDS UPLOADED:'

*S** 071T #C2-RECS-UPLOADED (AD=OD EM=ZZZ,ZZ9 ZP=ON ) /*.01U007 N06.0 .

*S** 131T '*' *S**/ *S** 001T '*'

*S** 025T 'DATE:'

*S** 070T #DATE-D (AD=OD EM=MM/DD/YY ) /*.01U008 D .

*S** 131T '*' *S**/ *S** 001T '*'

*S** 025T 'TIME:'

*S** 070T #C2-TIME (AD=OD EM=XX:XX:XX ) /*.01U008 A006 .

*S** 131T '*' *S**/ *S** 001T '*'

*S** 025T 'NUMBER OF RECORDS IGNORED WITH BLANK AMOUNTS:'

*S** 071T #C2-RECS-IGNORED (AD=OD EM=ZZZ,ZZ9 ZP=ON ) /*.01U007 N06.0 .

*S** 131T '*' *S**/ *S** 001T '*'

*S** 025T 'FILE NAME:'

*S** 036T #C5-SPREADSHEET (AD=OD ) /*.01U050 A050 50 .

*S** 131T '*' *S**/ *S** 001T '*' (131)

*S*** MAP2: VALIDATION *****************************************************

*S**RULEVAR F99*PF-KEY

*S**INCDIC ;

*S*** MAP-ID: NBDDLMF1

*S*** AUTHOR: KATHY STRUBBLE

*S*** DATE-WRITTEN: 03/21/2012 YS: 13537

*S*** REMARKS: STAT PAGE FOR BUDGET DETAIL UPLOAD

*S*** VERSION: 00

*S*** REVISED: mm/dd/yyyy - xxx YS: xxxx5 *S*** modification *S**************************************************************************

*S*** MAP2: END OF MAP *****************************************************

*S**END

*C** SYSTEM NBDDZMF2 M S N 0000

*D01NAT8208M SYSTEM NBDDZMF2 SMM SMM #052 R

*D02 2021061616101562021061616101560000009726

*D03MVS/ESA CICS NAT2

*D04 IBM01140

*S*** MAP2: PROTOTYPE VERSION 820 --- CREATED BY NAT 0802080001 ---

*S*** WRITE USING MAP 'XXXXXXXX'

*S*** #CV-STAT-AC(*) #CV-STAT-BE(*) #CV-STAT-EXC-BE(*) #CV-STAT-FSI(*)

*S*** #CV-STAT-FUND(*) #CV-STAT-IC(*) #CV-STAT-IOE(*) #CV-STAT-OBJ(*)

*S*** #CV-STAT-PC(*) #C2-BE(*) #C20-BE-EXCLUDE(*) #C24-OBJ(*)

*S*** #C5-FSI(*) #C5-IOE(*) #C5-PC(*) #C6-IC(*) #C7-AC(*) #C7-FUND(*)

*S*** #M-FSI-LIT

*S**DEFINE DATA PARAMETER

*S**1 #CV-STAT-AC (C/00001:00008)

*S**1 #CV-STAT-BE (C/00001:00027)

*S**1 #CV-STAT-EXC-BE (C/00001:00008)

*S**1 #CV-STAT-FSI (C/00001:00006)

*S**1 #CV-STAT-FUND (C/00001:00004)

*S**1 #CV-STAT-IC (C/00001:00008)

*S**1 #CV-STAT-IOE (C/00001:00008)

*S**1 #CV-STAT-OBJ (C/00001:00008)

*S**1 #CV-STAT-PC (C/00001:00006)

*S**1 #C2-BE (A008/00001:00027)

*S**1 #C20-BE-EXCLUDE (A008/00001:00008)

*S**1 #C24-OBJ (A006/00001:00008)

*S**1 #C5-FSI (A001/00001:00006)

*S**1 #C5-IOE (A001/00001:00008)

*S**1 #C5-PC (A010/00001:00006)

*S**1 #C6-IC (A007/00001:00008)

*S**1 #C7-AC (A006/00001:00008)

*S**1 #C7-FUND (A004/00001:00004)

*S**1 #M-FSI-LIT (A026)

*S**END-DEFINE

*S**FORMAT PS=018 LS=132 ZP=OFF SG=OFF KD=OFF IP=OFF

*S*** MAP2: MAP PROFILES ***************************** 410***********

*S*** .TT OO D I D I ? +< *

*S*** 018132 N1NNUCN X 01 SYSDBA NL 1 *

*S**************************************************************************

*S**WRITE ( AD=D /*

*S** ) *S** 001T '*'

*S** 006T 'BUDGET ENTITY OR GROUP:'

*S** 131T '*' *S**/ *S** 001T '*' *S** 010T '1-9:'

*S** 015T #C2-BE (1) (AD=OY CV=#CV-STAT-BE(1) ) /*.01U008 A008 .

*S** /**A1000270000100001000010000100001100027001001000001000HV

*S** 025T #C2-BE (2) (AD=OY CV=#CV-STAT-BE(2) ) /*.01U008 A008 .

*S** 035T #C2-BE (3) (AD=OY CV=#CV-STAT-BE(3) ) /*.01U008 A008 .

*S** 045T #C2-BE (4) (AD=OY CV=#CV-STAT-BE(4) ) /*.01U008 A008 .

*S** 055T #C2-BE (5) (AD=OY CV=#CV-STAT-BE(5) ) /*.01U008 A008 .

*S** 065T #C2-BE (6) (AD=OY CV=#CV-STAT-BE(6) ) /*.01U008 A008 .

*S** 075T #C2-BE (7) (AD=OY CV=#CV-STAT-BE(7) ) /*.01U008 A008 .

*S** 085T #C2-BE (8) (AD=OY CV=#CV-STAT-BE(8) ) /*.01U008 A008 .

*S** 095T #C2-BE (9) (AD=OY CV=#CV-STAT-BE(9) ) /*.01U008 A008 .

*S** 131T '*' *S**/ *S** 001T '*' *S** 008T '10-18:'

*S** 015T #C2-BE (10) (AD=OY CV=#CV-STAT-BE(10) ) /*.01U008 A008 .

*S** 025T #C2-BE (11) (AD=OY CV=#CV-STAT-BE(11) ) /*.01U008 A008 .

*S** 035T #C2-BE (12) (AD=OY CV=#CV-STAT-BE(12) ) /*.01U008 A008 .

*S** 045T #C2-BE (13) (AD=OY CV=#CV-STAT-BE(13) ) /*.01U008 A008 .

*S** 055T #C2-BE (14) (AD=OY CV=#CV-STAT-BE(14) ) /*.01U008 A008 .

*S** 065T #C2-BE (15) (AD=OY CV=#CV-STAT-BE(15) ) /*.01U008 A008 .

*S** 075T #C2-BE (16) (AD=OY CV=#CV-STAT-BE(16) ) /*.01U008 A008 .

*S** 085T #C2-BE (17) (AD=OY CV=#CV-STAT-BE(17) ) /*.01U008 A008 .

*S** 095T #C2-BE (18) (AD=OY CV=#CV-STAT-BE(18) ) /*.01U008 A008 .

*S** 131T '*' *S**/ *S** 001T '*' *S** 008T '19-27:'

*S** 015T #C2-BE (19) (AD=OY CV=#CV-STAT-BE(19) ) /*.01U008 A008 .

*S** 025T #C2-BE (20) (AD=OY CV=#CV-STAT-BE(20) ) /*.01U008 A008 .

*S** 035T #C2-BE (21) (AD=OY CV=#CV-STAT-BE(21) ) /*.01U008 A008 .

*S** 045T #C2-BE (22) (AD=OY CV=#CV-STAT-BE(22) ) /*.01U008 A008 .

*S** 055T #C2-BE (23) (AD=OY CV=#CV-STAT-BE(23) ) /*.01U008 A008 .

*S** 065T #C2-BE (24) (AD=OY CV=#CV-STAT-BE(24) ) /*.01U008 A008 .

*S** 075T #C2-BE (25) (AD=OY CV=#CV-STAT-BE(25) ) /*.01U008 A008 .

*S** 085T #C2-BE (26) (AD=OY CV=#CV-STAT-BE(26) ) /*.01U008 A008 .

*S** 095T #C2-BE (27) (AD=OY CV=#CV-STAT-BE(27) ) /*.01U008 A008 .

*S** 131T '*' *S**/ *S** 001T '*'

*S** 006T 'EXCLUDE:'

*S** 015T #C20-BE-EXCLUDE (1) (AD=OY CV=#CV-STAT-EXC-BE(1) ) /*.01U008 A008 .

*S** /**A1000080000100001000010000100001010001008001000002000HV

*S** 025T #C20-BE-EXCLUDE (2) (AD=OY CV=#CV-STAT-EXC-BE(2) ) /*.01U008 A008 .

*S** 035T #C20-BE-EXCLUDE (3) (AD=OY CV=#CV-STAT-EXC-BE(3) ) /*.01U008 A008 .

*S** 045T #C20-BE-EXCLUDE (4) (AD=OY CV=#CV-STAT-EXC-BE(4) ) /*.01U008 A008 .

*S** 055T #C20-BE-EXCLUDE (5) (AD=OY CV=#CV-STAT-EXC-BE(5) ) /*.01U008 A008 .

*S** 065T #C20-BE-EXCLUDE (6) (AD=OY CV=#CV-STAT-EXC-BE(6) ) /*.01U008 A008 .

*S** 075T #C20-BE-EXCLUDE (7) (AD=OY CV=#CV-STAT-EXC-BE(7) ) /*.01U008 A008 .

*S** 085T #C20-BE-EXCLUDE (8) (AD=OY CV=#CV-STAT-EXC-BE(8) ) /*.01U008 A008 .

*S** 131T '*' *S**/ *S** 001T '*'

*S** 006T 'PROGRAM COMPONENT:'

*S** 025T #C5-PC (1) /*.01U010 A010 .

*S** (AD=OY CV=#CV-STAT-PC(1) )

*S** /**A1000060000100001000010000100001010001006001000002000HV

*S** 037T #C5-PC (2) /*.01U010 A010 .

*S** (AD=OY CV=#CV-STAT-PC(2) )

*S** 049T #C5-PC (3) /*.01U010 A010 .

*S** (AD=OY CV=#CV-STAT-PC(3) )

*S** 061T #C5-PC (4) /*.01U010 A010 .

*S** (AD=OY CV=#CV-STAT-PC(4) )

*S** 073T #C5-PC (5) /*.01U010 A010 .

*S** (AD=OY CV=#CV-STAT-PC(5) )

*S** 085T #C5-PC (6) /*.01U010 A010 .

*S** (AD=OY CV=#CV-STAT-PC(6) )

*S** 131T '*' *S**/ *S** 001T '*' *S** 131T '*' *S**/ *S** 001T '*'

*S** 006T 'ISSUE CODE OR GROUP:'

*S** 027T #C6-IC (1) /*.01U007 A007 .

*S** (AD=OY CV=#CV-STAT-IC(1) )

*S** /**A1000080000100001000010000100001010001008001000002000HV

*S** 036T #C6-IC (2) /*.01U007 A007 .

*S** (AD=OY CV=#CV-STAT-IC(2) )

*S** 045T #C6-IC (3) /*.01U007 A007 .

*S** (AD=OY CV=#CV-STAT-IC(3) )

*S** 054T #C6-IC (4) /*.01U007 A007 .

*S** (AD=OY CV=#CV-STAT-IC(4) )

*S** 063T #C6-IC (5) /*.01U007 A007 .

*S** (AD=OY CV=#CV-STAT-IC(5) )

*S** 072T #C6-IC (6) /*.01U007 A007 .

*S** (AD=OY CV=#CV-STAT-IC(6) )

*S** 081T #C6-IC (7) /*.01U007 A007 .

*S** (AD=OY CV=#CV-STAT-IC(7) )

*S** 090T #C6-IC (8) /*.01U007 A007 .

*S** (AD=OY CV=#CV-STAT-IC(8) )

*S** 131T '*' *S**/ *S** 001T '*'

*S** 006T 'APPROPRIATION CATEGORY OR GROUP:'

*S** 039T #C7-AC (1) /*.01U006 A006 .

*S** (AD=OY CV=#CV-STAT-AC(1) )

*S** /**A1000080000100001000010000100001010001008001000002000HV

*S** 047T #C7-AC (2) /*.01U006 A006 .

*S** (AD=OY CV=#CV-STAT-AC(2) )

*S** 055T #C7-AC (3) /*.01U006 A006 .

*S** (AD=OY CV=#CV-STAT-AC(3) )

*S** 063T #C7-AC (4) /*.01U006 A006 .

*S** (AD=OY CV=#CV-STAT-AC(4) )

*S** 071T #C7-AC (5) /*.01U006 A006 .

*S** (AD=OY CV=#CV-STAT-AC(5) )

*S** 079T #C7-AC (6) /*.01U006 A006 .

*S** (AD=OY CV=#CV-STAT-AC(6) )

*S** 087T #C7-AC (7) /*.01U006 A006 .

*S** (AD=OY CV=#CV-STAT-AC(7) )

*S** 095T #C7-AC (8) /*.01U006 A006 .

*S** (AD=OY CV=#CV-STAT-AC(8) )

*S** 131T '*' *S**/ *S** 001T '*' *S** 131T '*' *S**/ *S** 001T '*'

*S** 006T 'ITEMIZATION OF EXPENDITURE:'

*S** 034T #C5-IOE (1) /*.01U001 A001 .

*S** (AD=OY CV=#CV-STAT-IOE(1) )

*S** /**A1000080000100001000010000100001010001008001000002000HV

*S** 037T #C5-IOE (2) /*.01U001 A001 .

*S** (AD=OY CV=#CV-STAT-IOE(2) )

*S** 040T #C5-IOE (3) /*.01U001 A001 .

*S** (AD=OY CV=#CV-STAT-IOE(3) )

*S** 043T #C5-IOE (4) /*.01U001 A001 .

*S** (AD=OY CV=#CV-STAT-IOE(4) )

*S** 046T #C5-IOE (5) /*.01U001 A001 .

*S** (AD=OY CV=#CV-STAT-IOE(5) )

*S** 049T #C5-IOE (6) /*.01U001 A001 .

*S** (AD=OY CV=#CV-STAT-IOE(6) )

*S** 052T #C5-IOE (7) /*.01U001 A001 .

*S** (AD=OY CV=#CV-STAT-IOE(7) )

*S** 055T #C5-IOE (8) /*.01U001 A001 .

*S** (AD=OY CV=#CV-STAT-IOE(8) )

*S** 131T '*' *S**/ *S** 001T '*' *S** 131T '*' *S**/ *S** 001T '*'

*S** 006T 'FUND:'

*S** 012T #C7-FUND (1) /*.01U004 A004 .

*S** (AD=OY CV=#CV-STAT-FUND(1) )

*S** /**A1000040000100001000010000100001010001004001000002000HV

*S** 018T #C7-FUND (2) /*.01U004 A004 .

*S** (AD=OY CV=#CV-STAT-FUND(2) )

*S** 024T #C7-FUND (3) /*.01U004 A004 .

*S** (AD=OY CV=#CV-STAT-FUND(3) )

*S** 030T #C7-FUND (4) /*.01U004 A004 .

*S** (AD=OY CV=#CV-STAT-FUND(4) )

*S** 039T #M-FSI-LIT (AD=OD ) /*.01U026 A026 .

*S** 066T #C5-FSI (1) (AD=OY CV=#CV-STAT-FSI(1) ) /*.01U001 A001 .

*S** /**A1000060000100001000010000100001010001006001000002000HV

*S** 069T #C5-FSI (2) (AD=OY CV=#CV-STAT-FSI(2) ) /*.01U001 A001 .

*S** 072T #C5-FSI (3) (AD=OY CV=#CV-STAT-FSI(3) ) /*.01U001 A001 .

*S** 075T #C5-FSI (4) (AD=OY CV=#CV-STAT-FSI(4) ) /*.01U001 A001 .

*S** 078T #C5-FSI (5) (AD=OY CV=#CV-STAT-FSI(5) ) /*.01U001 A001 .

*S** 081T #C5-FSI (6) (AD=OY CV=#CV-STAT-FSI(6) ) /*.01U001 A001 .

*S** 131T '*' *S**/ *S** 001T '*' *S** 131T '*' *S**/ *S** 001T '*'

*S** 006T 'OBJECT CODE:'

*S** 019T #C24-OBJ (1) /*.01U006 A006 .

*S** (AD=OY CV=#CV-STAT-OBJ(1) )

*S** /**A1000080000100001000010000100001010001008001000002000HV

*S** 027T #C24-OBJ (2) /*.01U006 A006 .

*S** (AD=OY CV=#CV-STAT-OBJ(2) )

*S** 035T #C24-OBJ (3) /*.01U006 A006 .

*S** (AD=OY CV=#CV-STAT-OBJ(3) )

*S** 043T #C24-OBJ (4) /*.01U006 A006 .

*S** (AD=OY CV=#CV-STAT-OBJ(4) )

*S** 051T #C24-OBJ (5) /*.01U006 A006 .

*S** (AD=OY CV=#CV-STAT-OBJ(5) )

*S** 059T #C24-OBJ (6) /*.01U006 A006 .

*S** (AD=OY CV=#CV-STAT-OBJ(6) )

*S** 067T #C24-OBJ (7) /*.01U006 A006 .

*S** (AD=OY CV=#CV-STAT-OBJ(7) )

*S** 075T #C24-OBJ (8) /*.01U006 A006 .

*S** (AD=OY CV=#CV-STAT-OBJ(8) )

*S** 131T '*' *S**/ *S** 001T '*' *S** 003T '-' (127) *S** 131T '*'

*S*** MAP2: VALIDATION *****************************************************

*S**RULEVAR F99*PF-KEY

*S**INCDIC ;

*S*** FORM-ID: NBDDZMF2

*S*** AUTHOR: PATTI PENICK

*S*** DATE-WRITTEN: 06/18/2003 YS: 10584

*S*** REMARKS: BUDGET DETAIL FLOAT REQUEST FORM

*S***

*S*** REVISED: VERSON PGMR YS# COMMENTS

*S*** 09/03/2020 04 SMM 14910 STAT PAGE REDESIGN

*S*** 05/21/2014 03 SMM 14188 MOVE OPTION LINE ABOVE COLUMNS

*S*** 02/05/2013 02 PEP 13895 REMOVE FORMATTING FROM STAT PAGE

*S*** *S**************************************************************************

*S*** MAP2: END OF MAP *****************************************************

*S**END

*C** SYSTEM NBDDZMF3 M S N 0000

*D01NAT9101M SYSTEM NBDDZMF3 SMM SMM #157 R

*D02 2020090909435482020090909435480000005240

*D03MVS/ESA CICS NAT2

*D04 IBM01140

*S*** MAP2: PROTOTYPE VERSION 820 --- CREATED BY NAT 0901010011 ---

*S*** WRITE USING MAP 'XXXXXXXX'

*S*** #CV-PCT(*) #CV-SCOL(*) #CV-TCOL(*) #CV-TYPE #C7-DOLLARS #C7-FTE

*S*** #C7-RATE #C7-STD #C8-BDF #C8-OAF #C8-PAF #C8-SCOL(*) #C8-TCOL(*)

*S*** #C8-TFA #M-DOLLARS-LIT #M-FTE-LIT #M-OPTION #M-PCT-LIT1

*S*** #M-PCT-LIT2 #M-PCT-LIT3 #M-PCT-LIT4 #M-PERCENT(*) #M-RATE-LIT

*S*** #M-RECORDS-LIT #M-STD-LIT

*S**DEFINE DATA PARAMETER

*S**1 #CV-PCT (C/00001:00004)

*S**1 #CV-SCOL (C/00001:00004)

*S**1 #CV-TCOL (C/00001:00004)

*S**1 #CV-TYPE (C)

*S**1 #C7-DOLLARS (A001)

*S**1 #C7-FTE (A001)

*S**1 #C7-RATE (A001)

*S**1 #C7-STD (A001)

*S**1 #C8-BDF (A001)

*S**1 #C8-OAF (A001)

*S**1 #C8-PAF (A001)

*S**1 #C8-SCOL (A003/00001:00004)

*S**1 #C8-TCOL (A003/00001:00004)

*S**1 #C8-TFA (A001)

*S**1 #M-DOLLARS-LIT (A008)

*S**1 #M-FTE-LIT (A004)

*S**1 #M-OPTION (A007)

*S**1 #M-PCT-LIT1 (A028)

*S**1 #M-PCT-LIT2 (A028)

*S**1 #M-PCT-LIT3 (A028)

*S**1 #M-PCT-LIT4 (A028)

*S**1 #M-PERCENT (A009/00001:00004)

*S**1 #M-RATE-LIT (A005)

*S**1 #M-RECORDS-LIT (A018)

*S**1 #M-STD-LIT (A009)

*S**END-DEFINE

*S**FORMAT PS=015 LS=132 ZP=OFF SG=OFF KD=OFF IP=OFF

*S*** MAP2: MAP PROFILES ***************************** 410***********

*S*** .TT OO D I D I ? +< *

*S*** 015132 N1NNUCN X 01 SYSDBA NL 1 *

*S**************************************************************************

*S**WRITE ( AD=D /*

*S** )

*S** 001T '* ** DATA SELECTIONS **'

*S** 131T '*' *S**/ *S** 001T '*' *S** 131T '*' *S**/ *S** 001T '*'

*S** 006T 'OPTION:'

*S** 014T #M-OPTION /*.01U007 A007 .

*S** (AD=OU )

*S** 131T '*' *S**/

*S** 006T 'SOURCE: COLUMN 1:'

*S** 024T #C8-SCOL (1) /*.01U003 A003 .

*S** (AD=OY CV=#CV-SCOL(1) )

*S** /**A1000040000100001000010000100001100004001001000001000HV

*S** 030T 'TARGET: COLUMN 1:'

*S** 048T #C8-TCOL (1) /*.01U003 A003 .

*S** (AD=OY CV=#CV-TCOL(1) )

*S** /**A1000040000100001000010000100001100004001001000001000HV

*S** 054T #M-PCT-LIT1 /*.01U028 A028 .

*S** (AD=OD )

*S** 083T #M-PERCENT (1) (AD=OY CV=#CV-PCT(1) ) /*.01U009 A009 9 .

*S** /**A1000040000100001000010000100001100004001001000001000HV

*S** 131T '*' *S**/ *S** 001T '*'

*S** 014T 'COLUMN 2:'

*S** 024T #C8-SCOL (2) /*.01U003 A003 .

*S** (AD=OY CV=#CV-SCOL(2) )

*S** 038T 'COLUMN 2:'

*S** 048T #C8-TCOL (2) /*.01U003 A003 .

*S** (AD=OY CV=#CV-TCOL(2) )

*S** 054T #M-PCT-LIT2 /*.01U028 A028 .

*S** (AD=OD )

*S** 083T #M-PERCENT (2) (AD=OY CV=#CV-PCT(2) ) /*.01U009 A009 9 .

*S** 131T '*' *S**/ *S** 001T '*'

*S** 014T 'COLUMN 3:'

*S** 024T #C8-SCOL (3) /*.01U003 A003 .

*S** (AD=OY CV=#CV-SCOL(3) )

*S** 038T 'COLUMN 3:'

*S** 048T #C8-TCOL (3) /*.01U003 A003 .

*S** (AD=OY CV=#CV-TCOL(3) )

*S** 054T #M-PCT-LIT3 /*.01U028 A028 .

*S** (AD=OD )

*S** 083T #M-PERCENT (3) (AD=OY CV=#CV-PCT(3) ) /*.01U009 A009 9 .

*S** 131T '*' *S**/ *S** 001T '*'

*S** 014T 'COLUMN 4:'

*S** 024T #C8-SCOL (4) /*.01U003 A003 .

*S** (AD=OY CV=#CV-SCOL(4) )

*S** 038T 'COLUMN 4:'

*S** 048T #C8-TCOL (4) /*.01U003 A003 .

*S** (AD=OY CV=#CV-TCOL(4) )

*S** 054T #M-PCT-LIT4 /*.01U028 A028 .

*S** (AD=OD )

*S** 083T #M-PERCENT (4) (AD=OY CV=#CV-PCT(4) ) /*.01U009 A009 9 .

*S** 131T '*' *S**/ *S** 001T '*' *S** 131T '*' *S**/ *S** 001T '*'

*S** 006T 'FILES (Y/N):'

*S** 131T '*' *S**/ *S** 001T '*'

*S** 008T 'BUDGET DETAIL:'

*S** 023T #C8-BDF /*.01U001 A001 .

*S** (AD=OU )

*S** 027T 'OTHER SALARY AMOUNT:'

*S** 048T #C8-OAF /*.01U001 A001 .

*S** (AD=OU )

*S** 052T 'POSITION ADJUSTMENT:'

*S** 073T #C8-PAF /*.01U001 A001 .

*S** (AD=OU )

*S** 077T 'TRUST FUND:'

*S** 089T #C8-TFA /*.01U001 A001 .

*S** (AD=OU )

*S** 131T '*' *S**/ *S** 001T '*' *S** 131T '*' *S**/ *S** 001T '*'

*S** 006T #M-RECORDS-LIT /*.01U018 A018 .

*S** (AD=OD )

*S** 131T '*' *S**/ *S** 001T '*'

*S** 008T #M-DOLLARS-LIT /*.01U008 A008 .

*S** (AD=OD )

*S** 017T #C7-DOLLARS /*.01U001 A001 .

*S** (AD=OY CV=#CV-TYPE )

*S** 021T #M-FTE-LIT /*.01U004 A004 .

*S** (AD=OD )

*S** 026T #C7-FTE /*.01U001 A001 .

*S** (AD=OY CV=#CV-TYPE )

*S** 030T #M-RATE-LIT /*.01U005 A005 .

*S** (AD=OD )

*S** 036T #C7-RATE /*.01U001 A001 .

*S** (AD=OY CV=#CV-TYPE )

*S** 040T #M-STD-LIT /*.01U009 A009 .

*S** (AD=OD )

*S** 050T #C7-STD /*.01U001 A001 .

*S** (AD=OY CV=#CV-TYPE )

*S** 131T '*' *S**/ *S** 001T '*' *S** 131T '*'

*S*** MAP2: VALIDATION *****************************************************

*S**RULEVAR F99*PF-KEY

*S**INCDIC ;

*S*** FORM-ID: NBDDZMF3

*S*** AUTHOR: PATTI PENICK

*S*** DATE-WRITTEN: 06/18/2003 YS: 10584

*S*** REMARKS: BUDGET DETAIL FLOAT REQUEST FORM

*S*** VERSION: 01

*S***

*S*** REVISED: VERSON PGMR YS# COMMENTS

*S*** 09/03/2020 04 SMM 14910 STAT PAGE REDESIGN

*S*** 05/21/2014 03 SMM 14188 MOVE OPTION LINE ABOVE COLUMNS

*S*** 02/05/2013 02 PEP 13895 REMOVE FORMATTING FROM STAT PAGE

*S*** *S**************************************************************************

*S*** MAP2: END OF MAP *****************************************************

*S**END

*C** SYSTEM NBDDZMF4 M S N 0000

*D01NAT8208M SYSTEM NBDDZMF4 SMM SMM #050 R

*D02 2021062708395282021062708395280000004367

*D03MVS/ESA CICS NAT2

*D04 IBM01140

*S*** MAP2: PROTOTYPE VERSION 820 --- CREATED BY NAT 0802080001 ---

*S*** WRITE USING MAP 'XXXXXXXX'

*S*** #TOT-AMT(*) #TOT-FTE-DEC(*) #TOT-RATE(*) #TOT-RECS-READ

*S*** #TOT-RECS-SEL #TOT-RECS-UPD #TOT-STD(*)

*S**DEFINE DATA PARAMETER

*S**1 #TOT-AMT (P15.0/00001:00004)

*S**1 #TOT-FTE-DEC (P13.2/00001:00004)

*S**1 #TOT-RATE (P15.0/00001:00004)

*S**1 #TOT-RECS-READ (P07.0)

*S**1 #TOT-RECS-SEL (P07.0)

*S**1 #TOT-RECS-UPD (P07.0)

*S**1 #TOT-STD (P15.0/00001:00004)

*S**END-DEFINE

*S**FORMAT PS=011 LS=132 ZP=OFF SG=OFF KD=OFF IP=OFF

*S*** MAP2: MAP PROFILES ***************************** 410***********

*S*** .TT OO D I D I ? +< *

*S*** 011132 N1NNUCN X 01 SYSDBA NL 1 *

*S**************************************************************************

*S**WRITE ( AD=D /*

*S** ) *S** 001T '*'

*S** 006T 'TOTAL RECORDS READ:'

*S** 030T #TOT-RECS-READ /*.01U009 P07.0.

*S** (AD=ODL EM=Z,ZZZ,ZZ9 ZP=ON )

*S** 131T '*' *S**/ *S** 001T '*'

*S** 006T 'TOTAL RECORDS SELECTED:'

*S** 030T #TOT-RECS-SEL /*.01U009 P07.0.

*S** (AD=OD EM=Z,ZZZ,ZZ9 ZP=ON )

*S** 131T '*' *S**/ *S** 001T '*'

*S** 006T 'TOTAL RECORDS UPDATED:'

*S** 030T #TOT-RECS-UPD /*.01U009 P07.0.

*S** (AD=ODL EM=Z,ZZZ,ZZ9 ZP=ON )

*S** 131T '*' *S**/ *S** 001T '*' *S** 131T '*' *S**/ *S** 001T '*'

*S** 034T 'COLUMN 1'

*S** 057T 'COLUMN 2'

*S** 080T 'COLUMN 3'

*S** 103T 'COLUMN 4'

*S** 131T '*' *S**/ *S** 001T '*'

*S** 006T 'TOTAL DOLLARS:'

*S** 023T #TOT-AMT (1) (AD=ODL EM=ZZZ,ZZZ,ZZZ,ZZZ,ZZ9- ZP=ON ) /*.01U020 P15.0 .

*S** /**A1000040000100001000010000100001010001004001000001000HV

*S** 046T #TOT-AMT (2) (AD=ODL EM=ZZZ,ZZZ,ZZZ,ZZZ,ZZ9- ZP=ON ) /*.01U020 P15.0 .

*S** 069T #TOT-AMT (3) (AD=ODL EM=ZZZ,ZZZ,ZZZ,ZZZ,ZZ9- ZP=ON ) /*.01U020 P15.0 .

*S** 092T #TOT-AMT (4) (AD=ODL EM=ZZZ,ZZZ,ZZZ,ZZZ,ZZ9- ZP=ON ) /*.01U020 P15.0 .

*S** 131T '*' *S**/ *S** 001T '*'

*S** 006T 'TOTAL FTE:'

*S** 022T #TOT-FTE-DEC (1) (AD=ODL EM=Z,ZZZ,ZZZ,ZZZ,ZZZ.99- /*.01U021 P13.2 .

*S** ZP=ON )

*S** /**A1000040000100001000010000100001010001004001000001000HV

*S** 045T #TOT-FTE-DEC (2) (AD=ODL EM=Z,ZZZ,ZZZ,ZZZ,ZZZ.99- /*.01U021 P13.2 .

*S** ZP=ON )

*S** 068T #TOT-FTE-DEC (3) (AD=ODL EM=Z,ZZZ,ZZZ,ZZZ,ZZZ.99- /*.01U021 P13.2 .

*S** ZP=ON )

*S** 091T #TOT-FTE-DEC (4) (AD=ODL EM=Z,ZZZ,ZZZ,ZZZ,ZZZ.99- /*.01U021 P13.2 .

*S** ZP=ON )

*S** 131T '*' *S**/ *S** 001T '*' *S** 131T '*' *S**/ *S** 001T '*'

*S** 006T 'TOTAL RATE:'

*S** 023T #TOT-RATE (1) (AD=ODL EM=ZZZ,ZZZ,ZZZ,ZZZ,ZZ9- ZP=ON ) /*.01U020 P15.0 .

*S** /**A1000040000100001000010000100001010001004001000001000HV

*S** 046T #TOT-RATE (2) (AD=ODL EM=ZZZ,ZZZ,ZZZ,ZZZ,ZZ9- ZP=ON ) /*.01U020 P15.0 .

*S** 069T #TOT-RATE (3) (AD=ODL EM=ZZZ,ZZZ,ZZZ,ZZZ,ZZ9- ZP=ON ) /*.01U020 P15.0 .

*S** 092T #TOT-RATE (4) (AD=ODL EM=ZZZ,ZZZ,ZZZ,ZZZ,ZZ9- ZP=ON ) /*.01U020 P15.0 .

*S** 131T '*' *S**/ *S** 001T '*'

*S** 006T 'TOTAL STANDARD:'

*S** 023T #TOT-STD (1) (AD=ODL EM=ZZZ,ZZZ,ZZZ,ZZZ,ZZ9- ZP=ON ) /*.01U020 P15.0 .

*S** /**A1000040000100001000010000100001010001004001000001000HV

*S** 046T #TOT-STD (2) (AD=ODL EM=ZZZ,ZZZ,ZZZ,ZZZ,ZZ9- ZP=ON ) /*.01U020 P15.0 .

*S** 069T #TOT-STD (3) (AD=ODL EM=ZZZ,ZZZ,ZZZ,ZZZ,ZZ9- ZP=ON ) /*.01U020 P15.0 .

*S** 092T #TOT-STD (4) (AD=ODL EM=ZZZ,ZZZ,ZZZ,ZZZ,ZZ9- ZP=ON ) /*.01U020 P15.0 .

*S** 131T '*' *S**/ *S** 001T '*' (131)

*S*** MAP2: VALIDATION *****************************************************

*S**RULEVAR F99*PF-KEY

*S**INCDIC ;

*S*** FORM-ID: NBDDZMF4

*S*** AUTHOR: PATTI PENICK

*S*** DATE-WRITTEN: 06/18/2003 YS: 10584

*S*** REMARKS: BUDGET DETAIL FLOAT REQUEST FORM

*S***

*S*** REVISED: VERSON PGMR YS# COMMENTS

*S*** 12/30/2020 05 SMM 14931 .NET CONVERSION FOR MCFR

*S*** 09/03/2020 04 SMM 14910 STAT PAGE REDESIGN

*S*** 05/21/2014 03 SMM 14188 MOVE OPTION LINE ABOVE COLUMNS

*S*** 02/05/2013 02 PEP 13895 REMOVE FORMATTING FROM STAT PAGE

*S*** *S**************************************************************************

*S*** MAP2: END OF MAP *****************************************************

*S**END

*E

*H**ENAT8208202206171359492MVS/ESA 4AEMB 08.2

*C** SYSTEM NBDDLP01 F S N 0000

*D01NAT8202F SYSTEM NBDDLP01 AXD AXD 0033 S

*D02 2014042509293742014042509293740000005967

*D03MVS/ESA CICS NAT2

*D04 IBM01140

*S*** PROGRAM-ID: NBDDLP01

*S*** AUTHOR: KATHY STRUBBLE

*S*** DATE-WRITTEN: 04/05/2012 YS: 13537

*S*** REMARKS: BUDGET DETAIL UPLOAD

*S*** THIS MODULE CREATES THE ERROR REPORT AND STAT PAGE

*S*** FOR THE REQUEST

*S*** REVISED: VR PGMR YS# COMMENTS

*S*** 04/25/2014 02 AXD 14189 Use #C1-DC instead of VBP-DC-ENVIRON

*S*** 02/20/2013 01 PEP 13930 CHANGE STAT PAGE FORMS

*S**************************************************************************

*S**DEFINE DATA LOCAL

*S**1 #CARD1(A80)

*S**1 REDEFINE #CARD1

*S** 2 #C1-HCODE(A2)

*S** 2 #C1-BP(A2)

*S** 2 #C1-OP-INIT(A3)

*S** 2 #C1-OP-DEPT(A2)

*S** 2 #C1-DC(A2)

*S** 2 #C1-SAVE-INIT(A3)

*S** 2 #C1-SAVE-DEPT(A2)

*S** 2 #C1-SAVE-ID(A4)

*S** 2 #C1-BP-TITLE(A8)

*S** 2 #C1-BE-GRP(A5)

*S** 2 #C1-JOB-ID(A3) /* 'BDU'

*S** 2 #C1-SAVE-TITLE(A30)

*S**1 #CARD2(A80)

*S**1 REDEFINE #CARD2

*S** 2 #C2-RECS-UPLOADED(N6)

*S** 2 #C2-DATE(A6)

*S** 2 #C2-TIME(A6)

*S** 2 #C2-COL(A3/3)

*S** 2 #C2-COL-TOT-AMT(N12/3)

*S** 2 #C2-RECS-IGNORED(N6)

*S**1 #CARD3(A80)

*S**1 REDEFINE #CARD3

*S** 2 #C3-COL-TOT-FTE(N10.2/3)

*S**1 #CARD4(A80)

*S**1 REDEFINE #CARD4

*S** 2 #C4-PDA-DSN-DATA(A34)

*S** 2 #C4-PDA-DSN-ERRORS(A34)

*S**1 #CARD5(A80)

*S**1 REDEFINE #CARD5

*S** 2 #C5-SPREADSHEET(A50)

*S***

*S**1 #DATE-D(D)

*S**1 #STAT-BE(A8/27)

*S**1 #STAT-HEADING1(A70)

*S**1 REDEFINE #STAT-HEADING1

*S** 2 FILLER 25X

*S** 2 #STAT-HEAD1(A45)

*S**1 #STAT-HEADING2(A70)

*S**1 #STAT-PAGE(N5)

*S**1 #STAT-PROGRAM(A8)

*S***

*S**LOCAL

*S***

*S**1 CHF-VIEW VIEW OF CHF

*S** 2 CHF-KEY

*S** 2 COL-HEAD(1:2)

*S***

*S**1 IDCAMS-VIEW VIEW OF IDCAMS

*S** 2 NODE

*S** 2 COMMAND

*S***

*S**1 READ-FILE-VIEW VIEW OF READ-FILE

*S** 2 ERROR-CODE

*S** 2 ERROR-TEXT

*S** 2 NODE

*S** 2 DSNAME

*S** 2 RECORD

*S** 2 RECORD-NUMBER

*S** 2 SEGMENT-NUMBER

*S** 2 SEGMENT-LENGTH

*S** 2 END-OF-FILE

*S** 2 POSITION

*S***

*S**1 SPOOL-QUEUE-VIEW VIEW OF SPOOL-QUEUE

*S** 2 NODE

*S** 2 JOB-NAME

*S** 2 JOB-NUMBER

*S** 2 STATUS

*S** 2 USER

*S***

*S**1 UCF-VIEW VIEW OF UCF

*S** 2 DS-NAME

*S** 2 STATUS

*S** 2 JOB-NUM

*S***

*S**1 #CHF-KEY(A5)

*S**1 REDEFINE #CHF-KEY

*S** 2 #CHF-BP(A2)

*S** 2 #CHF-COL(A3)

*S*** /* KEY FIELDS

*S**1 #COL-HEAD(A23/3)

*S**1 #COMMAND(A253)

*S**1 #HEAD-REPORT1(A40)

*S**1 #HEAD-REPORT2(A40)

*S**1 #HEAD-USER1(A40)

*S**1 #HEAD-USER2(A40)

*S**1 #HEAD-USER3(A40)

*S**1 #I(P3)

*S**1 #J-NAME(A8)

*S**1 #NODE(N3)

*S**1 #RECORD(A253)

*S**1 REDEFINE #RECORD

*S** 2 #REC-ROW(A6)

*S** 2 #REC-DESCRIPTION(A124)

*S**1 #TOT-ERR(N6)

*S**1 #USER(A8)

*S**END-DEFINE

*S**************************************************************************

*S**FORMAT(1) LS=132 PS=60

*S**************************************************************************

*S**INPUT #CARD1 / #CARD2 / #CARD3 / #CARD4 / #CARD5

*S**************************************************************************

*S**INCLUDE GHEXCC02 /* CHECK HEX CODE VALUE

*S***

*S*** /* DETERMINE ENVIRONMENT JOB

*S*** /* WAS RUN UNDER

*S**DECIDE ON FIRST VALUE OF #C1-DC

*S** VALUE 'SP'

*S** #NODE := 149 /* DBID FOR ENTIRE SYSTEMS SERVER

*S** #USER := 'PBS01'

*S** VALUE 'ST', 'SD', 'SK'

*S** #NODE := 148 /* DBID FOR ENTIRE SYSTEMS SERVER

*S** #USER := 'EOG02'

*S** NONE VALUE IGNORE

*S**END-DECIDE

*S***

*S**COMPRESS #C1-OP-INIT #C1-OP-DEPT #C1-JOB-ID

*S** INTO #J-NAME LEAVING NO SPACE

*S*** /* GET JOB NUMBER

*S**FIND SPOOL-QUEUE-VIEW WITH JOB-NAME = #J-NAME

*S** AND NODE = #NODE

*S** AND SPOOL-QUEUE-VIEW.STATUS = 'ACTIVE'

*S** REJECT IF SPOOL-QUEUE-VIEW.USER NE #USER

*S**END-FIND /* (1330)

*S***

*S**FIND UCF-VIEW WITH DS-NAME = #C4-PDA-DSN-DATA

*S** UCF-VIEW.JOB-NUM := SPOOL-QUEUE-VIEW.JOB-NUMBER

*S** UPDATE (1390)

*S** END TRANSACTION

*S**END-FIND

*S***

*S**#CHF-BP := #C1-BP

*S***

*S**MOVE RIGHT 'BUDGET DETAIL UPLOAD' TO #HEAD-REPORT1

*S**MOVE RIGHT 'ERROR LISTING' TO #HEAD-REPORT2

*S***

*S**MOVE EDITED #C2-DATE TO #DATE-D(EM=YYMMDD)

*S***

*S**FOR #I 1 3

*S*** /* GET COLUMN HEADINGS

*S** #CHF-COL := #C2-COL(#I)

*S** FIND CHF-VIEW WITH CHF-KEY = #CHF-KEY

*S** COMPRESS CHF-VIEW.COL-HEAD(1:2) INTO #COL-HEAD(#I)

*S** END-FIND /* (1550)

*S**END-FOR /* (1520)

*S***

*S**AT TOP OF PAGE (1)

*S** INCLUDE GHEADC01

*S** WRITE (1) NOTITLE NOHDR

*S** 2T 'ROW'

*S** / 1T 'NUMBER' 8T 'ERROR DESCRIPTION'

*S** / '-' (131)

*S**END-TOPPAGE

*S***

*S**FIND READ-FILE-VIEW WITH DSNAME = #C4-PDA-DSN-ERRORS

*S** AND NODE = #NODE

*S** IF END-OF-FILE = 'YES'

*S** ESCAPE BOTTOM(1680)

*S** END-IF

*S***

*S** IF ERROR-CODE > 0

*S** WRITE (1) READ-FILE-VIEW.ERROR-TEXT

*S** ESCAPE ROUTINE /* PROGRAM

*S** END-IF

*S***

*S** REJECT IF READ-FILE-VIEW.RECORD = ' '

*S** #RECORD := READ-FILE-VIEW.RECORD

*S** ADD 1 TO #TOT-ERR

*S***

*S** WRITE(1) 1T #REC-ROW 8T #REC-DESCRIPTION

*S** / '-' (131) *S***

*S** NEWPAGE(1) IF LESS THAN 2

*S**END-FIND /* (1680)

*S**IF #TOT-ERR > 0

*S** WRITE (1) 'TOTAL ERRORS:' #TOT-ERR

*S**END-IF

*S***

*S*** /* DELETE ERROR DATASET

*S**COMPRESS ' DELETE' #C4-PDA-DSN-ERRORS INTO #COMMAND

*S**FIND IDCAMS-VIEW WITH COMMAND = #COMMAND

*S** AND NODE = #NODE

*S**END-FIND

*S***

*S**#STAT-PROGRAM := *PROGRAM

*S***

*S**#STAT-HEAD1 := 'BUDGET DETAIL UPLOAD'

*S*** /* PRINT STATISTICS PAGE

*S**MOVE 1 TO #STAT-PAGE

*S**WRITE(2) NOTITLE USING FORM 'GSTATMF1'

*S**WRITE(2) NOTITLE USING FORM 'NBDDLMF1'

*S***

*S**FIND UCF-VIEW WITH DS-NAME = #C4-PDA-DSN-DATA

*S** UCF-VIEW.STATUS := 'C' /* PROCESSING COMPLETED

*S** UPDATE (2070)

*S** END TRANSACTION

*S**END-FIND

*S**************************************************************************

*S**END

*C** SYSTEM NBDDUN01 N S N 0000

*D01NAT8208N SYSTEM NBDDUN01 NMC NMC 1583S

*D02 2021072610060522021072610060520000038226

*D03MVS/ESA SERVSTUBNATDSVR

*D04 IBM01140

*S**/** SUBPROGRAM: NBDDUN01. (UPLOADNET.dll)

*S**/** AUTHOR: KATHY STRUBBLE

*S**/** DATE-WRITTEN: 08/19/2004 YS: 11194

*S**/** REMARKS: BUDGET DETAIL UPLOAD - ALLOCATE WORK FILES, EDIT DATA,

*S**/** WRITE DATA RECORDS TO WF1, WRITE ERROR REPORT TO WF2,

*S**/** UPDATE BDF WHEN ALL DATA IS RECEIVED AND NO ERRORS.

*S**************************************************************************

*S*** REVISED: VR DATE PGMR YS# COMMENTS

*S**/** :version 09 06/26/2021 nmc 15125 Check Division Level Issue Codes for Department 41 *S**/** :version 08 08/08/2019 AXD 14806 ADD 1006600 FOR OPB/BMP IC'S *S**/** :version 07 11/02/2017 SMM 14653 CHECK IF BP ACCESS = U FOR ACTIVE

*S**/** BE GROUP; ADD BE-GROUP AND BP-ACCESS TO ERROR MESSAGE

*S**/** :version 06 11/08/2016 ECD 14486 ADD 990I100 TO IC'S NOT FOR UPDATE *S**/** :version 05 10/15/2015 AXD 14405 CLEAN UP IC'S *S**/** :version 04 02/18/2015 SMM 14339 ADD MGMT-CNTL = 'Y' FOR IC 1005900 *S**/** :version 03 12/08/2014 SMM 14319 ADD 1005900 TO IC RANGE FOR OPB *S**/** :version 02 03/18/2014 NMC 14092 STOW FOR MOD'S TO GFMEFC01 -

*S**/** CORRECTED LOGIC FOR 'ERROR MESSAGE NOT ON TABLE

*S**/** :version 01 03/14/2012 NMC 13537 .NET CONVERSION *S**************************************************************************

*S**DEFINE DATA

*S**PARAMETER /* PARAMETER DATA AREA

*S*** /* IN PARAMETERS

*S**1 PDA-BP(A2) /* IN /* 01=TRANING, 99=ALL OTHER

*S**1 PDA-OP-DEPT(A2) /* IN

*S**1 PDA-OP-INIT(A3) /* IN

*S***

*S**1 PDA-AC(A6/2500) /* IN

*S**1 PDA-BE(A8/2500) /* IN

*S**1 REDEFINE PDA-BE

*S** 2 PDA-BE-ARY(1:2500)

*S** 3 PDA-BE-LEV2-AGENCY(A4)

*S** 3 FILLER 4X

*S**1 PDA-COL1(A3) /* IN

*S**1 PDA-COL1-AMT(A12/2500) /* IN /* -99999999999

*S**1 PDA-COL2(A3) /* IN

*S**1 PDA-COL2-AMT(A12/2500) /* IN /* -99999999999

*S**1 PDA-COL3(A3) /* IN

*S**1 PDA-COL3-AMT(A12/2500) /* IN /* -99999999999

*S**1 PDA-FIRST-CALL(A1) /* IN /* Y OR N

*S*** /* /* Y=FIRST CALL TO PROGRAM,

*S*** /* /* MUST ALLOCATE DATASETS

*S**1 PDA-FSI(A1/2500) /* IN

*S**1 PDA-FTE1-AMT(A13/2500) /* IN /* -999999999.99

*S**1 PDA-FTE2-AMT(A13/2500) /* IN /* -999999999.99

*S**1 PDA-FTE3-AMT(A13/2500) /* IN /* -999999999.99

*S**1 PDA-FUND(A4/2500) /* IN

*S**1 PDA-IC(A7/2500) /* IN

*S**1 PDA-PC(A10/2500) /* IN

*S**1 PDA-ROW(A6/2500) /* IN /* EXCEL ROW NUMBER

*S**1 PDA-SUBMIT-DATE(A6) /* IN /* YYMMDD

*S**1 PDA-SUBMIT-TIME(A6) /* IN /* HHMMSS

*S**1 PDA-UPDATE(A1) /* IN /* BLANK = SENDING RECS

*S*** /* /* Y=UPDATE

*S**1 PDA-BE-ACCESS(A1) /* IN OUT /* BE ACCESS

*S**1 PDA-BE-GROUP(A5) /* IN OUT /* BUDGET ENTITY GROUP

*S**1 PDA-DSN-DATA(A34) /* IN OUT /* UPLOAD DATA DSN

*S**1 PDA-DSN-ERRORS(A34) /* IN OUT /* ERROR DATA SET NAME

*S**1 PDA-MF-ERR-COUNT(N6) /* IN OUT /* USED BY MF ONLY

*S**1 PDA-RECS-IGNORED(N6) /* IN OUT /* RECORDS IGNORED

*S**1 PDA-SPREADSHEET(A50) /* IN OUT /* SPREADSHEET NAME

*S**1 PDA-ERRORS-EXIST(A1) /* IN OUT /* Y OR N

*S***

*S**1 PDA-ERROR-TEXT(A58) /* OUT /* COMMUNICATIONS ERROR

*S***

*S**LOCAL USING GCSCVLDA /* #CALL-CSC FIELDS FOR GCSCVN01

*S**LOCAL USING GFMEFLDA /* FIELDS FOR GFMEFC01

*S**LOCAL USING GOBEVLDA /* #CALL-OBE FIELDS FOR GOBEVN01

*S**LOCAL /* LOCAL DATA AREA

*S*** /* VIEWS

*S**1 ACF-VIEW VIEW OF ACF

*S** 2 ACF-KEY

*S** 2 ENTRY-LEVEL

*S** 2 USE-FLG

*S** 2 IOE

*S** 2 RELEASE-TO-AGENCY

*S**1 BDF-VIEW VIEW OF BDF

*S** 2 BDF-KEY

*S**1 BEF-VIEW VIEW OF BEF

*S** 2 BEF-KEY

*S** 2 ENTRY-LEVEL

*S** 2 USE-FLG

*S** 2 PROG-COMP-CD(1:30)

*S** 2 FUND(1:99)

*S** 2 RELEASE-TO-AGENCY

*S**1 CATALOG-VIEW VIEW OF CATALOG

*S** 2 ERROR-CODE

*S** 2 ERROR-TEXT

*S** 2 NODE

*S** 2 DSNAME

*S**1 CHF-VIEW VIEW OF CHF

*S** 2 CHF-KEY

*S** 2 COL-TYPE

*S** 2 COL-ID

*S**1 FCF-VIEW VIEW OF FCF

*S** 2 FCF-KEY

*S** 2 ENTRY-LEVEL

*S** 2 USE-FLG

*S**1 FILE-ALLOCATE-VIEW VIEW OF FILE-ALLOCATE

*S** 2 ERROR-CODE

*S** 2 ERROR-TEXT

*S** 2 DSNAME

*S** 2 VOLSER

*S** 2 DSORG

*S** 2 UNIT

*S** 2 RECFM

*S** 2 LRECL

*S** 2 BLKSIZE

*S** 2 ALLOCATION-TYPE

*S** 2 PRIMARY-ALLOCATION

*S** 2 SECONDARY-ALLOCATION

*S** 2 DIRECTORY-BLOCKS

*S** 2 CATALOG

*S**1 FSF-VIEW VIEW OF FSF

*S** 2 FSF-KEY

*S** 2 USE-FLG

*S**1 ICF-VIEW VIEW OF ICF

*S** 2 ICF-KEY

*S** 2 RELEASE-TO-AGENCY

*S**1 IDCAMS-VIEW VIEW OF IDCAMS

*S** 2 ERROR-CODE

*S** 2 ERROR-TEXT

*S** 2 NODE

*S** 2 COMMAND

*S**1 IEF-VIEW VIEW OF IEF

*S** 2 IEF-KEY

*S**1 OSF-VIEW VIEW OF OSF

*S** 2 OSF-KEY

*S** 2 OP-TYPE

*S** 2 OP-BE-GRP-CD

*S** 2 BP-ACCESS

*S** 2 BP-OP-SECURITY

*S** 2 BP-COL-SECURITY

*S** 2 BP-COL-FLOAT

*S** 2 BP-CONFERENCE

*S** 2 BP-MGMT-CONTROL

*S** 2 BP-PAY-PACKAGE

*S** 2 ALT-BE-GRP(1:4)

*S** 2 ALT-BP-ACCESS(1:4)

*S**1 PCF-VIEW VIEW OF PCF

*S** 2 PCF-KEY

*S** 2 ENTRY-LEVEL

*S** 2 USE-FLG

*S**1 VBP-VIEW VIEW OF VBP

*S** 2 DC-ENVIRON

*S** 2 VOLUME-AT-CDC

*S** 2 VOLUME-AT-NWR

*S** 2 BUDGT-PD

*S** 2 BE-LEVEL2-AGENCY(1:20)

*S**1 WRITE-DATA-VIEW VIEW OF WRITE-FILE

*S** 2 ERROR-CODE

*S** 2 ERROR-TEXT

*S** 2 NODE

*S** 2 DSNAME

*S** 2 FUNCTION

*S** 2 RECORD

*S** 2 SEGMENT-NUMBER

*S** 2 DISP

*S**1 WRITE-ERRORS-VIEW VIEW OF WRITE-FILE

*S** 2 ERROR-CODE

*S** 2 ERROR-TEXT

*S** 2 NODE

*S** 2 DSNAME

*S** 2 FUNCTION

*S** 2 RECORD

*S** 2 SEGMENT-NUMBER

*S** 2 DISP

*S*** /* KEY FIELDS

*S**1 #ACF-KEY(A8)

*S**1 REDEFINE #ACF-KEY

*S** 2 #ACF-BP(A2)

*S** 2 #ACF-AC(A6)

*S**1 #BDF-KEY(A42)

*S**1 REDEFINE #BDF-KEY

*S** 2 #BDF-BP(A2)

*S** 2 #BDF-BE(A8)

*S** 2 #BDF-IOE(A1)

*S** 2 #BDF-FSI(A1)

*S** 2 #BDF-PC(A10)

*S** 2 #BDF-IT(A2)

*S** 2 #BDF-IC(A7)

*S** 2 #BDF-AC(A6)

*S** 2 #BDF-TYPE(A1)

*S** 2 #BDF-FUND(A4)

*S**1 #BEF-KEY(A10)

*S**1 REDEFINE #BEF-KEY

*S** 2 #BEF-BP(A2)

*S** 2 #BEF-BE(A8)

*S** 2 REDEFINE #BEF-BE

*S** 3 #BEF-DEP-DIV(A4)

*S** 3 REDEFINE #BEF-DEP-DIV

*S** 4 #BEF-DEP(A2)

*S**1 #CHF-KEY(A5)

*S**1 REDEFINE #CHF-KEY

*S** 2 #CHF-BP(A2)

*S** 2 #CHF-COL(A3)

*S**1 #FCF-KEY(A6)

*S**1 REDEFINE #FCF-KEY

*S** 2 #FCF-BP(A2)

*S** 2 #FCF-FUND(A4)

*S**1 #FSF-KEY(A3)

*S**1 REDEFINE #FSF-KEY

*S** 2 #FSF-BP(A2)

*S** 2 #FSF-FSI(A1)

*S**1 #ICF-KEY(A17)

*S**1 REDEFINE #ICF-KEY

*S** 2 #ICF-BP(A2)

*S** 2 #ICF-BE(A8)

*S** 2 #ICF-IC(A7)

*S**1 #OSF-KEY(A7)

*S**1 REDEFINE #OSF-KEY

*S** 2 #OSF-BP(A2)

*S** 2 #OSF-DEPT(A2)

*S** 2 #OSF-INIT(A3)

*S**1 #PCF-KEY(A12)

*S**1 REDEFINE #PCF-KEY

*S** 2 #PCF-BP(A2)

*S** 2 #PCF-PC(A10)

*S*** /* LOCAL FIELDS

*S**1 #ADDING-RECORD(L)

*S**1 #AMT(N11/3)

*S**1 REDEFINE #AMT

*S** 2 #AMT-FTE(N9.2/3)

*S**1 #BE-PC-MATCH(A1)

*S**1 #BE-GROUP-CODE(A5/5)

*S**1 #BE-LEV2-AGENCY(A4/20)

*S**1 #BP-ACCESS-CODE(A1/5)

*S**1 #COL(A3/3)

*S**1 #COL-A35(L)

*S**1 #COL-ID(A1/3)

*S**1 #COMMAND(A253)

*S**1 #DEP-FUND-MATCH(L)

*S**1 #DISP(A3)

*S**1 #DSN-PREFIX(A10)

*S**1 #ERRORS-FOUND(L)

*S**1 #HOLD-BE(A8)

*S**1 REDEFINE #HOLD-BE

*S** 2 #HOLD-DEP(A2)

*S** 2 FILLER 6X

*S**1 REDEFINE #HOLD-BE

*S** 2 #HOLD-DEP-DIV(A4)

*S** 2 FILLER 4X

*S**1 #I(P5)

*S**1 #IOE(A1/2500)

*S**1 #ICF-RECORD-FOUND(L)

*S**1 #J(P3) *S**1 #K(P3)

*S**1 #NODE(N3)

*S**1 #RECORD(A253)

*S**1 REDEFINE #RECORD

*S** 2 #REC-ROW(A6)

*S** 2 #REC-BP(A2)

*S** 2 #REC-BE(A8)

*S** 2 #REC-IOE(A1)

*S** 2 #REC-FSI(A1)

*S** 2 #REC-PC(A10)

*S** 2 #REC-IT(A2)

*S** 2 #REC-IC(A7)

*S** 2 #REC-AC(A6)

*S** 2 #REC-TYPE(A1)

*S** 2 #REC-FUND(A4)

*S** 2 #REC-AMT(A12/3)

*S** 2 #REC-FTE(A13/3)

*S**1 REDEFINE #RECORD

*S** 2 FILLER 6X

*S** 2 #REC-KEY(A42)

*S**1 #RECORD2(A131)

*S**1 REDEFINE #RECORD2

*S** 2 #REC2-ROW(A6)

*S** 2 #REC2-ERROR-TEXT(A124)

*S**1 #VOLSER(A6)

*S**END-DEFINE

*S**************************************************************************

*S**MOVE PDA-BP TO #ACF-BP #BEF-BP #CALL-OBE-BP #CHF-BP #FCF-BP

*S** #FSF-BP #ICF-BP #MEF-BP #OSF-BP #PCF-BP

*S***

*S**WRITE 'IN NBDDUN01' '=' PDA-BE-GROUP

*S***

*S**#COL(1) := PDA-COL1

*S**#COL(2) := PDA-COL2

*S**#COL(3) := PDA-COL3

*S***

*S**IF PDA-FIRST-CALL = 'Y'

*S** PDA-ERRORS-EXIST := 'N'

*S**ELSE

*S** IF PDA-ERRORS-EXIST = 'Y'

*S** AND PDA-MF-ERR-COUNT > 199

*S** ESCAPE ROUTINE /* EXIT PROGRAM

*S** END-IF

*S**END-IF

*S**IF PDA-UPDATE = ' '

*S** FOR #J 1 3

*S** #CHF-COL := #COL(#J)

*S** FIND CHF-VIEW WITH CHF-KEY = #CHF-KEY

*S** #COL-ID(#J) := CHF-VIEW.COL-ID

*S** END-FIND /* (1470)

*S** END-FOR /* (1460)

*S**END-IF /* (1450)

*S***

*S**#COL-A35 := TRUE

*S**FOR #J 1 3

*S** IF #COL(#J) = ' ' OR = 'A35'

*S** IGNORE

*S** ELSE

*S** RESET #COL-A35

*S** END-IF

*S**END-FOR /* (1505)

*S*** /* DETERMINE ENVIRONMENT JOB

*S*** /* WAS RUN UNDER

*S**FIND (1) VBP-VIEW BUDGT-PD = PDA-BP

*S*** /* DETERMINE ENVIRONMENT JOB

*S*** /* WAS RUN UNDER

*S** DECIDE ON FIRST VALUE OF VBP-VIEW.DC-ENVIRON

*S** VALUE 'SP', 'DP'

*S** #NODE := 149 /* DBID FOR ENTIRE SYSTEMS SERVER

*S** #DSN-PREFIX := 'D.PBU.PBS.'

*S** VALUE 'ST'

*S** #NODE := 148 /* DBID FOR ENTIRE SYSTEMS SERVER

*S** #DSN-PREFIX := 'D.PBU.EOG.'

*S** VALUE 'SD'

*S** #NODE := 148 /* DBID FOR ENTIRE SYSTEMS SERVER

*S** #DSN-PREFIX := 'D.PBU.SDD.'

*S** VALUE 'SK'

*S** #NODE := 148 /* DBID FOR ENTIRE SYSTEMS SERVER

*S** #DSN-PREFIX := 'D.PBU.TEK.'

*S** NONE VALUE IGNORE

*S** END-DECIDE

*S***

*S** IF VBP-VIEW.DC-ENVIRON = 'DP'

*S** #VOLSER := VBP-VIEW.VOLUME-AT-NWR

*S** ELSE

*S** #VOLSER := VBP-VIEW.VOLUME-AT-CDC

*S** END-IF

*S** #BE-LEV2-AGENCY(1:20) := BE-LEVEL2-AGENCY(1:20)

*S**END-FIND /* (1550)

*S***

*S**COMPRESS #DSN-PREFIX PDA-OP-INIT PDA-OP-DEPT 'UP1.D' PDA-SUBMIT-DATE

*S** '.T' PDA-SUBMIT-TIME INTO PDA-DSN-DATA LEAVING NO SPACE

*S**COMPRESS #DSN-PREFIX PDA-OP-INIT PDA-OP-DEPT 'UP2.D' PDA-SUBMIT-DATE

*S** '.T' PDA-SUBMIT-TIME INTO PDA-DSN-ERRORS LEAVING NO SPACE

*S***

*S**#OSF-DEPT := PDA-OP-DEPT

*S**#OSF-INIT := PDA-OP-INIT

*S****WRITE '=' #OSF-KEY

*S**FIND OSF-VIEW WITH OSF-KEY = #OSF-KEY

*S**END-FIND /* (1715)

*S*** /* GET ACCESS FOR BE GROUP

*S**** WRITE '=' PDA-BE-GROUP

*S**** '=' OSF-VIEW.OP-BE-GRP-CD '=' OSF-VIEW.BP-ACCESS

*S**IF PDA-FIRST-CALL = 'Y'

*S** IF PDA-BE-GROUP = ' '

*S** PDA-BE-GROUP := OSF-VIEW.OP-BE-GRP-CD

*S** PDA-BE-ACCESS := OSF-VIEW.BP-ACCESS

*S** ELSE

*S** #BE-GROUP-CODE(1) := OSF-VIEW.OP-BE-GRP-CD

*S** #BP-ACCESS-CODE(1) := OSF-VIEW.BP-ACCESS

*S** FOR #I 1 4

*S** #BE-GROUP-CODE(#I+1) := OSF-VIEW.ALT-BE-GRP(#I)

*S** #BP-ACCESS-CODE(#I+1) := OSF-VIEW.ALT-BP-ACCESS(#I)

*S** END-FOR /* (1790)

*S** FOR #J 1 5

*S** IF PDA-BE-GROUP = #BE-GROUP-CODE(#J)

*S** PDA-BE-ACCESS := #BP-ACCESS-CODE(#J)

*S** ESCAPE BOTTOM (1810)

*S** END-IF

*S** END-FOR /* (1810)

*S** END-IF

*S** IF PDA-BE-ACCESS NE 'U'

*S** #MEF-ERROR := 'E627' /* SEC PREVENTS UPDATE ACCESS

*S** END-IF

*S**END-IF

*S*** /* WHEN ALL RECS HAVE BEEN SENT,

*S*** /* WEB SERVICE SETS PDA-UPDATE=Y

*S**IF PDA-UPDATE = 'Y'

*S** CALLNAT 'NBDDUN02' PDA-BP PDA-BE-GROUP PDA-COL1 PDA-COL2 PDA-COL3

*S** PDA-DSN-DATA PDA-DSN-ERRORS PDA-ERROR-TEXT PDA-ERRORS-EXIST

*S** PDA-MF-ERR-COUNT #NODE PDA-OP-DEPT PDA-OP-INIT PDA-RECS-IGNORED

*S** PDA-SPREADSHEET PDA-SUBMIT-DATE PDA-SUBMIT-TIME #VOLSER

*S** ESCAPE ROUTINE /* EXIT PROGRAM

*S**END-IF

*S***

*S**IF PDA-FIRST-CALL = 'N'

*S** #DISP := 'MOD'

*S**ELSE /* ALLOCATE ERROR FILE --

*S*** /* FILE IS CLOSED AT END OF

*S*** /* NBDDUN01 BUT STAYS ALLOCATED.

*S*** /* FILE IS DELETED IN NBDDLP01.

*S** #DISP := 'NEW'

*S** FILE-ALLOCATE-VIEW.DSNAME := PDA-DSN-ERRORS

*S** FILE-ALLOCATE-VIEW.LRECL := 131

*S** FILE-ALLOCATE-VIEW.BLKSIZE := 27903

*S** FILE-ALLOCATE-VIEW.VOLSER := #VOLSER

*S** FILE-ALLOCATE-VIEW.RECFM := 'FB'

*S** FILE-ALLOCATE-VIEW.DSORG := 'PS'

*S** FILE-ALLOCATE-VIEW.UNIT := '3390'

*S** FILE-ALLOCATE-VIEW.ALLOCATION-TYPE := 'TRK'

*S** FILE-ALLOCATE-VIEW.PRIMARY-ALLOCATION := 15

*S** FILE-ALLOCATE-VIEW.SECONDARY-ALLOCATION := 15

*S** FILE-ALLOCATE-VIEW.DIRECTORY-BLOCKS:= 0

*S** FILE-ALLOCATE-VIEW.CATALOG := 'YES'

*S** PROCESS FILE-ALLOCATE-VIEW USING NODE = #NODE

*S** , VOLSER = FILE-ALLOCATE-VIEW.VOLSER

*S** , DSNAME = FILE-ALLOCATE-VIEW.DSNAME

*S** , RECFM = FILE-ALLOCATE-VIEW.RECFM

*S** , DSORG = FILE-ALLOCATE-VIEW.DSORG

*S** , LRECL = FILE-ALLOCATE-VIEW.LRECL

*S** , BLKSIZE = FILE-ALLOCATE-VIEW.BLKSIZE

*S** , UNIT = FILE-ALLOCATE-VIEW.UNIT

*S** , ALLOCATION-TYPE = FILE-ALLOCATE-VIEW.ALLOCATION-TYPE

*S** , PRIMARY-ALLOCATION = FILE-ALLOCATE-VIEW.PRIMARY-ALLOCATION

*S** , SECONDARY-ALLOCATION = FILE-ALLOCATE-VIEW.SECONDARY-ALLOCATION

*S** , DIRECTORY-BLOCKS = FILE-ALLOCATE-VIEW.DIRECTORY-BLOCKS

*S** , CATALOG = FILE-ALLOCATE-VIEW.CATALOG

*S** GIVING ERROR-CODE

*S** ERROR-TEXT

*S** IF FILE-ALLOCATE-VIEW.ERROR-CODE > 0

*S** PDA-ERROR-TEXT := FILE-ALLOCATE-VIEW.ERROR-TEXT

*S** ESCAPE ROUTINE /* EXIT PROGRAM

*S** END-IF

*S**END-IF

*S*** /* PROCESS ERRORS IN ONE LOOP,

*S*** /* THEN WRITE DATA IN ANOTHER.

*S*** /* THERE IS A PROBLEM HAVING

*S*** /* TWO FILES OPEN AT ONE TIME.

*S*** /* RESULTS ARE FUNKY. - KGS

*S**FIND CATALOG-VIEW WITH NODE = #NODE

*S** AND DSNAME = PDA-DSN-ERRORS

*S***

*S** IF CATALOG-VIEW.ERROR-CODE NE 0

*S** PDA-ERROR-TEXT := CATALOG-VIEW.ERROR-TEXT

*S** ESCAPE ROUTINE /* EXIT PROGRAM

*S** END-IF

*S*** /* THIS LOOP VALIDATES ALL RECS

*S*** /* AND WRITES TO ERROR REPORT

*S** FRERR. FOR #I 1 2500

*S** IF #MEF-ERROR NE ' '

*S*** /* BE ACCESS ERROR

*S** PERFORM FIND-MEF-MESSAGE

*S** IF #MEF-ERROR = 'E627' /* YOUR SECURITY PREVENTS UPDATE ACCESS

*S** COMPRESS #MEF-MESSAGE ' FOR BE-GROUP:' PDA-BE-GROUP '/ '

*S** ' BP-ACCESS:' PDA-BE-ACCESS INTO #MEF-MESSAGE

*S** END-IF

*S** PERFORM WRITE-ERROR-REPORT

*S** ESCAPE BOTTOM (2180)

*S** END-IF

*S***

*S** IF PDA-BE(#I) = ' '

*S** ESCAPE BOTTOM(2180)

*S** END-IF

*S***

*S** MOVE RIGHT PDA-ROW(#I) TO #REC2-ROW

*S** EXAMINE FULL #REC2-ROW FOR ' ' REPLACE WITH '0'

*S*** /* CHECK COLUMN SECURITY WHEN

*S*** /* BUDGET ENTITY CHANGES

*S** IF #CALL-CSC-PGM-BE(1) NE PDA-BE(#I)

*S** #COL(1) := PDA-COL1

*S** #COL(2) := PDA-COL2

*S** #COL(3) := PDA-COL3

*S***

*S** #CALL-CSC-COLUMN-AREA(1:3) := #COL(1:3)

*S** #CALL-CSC-BP := PDA-BP

*S** #CALL-CSC-OP-INIT := PDA-OP-INIT

*S** #CALL-CSC-OP-DEPT := PDA-OP-DEPT

*S** #CALL-CSC-PGM-BE(1) := PDA-BE(#I)

*S** #CALL-CSC-COLUMN-USAGE(1:3) := 'U'

*S** #CALL-CSC-COL-TYPE(*,*) := 'B' /* BUDGET DATA

*S** #CALL-CSC-B-COLS-VALID := 'Y' /* B01-B99 COLUMNS VALID

*S** #CALL-CSC-J-COLS-VALID := 'Y' /* J01-J99 COLUMNS VALID

*S***

*S** CALLNAT 'GCSCVN01' #CALL-CSC-ACC-BE(*) #CALL-CSC-BP

*S** #CALL-CSC-OP-INIT #CALL-CSC-OP-DEPT #CALL-CSC-PGM-BE-AREA

*S** #CALL-CSC-SE-ERROR #CALL-CSC-SPECIAL-NOTES

*S** #CALL-CSC-DATA1 #CALL-CSC-DATA2

*S***

*S** IF PDA-BE-GROUP = 'STATE'

*S** IGNORE

*S** ELSE /* BE VALIDATION

*S** #CALL-OBE-OP-INIT := PDA-OP-INIT

*S** #CALL-OBE-OP-DEPT := PDA-OP-DEPT

*S** #CALL-OBE-BE-GRP := PDA-BE-GROUP

*S** #CALL-OBE-PGM-BE(1) := PDA-BE(#I)

*S** #CALL-OBE-READ-BGF := 'Y'

*S** CALLNAT 'GOBEVN01' #CALL-OBE-DATA1 #CALL-OBE-DATA2

*S** #CALL-OBE-DATA3

*S** END-IF

*S** END-IF /* (2285) IF BE CHANGED

*S*** /* COL SEC AND BE VALIDATION ARE

*S*** /* ONLY DONE WHEN BE CHANGES, BUT

*S*** /* THE ERROR MESSAGE(S) SHOULD BE

*S*** /* WRITTEN FOR EACH RECORD

*S***

*S*** /* CHECK FOR COL SEC ERROR

*S** IF #CALL-CSC-ERROR NE ' '

*S** DECIDE ON FIRST VALUE OF #CALL-CSC-ERROR

*S** VALUE 'X047' /* CANNOT BE COL-ID = 'A'

*S** IGNORE

*S** NONE VALUE /* ALL OTHER COL SEC ERRORS

*S** #MEF-ERROR := #CALL-CSC-ERROR

*S** PERFORM FIND-MEF-MESSAGE

*S** COMPRESS #MEF-MESSAGE ':' INTO #MEF-MESSAGE LEAVING

*S** NO SPACE

*S** COMPRESS #MEF-MESSAGE #COL(#CALL-CSC-MARK)

*S** INTO #MEF-MESSAGE

*S** PERFORM WRITE-ERROR-REPORT

*S** END-DECIDE

*S** END-IF

*S*** /* CHECK FOR BE VALIDATION ERROR

*S** IF #CALL-OBE-LST-MESS-KEY NE ' '

*S** #MEF-ERROR := 'E033' /* SEC PREVENTS ACCESS TO BE

*S** PERFORM FIND-MEF-MESSAGE

*S** PERFORM WRITE-ERROR-REPORT

*S** END-IF

*S***

*S** RESET #RECORD

*S** #REC-BP := PDA-BP

*S** MOVE RIGHT PDA-ROW(#I) TO #REC-ROW

*S** EXAMINE FULL #REC-ROW FOR ' ' REPLACE WITH '0'

*S** #REC-BE := PDA-BE(#I)

*S** #REC-PC:= PDA-PC(#I)

*S** #REC-IT := '00'

*S** #REC-IC := PDA-IC(#I)

*S** #REC-AC := PDA-AC(#I)

*S** #REC-IOE := #IOE(#I)

*S** #REC-FUND := PDA-FUND(#I)

*S** #REC-FSI := PDA-FSI(#I)

*S** IF #REC-FSI = ' '

*S** AND #REC-FUND = ' '

*S** #REC-TYPE := '2'

*S** ELSE

*S** #REC-TYPE := '1'

*S** END-IF

*S** #BDF-KEY := #REC-KEY

*S***

*S** FIND BDF-VIEW WITH BDF-KEY = #BDF-KEY

*S** IF NO RECORD FOUND

*S** #ADDING-RECORD := TRUE

*S** ESCAPE BOTTOM (2680)

*S** END-NOREC

*S** RESET #ADDING-RECORD

*S** END-FIND /* (2680)

*S*** /* VALIDATE BE

*S** IF #ADDING-RECORD

*S** RESET #BE-PC-MATCH

*S** #BEF-BE := PDA-BE(#I)

*S** FIND BEF-VIEW WITH BEF-KEY = #BEF-KEY

*S** IF NO RECORD FOUND

*S** #MEF-ERROR := 'E022' /* INVALID BUDGET ENTITY

*S** PERFORM FIND-MEF-MESSAGE

*S** PERFORM WRITE-ERROR-REPORT

*S** ESCAPE BOTTOM (2735)

*S** END-NOREC

*S***

*S** IF PDA-OP-DEPT > '09' AND BEF-VIEW.RELEASE-TO-AGENCY = 'N'

*S** #MEF-ERROR := 'E610' /* SEC PREVENTS ASSIGNING CODE

*S** PERFORM FIND-MEF-MESSAGE

*S** COMPRESS #MEF-MESSAGE ':' INTO #MEF-MESSAGE LEAVING NO SPACE

*S** COMPRESS #MEF-MESSAGE #BEF-BE INTO #MEF-MESSAGE

*S** PERFORM WRITE-ERROR-REPORT

*S** END-IF

*S***

*S** IF OSF-VIEW.OP-TYPE = 'M' AND PDA-OP-DEPT = '07'

*S** IGNORE

*S** ELSE

*S** IF BEF-VIEW.ENTRY-LEVEL NE 'Y'

*S** #MEF-ERROR := 'E072' /* BE IS NOT ENTRY LEVEL

*S** PERFORM FIND-MEF-MESSAGE

*S** PERFORM WRITE-ERROR-REPORT

*S** END-IF

*S***

*S** IF BEF-VIEW.USE-FLG = 'B' OR = 'M'

*S** IGNORE

*S** ELSE

*S** #MEF-ERROR := 'E176' /* BE USE FLAG MUST = B OR M

*S** PERFORM FIND-MEF-MESSAGE

*S** PERFORM WRITE-ERROR-REPORT

*S** END-IF

*S***

*S** FOR #K 1 30

*S** IF BEF-VIEW.PROG-COMP-CD(#K) = PDA-PC(#I)

*S** #BE-PC-MATCH := 'Y'

*S** ESCAPE BOTTOM(2905)

*S** END-IF

*S** END-FOR /* (2905)

*S** END-FIND /* (2735)

*S***

*S** IF #BE-PC-MATCH = 'Y'

*S** IGNORE

*S** ELSE

*S** #MEF-ERROR := 'E075' /* BE/PC NOT COMPATIBLE

*S** PERFORM FIND-MEF-MESSAGE

*S** PERFORM WRITE-ERROR-REPORT

*S** END-IF

*S*** /* VALIDATE PC

*S** #PCF-PC := PDA-PC(#I)

*S** FIND PCF-VIEW WITH PCF-KEY = #PCF-KEY

*S** IF NO RECORD FOUND

*S** #MEF-ERROR := 'E025' /* INVALID PROGRAM COMPONENT

*S** PERFORM FIND-MEF-MESSAGE

*S** PERFORM WRITE-ERROR-REPORT

*S** ESCAPE BOTTOM (2990)

*S** END-NOREC

*S***

*S** IF PCF-VIEW.ENTRY-LEVEL NE 'Y'

*S** #MEF-ERROR := 'E074' /* PC NOT ENTRY LEVEL

*S** PERFORM FIND-MEF-MESSAGE

*S** PERFORM WRITE-ERROR-REPORT

*S** END-IF

*S** IF PCF-VIEW.USE-FLG = 'B' OR = 'M'

*S** #MEF-ERROR := 'E177' /* PC USE FLAG MUST = B OR M

*S** PERFORM FIND-MEF-MESSAGE

*S** PERFORM WRITE-ERROR-REPORT

*S** END-IF

*S** END-FIND /* (2990)

*S***

*S** IF PDA-PC(#I) = '0000000000'

*S** OR PDA-IC(#I) = '0000000' OR = '9999999'

*S** IF OSF-VIEW.OP-TYPE = 'M'

*S** OR PDA-OP-DEPT = '02' OR = '03'

*S** IGNORE

*S** ELSE

*S** IF PDA-OP-DEPT = '01' OR = '07' OR PDA-OP-DEPT > '09'

*S** FOR #J 1 3

*S** IF #COL-ID(#J) = ' ' OR = 'B'

*S** IGNORE

*S** ELSE

*S** #MEF-ERROR := 'X145' /* COL ID MUST BE B FOR B-LEVEL

*S** PERFORM FIND-MEF-MESSAGE

*S** COMPRESS #MEF-MESSAGE ':' INTO #MEF-MESSAGE

*S** LEAVING NO SPACE

*S** COMPRESS #MEF-MESSAGE #COL(#J) INTO #MEF-MESSAGE

*S** PERFORM WRITE-ERROR-REPORT

*S** ESCAPE BOTTOM (3140)

*S** END-IF /* (3140)

*S** END-FOR /* (3140)

*S** END-IF /* (3130)

*S** END-IF /* (3110)

*S** END-IF /* (3100)

*S*** /* VALIDATE IC

*S** RESET #ICF-RECORD-FOUND

*S** #ICF-IC := PDA-IC(#I)

*S** #HOLD-BE := PDA-BE(#I)

*S** FOR #K 1 3

*S** DECIDE ON FIRST VALUE #K

*S** VALUE 1 /* CHECK STATEWIDE

*S** #ICF-BE := '00000000'

*S** VALUE 2 /* CHECK DEPARTMENT

*S** COMPRESS #HOLD-DEP '000000' INTO #ICF-BE

*S** LEAVING NO SPACE

*S** VALUE 3 /* CHECK DIVISION

*S** IF #HOLD-DEP = '41' OR = '72'

*S** COMPRESS #HOLD-DEP-DIV '0000' INTO #ICF-BE

*S** LEAVING NO SPACE

*S** ELSE

*S** ESCAPE BOTTOM(3240)

*S** END-IF

*S** NONE VALUE IGNORE

*S** END-DECIDE

*S** FIND ICF-VIEW WITH ICF-KEY = #ICF-KEY

*S** #ICF-RECORD-FOUND := TRUE

*S** IF PDA-OP-DEPT > '09' AND ICF-VIEW.RELEASE-TO-AGENCY = 'N'

*S** #MEF-ERROR := 'E610' /* SEC PREVENTS ASSIGNING CODE

*S** PERFORM FIND-MEF-MESSAGE

*S** COMPRESS #MEF-MESSAGE ':' INTO #MEF-MESSAGE LEAVING NO SPACE

*S** COMPRESS #MEF-MESSAGE #ICF-IC INTO #MEF-MESSAGE

*S** PERFORM WRITE-ERROR-REPORT

*S** END-IF

*S** ESCAPE BOTTOM (3240)

*S** END-FIND /* (3320)

*S** END-FOR /* (3240)

*S***

*S** IF NOT #ICF-RECORD-FOUND

*S** #MEF-ERROR := 'E028' /* INVALID ISSUE CODE

*S** PERFORM FIND-MEF-MESSAGE

*S** PERFORM WRITE-ERROR-REPORT

*S** END-IF

*S*** /* VALIDATE AC

*S** #ACF-AC := PDA-AC(#I)

*S** FIND ACF-VIEW WITH ACF-KEY = #ACF-KEY

*S** IF NO RECORD FOUND

*S** #MEF-ERROR := 'E026' /* INVALID APPROP CATEGORY

*S** PERFORM FIND-MEF-MESSAGE

*S** PERFORM WRITE-ERROR-REPORT

*S** ESCAPE BOTTOM (3420)

*S** END-NOREC

*S***

*S** IF PDA-OP-DEPT > '09' AND ACF-VIEW.RELEASE-TO-AGENCY = 'N'

*S** #MEF-ERROR := 'E610' /* SEC PREVENTS ASSIGNING CODE

*S** PERFORM FIND-MEF-MESSAGE

*S** COMPRESS #MEF-MESSAGE ':' INTO #MEF-MESSAGE LEAVING NO SPACE

*S** COMPRESS #MEF-MESSAGE #ACF-AC INTO #MEF-MESSAGE

*S** PERFORM WRITE-ERROR-REPORT

*S** END-IF

*S** IF ACF-VIEW.ENTRY-LEVEL NE 'Y'

*S** #MEF-ERROR := 'E065' /* AC IS NOT ENTRY LEVEL

*S** PERFORM WRITE-ERROR-REPORT

*S** END-IF

*S***

*S** IF ACF-VIEW.USE-FLG = 'B' OR = 'M'

*S** IGNORE

*S** ELSE

*S** #MEF-ERROR := 'E178' /* AC USE FLG MUST = B OR M

*S** PERFORM FIND-MEF-MESSAGE

*S** PERFORM WRITE-ERROR-REPORT

*S** END-IF

*S** #IOE(#I) := ACF-VIEW.IOE

*S** END-FIND /* (3420)

*S***

*S** IF PDA-AC(#I) = MASK('01')

*S** DECIDE FOR FIRST CONDITION

*S** WHEN PDA-IC(#I) = MASK('ACT')

*S** IGNORE

*S** WHEN OSF-VIEW.OP-TYPE = 'M'

*S** IGNORE

*S** WHEN PDA-IC(#I) = '1001001' THRU '1002000'

*S** AND PDA-OP-DEPT = '01' AND OSF-VIEW.BP-PAY-PACKAGE = 'Y'

*S** IGNORE

*S** WHEN NONE

*S** FOR #J 1 3

*S** IF #COL-ID(#J) = ' ' OR = 'B'

*S** IGNORE

*S** ELSE

*S** IF #COL-ID(#J) NE 'B'

*S*** /* COL-ID MUST BE 'B' TO ADD

*S*** /* APPROP CATEGORY '01'

*S** #MEF-ERROR := 'X148'

*S** PERFORM FIND-MEF-MESSAGE

*S** PERFORM WRITE-ERROR-REPORT

*S** ESCAPE BOTTOM (3630)

*S** ELSE

*S*** /* YOUR SEC PREVENTS ADDING TO

*S*** /* APPROP CATEGORY '01'

*S** #MEF-ERROR := 'E190'

*S** PERFORM FIND-MEF-MESSAGE

*S** PERFORM WRITE-ERROR-REPORT

*S** ESCAPE BOTTOM (3630)

*S** END-IF /* (3645)

*S** END-FOR /* (3630)

*S** END-DECIDE

*S** END-IF /* (3575)

*S*** /* VALIDATE FUND

*S** IF #REC-TYPE = '1'

*S** #FCF-FUND := PDA-FUND(#I)

*S** FIND FCF-VIEW WITH FCF-KEY = #FCF-KEY

*S** IF NO RECORD FOUND

*S** #MEF-ERROR := 'E023' /* INVALID FUND

*S** PERFORM FIND-MEF-MESSAGE

*S** PERFORM WRITE-ERROR-REPORT

*S** ESCAPE BOTTOM (3760)

*S** END-NOREC

*S***

*S** IF FCF-VIEW.ENTRY-LEVEL NE 'Y'

*S** #MEF-ERROR := 'E084' /* FUND CODE NOT ENTRY LEVEL

*S** PERFORM FIND-MEF-MESSAGE

*S** PERFORM WRITE-ERROR-REPORT

*S** END-IF

*S***

*S** IF FCF-VIEW.USE-FLG = 'B' OR = 'M'

*S** IGNORE

*S** ELSE

*S** #MEF-ERROR := 'E162' /* FUND MUST = B OR M

*S** PERFORM FIND-MEF-MESSAGE

*S** PERFORM WRITE-ERROR-REPORT

*S** END-IF

*S** END-FIND /* (3760)

*S*** /* CHECK BE/FUND COMPATIBLITY

*S** IF PDA-FUND(#I) = MASK('2')

*S** RESET #DEP-FUND-MATCH

*S** #BEF-BE := '00000000'

*S** IF PDA-BE-LEV2-AGENCY(#I) = #BE-LEV2-AGENCY(*)

*S** #BEF-DEP-DIV := PDA-BE(#I)

*S** ELSE

*S** #BEF-DEP := PDA-BE(#I)

*S** END-IF

*S** FIND BEF-VIEW WITH BEF-KEY = #BEF-KEY

*S** IF PDA-FUND(#I) = FUND(1:99)

*S** #DEP-FUND-MATCH := TRUE

*S** END-IF

*S** END-FIND /* (3915)

*S** IF NOT #DEP-FUND-MATCH

*S** #MEF-ERROR := 'X164' /* AGY/FUND MUST BE COMPATIBLE

*S** PERFORM FIND-MEF-MESSAGE

*S** PERFORM WRITE-ERROR-REPORT

*S** END-IF

*S** END-IF /* (3870)

*S*** /* VALIDATE FSI

*S** #FSF-FSI := PDA-FSI(#I)

*S** FIND FSF-VIEW WITH FSF-KEY = #FSF-KEY

*S** IF NO RECORD FOUND

*S** #MEF-ERROR := 'X231' /* INVALID FSI

*S** PERFORM FIND-MEF-MESSAGE

*S** PERFORM WRITE-ERROR-REPORT

*S** ESCAPE BOTTOM (3985)

*S** END-NOREC

*S** IF FSF-VIEW.USE-FLG = 'H'

*S** #MEF-ERROR := 'X140' /* FSI USE FLAG MUST = B OR M

*S** PERFORM FIND-MEF-MESSAGE

*S** PERFORM WRITE-ERROR-REPORT

*S** ESCAPE BOTTOM (3985)

*S** END-IF

*S** END-FIND /* (3985)

*S** END-IF /* (3745) IF REC TYPE = 1

This is the start of the file's text. The full file is on GovTribe.

File details come from the government source that posted it. Updated .