UNITED STATES POSTAL SERVICE
fw~~flQ)
LIBRARY REFERENCE USPS-LR-J-18
DOCKET NO. R2001-1
BULK MAIL REVENUE,
COMPUTER
PIECES AND WEIGHT SYSTEM (BRPW)
SYSTEM DOCUMENTATION
United States Postal Service
Bulk Revenue, Pieces and Weight System (BRPW)
Computer System Documentation
Table of Contents
TableofContents
.................................. ..............
Preface
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..__._.__.........
Section
Title
..................................................
1.
General
2.
System Methodology.
3.
Jobstream
4.
Job Inputs and Outputs
5.
ReportTitles
APPENDIX
Description.
.......................................
ii
1
1
......................................
2
......................................
6
...............................................
A: Computer
i
Program Code
7
ii
Preface
This is a Category 1 library reference. It updates the BRPW computer system
documentation previously provided in USPS-LR-I-25/R2000-1.
The BRPW is the
subject of the testimony of RPW System witness Hunter, USPS-T-4.
3
United States Postal Service
Bulk Mail Revenue, Pieces and Weight System (BRPW)
Computer System Documentation
1. General
This document describes the Bulk Mail Revenue, Pieces and Weight System (BRPW) used by
the Postal Service to develop estimates of revenue, pieces, and weight (RPW) totals for the
classes and subclasses of bulk mail.
BRPW estimates of RPW totals are constructed from financial revenue accounts information
and bulk mailing postage statement data. For the fiscal year (FY) 2000 period, BRPW
estimates of RPW totals are developed for the following bulk mail categories: First-Class Mail
(FCM). permit imprint Priority Mail, Periodicals, Regular and Nonprofit Standard Mail, and
permit imprint Bound Printed Matter (BPM) and Parcel Post Standard Mail.
The BRPW is administered and run locally at Postal Service headquarters using the Service’s
mainframe computer located at the San Mateo Management Support Service Center (MSSC).
The BRPW programs are written in the SAS System programming language (Release 6.09).
IBM Job Control Language (JCL) up front in each program identifies job throughputs and job
control statements for batch processing under Time Sharing Option (TSO) mode. The BRPW
jobstream consists of four jobs run in series. The setting of a “Run Type” switch up front in the
programming code of each job allows the same jobstream to be utilized for either postal quarter
(PQ) or accounting period (AP) production.
The BRPW jobstream is described in Sections 2 and 3 of this document. Job input and output
files, and reports are described in Sections 4 and 5, respectively. The computer program code
is provided in Appendix A.
2. Svstem Methodology
Source bulk mail postage statement data in machine readable format are captured each AP
and input to the BRPW from the PERMIT System, a national automated bulk mail acceptance
and financial reporting system. The PERMIT System provides an ongoing census of its
member offices and currently captures over 90 percent of the nation’s activity for the major mail
categories reported under the BRPW. With respect to bulk mail not captured by the PERMIT
System, the target population is represented in the BRPW by a probability-based stratified
sample. The BRPW office panel therefore consists of all PERMIT System offices
supplemented by a sample of non-automated offices.
Each non-automated panel office reports its postage statement activity for its assigned mail
category to headquarters upon the close of an AP. Upon receipt of the postage statement
information at headquarters, the data are keyed by a contractor into an electronic data file.
Y
2
The BRPW input data consist of the postage statement transaction information obtained from
the automated and non-automated panel offices aggregated by rate category within finance
number. The rate category aggregation is accomplished using a five-character Volume
Information Profile (VIP) Code scheme. The VIP Code scheme maps the revenue, volume, and
weight data by office to individual rate categories as defined by the line items found on the
postage statements for the applicable rate period and form issue date.
Upon input of the revenue, volume, and weight data to the BRPW jobstream, the input data
records are matched to master rate file records by VIP Code and rate date to obtain the piece
rate, pound rate, and weight per piece limits required for data verification. The estimates of
RPW totals are then developed by combining these verified data records with office and stratum
level blow-up factors, and then adjusting the combined strata estimates to the postage revenue
account totals obtained from the trial balance accounting system.
Program run parameters include the current processing period, run period type (AP or PQ) and
allowable rate dates. The parameters are front-end coded for accessibility. The AP or PQ
processing mode is selected by setting the RUNTYPE processing period switch within each job.
Modular coding is employed in the programs wherein records are grouped by mail class to
facilitate maintenance of programming code and data flow comprehension.
Periodic panel updates and related programming code changes are simplified by using
standardized input file record layouts to identify the automated and supplemental panel offices
and their assigned strata and blowup factors. Rate period based rate files containing revenue
per piece, revenue per pound, and weight per piece ratios, by VIP Code, for the numerous bulk
mail rate categories, further facilitate periodic maintenance of rate tiles and related
programming code changes. Up to four rate files can be read per mail class covering up to
three rate change periods for a run period.
3. Jobstream DescriDtion
The BRPW jobstream consists of four jobs run sequentially. The first job collects the current
period’s postage statement data extracted from the PERMIT System and from the
supplemental panel of non-automated offices. The second job performs data verification
checks on the source data. This job utilizes individual rate files for each mail class to provide
rate category information by rate date. The third job inflates the second job’s output using
office, stratum based blowup, and national trial balance factors. The final job copies the
programming code, input files (except PERMIT System input files which are backed up
separately), and output files to a magnetic tape cartridge with a 5year retention period.
For the selected processing period, JCL file names for job inputs, outputs, and SAS language
global variables are updated up front in each program by the operator. Each job is submitted to
the mainframe manually in sequence using IBM TSO batch commands. A description of the
four component jobs follows.
The following JOB-l run parameters are specified by the operator:
3
RUNTYPE
FY
PQ
AP
RDATEn
= 2-character ‘AP’ or ‘PQ’ literal for run period
= 2-digit numeric
= l-digit numeric
= 2-digit numeric
= 6-digit numeric MMDDYY rate date (n=l .4)
The PERMIT System and non-automated office panel tiles containing VIP Code revenue,
volume, and weight data, aggregated by rate date within post off&? finance number, are read
for all AP’s of the selected run period. Input records are matched on finance number (FINNO)
to the automated office and supplemental panel frames. Records for automated offices not
found on the automated office frame are flagged for bypass from downstream processing.
Unmatched non-automated office records trigger an automatic job abort for operator action.
Delinquent non-automated offices (non-respondents) are tagged. Additional automatic job
aborts detect inconsistent AP, PQ, and FY run period parameters, unrecognized rate dates,
and duplicate records in the office frame and data source files. Unused foreign mail records are
dropped from downstream processing.
Non-automated panel offices are checked for a change in automation status. Because some of
the non-automated offices in the panel may be purposefully automated upon their selection in
order to manage peak data entry workload, all non-automated panel offices migrating to the
PERMIT System maintain their originally assigned strata and blowup factors. Where manual
postage statement or negative report (zero volume for an AP) data are inadvertently keyed for a
migrating office, these data are automatically overridden by the automated system’s data.
All data records are assigned system and mail class level designators for downstream data
verification and data editing purposes. The system and class designators are used to match
the input data records to the appropriate rate files and VIP Codes within, and to assign AIC and
RPW Code designators. Automated offices other than migrating non-automated offices default
to the certainty stratum. Negative report offices listed on the non-automated office frame file or
identified from the non-automated office data file are assigned a dummy zero volume VIP Code
for the applicable AP.
Summary data reports are generated showing, for each AP in the selected run period: nonnumeric data, unlisted frame sites, non-respondent offices, and summed revenue, volume, and
weight values. A single JOB-l output file is written containing VIP Code level records by rate
date and finance number for each AP in the run period.
JOB-2
The following JOB-2 run parameters are specified by the operator:
RUNTYPE= 2-character ‘AP’ or ‘PQ’ literal for run period
FY = 2-digit numeric
PQ = 1-digit numeric
AP = 2-digit numeric
RDATEn = 6-digit numeric MMDDYY rate date (up to 4 allowed)
RTOL = numeric rate tolerance
c
4
WTOL = numeric weight tolerance
The JOB-l output file records are read and checked for a match to the processing period
RUNTYPE setting, rate date settings, and run period (FY. PQ and AP). A duplicate record
check is made. Job aborts occur if failures are detected.
Depending upon the assigned mail class, each non-zero record is assigned to a class-based
module for data verification and editing. The data verification and edit process is hierarchical,
wherein, for each record, higher-level validation checks follow prerequisite checks. All other
input records, i.e., failed JOB-l verification, non-respondent and no activity records, are
temporarily bypassed to a separate module for subsequent output at the end of the program.
For each mail class, up to four rate tables can be read for up to three rate change periods
within the selected run period. The rate tables contain the VIP Code level revenue per piece,
revenue per pound, and weight per piece limits that are required to validate the reported
revenue, volume, and weight values in each record. Additional program code parameters
specific to the rate date are coded at the beginning of each mail class module to facilitate
programming wde maintenance.
For each VIP Code record, computed revenue per piece, revenue per pound, and weight per
piece ratios are constructed and compared at the VIP Code or RPW Code level with the
expected ratios found in the matching rate date table. Records with missing or unexpected
data, or having computed ratio(s) not within the applicable revenue or weight tolerances
specified in the job run parameters section, are flagged.
An EFLAG variable initially set to zero identifies the error status for each input record. The
following EFLAG values are used:
EFLAG
EFLAG
EFLAG
EFLAG
EFLAG
EFLAG
EFLAG
EFLAG
EFLAG
EFLAG
EFLAG
-.
= 0000
= 0050
= 0100
= 1000
= 1100
= 1200
= 2000
= 2100
= 2500
= 3000
= 3100
- None
- Migrated site - manual data not needed (Job-l)
- Not on automated office frame (Job-l)
- No rate table entry found
- No RPW Code for RTABLE entry (redundant)
- Non-pos. piece- or pound-rate for RTABLE entry
- Empty R, P or W
- Unexpected R, P or W
- Empty revenue per piece or revenue per pound
- Revenue tolerance
- Weight tolerance
After the data verification and review process is completed, the records from all mail class
modules are regrouped by office. If all records for a non-automated office are found to have
failed, the office’s non-response indicator is set. A non-response factor is computed for each
non-automated office in a stratum if there is at least one non-respondent office in the stratum
for the entire run period. This factor defaults to unity for all other non-automated and
automated offices. If an automated or non-automated office reports activity for one or more
AP’s for a PQ run, but not for all AP’s of the PQ, a missing AP office factor is computed. This
factor is automatically set to unity otherwise, including for all offices for an AP run.
7
5
Edit reports are generated to show missing RPW codes, negative values, and unused VIP
Codes. System and class level totals are generated by stratum. Data verification and edit
summary reports are generated at three levels: stratum, VIP Code within stratum, and FINN0
within VIP Code, and stratum. Computed and expected revenue per piece, revenue per
pound, and weight per piece measures are also reported.
A single JOB-2 output file is written containing VIP Code level records by rate date and finance
number for each AP in the run period.
JOB-3
The following JOB-3 run parameters are specified by the operator:
RUNTYPE = 2-character “AP” or “PQ” literal for run period
FY = 2-digit numeric
PQ = 1-digit numeric
AP = 2-digit numeric
The JOB-2 output file records are read and checked for a match to the processing period
RUNTYPE setting, rate date settings, and run period (FY, PQ and AP). Failed and unused mail
category records are bypassed. Passed records (EFLAG=OOOO)are checked for missing
values and duplicate entries. A failure at this level triggers a job abort.
For each office record, new variables are developed for inflated revenue, volume, weight, and
copy (Periodicals) totals upon multiplying the uninflated record values by a stratum level blowup
factor, missing AP adjustment factor, and stratum level non-response adjustment factor. For
specific indicia and mail class combination records, a final adjustment is made to known
revenue totals obtained from the trail balance accounts.
System and class level reports detail inflated revenue, volume, and weight totals along with
uninflated totals and stratum office counts. The reports include estimated revenue per piece,
revenue per pound, and weight per piece measures.
Passed records containing uninflated and inflated RPW totals by VIP Code, rate date, and
FINNO, for each AP in the run period, are output to file. The inflated data are also aggregated
by RPW Code and AIC before their output to a second file for input to the RPW Adjustment
System (ARPW).
JOB-4
Upon the completion of each job in the BRPW jobstream for a PQ run, the programming code
along with all input and output files used to construct the BRPW estimates are copied to tape
with a 5-year retention period. All input and output data files are backed up in this manner
except for the PERMIT System input tiles which are backed up separately at the San Mateo
ISSC at the time they are created. AP processing period estimates are not backed up to tape,
but remain available on disk in archives for a shorter period of time.
6
This job uses the IBM utility program IEBGENER to copy disk files to tape. With the exception
of a standardized first level qualifier and the replacement of ‘DOI’ with ‘TOI’ in the second level
qualifier of the dataset name (DSN), the disk and tape file names and content are the same. All
backed up files for a PQ run are written to the same tape cartridge.
4. Job lnouts and Outouts
JOB l-3 input and output files are identified in this section. Data record formats are found
within the SAS System programming code provided in Appendix A of this document. All
electronic data files are sequential in structure. The PERMIT System frame and input data file
names follow the IBM Generation Data Set (GDS) naming convention.
JOB
m
CONTENT
Disk
1
IN
PERMIT System Data - by AP
HSISMN.PSl70DOl.RPW.FYyyyyap.Dnnnnn(0)
Non-automated Panel - by AP
HSQRAN.BRPWDOl
‘I
PERMIT System Frame - by AP
HSISMN.BRPWDOl.OFFLIST.Fyyyyyap(O)
”
Non-automated
HSQRAN.BRPWDOi
‘I
2
.MANUALS.FRMQnyy
Rate Map for FCM (up to 4)
HSQRAN.BRPWDO1.RATES1C.mmmddyy
Rate Map for Periodicals
HSQRAN.BRPWDOl.RATESPD.mmmddyy
(up to 4)
Rate Map for STDA (up to 4)
HSQRAN.BRPWDOl
.RATESSA.mmmddyy
Rate Map for STD-B (up to 4)
HSQRAN.BRPWDOl
.RATESSB.mmmddyy
OUT
JOB-l
Output
HSQRAN.BRPWDOl
.EDITDATl
.FYyyyyQn
IN
JOB-l
Output
HSQRAN.BRPWDOl
.EDITDATl
.FYyyyyQn
Rate Map for FCM (up to 4)
HSQRAN.BRPWDOl
RATESlCmmmddyy
Rate Map for Periodicals
HSQRAN.BRPWDOI
.RATESPD.mmmddyy
Rate Map for STD-A (up to 4)
HSQRAN.BRPWDOl
.RATESSA.mmmddyy
Rate Map for STD-B (up to 4)
HSQRAN.BRPWDOl
.RATESSB.mmmddyy
OUT
JOB-2 Output
HSQRAN.BRPWDOl.EDITDAT2.FYyyyyQn
IN
JOB-2 Output Data
HSQRAN.BRPWDOl.EDITDAT2.FYyyyyQn
RPW Code Map
HSQRAN.BRPWDOl
2-Page Report Map
HSQRAN.BRPWDOl.TPLABEL.mmmyy
‘I
3
Office Frame
.MANUALS.FYyyyyap
(up to 4)
.RPWLABEL.mmmyy
7
Revenue Control - by AP
HSISMN.RPW.REVCNTL.FYyyyyap
OUT
JOB-3 Output
HSQRAN.BRPWDOlJNFLATEI .FyyyyyQn
II
JOB-3 Output - by RPW Code
HSQRAN.BRPWDOl.TRANS.FyyyyyQn
‘I
5. Report Titles
This section lists the BRPW JOB l-3 reports by title.
J.QB
REPORT No.
REPORT TITLE
No. 1
RI -300/3 10
RI-400
RI -450
FINN0 NOT ON CBCIS FRAME
INITIAL EDIT SUMMARY
INITIAL EDIT SUMMARY STRATUM TOTALS
No. 2
R2-050AIB
R2-100
R2-200
R2-300
R2-400
R2-500
R2-600
R2-800
JOB-l OUTPUT VERIFICATION
UNUSED R-TABLE ENTRIES (NO RPW CODE)
EFLAG SUMMARY - BY STRATUM
EFLAG SUMMARY - BY VIP CODE
EFLAG SUMMARY - BY FINN0
Fl , F2 FACTORS
UNUSED VIP CODES
UNINFLATED TOTALS - BY RPW CODE
No. 3
R3-050
R3-200
R3-250
R3-425
R3-475
R3-500
R3-600
JOB-2 OUTPUT VERIFICATION
ADJUSTED ESTIMATES
STRATUM TOTALS
ADJUSTED ESTIMATES - BY PANEL OFFICE
ADJUSTED ESTIMATES - BY RPW CODE
ESTIMATES BY RPW CODE - BY SYSTEM & AIC
ESTIMATES BY 2-PAGE LINE NO.
-,
USPS-LR-J-18
APPENDIX
A
BRPW
Computer Program Code
This appendix provides a copy of the IBM JCL operating system and SAS language
programming code used by the Postal Service to construct and report estimates of
revenue, volume, and weight totals. Record layouts for input and output data files are
included in the programming code. Text files containing the machine-readable
code for
the four jobs comprising the BRPW jobstream are also provided on CD-ROM as part of
this library reference. The four job names are:
BRPW JOB
FILE
JOB-l
JOB-2
JOB-3
JOB-4
BRPWJOBI .TXT
BRPWJOB2.TXT
BRPWJOB3.TXT
BRPWJOB4.TXT
Page Al of A63
NNN NN',CLASS=H,MSGCLASS=H
,,NNNNNNS JOB (ALA03),'NNNNNNN
/*ROUTE PRINT u5704
,,********************t*******t******************************************~~~~~~~~
JOB NAME:
PDS.SASRPW(RPWJOBl)
- FORMERLY "JlRRUN97"
***********t*******************************~**************************~~~~~~~~
//*
//so1
//WORK
,,SYSOUT
//*
//*
\,\/\,
,,*
\,\,\/
If'
\/\I\/
//*
,,CBCIS
I/
00010008
00010000
USED
EXEC SAS,REGION=4096K,TIME=SO
DD SPACE=(CYL, (900,70O),RLSE)
DD DUMMY
AP RUN: ENTER 1 FILE (NEW AND OLD RATES ON SAME FILE).
PQ RUN: ENTER 1 FILE FOR EACH AP.
***:
NOTE - USE "DD DUMMY" FOR PLACEHOLDER.
DD
DD
DD
DD
AP
PQ
DSN=HSISMN.PS17OD01.RPW.FY2OO013.GOOO2VOO,DISP=SHR
DSN=HSISMN.PS170DO1.RPW.FY2OOOl2.GOOO3VOO,DISP=SHR
DSN=HSISMN.PS17OD01.RPW.FY2OO011.GOOO1VOO.DISP=SHR
DSN=HSISMN.PS17OD01.RPW.FY2OO010.GOOO1VOO,DISP=SHR
RUN: ENTER 1 FILE FOR AP.
RUN: ENTER 1 FILE FOR EACH AP.
USE "DD DUMMY" FOR PLACEHOLDER.
UPDATE AP FILES FOR PQ RUN c<<<<<<<c<<<<<<c<<c
UPDATE AP FILES FOR PQ RUN <<<c<<<<Fc<<<<<c<<<
::
/,'
,,'
/I*
\/\,\/
\,\I\,
\/\I\/
* >>>>>>>>
:: * >>>>>>>>
//"
,/MANUALS
DD DSN=HSQRAN.BRPWDO1.MANuALS.FY200013,DISP=SHR
DD DSN=HSQRAN.BRPWDO1.MANLIALS.FY200012,DISP=SHR
I/
DD DSN=HSQRAN.BRPWDO1.MANUALS.FY2OO011,DISP=SHR
DD DSN=HSQRAN.BRPWDO1.MANUALS.FY200010,DISP=SHR
::
//*
,,CBCISFRM
DD DSN=HSISMN.BRPWDO1.0FFLIST.FYZOOOl3(O),DISP=SHR
DD DSN=HSISMN.BRPWDOl.OFFLIST.FY200012(0),DISP=SHR
//
DD DSN=HSISMN.BRPWDO1.OFFLIST.FY2OO011(0),DISP=SHR
//
DD DSN=HSISMN.BRPWDO1.OFFLIST.FY200010(0),DISP=SHR
/I
,,*
\,\I\,
AP RUN: ENTER CBCIS FRAME, "DD DUMMY" FOR PLACEHOLDER (3).
,,*
\I\,\,
PQ RUN: ENTER CBCIS FRAMES,"DD DUMMY" FOR 4TH UNLESS PQ=4.
,,*
\,\I\,
AP,PQ : ENTER MANUAL OFFICE FRAME (Q196 OR NEW IF CHANGED).
,,*
\,\,\,
AP,PQ : ENTER MANUAL OFFICE FRAME (Q196 OR NEW IF CHANGED).
,,MNUALFRM DD DSN=HSQRAN.BRPWDOl.MANuALS.FRMQ199,DISP=SHR
READ UP TO 4 RATES FILES FOR EACH CLASS.
/I*
\/\/\I
PQIAP RUN:
//*
,,RATESlC
DD DSN=HSQRAN.BRPWDOl.RATESlC.JAN1099,DISP=SHR
-
-
-
^.
-. __-
-
-
_ _ -
_
_ _
00060000
0012000s
00120008
00140000
00250000
00140000
00140000
00140000
00140000
00140000
00140000
00140000
00140000
00140000
00140000
00140000
00140000
00140000
00140000
00140000
00140000
00140000
00140000
00140000
00140000
00140000
00140000
00140000
00140000
00140000
00140000
00140000
00140000
00140000
00200000
00200000
I
Page A2 of A63
::
,,RATESPD
::
/,RATESSA
I/
I/
/,RATESSB
/I
I/
/,*
\,\/\I
,,*
\,\I\,
//*
I/*
,,EDITDATl
/I
/I
,,SYSIN
DD
DD
DD
DD
DD
DD
DD
DD
DD
DD
DD
AP
PQ
DSN=HSQRAN.BRPWDOl.RATES1C.OCT049S,DISP=SHR
DSN=HSQRAN.BRPWDO1.RATESlC.OCT0597,DISP=SHR
DSN=HSQRAN.BRPWDOl.RATESPD.JANlO99,DISP=SHR
DSN=HSQRAN.BRPWDOl.RATESPD.OCT0498,DISP=SHR
DSN=HSQRAN.BRPWDOl.RATESPD.OCT0597,DISP=SHR
DSN=HSQRAN.BRPWDOl.RATESSA.JAN1099,DISP=SHR
DSN=HSQRAN.BRPWDOl.RATESSA.OCT049B,DISP=SHR
DSN=HSQRAN.BRPWDOl.RATESSA.OCT0597,DISP=SHR
DSN=HSQRAN.BRPWDOl.RATESSB.JAN1099,DISP=SHR
DSN=HSQRAN.BRPWDOl.RATESSB.OCT049S,DISP=SHR
DSN=HSQRAN.BRPWDOl.RATESSB.OCTO597,DISP=SHR
RUN: OUTPUT - LAST QUALIFIER:
FY1996XX:
RUN: OUTPUT - LAST QUALIFIER:
FY1996QX:
00200000
00200000
00200000
00200000
00200000
00200000
00200000
00200000
00200000
00140000
00140000
00140000
00140000
00140000
00140000
00140000
00250000
00260000
00260000
Xx=01,.13.
X=1.,.4.
DD DSN=HSQRAN.BRPWDO1.EDITDATl.FY2000Q4,
DISP=(NEW,CATLG),DCB=(RECFM=FB,LRECL=125,BLKSIZE=5000),
UNIT=SYSDA,SPACE=(CYL,(200,250).RLSE)
DD *
*****t******************C***************~******************************;
* \,\/\/\/\/\/\/\/
ENTER RUN PARAMETERS \/\/\/\/\/~/\/\/\/\/\/
$LET RUNTYPE ='PQ';
*ENTER 2-CHAR ALPHA RUN TYPE: 'PQ' OR
FY = 00 ; *ENTER 2.cwm
NUMERIC my (E.G.,
96).
%LET
%LET
PQ = 4 ; *ENTER l-CHAR NUMERIC QUARTER: l-4.
AP = ,
; *ENTER 2-CHAR NUMERIC AP: 01-13
(USE
%LET
%LET RDATEl = 011099;
l
ENTER 1ST RATE DATE;
* ENTER 2ND RATE DATE (REPEAT 1ST
%LET RDATEZ = 100498;
* ENTER END PATE DATE (REPEAT END
%LET RDATE3 = 100597;
BLET RDATE4 = 100597;
* ENTER 4TH RATE DATE (REPEAT 3RD
********************************************************************,*;
*;
*;00260000
*;00260000
*;00260000
PQ). *;00260000
*;00260000
NONE).*;00260000
N0~E).*;00260000
NONE).*;00260000
'AP'.
IF
IF
IF
IF
00260000
00260000
**t**********************
* READ SYSTEM/CLASS MAP *
**********t**************;
*********t*************
* ONE FILE PER GLOBAL *
********************t+*;
DATA GLOBALS;
,,,
--
-.
._
_
..I
-
-
. . .
-
_
-
i
Page A3 of A63
RDATE=mDATEl;
OUTPUT; RDATE=&RDATE2; OUTPUT;
RDATE=&RDATE3; OUTPUT; RDATE=&RDATE4;
BY RDATE;
PROC SORT DATA=GLOBALS;
DATA GLOBALS; SET GLOBALS; BY RDATE;
IF FIRST.RDATE;
DATA RATESlC;
INFILE
RATESlC;
STAR $1. W;
INPUT @1
IF STAR='*'
THEN DELETE;
ELSE DO;
RDATE
6.
INPUT @l
VIP
$5.
we
w13 VIPX
WI3 VIP1 $1.
VIP2345
$4.
w9
RPWCODE 5.
a14
AIC
3.
@48
SYS $6.
w79
CLASS $2.;
W86
END;
BY RDATE;
PROC SORT DATA=RATESlC;
DATA NULL-;
MERGE RATESlC(IN=A)
GLOBALS; BY RDATE;
;F A=0 THEN ABORT;
DATA RATESPD;
INFILE
RATESPD;
STAR $1. W;
INPUT @l
IF STAR="'
THEN DELETE;
ELSE DO;
RDATE
6.
INPUT @l
VIP
$5.
WB
VIP2345
$4.
@I3 VIP1 $1.
a13 VIPX
w9
RPWCODE 5.
a14
AIC
3.
W-l-l
SYS $6.
a105
Cal12
CLASS $2.;
END;
BY RDATE;
PROC SORT DATA=RATESPD;
DATA NULL ; MERGE RATESPD(IN=A)
GLOBALS; BY RDATE;
IF A=; THEN ABORT;
DATA RATESSA;
INFILE
RATESSA;
STAR $1. W;
INPUT @l
IF STAR='*'
THEN DELETE;
00260000
$1.
$1.
I
Page A4 of A65
ELSE DO;
INPUT
Wl
ws
WY
a14
W-II
Will
WllS
RDATE
VIP
VIP2345
RPWCODE
AIC
SYS
CLASS
6.
$5.
$4.
5.
3.
$6.
$2.;
@S VIP1
$1.
@13 VIPX
END;
PROC SORT DATA=RATESSA;
BY RDATE;
DATA -NULL-;
MERGE RATESSA(IN=Aj
GLOBALS; BY RDATE;
IF A=0 THEN ABORT;
DATA RATESSB;
INFILE RATESSB;
INPUT @l
STAR $1. W;
IF STAR="'
THEN DELETE;
ELSE DO;
INPUT Wl
RDATE
6.
WS
VIP
$5.
WY
VIP2345
$4.
WS VIP1 $1.
@13 VIPX
@14
RPWCODE
5.
W77
AIC
3.
Will
SYS $6.
WllS
CLASS $2.;
END;
BY RDATE;
PROC SORT DATA=RATESSB;
MERGE RATESSB(IN=A)
GLOBALS; BY RDATE;
DATA -NULL-;
IF A=0 THEN ABORT;
PROC DELETE DATA=GLOBALS;
DATA SYSMAP; SET RATESlC RATESPD RATESSA RATESSB;
IF RDATE=. THEN DELETE;
*********t***t***************
* EXPAND MULTI-INDICIA
VIPS *
****************+************;
IF VIPX='
* OK AS IS;
( THEN OUTPUT;
ELSE IF VIPX='+'
THEN DO;
VIP='l'llVIP2345;
OUTPUT;
*METERED;
VIP='2'11VIP2345;
OUTPUT;
*STAMPED;
END;
KEEP RDATE RPWCODE VIP SYS CLASS AIC:
PROC DELETE DATA=RATESlC;
$1.
$1.
)
Page A5 of A65
PROC DELETE DATA=RATESPD;
PROC DELETE DATA=RATESSA;
PROC DELETE DATA=RATESSB;
********t***t******
* EMPTY VIP 44444 *
*****t**********+**;
DATA SYSMAPO; SET SYSMAP;
IF VIP='44444';
p R 0 G R A M ******t*****************
***t**************
B E G 1 N
**t****************************t************~*************************;
*+*********+********;
* PARAMETER CHECKS
l
**********CT*********;
DATA -NULL-;
IF *(&R~NTYPE='PQ'
0~ &RDNTYPE='AP')
OR
OR '(lc=&PQ<=4)
THEN ABORT;
*I O<=&FYc=YY)
IF &RUNTYPE='AP'
AND -(Ol<=&AP<=13)
THEN ABORT;
THEN ABORT;
IF &R"NTYPE='PQ'
AND &AP "=
*******************************t*t******************
* READ DATA FILES - VERIFY SETTINGS, CHECK DUPS l
*********t***t*****t*************t*****”***~******;
DATA CBCIS;
INPUT
INFILE
CBCIS;
2.
Wl AP
1.
W3 PQ
2.
@4 FY
W6 FINN0 6.
@24 RDATE 6.
w34 VIP
$5.
W34 VIP1 $1. W35 VIP2 $1. W36 VIP3
W39 R
10.2
10.
w49 P
12.2
w59 w
w71 c
10.
@95 GDEI $1. ; /* DELETE RECORD IF 'Y' */
IF VIP='
' THEN DO;
IF AP=ll
& FY= 0 & FINNO=
THEN DELETE;
ELSE IF AP=12 & FY= 0 & FINNO=
THEN DELETE;
ELSE ABORT;
END;
OR RDATE=&RDATEZ OR RDATE=&RDATE3
IF -(RDATE=&RDATEl
..
$1.
)
Page A6 of A63
OR RDATE=&RDATEB)
IF
IF
IF
IF
THEN
THEN
THEN
THEN
ABORT;
ABORT;
ABORT;
ABORT;
~(lOOOO<=FINNOc=599999)
PQ-=&PQ OR FY"=&FY
00260000
00260000
&RUNTYPE='AP'
& AP^=&AP
(PQ=l & *(lc=AP<=3))
OR (PQ=2 & *(4<=AP<=6))
OR
00260000
(PQ=3 & -(7<=APc=9))
OR (Pa=4 & *(lO<=AP<=13))
THEN ABORT; 00260000
**********
00260000
00260000
l
FILTER *
**********;
00260000
00260000
IF GDEI='
';
/* IF GDEI='Y'THEN
DELETE l /
00260000
IF (VIP1>'9'
OR VIPlc'O')
OR
00260000
(VIP2>'9'
OR VIP2c'O')
OR
00260000
(VIP2='2'
& VIPlc'6')
THEN DELETE;
********t*****
00260000
00260000
* CHECK DUPS *
**************;
00260000
00260000
PROC SORT DATA=CBCIS;
BY AP FINN0 RDATE VIP;
00260000
DATA -NULL-;
SET CBCIS; BY AP FINN0 RDATE VIP;
THEN
ABORT;
00260000
IF FIRST.VIP
-=LAST.VIP
00260000
DATA MANUALS(DROP=SYSX) MANUALSO; INFILE MANUALS;
00260000
INPUT @l FINN0 6.
00260000
WY FY 2.
00260000
Wll PQ 1.
00260000
@12 AP 2.
w15 VIP2 $1.
Wl6 VIP3 $1.
00260000
@14 VIP $5.
w14 VIP1 $1.
00260000
44'19 R 10.2
00260000
w29 c 10.
00260000
@39 P 10.
00260000
@49 w 12.2
@62 SYSX $6. /'TO EXPAND NEG-RPT 44444 BY AIC/CL W.IN SYS*/ 00260000
00260000
@69 RDATE 6. ;
IF *(RDATE=&RDATEl
OR RDATE=&RDATE2 OR RDATE=&RDATE3
OR RDATE=&RDATE4) THEN ABORT;
THEN ABORT; 00260000
IF PQ"=&PQ OR FY-=&FY
THEN ABORT; 00260000
IF &RUNTYPE='AP'
& AP *=&AP
IF -(10000<=FIENO<=599999)
THEN ABORT;
IF (PQ=I & -(1<=~~<=3))
OR (PQ=~ & *(~<=APc=~))
OR
00260000
THEN ABORT; 00260000
(PQ=3 & *(7<=APc=Y))
OR (PQ=4 h ^(lO<=AP<=13))
IF VIP1'44444'
THEN OUTPUT MANUALSO;
ELSE OUTPUT MANUALS;
l ****************
00260000
-I.~-,,_-;__.
sl
I
* D"P REC CHECK *
*****************;
PROC SORT DATA=MANUALS;
BY AP FINN0 RDATE VIP;
DATA NULL-;
SET MANUALS; BY AP FINN0 RDATE VIP;
;F FIRST.VIP
-= LAST.VIP
THEN ABORT;
PROC SORT DATA=MANUALSO;
BY AP FINN0 SYSX;
DATA -NULL-;
SET MANUALSO; BY AP FINN0 SYSX;
IF FIRST.FINNO
*= LAST.FINNO
THEN ABORT;
****************************
* VERIFY UNIQUE NEG REPORT '
************t****+**********;
PROC SORT DATA=MANUALS;
BY AP FINNO;
DATA -NULL-;
MERGE MANUALS(IN=A)
MANUALSO(IN=B);
BY AP FINNO;
IF A=B THEN ABORT;
******************t**********t*t***************************************
t
* READ FRAME FILES - VERIFY RECORDS, NO DUPS.
*****t******t******t**************t********************~*************;
DATA CBCISFRM; INFILE
CBCISFRM;
INPUT
@5 AP
2.
@7 PQ
1.
WB FY
2.
a13 FINN0
6.
@21 CCITY
$18.
@40 CSTATE $2. ;
IF -(lOOOO<=FINNO<=599999)
THEN ABORT;
IF PQ*=&PQ OR FY-=&FY
THEN ABORT;
IF &RUNTYPE='AP'
AND AP-=&AP
THEN ABORT;
IF &R"NTYPE='PQ'
AND
-((PQ=l
& l<=AP<=3)
OR (PQ=2 & 4<=AP<=6)
OR
(PQ=3 & 7<=AP<=9)
OR (PQ=4 & lO<=AP<=13))
THEN ABORT;
PROC SORT;
BY AP FINNO;
DATA -NULL-;
SET CBCISFRM; BY AP FINNO;
IF FIRST.FINNO
-= LAST.FINNO
THEN ABORT;
DATA MN"ALFRM; INFILE
MNUALFRM;
INPUT
Wl FINN0
/* SYSTEM (PANEL) IDENTIFIER
*/
WS SYS
,,":
W14 STRATUM 3.
W18 PNAME $22.
W40 PSTATE
S2.
@42 PZIP
5.
893 BLOWUP
8.
Page A7 of A63
00260000
00260000
00260000
00260000
00260000
00260000
00260000
00260000
00260000
00260000
00260000
00260000
00260000
00260000
00260000
00260000
00260000
00260000
00260000
00260000
00260000
00260000
00260000
00260000
00260000
00260000
00260000
00260000
I
I
Page A8 of A63
PERM NEG-RPT = I*'
'/
ial01
PNR $1. ; f'
AP=&AP;
PQ=&PQ;
FY=&FY;
THEN ABORT;
IF ~(10000<=FINNO<=599999)
THEN ABORT;
IF STRAT"M<l.O
OR BLOW"Pcl.0
BY SYS FINNO;
PROC SORT;
DATA -NULL-;
SET MNUALFRM; BY SYS FINNO;
THEN ABORT;
IF FIRST.FINNO
-= LAST.FINNO
***************************t**************~****************************
TAG FINN0 IF NOT ON FRAME: ASSIGN VIP=44444
*
* MERGE CBCIS W. FRAME:
*************t**t******t***********************************************;
DATA CBCIS CBCISO; MERGE CBCIS(IN=A)
CBCISFRM(IN=B);
BY AP FINNO;
IF A=B THEN OUTPUT CBCIS;
ELSE IF A=0 THEN DO;
VIP='44444';
VIP1='4';
VIP2='4';
VIP3='4';
R=O; P=O; W=O; C=O;
OUTPUT CBCISO;
END;
ELSE DO;
* NO CBCIS FRAME ENTRY (CBCIS DATA N/U);
XFRAME=l;
OUTPUT CBCIS;
END;
PROC DELETE DATA=CBCISFRM;
*********t**************;
l
ASSIGN SYS-CLASS-AIC
l ;
t***+********+**********;
BY RDATE VIP;
PROC SORT DATA=CBCIS;
BY RDATE VIP;
PROC SORT DATA=SYSMAP;
DATA CBCIS; MERGE CBCIS(IN=A)
SYSMAP(IN=B);
BY RDATE VIP;
IF A=l;
* IF B=O THEN ABORT;
* SEE NOTE ABOVE;
*****+*****t**t*******t*t*;
* EXPAND EMPTY VIP 44444 *; 'FINNOS ON FRAME - NO ACTIVITY;
*********t***+************;
DATA CBCISO;
SET CBCISO;
DO I=1 TO K;
SET SYSMAPO POINT=1 NOBS=K;
OUTPUT;
END;
. . . . . . . .. . .
--
00260000
00260000
00260000
00260000
._~
_
I
Page A9 of A63
IF SYS=' ' OR CLASS=' ' THEN ABORT;
DATA CBCIS; SET CBCIS CBCISO;
PROC DELETE DATA=CBCISO;
*******t**t*******t************
ADD SYS-CLASS-AIC
*
* MANUALS:
t****************tt**t*t*tt*ttt;
BY RDATE VIP;
PROC SORT DATA=MANUALS;
DATA MANUALS; MERGE MANUALS(IN=A)
SYSMAP(IN=B);
BY RDATE VIP;
IF A=l;
IF B=O THEN ABORT;
IF SYS=' ' OR CLASS='
' THEN ABORT;
t*************************;
ENTRY 44444 EXPANDED BY AIC,CL;
* EXPAND EMPTY VIP 44444 *;*SINGLE
*********a****************.
DATA MANUALSO;
SET MANUALSO;
DO I=1 TO K;
SET SYSMAPO POINT=1 NOBS=K;
OUTPUT;
END;
IF SYS=' ' OR CLASS=' ' THEN ABORT;
DATA MANUALSO;
SET MANUALSO;
* RETAIN VIP=44444
FOR MEMBER PANEL ONLY;
IF SYSX=SYS;
DATA MANUALS; SET MANUALS MANUALSO;
PROC DELETE DATAdANUALSO;
**********t*******t************t********************************
*
* MERGE CBCIS, MANUAL 6 PANEL MASTER (BY AP).
***********t***************************************************;
* WITHIN SYSTEM - FOR FINNOS COMMON TO 2 OR MORE PANELS;
***********t*****************
* EXPAND MANUAL PANEL FRAME *
********+***t****************;
DATA MNUALFRM; SET MNUALFRM;
IF &RUNTYPE='AP'
THEN DO; AP=&AP; OUTPUT; END;
ELSE IF &PQ=l THEN DO;
AP=l;
OUTPUT; AP=2; OUTPUT; AP=3; OUTPUT; END;
ELSE IF &PQ=2 THEN DO;
AP=4; OUTPUT; AP=5;
OUTPUT; AP=6; OUTPUT; END;
ELSE IF &PQ=3 THEN DO;
AP=7; OUTPUT; AP=8;
OUTPUT; AP=9; OUTPUT; END;
ELSE IF &PQ=4 THEN DO;
--
----
.-.;-
“I.--
,..
_;
1
‘,
PROC
PROC
PROC
DATA
*
*
Page Al 0 of At
AP=lO; OUTPUT; AP=ll;
OUTPUT; AP=12; OUTPUT;
AP=13; OUTPUT; END;
BY FINN0 SYS AP;
SORT DATA=MNUALFRM;
BY FINN0 SYS AP;
SORT DATA=MANUALS;
BY FINN0 SYS AP;
SORT DATA=CBCIS;
ABCTABLE;
NOTE: MANUAL, CBCIS MATCHED To ORIG PANEL FRAME (NOT CBCIS FRAME);
NOTE: RECORDS FOR UNASSIGNED PANEL (SYSTEM) ARE FLAGGED (ABORT);
MERGE MNUALFRM(IN=A
1
MANUALS(IN=B
KEEP=AP PQ FY FINN0 SYS
)
CBCIS(IN=C
KBEP=AP PQ FY FINN0 SYS XFRAME);
BY FINN0 SYS AP;
IF FIRST.AP;
**************************t***t****************
* INITIALIZE
MIGRATE & NRESP (MANUALS) VARS *
l ********t***********************************;
MIGRATE=O;
NRESP=O;
l ******************************************
* ASSIGNMENT TABLE: ABC=OOO...lll
(BY AP) *
*****************t***t*************t***;
ABC=(lOO*A)+(lO'B)+C;
l VAR USED FOR MANUALS ONLY;
IF ABC=100 THEN NRESP=l;
ELSE IF ABC=001 THEN DO; STRATUM=l.O;
BLONUP=l;
END;
/*FLAG IF REC IS FOR UNASSIGNED PANEL */
ELSE IF ABC=010 OR
ABC=011 THEN ABORT;
ELSE IF ABC=111 & STRATUMc2.0 OR
ABC!=110 & STF!ATUM<Z.O
THEN ABORT;
ELSE IF ABC=111 & STRATUM>=2.0 OR
ABC=101 & STPxATUM>=2.0 THEN DO;
IF XFRAME-=1 THEN MIGRATE=l;
* CBCIS DATA USED;
MIGRATE=O; l MANUAL DATA USED;
ELSE
END;
IF STRATUM=. h (ABC-=OOl)
THEN ABORT;
PROC DELETE DATA=MNUALFRM;
******************t******************************
* MERGE "ABC" BY SYSTEM, REMOVE MANUAL MIGRATES *
****~*******t*******t*****************************;
/* VERTICAL l f
MANUALS;
DATA EDITDATO; SET CBCIS(IN=A)
IF A=1 THEN SOUP.CE='CBCIS '; * USED FOR MIGRATION;
SOURCE='MANLJAL';
ELSE
-
\
Page Al 1 of A6,
PROC
PROC
PROC
PROC
DATA
DELETE DATA=CBCIS;
DELETE DATA=MANUALS;
SORT;
SORT DATA=ABCTABLE;
EDITDATI;
MERGE EDITDATO(IN=A)
RUNTYPE=&RUNTYPE;
EFLAG=OOOO;
& XFRAME=l
IF SOURCE='CBCIS'
& MIGRATE=1
IF SOURCE='MANUAL'
PROC DELETE DATA=EDITDATO;
PROC DELETE DATA=ABCTABLE;
***********
* OUTPUT *
****++*****;
PROC SORT; BY FINN0 VIP AP;
DATA -NULL-;
SET EDITDATl;
FILE EDITDATl;
PUT @l
RUNTYPE $2.
w3
CLASS $2.
@5
SYS $6.
AP 22.
Wll
PQ
1.
a13
FY
2.
w14
RDATE 26.
@16
FINN0
26.
w22
VIP
$5.
W28
RPWCODE Z5.
w33
/*
W38
W50-61
/*
W 214.2
a107
WllS
t*********************
__
P 212.
W86
WllO
THEN EFLAG=OlOO;
THEN EFLAG=0050;
R 212.2
c
W101
@102
W106
SYS AP;
SYS AP;
SYS AP;
l/
@62
W?4
@loo
ABCTABLE;
BY FINN0
BY FINN0
BY FINN0
212.
/'
NRESP
1.
MIGRATE
1.
EFLAG 24.
*/
STRATUM 23.1
BLOWUP 28.3
AIC
3.
MANUALS ONLY */
;
00260000
j
‘\
Page Al 2 of A~.J
*
* 6.0
REPORTS
00260000
*************+****t***;
00260000
DATA ElOO; SET EDITDATl;
IF EFLAG=OlOO;
PROC SORT DATA=ElOO;
BY FINN0 AP;
PROC SUMMARY DATA=ElOO;
BY FINN0 AP;
"AR R P W C; OUTPUT OUT=ElOOA SUM=;
PROC PRINT U;
FORMAT R P W C COMMA13.;
0 0~0
VAR FINN0 AP -FREQ- R P W C;
RPWC;
SUM
TITLE1
"JOB1 ** RPW BULK MAIL SYSTEM ** FOR &RUNTYPE&AP PQ&PQ-&FY";00260000
CBCIS FINN0 NOT ON CBCIS FRAME';
TITLE3
'Rl-300:
TITLES
1 (DATA NOT USED - RAw TOTALS SHOWN) 0;
000
TITLE5
'BY FINN0 & AP';
000
TITLE6
' ';
PROC DELETE DATA=ElOOA;
PROC SORT DATA=ElOO;
BY SYS CLASS FINNO;
PROC SUMMARY DATA=ElOO;
BY SYS CLASS FINNO;
VAR R P W C; OUTPUT OUT=ElOOB SUM=;
PROC SUMMARY DATA=ElOOB;
BY SYS CLASS;
VAR R P W C; OUTPUT OUT=ElOOB SUM=;
BY SYS CLASS;
PROC PRINT U;
000
FORMAT R P W C COMMA13.;
VAR -FREQ- R P W C;
SUM
RPWC;
CBCIS FINN0 NOT ON CBCIS FRAME';
TITLE3
'Rl-310:
TITLE4
8 (DATA NOT USED - RAW TOTALS SHOWN) 1;
TITLE5
'BY SYSTEM & CLASS';
000
000
TITLE6
' ';
PROC DELETE DATA=ElOOB;
00260000
DATA NRESP RESP; SET EDITDATl;
IF NRESP=l THEN OUTPUT NRESP;
00260000
00260000
OUTPUT RESP;
ELSE
PROC DELETE DATA=EDITDATl;
00260000
PROC SORT DATA=NRESP;
00260000
BY EFLAG SYS;
PROC PRINT DATA=NRESP; BY EFLAG SYS;
00260000
00260000
VAR NRESP EFLAG SYS CLASS AP STRATUM FINN0 R P w C;
INITIAL
EDIT SUMMARY';
002
TITLE3
'RI-400:
002
TITLE5
'NONRESPONSES';
002
TITLE6
' ';
d
Y
.^
-
_.
.-
-
-
.
-
-
_
_
_
I.
-
r.
-
)
Page Al 4 of A6,
NNN NN',CLASS=H,MSGCLASS=H
,,NNNNNNS JOB (ALA03),'NNNNNNN
/*ROUTE PRINT
~5704
,,***************************t*t*******************************************~~~~~~~~
JOB NAME:
PDS.SASRPW(RPWJOB2) - FORMERLY "J2RRUN97"
~*~+**~***~*t~*********t**~**~**~~****~~~~~,~~~~~~~~~~~~~~~~~~~~~~,~~~~~~~~~~~~
//*
//so1
PQ RUN: JOB-l
AP RUN: JOB-l
::
//*
,,'
\,\,\,
,,*
\,\/\,
//*
,,*DITDATZ
,,*DITDAT2
//*
I/'
//*
,,SYSIN
-
OUTPUT LAST QUALIFIER:
OUTPUT LAST QUALIFIER:
FY1996QX:
FY1996XX:
X=1.,.4.
XX=O1..13.
DD DSN=HSQRAN.BRPWDO1.EDITDATl.FY2OOOQ4,DISP=SHR
PQ,AP RUN:
READ UP TO 4 RATES FILES FOR EACH CLASS.
*** IMPORTANT: READ 1 FILE FOR EACH GLOBAL R-DATE.
DD DSN=HSQRAN.BRPWDOl.RATESlC.JAN1099,DISP=SHR
DD DSN=HSQRAN.BRPWDOl.RATES1C.OCT049S,DISP=SHR
DD DSN=HSQRAN.BRPWDOl.RATESlC.OCT0597,DISP=SHR
DD DSN=HSQRAN.BRPWDOl.RATESPD.JAN1099,DISP=SHR
DD DSN=HSQRAN.BRPWDOl.RATESPD.OCT049B,DISP=SHR
DD DSN=HSQRAN.BRPWDOl.RATESPD.OCT0597,DISP=SHR
DD DSN=HSQRAN.BRPWDOl.RATESSA.JANlO99,DISP=SHR
DD DSN=HSQRAN.BRPWDOl.RATESSA.OCT049B,DISP=SHR
DD DSN=HSQRAN.BRPWDOl.RATESSA.OCT0597,DISP=SHR
DD DSN=HSQRAN.BRPWDOl.RATESSB.JAN1099,DISP=SHR
DD DSN=HSQRAN.BRPWDOl.RATESSB.OCT049S,DISP=SHR
DD DSN=HSQRAN.BRPWDOl.RATESSB.OCT0597,DISP=SHR
::
,,RATESPD
/I
//
,,RATESSA
I/
//
,,RATESSB
-
USED
EXEC SAS,REGION=6000K,TIME=60
DD SPACE=(CYL, (l500,1500),RLSE),UNIT=(SYSDA,3)
DD SPACE=(CYL, (4000)),UNIT=(SYSDA,3)
DD DUMMY
//*ORK
//WORK
,,SYSOUT
/I*
//'
,,*
\,\,\,
,,*
\,\,\,
//*
,,EDITDATl
,,*
\,\,\,
//'
,,RATESlC
-
00010008
00010000
PQ RUN: JOB-2
AP RUN: JOB-2
OUTPUT LAST QUALIFIER:
OUTPUT LAST QUALIFIER:
FY1996QX:
FY1996XX:
X=1,.,4.
XX=O1..13.
DD DSN=HSQRAN.BRPWDOl.EDITDAT2.FY2OOOQ4,DISP=SHR
DD DSN=HSQRAN.BRPWDOl.EDITDAT2.FY2OOOQ4,
DISP=~NEW,CATLG~,DCB=~RECFM=FB,LRECL=l5O,BLKSIZE=6OOO),
UNIT=SYSDA,SPACE=(CYL,
(1000,75O),RLSE)
DD *
-
._
_
-~
.
_ .
00060000
00110008
0011000S
00200000
00200000
00200000
00200000
00200000
00200000
00200000
00200000
00200000
00200000
00200000
00200000
00200000
00200000
00200000
00200000
00200000
00200000
00200000
00200000
00200000
00200000
00200000
00200000
00200000
00200000
00200000
00200000
00200000
00200000
00210000
)
Page Al 5 of A6**********************tt***********t*************************************;
* \I\/\/\/\/\/\/\/\/
UPDATE SYSTEM PARAMETERS \/\/\/\/\I\/\/
*i
;*ENTER Z-CHAR ALPHA RUN TYPE: 'PQ' OR 'AP'.
%LET RUNTYPE ='PQ'
*;00210000
;*ENTER 2-CHAR NUMERIC FY (E.G.,
96).
*;00210000
%LET
FY = 00
;*ENTER I-CHAR NUMERIC QUARTER: 1-4.
*;00210000
%LET
PQ = 4
;*ENTER 2-CHAR NUMERIC AP: 01-13
(. IF PQ RUN). *;00210000
%LET
AP =
%LET RDATEl =011099;
*ENTER RATE DATE (1ST IF RATE CHANGE);
*;00210000
*ENTER END RDATB (REPEAT IST IF NONE).
l ;00210000
%LET RDATE2 =100498;
*ENTER ~RD RDATE (REPEAT 2Nn IF NONE).
*;00210000
%LET RDATE3 =100597;
*;00210000
%LET RDATE~ =100597;
*ENTER ~TI-I RDATE (REPEAT 3RD IF NONE).
0.005 = l/2 PCNT)*;OO210000
RTOL =O.OSO;
*ENTER REL. RATE TOL (E.G.,
%LET
';00210000
WTGL =0.050;
*ENTER REL. WT/PC TOLERANCE (LB.9).
%LET
******t***t****t************************************~*************.***;
00210000
UPDATE RATE-DATE SPECIFIC CODE IN MODULES IF NEW. ;00110008
* >>>>>> REMINDER:
00210000
p R 0 G R AM +***+****t**.********+00210000
t******tt*************
B E G 1 N
***********t**t*****
* PARAMETER CHECKS *
********************;
00210000
DATA -NULL-;
00210000
OR &RUNTYPE='AP')
OR
IF ^(&RUNTYPE='PQ'
00210000
OR *(lc=&PQ<=4)
THEN ABORT;
* ( Oc=&FYc=99)
00210000
IF &RUNTYPE='AP'
AND '(Olc=&AP<=13)
THEN ABORT;
00210000
THEN ABORT;
IF &RUNTYPE='PQ'
AND &AP *= ,
00210000
*t*******************************
l
CREATE EFLAG DESCRIPTION
FILE *
*********************t*t***********;
00210000
DATA ETYPE;
00210000
LENGTH ETYPE $20.;
00210000
';
OUTPUT;
EFLAG=OOOO; ETYPE='NONE
00210000
EFLAG=0050;
ETYPE='MIGRATED-CBCIS-USED-';
OUTPUT;
00210000
EFLAG=OlOO; ETYPE='NO-CBCIS-FRAME-ENTRY';
OUTPUT;
00210000
EFLAG=lOOO; ETYPE='NO-RTABLE-ENTRY-----';
OUTPUT;
00210000
EFLAG=llOO;
ETYPE='NO-RPWCODE-IN-RTABLE';
OUTPUT;
00210000
EFLAG=1200;
ETYPE='NONPOS-PCRT-LBRT----I;
OUTPUT;
00210000
EFLAG=2000;
ETYPE='EMPTY-R-P-OR-W------';
OUTPUT;
00210000
EFLAG=2100;
ETYPE='UNEXPECTED-R-P-OR-W-';
OUTPUT;
00210000
EFLAG=2500;
ETYPE='EMPTY-RPP-OR-RLB----I;
OUTPUT;
00210000
EFLAG=3000;
ETYPE='REVENUE-TOLERANCE---';
OUTPUT;
\
Page Al 6 of A6.
EFLAG=3100;
ETYPE='WEIGHT-TOLERANCE----';
OUTPUT;
EFLAG=.;
ETYPE='MISSING-EFLAG-VALUE-';
OUTPUT;
PROC SORT; BY EFLAG;
********************t************************~*************
* READ EDITDATl
- VERIFY PARAMETERS - SPLIT INTO CLASS MODULES *
********************t*************t*******************************;
DATA EDITDATl;
INFILE
EDITDATl;
INPUT @l
RUNTYPE
$2.
03
CLASS
$2.
SYS $6.
@5
AP
2.
a11
PQ
1.
@13
FY
2.
a14
RDATE
6.
@16
FINN0
6.
a22
VIP
$5.
@28 VIP1
$1. a29 VIP2
@28
$1.
@28 VIP12
$2. @30 VIP3
$1.
@30 VIP34
$2. @31 VIP45
$2.
@32 VIP5
$1. W29 VIP2345
$4.
@28 VIP1234
$4.
RPWCODE
5.
a33
@38
R 12.
/* @50-61 */
c&52
P 12.
874
c
12.
w 14.
@S6
NRESP
1.
I' MANUALS ONLY */
a'100
ml01
MIGRATE
1.
a102
EFLAG
4.
I* a106 *I
@lo7
STRATUM
3.
@I110
BLOWUP
8.
AIC
3. ;
@llS
**t****t****
l
TEMP FIX l * AP2-00 FOR FINN0 518682;
********+***;
IF FINNO=
& AP=2 & FY=OO THEN DO;
IF VIP='O4352'
THEN DO;
RHOLD=R; PHOLD=P; WHOLD=W;
DELETE;
END;
I-“,_.-.-
_
00210000
00210000
00210000
00210000
_
.--
_
i
Page Al 7 of A6.
IF
IF
IF
IF
IF
IF
-_--
--.^._.
IF VIP='O4412'
THEN DO;
R=R+RHOLD; P=P+PHOLD; W=W+WHOLD;
END;
END;
RETAIN RHOLD PHOLD WHOLD;
RHOLD PHOLD WHOLD;
DROP
****t*******;
* TEMP END *;
l ***********;
' OR VIPl='.')
THEN ABORT;
NRESP"=l
& (VIP='
' OR VIPl='
RUNTYPE*=&RUNTYPE
THEN ABORT;
THEN ABORT;
PQ-=&PQ OR FY-=&FY
& AP*=&AP THEN ABORT;
&RUNTYPE='AP'
"(lOOOO<=FINNOc=599999)
THEN ABORT;
-(RDATE=&RDATEl
OR RDATE=&RDATE2 OR RDATE=hRDATE3
OR RDATE=&RDATE4) &
THEN ABORT;
OR NRESP=l OR EFLAG*=O)
-(VIP='44444'
*t***************
* DUP REC CHECK * *DUPS OK IF EFLAG DIFFERS (=0050,0100);
**************t**;
PROC SORT;
BY AP SYS CLASS AIC FINN0 RDATE VIP DESCENDING EFLAG;
DATA -NULL-;
SET EDITDATl;
BY AP SYS CLASS AIC FINN0 RDATE VIP DESCENDING EFLAG;
IF FIRST.VIP
-= LAST.VIP
THEN DO;
IF FIRST.VIP
THEN HOLDFLAG=EFLAG;
IF LAST.VIP
& EFLAG=HOLDFLAG THEN ABORT;
END;
RETAIN HOLDFLAG;
****************************
* SPLIT INTO CLASS MODULES *
l ***************.***********;
DATA MODOC MODlC MODPD MODSA MODSB; SET EDITDATl;
IF NRESP =l
OR
EFLAG -=O
OR
VIP ='44444'
THEN OUTPUT MODOC;
ELSE IF CLASS =' ' THEN DO;
OUTPUT MODOC;
EFLAG=lOOO;
END;
ELSE IF CLASS='lC'
THEN OUTPUT MODlC;
ELSE IF CLASS='PD'
THEN OUTPUT MODPD;
,_._........_...._..
--...
,_
00210000
00210000
00210000
00210000
00210000
00210000
00210000
00210000
00210000
00210000
00210000
00210000
00210000
00210000
00210000
00210000
00210000
002
002
002
002
002
002
002
002
\
Page Al 8 of A6.
ELSE IF CLASS='SA'
THEN OUTPUT MODSA;
ELSE IF CLASS='SB'
THEN OUTPUT MODSB;
ELSE ABORT;
PROC DELETE DATA=EDITDATl;
********************************t*
* RPT R2-050:
JOB-l VERIFICATION
* l FOR AUDITOR;
*****t****t******t*****************;
DATA R050; SET MODOC(IN=A) MODlC MODPD MODSA MODSB;
IF VIP"='
';
IF A=1 THEN RETAIN='N';
RETAIN='Y';
ELSE
BY SYS CLASS DESCENDING RETAIN
PROC SORT;
STRATUM EFLAG AP;
PROC SUMMARY; BY SYS CLASS DESCENDING RETAIN
STRATUM EFLAG AP;
ID BLOWUP; VAR R P W; OUTPUT OUT=ROSOA SUM=;
PROC PRINT DATA=R050A; BY SYS CLASS DESCENDING RETAIN;
PAGEBY SYS;
ID RETAIN;
VAR SYS CLASS STRATUM EFLAG AP R P W;
SUM
R P W;
R P W COMMA14.;
FORMAT
TITLE1
"JOB2 ** RPW BULK MAIL SYSTEM ** FOR &RUNTYPE&AP PQ&PQ-&FYn;
TITLE3
'RZ-050A:
JOB-1 OUTPUT VERIFICATION';
TITLE5
0 (RETAIN=N DATA UNUSED DOWNSTREAM) 1;
TITLE7
'SUMMARY';
TITLES
' ';
DATA ROSOB; SET R050;
IF RETAIN='N';
BY SYS CLASS STRATUM EFLAG RDATE VIP;
PROC SORT;
PROC SUNMARY; BY SYS CLASS STRATUM EFLAG RDATE VIP;
ID BLOWUP RETAIN;
VAR R P W; OUTPUT OUT=ROSOB SUM=;
PROC PRINT DATA.RO50B;
BY SYS CLASS; PAGEBY SYS;
ID RETAIN;
VAR SYS CLASS STRATUM BLOWUP EFLAG RDATE VIP
R P W;
R P W;
SUM
FORMAT R P W COMMA14.;
TITLE3
'R2-050B:
JOB-l OUTPUT VERIFICATION';
TITLES
1 (RETAIN=N DATA UNUSED DOWNSTREAM) 1;
^.
r.
..,
.-
002
002
002
002
’
Page A19 of A6,
TITLE7
TITLE9
DELETE
DELETE
DELETE
DELETE
'DETAIL FOR RETAIN=N';
' ';
DATA=RO50;
DATA=R050S;
DATA=ROSOA;
DATA=R050B;
PROC
PROC
PROC
PROC
*t**********t*****************
* RATE TABLES (VIP-RPW CODE] *
***************t******t*******;
DATA RATESlC;
INFILE RATESlC;
LENGTH VIPCAT $48.;
RTABLE='RATESlC';
INPUT @l
STAR $1.
@;
IF STAR='*'
THEN DELETE;
ELSE DO;
RDATE
6.
INPUT @1
@8
VIP
$5.
a9
VIP2345
$4.
@8 VIP1 $1.
4913 VIPX
$1.
RPWCODE
5.
a14
VIPCAT $27.
a20
AIC
3.
@48
RATEHI
7.
@52
@60
RATELO
7.
WPPMAX
9.
@68
SYS $6.
c379
ID $2. ;
@89
IF RDATE=. THEN ABORT;
SPSERV=O;
IF ID='%'
THEN SPSERV=l;
IF RPWCODE>O THEN DO;
l
CONVERT OZ TO LBS;
WPPMAX=WPPMAX/l6;
IF WPPMAXc=O OR RATEHI<=
OR RATELOc 0 THEN ABORT;
END;
*****************SC**************
* EXPAND MULTIPLE INDICIA
VIPS *
***********************t***t******;
' THEN OUTPUT; /*OK AS IS*/
IF VIPX='
ELSE IF VIPX='+'
THEN DO;
VIP='l']]VIP2345;
VIPl='l';
OUTPUT;
*METERED;
*STAMPED;
VIP=‘2’]1VIP2345;
VIP1=‘2’;
OUTPUT;
END;
)
I
END;
DROP STAR VIPX;
DATA RATESPD; INFILE
RATESPD;
RTABLEz'RATESPD';
INPUT @l
STAR $1.
Q;
IF STAR=‘*’
THEN DELETE;
ELSE DO;
RDATE
6.
INPUT @l
VIP
$5.
@8
RPWCODE
5.
a14
VIPCAT $48.
a20
AIC
3.
WI7
PCRT
7.
@El
LBRT
7.
WE9
WPPMAX
7.
Q97
SYS $6.
w105
ID
$2.
@115
IF RDATE=. THEN ABORT;
IF ID='ZD'
THEN
ELSE IF ID='2N'
THEN DO;
ELSE IF ID='2I'
THEN DO;
ELSE IF ID='ZF'
THEN
ELSE IF ID='2K'
THEN
ELSE IF ID='2S'
THEN
OUTPUT RATESPD;
END;
DROP STAR;
DATA RATESSA; INFILE
RATESSA;
RTABLE='RATESSA';
STAR
$1.
Q;
INPUT Wl
IF STAR='*'
THEN DELETE;
ELSE DO;
RDATE
6.
INPUT @l
VIP
$5.
@8
VIP2345
$4.
QY
RPWCODE 5.
a14
@20 VIPCAT
542.
AIC
3.
@I7
PCRT
7.
@El
LBRT
7.
WE9
WPPMIN
6.
w97
Page A20 of A6.
;
DISCOUNT='Y';
DISCOUNT='Y';
DISCOUNT='Y';
DISCNADV='Y';
FOREIGN='Y';
FOREIGN='Y';
END;
END;
KEYRATE ='Y';
SCHARGE ='Y';
@8 VIP1
$1.
w13 VIPX
$1.
I
?
Page A21 of A6.
w104
WPPMAX
6.
Qlll
SYS $6.
w121
ID
$2.
W124
MVIP
$5. ;
IF RDATE=. THEN ABORT;
SINGLE=O; PARTIAL=O;
MULTI=O;
IF ID='SP'
THEN SINGLE =l;
ELSE IF ID='PP'
THEN PARTIAL=l;
MULTI=I;
/*PIECE
6 pouND RATE PAIR*/
ELSE IF ID='MV'
THEN
IF PCRT=. THEN PCRT=O;
IF LBRT=. THEN LBRT=O;
*t*********t********************
'/
* EXPAND MULTIPLE INDICIA
VIPS * /* VIPS WITH VIPl=.
l ********************************;
' THEN OUTPUT;
/*OK AS IS*/
IF VIPX='
ELSE IF VIPX='+'
THEN DO;
VIP='l']]VIP2345;
VIPl='l';
OUTPUT;
*METERED;
VIP='2']]VIP2345;
VIP1='2';
OUTPUT;
*STAMPED;
END;
END;
DROP STAR VIPX;
DATA RATESSB; INFILE RATESSB;
LENGTH VIPCAT $48.;
RTABLE='RATESSB';
INPUT Wl
STAR $1.
THEN DELETE;
IF STAR='*'
ELSE DO;
INPUT Wl
RDATE
VIP
WE
Q9
VIP2345
w14
RPWCODE
W20 VIPCAT
PATEHI
W52
@60
RATELO
@7-l
AIC
PCRT
WE1
889
LBRT
w97
WPPMIN
w104
WPPMAX
WI.11
SYS
w121
ID
W;
6.
$5.
$4.
5.
$25.
7.
7.
3.
7.
7.
6.
6.
56.
$2.
@8 VIP1
/*
/"
$1.
@13 VIPX
PARCEL POST */
PARCEL POST */
$1.
1
Page A22 of A6
al.24
MVIP
$5. ;
IF
RDATE=. THEN ABORT;
SPSERV=O; SINGLE=O; MULTI=O;
IF ID='DC'
THEN DISCOUNT='Y';
ELSE IF ID=',%
THEN SPSERV=l;
/*
ELSE IF ID='SP'
THEN SINGLE=l;
ELSE IF ID='MV'
THEN MULTI=l;
PCRT=. THEN PCRT=O;
IF
LBRT=. THEN LBRT=O;
IF
IF RATEHI=.
THEN RATEHI=O;
IF RATELO=. THEN RATELO=O;
IF ABS(PCRT+LBRT]>O
THEN RHILO=O;
FHILO=l;
ELSE
NOTE:
ALSO PC-RT M&PCS */
l **********t****************t*tt
* EXPAND MULTIPLE INDICIA
VIPS *
***********a.********************;
IF VIPX='
' THEN OUTPUT; /*OK AS IS*/
ELSE IF VIPX='+'
THEN DO;
VIP='l']]VIP2345;
VIPl='l';
OUTPUT;
VIP='2']]VIP2345;
VIP1='2';
OUTPUT;
END;
*METERED;
l STANPED;
END;
DROP STAR VIPX;
**********************t*****t******
l
REPORT R2-100:
EMPTY RPWCODE *
*************************t********;
DATA RATESX; SET RATESlC RATESPD FATESSA RATESSB;
IF RPWCODE=.;
IF VIP*='44444';
BY RTABLE RDATE VIP;
PROC SORT;
PROC PRINT U; BY RTABLE RDATE; PAGEBY RDATE;
VAR RDATE VIP VIPCAT;
UNUSED R-TABLE ENTRIES (NO RPW CODE]';
TITLE3
'R2-100:
TITLE5
' ';
PROC DELETE DATA=RATESX;
*t***************t********
l
* 1C MODULE:
*****************t*******;
PROC SORT DATA=MODlC;
PROC SORT DATA=RATESlC;
DATA MODlC RATElCNU;
BY RDATE VIP
BY RDATE VIP
RPWCODE AIC;
RPWCODE AIC;
)
Page A23 of A6MERGE MODlC(IN=A)
RATESlC(IN=B);
BY RDATE VIP RPWCODE AIC;
THEN EFLAG=lOOO;
IF B=O
THEN EFLAG=llOO;
ELSE IF RPWCODE=.
IF EFLAG=llOO
OR A=0 'THEN OUTPUT RATElCNU;
OUTPUT MODK!;
ELSE
DATA MODlC; SET MODlC;
RP=R; RW=O;
IF EFLAG=O THEN DO;
IF .SPSERV=l THEN DO;
THEN EFLAG=ZOOO;
IF P=O OR P=. OR RP=O OR RP=.
END;
ELSE DO;
IF P-0 OR P=. OR W=O OR W=. OR RP=O OR RP=.
THEN EFLAG=2000;
END;
DROP R;
END;
*t*t******************
l
RATIOS (VIP LEVEL) *
**********************;
RPP=O; RLB=O;
IF P"=O & P*=. THEN DO;
RPP=RP/P; WPP=ABS(W/P);
END;
**********t***************************************
*
* EDITS (HIERARCHICAL):
* 1. MISSING
DATA: 2. CLASS-LEVEL:
3. VIP-LEVEL.
*
*******t**t*************t*t*'t*t************************;
IF EFLAG=O THEN DO;
THEN EFLAG=1200;
IF RATEHI<=
OR RATELOc 0
THEN EFLAG=2500;
ELSE IF RPP=O OR RPP=.
<=RPP <=(RATEHI*(l+&RTOL)))
ELSE IF ^((RATEL~*(~-RRTOL))
THEN EFLAG=3000;
THEN EFLAG=3100;
ELSE IF
WPP>=WPPMAX*(l+&WTOL)
END;
l ***t***********t
* ADD ETYPE VAR *
***t****+********;
PROC SORT DATA=MODlC;
DATA MODlC; MERGE MODlC(IN=A)
IF A=l;
,,
ETYPE;
BY EFLAG;
BY EFLAG;
,,,
,., ,., ,, ,,
)
Page A24 of A6,
PROC DELETE DATA=RATESlC;
**************************
*
* PD MODULE:
****************t*+**t*****;
BY RDATE VIP RPWCODE AIC;
PROC SORT DATA=MODPD;
BY RDATE VIP RPWCODE AIC;
PROC SORT DATA=RATESPD;
DATA MODPD RATEPDNU;
MERGE MODPD(IN=A)
RATESPD(IN=B);
BY RDATE VIP RPWCODE AIC;
THEN EFLAG=lOOO;
IF B=O
THEN EFLAG=llOO;
ELSE IF RPWCODE=.
IF EFLAG=llOO
OR A=0 THEN OUTPUT RATEPDNU;
OUTPUT MODPD;
ELSE
DATA MODPD; SET MODPD;
RP=O; RW=O;
**************
* ERROR FLAG *
************ST*;
IF EFLAG=O THEN DO;
IF SCHARGE ='Y'
THEN DO;
RP=R;
PDISC=C; * RETAIN VOLUME FOR RATE CHECK SECTION;
* ENSURE ZERO (NO DOUBLECOUNT);
P=O;
OR
IF (RP=O OR RP=.)
(PDISC=O OR PDISC=.)
OR
THEN EFLAG=2000;
(W=O OR W=.)
THEN EFLAG=2100;
ELSE IF P"=O
END;
& FOREIGN *='Y'
THEN DO;
ELSE IF DISCOUNT='Y'
* NEEDED SINCE CBCIS PD DISC. NOT SIGNED;
RP=-R;
PDISC=P;
* RETAIN VOL FOR RATE CHECK SECTION;
* ZERO OUT PIECES (AVOID DOUBLECOUNT);
P=O;
THEN EFLAG=2000;
IF RP=O OR RP=.
ELSE IF RP*PDISC *CO /* OPPOSITE SIGN CHECK */
OR P-=0 OR W*=O
THEN EFLAG=2100;
END;
ELSE IF DISCOUNT='Y'
& FOREIGN ='Y'
THEN DO;
* NEEDED SINCE CBCIS PD DISC. NOT SIGNED;
RW=-R;
THEN EFLAG=2000;
IF RW=O OR RW=. OR W=O OR W=.
P-=0 OR C-=0 THEN EFLAG=2100;
ELSE IF
END;
ELSE IF FOREIGN='Y'
THEN DO;
,,
,,
\
‘)
ELSE
ELSE
ELSE
ELSE
ELSE
RW=R;
/* COPIES = PIECES FOR PUB. PERIODICALS RATE */
P=C;
IF RW=O OR RW=. OR W=O OR W=. OR P=O OR P=. OR C=.
THEN EFLAG=2000;
END;
IF KEYRATE='Y'
THEN DO;
RW=R;
IF RW=O OR RW=. OR W=O OR W=. THEN EFLAG=2000;
THEN EFLAG=2100;
ELSE IF P*=O
END;
IF (R=O OR R=.) OR (P=O OR P=.) & (W=O OR W=.) THEN DO;
RP=R;
EFLAG=2000;
END;
IF P>O & W>O THEN DO;
RP=R;
EFLAG=2100;
END;
IF P-=0 & P"=. THEN RP=R;
IF W-=0 & W^=. THEN RW=R;
END;
ELSE RP=R; * ALL OTHER CASES;
DROP R;
*t***********************t
* ADD RATIOS (VIP LEVEL) *
****t*********************;
RPP=O; RLB=O;
IF P-=0 & P-=. THEN CPP=ABS(C/P);
IF FOREIGN='Y'
& DISCOUNT='Y'
& WA=0 & W*=. THEN RLB=RW/W;
& W^=O & W"=. THEN RLB=RW/W;
ELSE IF FOREIGN='Y'
ELSE IF DISCOUNT='Y'
& ABS(PDISC)
>O THEN RPP=ABS(RP/PDISC);
ELSE IF SCHARGE='Y'
& ABSCPDISC) >O THEN DO;
RPP=ABS(RP/PDISC);
WPP=ABS(W/PDISC);
END;
ELSE IF P*=O h P-=. THEN RPP=RP/P;
ELSE IF W^=O & W-=. THEN RLB=RW/W;
*******************************
* ADD RATIOS (RPW CODE LEVEL) * l NOT VIP LEVEL (FOR PD ONLY!);
*****************t*************;
* PASSED RECORDS ONLY USED!;
BY AP FINN0 RPWCODE RDATE EFLAG;
PROC SORT DATA=MODPD;
Page A25 of A6,
1
Page A26 of A6,
PROC SUMMARY DATA=MODPD;
BY AP FINN0 RPWCODE RDATE EFLAG;
VAR C P W; OUTPUT OUT=WPPS"MPD SDM=CSUM PSUM WS"M;
DATA WPPSUMPD; SET WPPSUMPD;
IF EFLAG=O;
DROP EFLAG;
DATA "ODPD; MERGE MODPD WPPSJMPD; BY AP FINN0 RPWCODE RDATE;
WPP=O; WPC=O;
IF WSUM*=O & PSUM-=O THEN WPP=ABS(WSUM/PS"M);
IF WS"M^=O & CS"M^=O THEN WPC=ABS(WS"M/CS"M);
*************************************t**********
*
* EDITS (HIERARCHICAL):
* 1. MISSING DATA: 2. CLASS-LEVEL:
3. RPW LEVEL *
*************************f************************;
DATA MODPD; SET MODPD;
IF EFLAG=O THEN DO;
IF DISCOUNT='Y'
& FOREIGN *='Y'
THEN DO;
OR
IF PCRT<=O OR RPP=O OR RPP=.
DISCNADV ='Y'
& ~(PCRT/~OOC=RPPC=PCRT*(~+&RTOL~~
OR
DISCNADV*='Y'
& PCRT>O & ABS(RPP-PCRT)/PCRT
-<=&RTOL
THEN EFLAG=3000;
END;
ELSE IF DISCO"NT='Y'
& FOREIGN='Y'
THEN DO;
*<&RTOL THEN EFLAG=3000;
IF ABS(RLB-LBRT)/LBRT
END;
ELSE IF FOREIGN='Y'
THEN DO;
IF ABS(RLB) Z-LBRT*(I-&RTOL)
THEN EFLAG=3000;
END;
ELSE IF KBYRATE='Y'
THEN DO;
IF RLB >LBRT*Il+&RTOL)
OR RLB<=O
THEN EFLAG=3000;
END;
ELSE IF PCRT<=O & LBRTc=O
THEN EFLAG=1200;
ELSE IF RPP+RLB=O OR RPP+RLB=.
THEN EFLAG=2500;
/*
ELSE IF WPP >WPPMAX+(l+hWTOL)
WPC >WPPMAX+(l+&WTOL)
ELSE IF PCRT>O THEN DO;
IF ABSCRPP-PCRT)/PCRT
END;
OR
^chRTOL
THEN EFLAG=3100;
THEN EFLAG=3000;
1
Page A27 of A6u
ELSE IF LBRT>O THEN Do;
IF ABS(RLB-LBRT)/LBRT
END;
*<&RTOL
THEN EFLAG=3000;
END:
********;
********;
****t***;
* TEMP *;
r*******;
********;
IF RDATE=OllOVV
& ('7'<=VIP1<='8')
&
OR
EFLAG=~OOO h ((RPP>PcRT)
(DISCOUNT='Y'
& ABS(RPP)>PCRT)
OR
THEN
DO;
(RLB>LBRT))
&
ABS(RLB/LBRT)
<=l.O3+&RTOL
THEN
EFLAG=O;
IF VIP34='11'
ELSE IF VIP34='13'
6. ABS(RPP/PCRT)
c=l.l7+hRTOL
THEN EFLAG=O;
& ABS(RPP/PCRT)
<=1.23+&RTOL
THEN EFLAG=O;
ELSE IF VIP34='14'
ELSE IF "IP34='15'
& ABS(RPP/PCRT)
<=1.21+&RTOL
THEN EFLAG=O;
<.1,22+&RTOL
THEN EFLAG=O;
ELSE IF VIP34='16'
& ABS(RPP/PCRT)
&
ABS(RPP/PCRT)
<.1,28+&RTOL
THEN EFLAG=O;
ELSE IF VIP34='17'
ELSE IF vIP34='18'
& ABS(RPP/PCRT)
c=l.l6+&RTOL
THEN EFLAG=O;
<=l.OB+&RTOL
THEN EFLAG=O;
ELSE IF VIP34='19'
& ABS(RPP/PCRT)
&
ABS(RPP/PCRT)
<=l.lO+&RTOL
THEN
EFLAG=O;
ELSE IF VIP34='20'
<=1,04+&RTOL
THEN
EFLAG=O;
ELSE IF VIP34='21'
& ABS(RPP/PCRT)
&
ABS(RPP/PCRT)
<=l.OB+&RTOL
THEN
EFLAG=O;
ELSE IF VIP34='22'
ELSE IF VIP34='23'
& ABS(RPP/PCRT)
c=l.lO+&RTOL
THEN EFLAG=O;
& ABS(RPP/PCRT)
<=l.l2+&RTOL
THEN EFLAG=O;
ELSE IF VIP34='24'
ELSE IF VIP34='26'
& ABS(RPP/PCRT)
<=1.34+&RTOL
THEN EFLAG=O;
ELSE IF VIP34='27'
& ABS(RPP/PCRT)
<=1.86+&RTOL
THEN EFLAG=O;
&
ABS(RPP/PCRT)
<=1,75+&RTOL
THEN EFLAG=O;
ELSE IF VIP34='28'
END;
********
* TEMP l * END;
***+****;
***SC*************
* ADD ETYPE VAR *
+**************t*;
BY EFLAG;
PROC SORT DATA=MODPD;
DATA MODPD; MERGE MODPD(IN=A)
ETYPE; BY EFLAG;
IF A=l;
PROC DELETE DATA=WPPSUMPD;
‘)
Page A28 of A6,
PROC DELETE DATA=RATESPD;
****t**********t*****t*****
*
* SA MODULE:
**************************;
PROC SORT DATA=MODSA;
PROC SORT DATA=RATESSA;
DATA MODSA RATESANU;
MERGE MODSA(IN=A)
RATESSA(IN=B);
THEN
IF B=O
THEN
ELSE IF RPWCODE=.
IF EFLAG=llOO
OR A=0 THEN
ELSE
DATA MODSA; SET MODSA;
RP=O; RW=O;
******************t************************;
***t****t*******t**t***********************;
********t*************************t*********;
& CLASS='SA'
IF SYS='M&PCS'
BY RDATE RPWCODE VIP
BY RDATE RPWCODE VIP
AIC;
AIC;
BY RDATE RPWCODE VIP
EFLAG=lOOO;
EFLAG=llOO;
OUTPUT PATESANU;
OUTPUT MODSA;
AIC;
& LBRT -=O
THEN w = (R - P*PcRT)/LBRT;
l ********
* EDITS *
*******+*;
IF EFLAG=O THEN DO;
IF MULTI=1 THEN DO;
W*=O & W^=. THEN RW=R;
IF
ELSE IF P-=0 & P*=. THEN RP=R;
IF (RP=O OR RP=.) & (RW=O OR RW=.) & PCRT*=O & LBRT'=O
OR (P=O OR P=.) & (W=O OR W=.) THEN DO;
EFLAG=2000;
RP=R;
END;
ELSE IF P*=O & W-=0 THEN DO;
EFLAG=2100;
RP=R;
END;
END;
ELSE DO; * ALL OTHER CASES;
RP=PCRT*P;
RW=R-RP;
IF (RP=O OR RP=.) OR (P=O OR P=.) OR (W=O OR W=.)
THEN EFLAG=2000;
END;
END;
j
‘i
ELSE RP=R; * ALL OTHER CASES;
*******t************************
* RPP & RLB RATIOS (VIP LEVEL)
*
l *******************************;
RPP=O; RLB=O;
IF PARTIAL=0 THEN DO;
/* NO RATIOS FOR PPI l /
IF P^=O & P*=. & WA=0 & W*=. THEN DO;
RPP=RP/P;
RLB=RW/W;
END;
ELSE IF P*=O & P^=. THEN RPP=RP/P;
ELSE
IF W-=0 & W*=. THEN RLB=RW/W;
END;
DROP R;
************t*********************
* AUX W,P VAR.9 FOR MVIP WPP CALC *
*****t**********************t******;
DATA MODSAM; SET MODSA;
IF MULTI=l;
BY AP FINN0 RDATE MVIP;
PROC SORT;
BY AP FINN0 RDATE MVIP;
PROC SUMMARY;
VAFt P W; OUTPUT OUT=WPPMULTI SUM=MP MW;
BY AP FINN0 RDATE MVIP;
PROC SORT DATA=MODSA;
DATA MODSA; MERGE MODSA WPPMULTI; BY AP FINN0 RDATE MVIP;
IF MULTI=1 &
(MP=O OR MP=. OR MW=O OR MW=.) THEN EFLAG=2000;
**t**********
* WPP RATIO *
**t**********;
IF MULTI=0 & P*=O
& P*=. THEN WPP=ABS(W/P);
THEN WPP=ABS(MW/MP);
ELSE IF MULTI=1 h MP*=O
**************t**********t******tt**tt**********
*
* EDITS (HIERARCHICAL):
* 1. MISSING DATA: 2. CLASS-LEVEL:
3. VIP-LEVEL.
*
t******.******************************************;
IF EFLAG=O THEN DO;
* NOTE: BYPASS MULTI PCRT=O, UPDATE AS REQUIRED;
IF MULTI'=1
& PCRT<=O & LBRTc=O THEN EFLAG=1200;
ELSE IF MULTI-=1
& PARTIAL=0 &
(RPP+RLB=O 0~ RLB+RLB=.)
THEN EFLAG=2500;
t**+*t***************
Page A29 of A6
\
Page A30 of A6..
* SINGLE PIECE ONLY *
*****************t+**;
ELSE IF SINGLE=1 THEN DO;
* NOTE:
PCRT INCLUDES SURCHARGE, LBRT IS FOR UNIT 02;
OZPP=ROUND(O.4999
+ WPP*16);
*CHANGE TO UNIT 02;
IF RPP < (PCRT+~ZPP*LBRT)*(I-&RTOL)
OR
RPP > (PCRT+~~PP*LBRT)*(I+&RTOL)
THEN EFLAG=3000;
END;
*************
* ALL OTHER l
*************;
ELSE IF PARTIAL=0 & PCRT>O & LBRT>O THEN DO;
IF ABS((PCRT+P+LBRT*W)-RP-RW)/(RP+RW)Ac&RTOL
THEN EFLAG=3000;
END;
ELSE IF PARTIAL=0 & PCRT>O THEN DO;
*<&RTOL THEN EFLAG=3000;
IF ABS(RPP-PCRT)/PCRT
END;
ELSE IF PARTIAL=0 & LBRT>O THEN DO;
,.<&RTOL THEN EFLAG=3000;
IF ABS(RLB-LBRT)/LBRT
END;
ELSE IF PARTIAL=1 & RP-=0 THEN DO;
IF ABS((PCRT*P+LBRT*W)-RP-RW)/(RP+RW)I<&RTOL
THEN EFLAG=3000;
END;
*(WPPMIN'(l-&WTOL)
< WPP <=WPPMAX*(l+&WTOL))
IF
THEN EFLAG=3100;
END;
l ******.*************************
* SET EFLAG SAME FOR MVIP PAIRS
l ***t**************t*************;
*
BY AP FINN0 RDATE MVIP DESCENDING EFLAG;
PROC SORT;
DATA MODSA; SET MODSA; BY AP FINN0 RDATE "VIP;
IF FIRST.N"IP
THEN HIFLAG=EFLAG;
IF MULTI=,. THEN EFLAG=HIFLAG;
RETAIN HIFLAG;
*,********t****t*
* ADD ETYPE VAR l
***************it*;
PROC SORT DATA=MODSA;
BY EFLAG;
?
Page A3 1 of A6,
DATA MODSA; MERGE MODSA(IN=A)
IF A=l;
PROC DELETE DATA=MODSAM;
PROC DELETE DATA=RATESSA;
*******************t******
* SB MODULE:
ETYPE;
BY EFLAG;
l
****************x*********;
PROC SORT DATA=MODSB;
PROC SORT DATA=FATESSB;
DATA MODSB RATESBNU;
MERGE MODSB(IN=A)
RATESSB(IN=B);
IF B=O
THEN
THEN
ELSE IF RPWCODE=.
IF EFLAG=llOO
OR A=0 THEN
ELSE
DATA MODSB; SET MODSB;
RP=O; RW=O;
**********t********************************;
l ******t***********************************;
**t************t*****t**********t************;
IF SYS='M&PCS'
& CLASS='SB'
*
LBRT A=O THEN DO;
W = (R - P*PCRT)/LBRT;
RW= W*LBRT;
RP= P*PCRT;
IF ABS(((RP+RW) -R)/R)
END;
*********
* EDITS l
BY RDATE RPWCODE VIP AIC;
BY RDATE RPWCODE VIP AIC;
BY RDATE RPWCODE VIP AIC;
EFLAG=lOOO;
EFLAG=llOO;
OUTPUT RATESBNU;
OUTPUT MODSB;
& VIP3='7'
&
DIV BY ZERO IF PC-RATE VIPS
;
>hRTOL THEN ABORT;
*********;
IF EFLAG=O THEN DO;
IF DISCOUNT='Y'
THEN DO;
l
SB DISCOUNT IS SIGNED I-';
RP=R;
PDISc=P;
* RETAIN VOL FOR PATE CHECK SECTION;
* ZERO OUT PIECES (AVOID DOUBLECOUNT);
P=O;
IF RP=O OR RP=. OR PDISc=O OR PDISC=. THEN EFLAG=ZOOO;
ELSE IF RP*PDISC -<O
/* ONE TERM MUST BE NEG */
OR W*=O THEN EFLAG=ZlOO;
END;
ELSE IF MULTI=1 THEN Do;
THEN RW=R;
IF W-=0 & W*=.
?
Page A32 of A6,
ELSE IF P-=0 & P-=. THEN RP=R;
IF (RP=O OR RP=.) & (RW=O OR RW=.) & PCRT^=O & LBRT^=O
OR (P=O OR P=.) & (W=O OR W=.) THEN DO;
EFLAG=2000;
RP=R;
END;
ELSE IF P-=0 & W-=0 THEN DO;
EFLAG=2100;
RP=R;
END;
END;
ELSE IF SPSERV=l THEN DO;
RP=R;
IF (RP=O OR RP=.) OR (P=O OR P=.)
END;
ELSE DO; * ALL OTHER EFLAG=O CASES;
RP=R;
IF (RP=O OR RP=.) OR (P=O OR P=.)
THEN EFLAG=2000;
OR (W=O OR W=.)
THEN EFLAG=2000;
END;
END;
ELSE RP=R; * ALL OTHER CASES (NON-ZERO BFLAG);
**********t*******t*************
* RPP & RLB RATIOS (VIP LEVEL) *
l ****t***************t***********;
RPP=O; RLB=O;
>0 THEN RPP=ABS(RP/PDISC);
IF DISCOUNT='Y'
& ABS(PDISC)
ELSE IF P-=0 & P*=. THEN RPP=RP/P;
ELSE IF WA=0 & W"=. THEN RLB=RW/W;
DROP R;
****t**t*************t*************
* ALLY W,P VARS FOR MVIP WPP CALC *
*********t***t*t******************;
DATA MODSBM; SET MODSB;
IF MULTI=l;
BY AP FINN0 RDATE MVIP;
PROC SORT;
BY AP FINN0 RDATE MVIP;
PROC SUMMARY;
VAR P W; OUTPUT OUT=WPPM"LTI SUM=MP MW;
BY AP FINN0 RDATE MVIP;
PROC SORT DATA=MODSB;
DATA MODSB; MERGE MODSB WPPMULTI; BY AP FINN0
RDATE MVIP;
IF MULTI=1 &
(MP=O OR MP=. OR MW=O OR MW=.) THEN EFLAG=2000;
****t********
^
-
..,
_
i
t
* WPP RATIO *
*************;
IF MULTI=0 & PA=0 & P^=.
THEN WPP=ABS(W/P);
ELSE IF MULTI=1 & MP^=O & MP^=. THEN WPP=ABS(MW/MP);
**********t**********t**************t***************
*
* EDITS (HIERARCHICAL):
* 1. MISSING DATA: 2. CLASS-LEVEL:
3. VIP-LEVEL.
*
**************************************************;
IF EFLAG=O THEN DO;
l
NOTE: BYPASS MULTI PCRT=O, UPDATE AS REQUIRED;
IF
& (RHILO=O S PCRT<=~ & LBRT<=O OR
RHILO=l
6: RATEHI<=O & RATELOc 0)
THEN EFLAG=lZOO;
ELSE IF MULTI=0 &
THEN EFLAG=2500;
(RPP+RLB=~ OR RLB+RLB=.)
l ********t**t***t
* DISCOUNT ONLY *
*******+*********;
IF DISCOUNT='Y'
THEN DO;
IF PCRT<=O OR RPP=O OR RPP=. OR
THEN EFLAG=3000;
ABS(RPP-PCRT)/PCRT
*<=&RTOL
END;
*tt**************t***t*************
l
SINGLE PIECE (OR PC-RATE ONLY) *
*t********tt*********t****t**********;
ELSE IF SINGLE=1 THEN DO;
IF (RHILO=O & RPP<(PCRT+WPP*LBRT)*(l-SRTOL))
OR
(RHILO=O S RPP>(PCRT+NPP*LBRT)*(I+ARTOL))
OR
(RHILO=I
S RPPC RATEL~*(~-&RToL))
0~
(RHILO=l
& RPP> RATEHI*(l+&RTOL))
THEN EFLAG=3000;
END;
************t
* ALL OTHER *
*t***********;
ELSE IF PCRT>O THEN DO;
^c&RTOL THEN EFLAG=3000;
IF ABS(RPP-PCRT)/PCRT
END;
ELSE IF LBRT>O THEN DO;
*<&RTOL THEN EFLAG=3000;
IF ABS(RLB-LBRT)/LBRT
END:
Page A33 of A6,
\
Page A34 of At
*******
* ALL *
*******;
IF SPSERV -=l E. DISCOUNT *='Y'
&
^(WPPMIN*(~-&WT0L)
< WPP <=WPPMAX*(l+&WTOL))
THEN EFLAG=3100;
END;
*********t***********************
* SET EFLAG SAME FOR MVIP PAIRS '
*****tt*t********t**********t*****;
BY AP FINN0 RDATE MVIP DESCENDING EFLAG;
PROC SORT;
DATA MODSB; SET MODSB; BY AP FINN0 RDATE MVIP;
IF FIRST.MVIP
THEN HIFLAG=EFLAG;
IF MULTI=1 THEN EFLAG=HIFLAG;
RETAIN HIFLAG;
l ****************
* ADD ETYPE VAR *
****t************;
PROC SORT DATA=MODSB;
DATA MODSB; MERGE MODSB(IN=A)
IF A=l;
PROC DELETE DATA=RATESSB;
PROC DELETE DATA=MODSBM;
PROC DELETE DATA=ETYPE;
ETYPE;
BY EFLAG;
BY EFLAG;
t********t*
* COMBINE *
*****+*****;
DATA ERRS; SET MODlC MODPD MODSA MODSB;
*******************ST**********
* REPORT RZ-150:
NEG VALUES l
********t*****tt**************;
DATA NEGVALUE; SET ERRS;
IF DISCOUNT='Y'
& (RP>O OR PDISCcO & PDISCI=.)
OR
DISCOUNT~='Y'
& (RPcO & RP"=. OR RW<O & RW*=. OR
PcO & P*=. OR WcO & W*=. OR Cc0 h C*=.);
BY SYS CLASS EFLAG RDATE VIP;
PROC SORT;
PROC SUMMARY; BY SYS CLASS EFLAG RDATE VIP;
ID ETYPE;
VAR RP RW C P PDISC W;
OUTPUT OUT=NEGVALUE SUM=;
* PROC PRINT; *BY SYS CLASS;
)
‘\
*
*
*
*
*
PAGEBY CLASS;
VAR EFLAG ETYPE RDATE VIP RP RN C P PDISC W;
RP RW C P
SUM
w;
NEGATIVE VALUES';
TITLE3
'R2-150:
'(FLAGGED AND UNFLAGGED - FOR REVIEW ONLY)';
TITLE5
' %WTOL=lOO*'&WTOL')';
'(%RTOL=lOO*'&RTOL
l
TITLE7
* TITLE9
' ';
PROC DELETE DATA=NEGVALUE;
********+***************t***********
' REPORT R2-200:
EFLAG * STRATUM *
**********************t*************;
BY SYS CLASS STRATUM EFLAG RDATE;
PROC SORT DATA=ERRS;
PROC SUMMARY DATA=ERRS; BY SYS CLASS STRATUM EFLAG RDATE;
ID ETYPE; VAR RP RW C P PDISC W;
OUTPUT OUT=E200 SUM=;
DATA E200; SET E200;
IF P-=0 & P*=. THEN DO;
RPP=RP/P; WPP=ABS(W/P);
CPP=ABS(C/P);
END;
IF W*=O & W*=. THEN RLB=RW/W;
PROC PRINT; BY SYS CLASS STRATUM;
PAGEBY CLASS;
FORMAT RPP RLB WPP 6.3 CPP 5.2 RP RW W 10.;
ID EFLAG;
VAR ETYPE RDATE -FREQ- RPP RLB WPP CPP
P PDISC W;
RP RW
l
NOT PDISC (DBL CNT);
SUN -FREQ- RP RW
P
w;
EFLAG SUMMARY - EFLAG*STRATUM';
TITLE3
'R2-200:
' %WTOL=100*'hWTOL')';
' (%RTOL=lOO*'&RTOL
TITLE5
TITLE7
' ';
PROC DELETE DATA=EZOO;
****************t*****t*****tt
* REPORT RZ-300:
EFLAG * VIP *
******t************************;
BY SYS CLASS EFLAG RDATE VIP;
PROC SORT DATA=ERRS;
PRGC SUMMARY DATA=ERRS; BY SYS CLASS EFLAG RDATE VIP;
ID ETYPE RPWCODE RATELO RATEHI PCRT LBRT WPPMIN WPPMAX;
VAR RP RW P PDISC C W;
OUTPUT OUT=E300 SUN=;
DATA E300; SET E300;
IF P*=O & P*=. THEN DO;
,,.
- -,.,I-“.._ _ ,.
Page A35 of A6\
\
Page A36 of A6RPP=RP/P; WPP=ABS(W/P);
CPP=ABS(C/P);
END;
IF PDISC>O
THEN RPP=RP/PDISC;
IF W*=O & W-=. THEN RLB=RW/W;
BY SYS CLASS EFLAG ETYPE;
PROC PRINT;
PAGEBY CLASS;
FORMAT RPP RLB WPP 6.3 CPP 5.2 RP RW W 10.;
ID RDATE;
VAR VIP -FREQ- PCRT LBRT RATELO RATEHI WPPMIN WPPMAX
RPP RLB WPP CPP RP RW P PDISC W;
SUMBY EFLAG;
RP RW P
l
NOT PDISC;
SUM -FREQw;
EFLAG SUMMARY - EFLAG * VIP';
TITLE3
'R2-300:
' %WTOL=lOO*'&WTOL')';
'(%RTOL=lOO*'&RTOL
TITLE5
TITLE7
' ';
PROC DELETE DATA=E300;
l
*************************************
* REPORT RZ-400:
EFLAG FINN0 DETAIL l
l ********t*f************t***t********t;
DATA E400; SET ERRS;
IF ^(EFLAG=O OR EFLAG=llOO);
BY SYS CLASS EFLAG RDATE VIP STRATUM FINN0 AP;
PROC SORT;
PROC PRINT; BY SYS CLASS EFLAG ETYPE RDATE; PAGEBY RDATE;
FORMAT RPP RLB WPP WPC 6.3 CPP 5.2;
FORMAT RPP RLB WFP WPC 6.3 CPP 5.2 RP RW W 10.;
ID RDATE;
VAR VIP STRATUM FINN0 AP LBRT PCRT RATELO RATEHI
WPPMIN WPPMAX RPP RLB WPP CPP WPC RP RW
P PDISC W;
SUMBY EFLAG;
RP RW
P
SUM
W;
EFLAG SUMMARY - FINN0 DETAIL';
TITLE3
'R2-400:
TITLE5
'(%RTOL=lOO*'&RTOL
' %WTOL=lOO*'&WTOL')';
TITLE7
' ';
PROC DELETE DATA=E400;
PROC DELETE DATA=ERRS;
t************************************************
* COMBINE MODULES, UPDATE NONRESP, CALC Fl & F2 *
*************tt****t***tt****t*ttt***tt*********;
DATA EDITDAT2;
SET MODOC(IN=A) MODlC MODPD MODSA MODSB;
IF A=1 THEN DO;
RW=O; RP=O;
?
I
IF W>O & P<=O THEN RW=R;
RP=R;
ELSE
END;
KEEP RUNTYPE CLASS SYS AP PQ FY FINN0 VIP VIP1 VIP2345
RPWCODE
RP RW P C W NRESP MIGRATE EFLAG STRATUM BLOWUP AIC RDATE
DISCOUNT PDISC VIPCAT;
PROC DELETE DATA=MODOC;
PROC DELETE DATA=MODlC;
PROC DELETE DATA=MODPD;
PROC DELETE DATA=MODSA;
PROC DELETE DATA=MODSB;
*t*********************************************
* UPDATE NRESP IF ALL RECS FAIL (MNUALS ONLY) * /* BY AP */
**********t****t***t****t***********************;
DATA NRESPX; SET EDITDATZ;
IF STRATUM>=2.0;
BY SYS AP FINNO;
PROC SORT DATA=NRESPX;
DATA NRESPX; SET NRESPX; BY SYS AP FINNO;
IF NRESP=O & EFLAG=O THEN PASS=l;
*ALL RECS FAILED;
IF LAST.FINNO
AND PASS"=l;
RETAIN PASS;
KEEP AP SYS FINNO;
BY SYS AP FINNO;
PROC SORT DATA=EDITDATZ;
DATA EDITDATZ;
MERGE EDITDAT2 NRESPX(IN=B);
BY SYS AP FINNO;
l
CHANGED FROM 0 IF ALL RECS FAILED;
IF B=l THEN NRESP=l;
***********************************
l
COUNT APS WITH >=l PASSING RECS *
*************************t**********;
* CBCIS OFFICES;
PROC DELETE DATA=NRESPX;
DATA FlKOUNTl;
SET EDITDAT2;
IF STRATUMc2.0 & EFLAG=O;
PROC SORT DATA=FlKOUNTl;
BY FINN0 AP;
DATA FlKOUNTl;
SET FlKOUNTl;
BY FINN0 AP;
IF FIRST.FINNO
THEN KAPl=O;
IF FIRST.AP AND NRESP=O THEN KAPl=KAPl+l;
IF LAST.FINNO;
RETAIN KAPl;
KEEP FINN0 KAPl;
* MANUAL OFFICES;
DATA FlKOUNT2;
SET EDITDAT2;
Page A37 of A6,
I
Page A38 of A6,
PROC
DATA
PROC
DATA
IF STRAT"Ms=2.0
& EFLAG=O;
BY SYS FINN0 AP;
PROC SORT DATA=FlKOUNT2;
DATA FlKOUNT2;
SET FlKO"NT2;
BY SYS FINN0 AP;
IF FIRST.FINNO
THEN KAPZ=O;
IF FIRST.AP
AND NRESP=O THEN KAP2=KAPZ+l;
IF LAST.FINNO;
RETAIN KAPZ;
KEEP SYS FINN0 KAP2;
BY SYS FINNO;
SORT DATA=EDITDAT2;
EDITDAT2;
MERGE EDITDATZ FlKOUNT2;
BY SYS FINNO;
BY FINNO;
SORT DATA=EDITDAT2;
EDITDATZ;
MERGE EDITDATZ FlKOUNTl;
BY FINNO;
***********
* NOTE: Fl=.
(N/A) IF NRESP=l ;
* CALC Fl *
***********;
IF &R"NTYPE='AP'
THEN Fl=l;
ELSE DO;
NAP=3; IF &PQ=4 THEN NAP=4; l N"NBER OF APS IN PQ;
IF STRATUM ~2.0 & KAPl *=O THEN Fl=NAP/KAPl;
IF STRATUM >=2.0 6, KAP2 *=O THEN Fl=NAP/KAPZ;
END;
PROC DELETE DATA=FlKO"NTl;
***********
* CALC F2 l
****t******;
BY SYS STRATUM FINNO;
PROC SORT DATA=EDITDAT2;
DATA F2KO"NTZ;
SET EDITDAT2;
BY SYS STRATUM FINNO;
IF STRATUM,=2.0;
IF FIRST.STRATUM
THEN DO;
NHSAMP=O; KNRESP=O;
END;
IF FIRST.FINNO
THEN DO;
NHSAMP=NHSAMP+l;
IF KAP2=0 OR KAP2=. THEN KNRESP=KNRESP+l;
END;
IF LAST.STRATUT4;
RETAIN NHSAMP KNRESP;
KEEP SYS STRATUM NHSA"P KNRESP;
DATA EDITDATZ;
MERGE EDITDAT2 F2KODNT2; BY SYS STRATUM;
IF STRATUM ~2.0 THEN F2=1;
ELSE IF NHSA"P>KNRESP THEN FZ=NHSAMP/WHSAMP-KNRESP);
,,
,,
,,
1
i
Page A39 of A6,
ELSE F2=0;
/* STRATUM EMPTY: MANUAL INTERVENTION l /
PROC DELETE DATA=F2KOUNTZ;
******t*******tt
* Fl-F2
REPORT * l FOR AUDITOR;
*********t******;
* NOTE:
LOERR=O CONFIRMS AT LEAST 1 PASSING RECORD;
BY SYS STRATUM FINN0 EFLAG;
PROC SORT DATA=EDITDATZ;
DATA FCHECK;SET EDITDAT2;
BY SYS STRATUM FINN0 EFLAG;
IF SYS-='
I;
.ZVOL=RP+RW+P+W;
IF FIRST.FINNO
THEN LOERR=EFLAG;
RETAIN LOERR;
KEEP SYS STRATUM FINN0 Fl F2 NRESP NHSAMP
KNRESP ZVOL LOERR;
PROC SUMMARY; BY SYS STRATUM FINNO;
ID F1 F2 NRESP NHSAMP KNRESP LOERR;
VAR
ZVOL;
OUTPUT OUT=FCHECK SUM=;
DATA FCHECK; SET FCHECK;
x=1;
IF ABS(ZVOL)=O THEN ZERO='Y';
IF STRATUM >I OR
Fl -=l OR
F2 *=l OR
LOERRA=O
THEN XFINNO=FINNO;
ELSE IF ZERO='Y'
THEN XFINNO=888888;
XFINNO=999999;
ELSE
BY SYS STRATUM XFINNO;
PROC SORT;
PROC SUMMARY; BY SYS STRATUM XFINNO;
ID F1 F2 NHSAMP KNRESP ZERO
NRESP LOERR; VAR X;
OUTPUT OUT=FCHECK SUM=;
BY SYS STRATUM ZERO Fl F2;
PROC SORT;
PROC PRINT; BY SYS;
VAR SYS STRATUM XFINNO -FREQ- ZERO
Fl F2 LOERR NRESP NHSAMP KNRESP;
FORMAT Fl F2 1.4
NHSAMP KNRESP -FREQ- COMMA13.;
TITLE3
'RZ-500:
Fl,
F2 FACTORS';
TITLE4
'AND 0-VOL & 100% FAIL SITES';
'(DUMMY FIN= BSSSSS,999999)';
TITLE5
,. ,,
,,, .,
,,, ,,
)
?
TITLE6
' ';
PROC DELETE DATA=FCHECK;
**********************
/* DUMMY FINNO=O, ASIGN TO STRATUM1 */
* COLLECT 0-VOL VIPS l
******t***+***********;
DATA ZEROVIPS R600;
SET RATElCNU(IN=A)
FATEPDNU(IN=B)
RATESANU(IN=C)
RATESBNU(IN=D);
IF A=1 THEN CLASS='lC';
ELSE IF B=l THEN CLASS='PD';
ELSE IF C=l THEN CLASS='SA';
ELSE IF D=l THEN CLASS='SB';
AP=&AP; PQ=&PQ; FY=&FY;
x=1;
RUNTYPE=&RUNTYPE;
FINNO=O;
STRATUM=1 ;
Fl=l;
FZ=l;
BLOWUP=l;
RP=O; RW=O; P=O; C=O; W=O;
IF EFLAG=. THEN EFLAG=O;
NRESP=O;
OUTPUT ZEROVIPS;
**********
l
FILTER *
**********;
IF RDATE=&RDATEl;
OUTPUT R600;
PROC DELETE DATA=RATElCNU;
PROC DELETE DATA=RATEPDNU;
PROC DELETE DATA=RATESANU;
PROC DELETE DATA=RATESBNU;
*******************SF**
* MOST RECENT RATE DATE ONLY;
* PRINT UNUSED CODES *
**********************;
BY SYS EFLAG RDATE VIP;
PROC SORT DATA=R600;
BY SYS EFLAG RDATE VIP;
PROC SUMMARY DATA=R600;
ID VIPCAT RPWCODE PCRT LBRT RATELO RATEHI WPPMIN WPPMAX;
VAR X; OUTPUT OUT=R600 SUM=;
BY DESCENDING EFLAG SYS FDATE;
PROC SORT DATA=R600;
PROC PRINT DATAzR600 U; BY DESCENDING EFLAG SYS RDATE;
PAGEBY SYS;
ID VIP;
Page A40 of A6.
1
Page A41 of A&
VAR VIPCAT RPWCODE PCRT LBRT RATELO RATEHI WPPMIN WPPMAX;
TITLE3
'R2-600:
UNUSED VIP CODES';
TITLE4
'FOR RATEDATE ' &RDATEl ' ONLY (BY SYSTEM)';
TITLE6
'NOTE:
INCLUDES EFLAG=llOO';
TITLE7
' ';
PROC DELETE DATA=R600;
*********t******************
* ADD ZERO RECORDS, OUTPUT *
****************************;
DATA EDITDAT2;
SET EDITDATZ ZEROVIPS;
PROC DELETE DATA=ZEROVIPS;
PROC SORT; BY FINN0 VIP AP;
DATA -NULL-;
SET EDITDAT2;
l ************t************
* OVERWRITE P WITH PDISC *
***++*********************;
IF DISCOUNT='Y'
THEN P=PDISC;
FILE EDITDAT2:
PUT @l
RUNTYPE $2.
CLASS $2.
a'3
@5
SYS $6.
Wll
AP 22.
w13
PQ
1.
FY
2.
w14
al.6
RDATE 26.
w22
FINN0
26.
VIP
$5.
W28
w33
RPWCODE Z5.
RP 212.2
W38
w50
RW 212.2
P 212.
W62
a74
c 212.
W 214.2
WS6
WlOO
NRESP
1.
WlOl
MIGRATE
1.
EFLAG 24.
w102
W106 DISCOUNT
$1.
w107
STRA'WM 23.1
la110
BLOWUP 28.3
Wlltl
AIC
3.
w121
Fl
Z10.8
/*
FOR PERIODICALS
*/
?
Page A42 of A6,
w131
F2
************t*******
* PRINT RPW TOTALS
215.8
;
l
**************+*****;
DATA PASS; SET EDITDATZ;
IF A(VIP='44444'
OR NRESP=l)
h EFLAG=O;
IF RPWCODE*=.;
DATA=PASS; BY SYS AIC CLASS STRATUM RPWCODE;
PROC SORT
PROC SUMMARY DATA=PASS; BY SYS AIC CLASS STRATUM RPWCODE;
VAR RP RW P C W; OUTPUT OUT=PASS SUM=;
PROC DELETE DATA=EDITDATZ;
PROC PRINT DATA=PASS; BY SYS AIC CLASS; PAGEBY CLASS;
FORMAT RF? RW W COMMA15.2 P C COMMA13. STRATUM 3.1;
ID SYS;
VAR AIC CLASS STRATUM RPWCODE RP RW P C W;
RP RW P C W;
SUM
UNINFLATED RPW: STRATUM l RPWCODE';
TITLE3
'R2-800:
TITLE5
'PASSED RECORDS';
TITLE6
' ';
/*
-
\
Page A43 of A6,
,,NNNNNNS JOB (ALA031,'NNNNNNN
NNN NN',CLASS=H,MSGCLASS=H
/*ROUTE PRINT ~5704
,,**t******t******t********************************************~********~~~~~~~~
JOB NAME:
PDS.SASRPW(RPWJOB3) - FORMERLY "J3RRUN97"
//*
,,**t~~*******~**********t****~*****~*~t~*.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/I*
//so1
//WORK
,,SYSOUT
//*
//*
,,*
\,\I\,
,,*
\,\,\,
,,EDITDAT2
//*
,,*
\,\,\,
,,RPWLABEL
//TWOPAGE
//*
,,*
\,\,\,
/I*
,,REVCNTL
::
::*
,,*
\,\,\,
,,*
\,\,\,
//*
,,*NFLATE
,/INFLATE
/I
/I
//*
//*RANs
//T-S
::
//*
,,SYSIN
00010008
00030000
USED
00060000
00120008
00120008
00140000
00250000
00140000
00140000
00140000
00140000
00140000
00140000
00140000
00140000
00140000
00140000
00140000
00140000
00140000
00140000
00140000
00140000
00140000
00140000
00140000
00140000
00140000
00140000
00140000
00140000
00140000
00140000
00140000
00140000
00140000
00140000
00250000
00260000
EXEC SAS,REGION=4096K,TIME=60
DD SPACE-(CYL,
(900,70O),RLSE)
DDDUMMY
PQ RUN: JOB-l
OUTPUT LAST QUALIFIER:
FY1996QX:
AP RUN: JOB-l
OUTPUT LAST QUALIFIER:
FY1996XX:
DD DSN=HSQRAN.BRPWDOl.EDITDAT2.FY2OOOQ4,DISP=SHR
X=1.,.4.
XX=O1..13.
RPW CODE AND 2-PAGE TITLE FILES.
DD DSN=HSQRAN.RPW.FY2OOO.CATEGORY.DIR,DISP=SHR
DD DSN=H~QRAN.RP~.ADJ.~NTL~~~~(S~MDIR),DISP=SHR
TRIAL
DD
DD
DD
DD
BALANCE AIC REVENUB(BY AP).
DSN=HSQRAN.RPW.REVCNTL.FY200013,DISP=SHR
DSN=HSQRAN.RPW.REVCNTL.FY2OOOlZ,DISP=SHR
DSN=HSQRAN.RPW.REVCNTL.FY200011.D1SP=SHR
DSN=HSQRAN.RPW.REVCNTL.FY200010.D1SP=SHR
PQ RUN: JOB-2
AP RUN: JOB-2
OUTPUT LAST QUALIFIER:
OUTPUT LAST QUALIFIER:
FY1996QX:
FY1996XX:
X=1.,.4.
XX=O1..13.
DD DSN=HSQRAN.BRPWDO1.INFLATE1.FY2000Q4,DISP=SHR
DD DSN=HSQRAN.BRPWDOl.INFLATEl.FY2000Q4,
DISP=(NEW,CATLG),DCB=(RECFM=FB,LRECL=24O,BLKSIZE=4800),
UNIT=SYSDA,SPACE=(CYL,(200,250),RLSE)
DD DSN=HSQRAN.BRPWDOl.TRANS.FY2OOOQ4,DISP=SHR
DD DSN=HSQRAN.BRPWDOl.TRANS.FYZOOOQ4,
DISP=(NEW,CATLG~,DCB=~RECFM=FB,LRECL=8O,BLKSIZE=2400~,
l,NIT=SYSDA,SPACE=(CYL,(5,5),RLSE)
DD *
.,,,,,,
.)
.,.
.I,,.
,,~,.,
,,
;..
,,,,
.,
,..
...,
.,,,
.“.
,.~.
“,
,,,.,,”
.
)
Page A44 of A6”
***************t**************tt*******t******************************;
* \/\/\/\/\/\/\/\/\/
UPDATE PARAMETERS\/\/\/\/\/\/\/\/\/\/\/
%LET RUNTYPE ='PQ';
*ENTER 2-CHAR ALPHA RUN TYPE: 'PQ' OR 'AP'.
FY = 00 ; *ENTER ~-CHAR NUMERIC FY (E.G.,
96).
%LET
PQ = 4 ; *ENTER l-CHAR NUMERIC QUARTER: l-4.
%LET
; *ENTER 2-CHAR NUMERIC AP: 01-13
(. IF PQ RUN).
AP = .
%LET
t*********************************************************************;
********************
l
PARAMETER CHECKS *
********************;
DATA -NULL-;
OR
IF *(&RUNTYPE='PQ'
OR &RUNTYPE='AP')
*( O<=&FY<=VV)
OR -(l<=&PQ<=I)
THEN ABORT;
THEN ABORT;
IF &RUNTYPE='AP'
AND A(01<=&APc=13)
THEN ABORT;
IF &RUNTYPE='PQ'
AND SAP *= .
*********************
* MAP AIC TO SYSTEM *
*********************;
DATA AICMAP; INFILE REVCNTL;
GLA 5.
INPUT 81
@6
AIC
3.
w9 RAIC 13. ;
IF AIC=132
THEN DELETE;
IF AI&124
THEN DELETE;
IF AIC=136 THEN AIC=135;
IF AIC=224
THEN AIC=135;
IF AIC=239
THEN DELETE;
BY AIC;
PROC SORT;
PROC SUMMARY; BY AIC;
VAR RAIC; OUTPUT OUT=AICMAP SUM=;
*************************************
* READ EDITDAT2 - VERIFY PARAMETERS l
*i
l ;00260000
*;00260000
*;00260000
*;00260000
00260000
00260000
00260000
00260000
00260000
00260000
00260000
00260000
00260000
00260000
00260000
00260000
00260000
*******************t*****************;
DATA EDITDAT2 NRESP; INFILE
RUNTYPE
INPUT @l
CLASS
w3
SYS
w5
AP
@ll
PQ
@13
FY
w14
EDITDATZ;
$2.
$2.
$6.
2.
Wll APK $2.
1.
2.
00260000
,.
.,,
1
i
Wl6
RDATE
w22
FINN0
W28
VIP
w33
RPWCODE
@38
RP
w50
RW
WY62
P
@74
C
WS6
W
WlOO
NRESP
WlOl
MIGRATE
a102
EFLAG
alO6 DISCOUNT
w107
STRATUM
call0
BLOWUP
WllS
AIC
a121
Fl
F2
w131
***************t************************;
***********t**t******tt*******************;
*****************************************;
6.
6.
$5.
5.
12.
12.
12.
12.
14.
1.
1.
4.
$1.
3.
8.
3.
10.
15.
Page A45 of A6.
W16 RDATEK $6.
W28 VIP1
@lo2
;
l ***************************************;
IF AIC=224 THEN DO;
AIC=135;
IF VIP='44444'
THEN DELETE;
END;
**********************************;
***********************f***********;
************************t*********;
****************************************;
********t******************************t;
********************************t********;
*******t**t*******t*t*tt
* ZERO DISCOUNT PIECES *
l ***********************;
PDISC=O;
IF DISCOUNT='Y'
THEN DO;
PDISC=P;
P=O;
END;
******************t*****+***
$1.
w29 VIP2
EFLAGK $4.
$1.
w30 VIP3
$1
b
Page A46 of A6,
* FILTER,
DROP E-FAILURES
*
****+***+**********+*******;
IF VIP='44444'
OR
(NRESP=O 6. RPWCODE-=. 6 EFLAG=O) THEN OUTPUT EDITDAT2;
THEN OUTPUT NRESP;
IF NRESP=l
*****************
* MISSING CHECK *
*******!a*********;
DATA -NULL-;
SET EDITDAT2;
THEN ABORT;
IF RUNTYPE*=&RUNTYPE
THEN ABORT; 00260000
IF &RUNTYPE='AP'
& AP*=&AP
THEN ABORT;
IF PQ-=&PQ OR FY*=&FY
00260000
IF &RUNTYPE='AP'
THEN DO;
00260000
IF (PQ=l & -(l<=AP<=3))
OR (PQ=Z & A(4<=AP<=6))
OR
OR (PQ=4 & A(10<=APc=13))
THEN ABORT;00260000
(PQ=3
& -(7<=AP<=9))
00260000
END;
00260000
ELSE IF &RUNTYPE='PQ'
THEN DO;
THEN ABORT; 00260000
IF A(PQ=l OR PQ=2 OR PQ=3 OR PQ=4)
00260000
END;
THEN ABORT; 00260000
IF VIP='
'
THEN ABORT; 00260000
IF *(OOOO<=EFLAG<=9999)
THEN ABORT;
IF &PQ=4 h EFLAG=O 6 *(l<=Fl<=4)
THEN ABORT;
IF &PQ<=3 & EFLAG=O & -(lc=Flc=3)
THEN ABORT;
IF NRESP"=O
00260000
PROC SORT DATA=EDITDATZ;
00260000
BY AP SYS CLASS FINN0 RDATE AIC VIP;
00260000
DATA -NULL-;
SET EDITDATZ;
00260000
BY AP SYS CLASS FINN0 RDATE AIC VIP;
00260000
IF FIRST.VIP
*=LAST.VIP
&
00260000
,' REMOVE FOLLOWING AFTER OLD RATES OBSOLETE *,
00260000
,* REMOVE FOLLOWING AFTER OLD RATES OBSOLETE */
00260000
,* REMOVE FOLLOWING AFTER OLD RATES OBSOLETE *,
00260000
-(RDATE=010195
&
00260000
(VIP='O1192'
OR VIP='O1193'
OR VIP='O1293'
OR
00260000
VIP='O1270'
OR VIP='O1470'
OR VIP='O1391'
OR
THEN ABORT; 00260000
VIP='O1392'
OR VIP='O1393')
)
**************************
* JOB-2 VERIFICATION
RPT *
+***********+**t***t******;
DATA REP050; SET EDITDATZ;
IF CLASS*='
';
\
Page A47 of A6,
IF VIP*='44444';
PROC SORT;
BY SYS AIC CLASS;
PROC SUMMARY DATA=REPOSO; BY SYS AIC CLASS;
VAR RP RW P PDISC C W; OUTPUT OUT=REPOSO SUM=;
PROC PRINT DATA=REP050;
FORMAT RP RW PDISC C W COMMA13.
P COMMA14.;
ID SYS;
VAR AIC CLASS RP RW P PDISC C W;
SUM
RP RW P
c w;
TITLE1
"JOB3 ** RPW BULK MAIL SYSTEM ** FOR &RUNTYPE&AP PQ&PQ-&FY";
TITLE3
'R3-050:
JOB-2 OUTPUT VERIFICATION';
TITLE5
'PASSED RECORDS ONLY';
TITLE6
' ';
*t*****************t*********
* INFLATE:
SYSTEM X STRATUM l
*****************************;
* BLOWUP: INFLATION
FACTOR (WITHIN STRATUM);
* Fl: OFFICE FACTOR - ADJUST FOR MISSING AP FOR PQ RUN (=l IF AP RUN);
* F2: STRATUM FACTOR - NONRESPONSE ADJUSTMENT;
* F3: TRIAL BALANCE ADJUSTMENT;
DATA INFLATEl;
SET EDITDATZ;
R=RP+RW;
RPHAT=RP*Fl+(BLOWUP*F2);
RWHAT=RW*Fl*(BLOWUP*F2);
RHAT=R*Fl*(BLOMUP*FZ);
CHAT=C*Fl*(BLOWUP*F2);
PHAT=P*Fl*(BLOMUP*FZ);
WHAT=W*Fl*(BLOWP*F2);
PDISCHAT=PDISC*Fl*(BLOWUP*F2);
************t**
* ASSIGN $AIC *
************!a**;
PROC SORT DATA=AICMAP;
BY AIC;
PROC SORT DATA=INFLATEl;
BY AIC;
DATA INFLATEl;
MERGE INFLATEl(IN=A)
AICMAP(IN=B);
BY AIC;
IF A=l;
************t
l
F3 FACTOR *
***et********;
PROC SORT DATA=INFLATEl;
BY SYS AIC;
BY SYS AIC;
PROC SUMMARY;
00260000
00260000
00260000
00260000
00260000
00260000
00260000
00260000
00260000
00260000
00260000
00260000
00260000
00260000
00260000
00260000
00260000
00260000
00260000
00260000
00260000
00260000
00260000
00260000
00260000
00260000
00260000
00260000
)
Page A48 of A6.
VAR RHAT;
OUTPUT OUT=ISUT+lS SUM=SUMRBAT;
DATA INFLATEl;
MERGE INFLATE1 ISUMS; BY SYS AIC;
IF RAIC *=. THEN F3=RAIC/SUMRHAT;
F3=1;
ELSE
RPHAT=RPHAT'F3;
RWHAT=RWBAT*F3;
R'dAT=RPBAT+RWHAT;
CBAT=CHAT*F3;
PHAT=PHAT*F3;
WHAT=WBAT*F3;
PDISCHAT=PDISCHAT*F3;
00260000
00260000
00260000
00260000
00260000
00260000
00260000
00260000
00260000
00260000
00260000
00260000
******t****
* REPORTS *
***********.
DATA REPZOO; SET INFLATEl;
IF FINNO*=O;
IF CLASS*='
';
IF VIP'='44444';
BY SYS AIC CLASS STRATUM Fl F2 BLOWUP;
PROC SORT DATA=REPZOO;
PROC SUMMARY DATA=REP200;
BY SYS AIC CLASS STRATUM Fl F2 BLOWUP;
ID F3; VAR RHAT RPHAT RWHAT CHAT PHAT WHAT;
OUTPUT OUT=REPZOO SUM=;
DATA REPZOO; SET REPZOO;
IF PBAT>O THEN RPP=RBAT/PHAT;
IF PBAT>O THEN WPP=WHAT/PIiAT;
IF WHAT>0 THEN RLB=RHAT/WHAT;
PROC PRINT DATA=REPZOO U; BY SYS AIC CLASS; PAGEBY SYS;
FORMAT RBAT RPHAT RWHAT WHAT CHAT COMMA13. PHAT COMMA14.
RPP RLB WPP Fl F2 6.3 BLOWUP 8.3 F3 8.5;
ID STRATUM;
VAR Fl F2 BLOWUP F3 RBAT RPBAT RWHAT PBAT WHAT RPP RLB WPP;
SUM
RHAT RPHAT RWHAT PHAT WHAT
TITLE3
'R3-200:
ADJUSTED ESTIMATES -SUMMARY';
TITLE5
' ';
*******************
* COUNT RESPONSES * l NONRESPONDENTS INCLUDED IN POP COUNTS;
***t***************;
DATA E2KOUNTS; SET EDITDAT2 NRESP;
BY SYS STRATUM FINN0 AP;
PROC SORT;
DATA E2KOUNTS; SET EZKOUNTS; BY SYS STRATUM FINN0 AP;
.-
.
I
Page A49 of A6,
IF FINNOI=O;
IF FIRST.FINNO
THEN RESP=O;
IF FIRST.AP
& NRESP=O THEN RESP=NAX(RESP,l);
IF LAST.FINNO
THEN OUTPUT;
RETAIN RESP;
Fl RESP;
KEEP SYS STRATUM
BY SYS STRATUM Fl;
PROC SORT;
PROC SUMMARY; BY SYS STRATUM Fl;
"AR RESP; OUTPUT OUT=E2KOUNTS SUM=;
DATA REP250; SET INFLATEl;
IF FINNO-=O;
IF
CLASS”=’
‘;
PROC SORT DATA=REPZSO;
BY SYS STRATUM Fl;
DATA REP250; MERGE REPZSO(IN=A)
EZKOUNTS; BY SYS STRATUM Fl;
IF A=l;
IF VIP^='44444';
/* RID EMPTY RECORDS */
NSA"P=INT(0.5
+ FZ*RESP);
NPOP =INT(0.5
+ NSAMP*BLOWUP);
BY SYS CLASS AIC STRATUM Fl;
PROC SORT;
BY SYS CLASS AIC STRATUM Fl;
PROC SUMMARY;
ID NSAMP NPOP RESP F2 F3 BLOWUP;
VAR R P W RHAT PHAT WHAT;
OUTPUT OUT=REP250 SUN=;
PROC PRINT DATA=REP250;
BY SYS CLASS AIC; PAGEBY sys;
ID STRATUM;
VAR Fl NPOP NSAMP RESP F2 BLOWUP F3
RHAT PHAT WHAT R P W;
RHAT PHAT WHAT R P W;
NPOP NSAMP RESP
SUM
FORMAT RHAT WHAT R W COMMA13.
PHAT P COMMA14. F2 F3 7.4;
STRATUM COUNTS & SAMP/EST TOTALS';
TITLE3
'R3-250:
TITLES
'BY SYSTEM (COMBINED AICS)~;
I
TITLE6
'NOTE 1: NON-ZERO STRATA ONLY SHOWN
2: STR-1 SIZE EXCLWES PANEL MIGRATIONS 'i
TITLE7
'
TITLE9
' ';
********+****
* WRITE OUT *
*************;
PROC SORT DATA=INFLATEl;
BY FINN0 VIP AP;
DATA -NULL-;
SET INFLATEl;
***********t*******t*****
* PRDCL DISCOUNT PIECES *
J
Page A50 of A6..
*r***********************;
IF
DISCOUNT='Y'
THEN DO;
P=PDISC;
PHAT=PDISCHAT;
END;
**********
* OUTPUT * /* PASSED RECS ONLY */
**********;
*i
I
***************t*
FILE INFLATE;
PUT @1
RUNTYPE $2.
CLASS $2.
@3
SYS $6.
w5
AP 22.
411
PQ
1.
@13
FY
2.
a14
RDATE 26.
@16
FINN0
26.
a22
VIP
$5.
@28
RPWCODE 25.
a33
RP 212.2
@3S
RW 212.2
W50
P 212.
6'62
c 212.
a74
W 214.2
@86
NRESP
1.
la100
MIGRATE
1.
a101
EFLAG 24.
a102
$1.
/* PRDCL DISCOUNT */
@lo6 DISCOUNT
6'107
STRATUM 23.1
call0
BLOWUP 28.3
AIC
3.
c&l18
Fl
@121
210.8
F2 Z15.8
@131
@146
*
F3 215.8
RPHAT 212.2
ml.61
w173
RWHAT 212.2
PHAT 212.2
la185
/*NOT ROUNDED TO INT.
@197
CHAT 212.2
/*NOT ROUNDED TO INT.
214.2
;
WHAT
w209
*/
*/
)
t
* REPORT R3-425 *
*****************;
DATA REP425; SET INFLATEl;
IF STRATUM*=l.O;
* NONAUTOMATED OFFICES (PANEL) ONLY;
IF CLASS-='
';
IF VIPA='44444';
PROC SORT DATA=REP425;
BY SYS AIC CLASS STRATUM FINNO;
PROC SUMMARY DATA=REP425;
BY SYS AIC CLASS STRATUM FINNO;
ID NRESP MIGRATE BLOWUP Fl F2 F3;
"AR RHAT RPHAT RWHAT CHAT PHAT PDISCHAT WHAT;
OUTPUT OUT=REP425 SUN=;
DATA REP425; SET REP425;
IF PHAT>O THEN RPP=RHAT/PHAT;
IF PHAT>O THEN WPP=NHAT/PHAT;
IF WHAT>0 THEN RLB=RHAT/WHAT;
PROC PRINT DATA=REP425 U; BY SYS AIC CLASS; PAGEBY CLASS;
FORMAT RHAT RPHAT RWHAT PHAT PDISCHAT WHAT CHAT COMMA13.
RPP RLB WPP 6.3;
ID STRATUM;
VAR FINN0 RHAT RPHAT RWHAT PHAT PDISCHAT WHAT RPP WPP RLB;
RHAT RPHAT RWHAT PHAT PDISCHAT WHAT;
SUM
TITLE3
'R3-425:
ADJUSTED ESTIMATES - BY PANEL OFFICE';
'(SYSTEM * AIC l RDATE)';
TITLE5
TITLE7
I ';
/*
/*
/'
*****************
* REPORT R3-450 *
*!a*****+*********;
PROC SORT DATA=INFLATEl;
BY SYS AIC CLASS RDATE VIP;
PROC SUMMARY DATA=INFLATEl;
BY SYS AIC CLASS RDATE VIP;
ID RPWCODE; VAR RHAT RPHAT RWHAT CHAT PHAT PDISCHAT WHAT;
OUTPUT OUT=REP450 SUN=;
DATA REP450; SET REP450;
IF CLASS-='
';
& PHAT=O & PDISCHAT=O & WHAT=0 THEN DELETE;
IF RHAT=O
IF PHAT>O THEN.RPP=RHAT/PHAT;
IF PHAT>O THEN WPP=WHAT/PHAT;
IF WHAT>0 THEN RLB=RHAT/WHAT;
PROC PRINT DATA=REP450 U; BY SYS AIC CLASS RDATE; PAGEBY RDATE;
Page A51 of A6,
1
Page A52 of At.
FORMAT RHAT RPHAT RWHAT PDISCHAT WHAT CHAT COMMA13.
PHAT COMMA14. RPP RLB WPP 6.3;
ID RDATE;
VAR VIP RPWCODE -FREQ- RHAT RPHAT RWHAT PHAT PDISCHAT WHAT
RPP WPP RLB;
SUM
FREQ- RHAT RPHAT RWHAT PHAT
WHAT;
TITLE3
'R3-450:
-ADIU~TED ESTIMATES - BY VIP CODE (NON-ZERO) 1;
TITLE5
'(SYSTEM * AIc * RDATE)';
TITLE7
' ';
*/
*I
*/
*****************
* REPORT R3-475 *
***********+*****;
PROC SORT DATA=INFLATEl;
BY SYS AIC CLASS RPWCODE STRATUM;
PROC SUMMARY DATA=INFLATEl;
BY SYS AIC CLASS RPWCODE STRATUM;
VAR RHAT RPHAT RWHAT CHAT PHAT PDISCHAT WHAT;
OUTPUT OUT=REP475 SUM=;
DATA REP475; SET REP475;
IF CLASS-='
';
IF RHAT=O & PIiAT=O & PDISCHAT=O 6 WHAT=0 THEN DELETE;
IF PHAT>O THEN RPP=RHAT/PHAT;
IF PHAT>O THEN WPP=WHAT/PHAT;
IF WHAT>0 THEN RLB=RHAT/NHAT;
PROC PRINT DATA=REP475 U; BY SYS AIC CLASS; PAGEBY CLASS;
FORMAT RHAT RPHAT RWHAT PDISCHAT WHAT CHAT COMMA13.
PHAT COMMA14. RPP RLB WPP 6.3 -FREQ- COMMA'I.;
ID RPWCODE;
VAR STRATUM -FREQ- RHAT RPHAT RWHAT PHAT PDISCHAT WHAT
RPP WPP RLB;
SUM
-FREQ- RHAT RPHAT RWIiAT PHAT
WHAT;
TITLE3
'R3-475:
ADJUSTED ESTIMATES - BY RPWCODE l STRATUM';
TITLES
9 (COMBINED RDATES) 8;
TITLE7
- I;
,***************************
* LINE NOS, RPW TRANS FILE *
****************************;
DATA TITLEl;
INFILE TWOPAGE;
INPUT Wl LINE 3.
W5 LINENAME
$35.;
DATA TITLE2;
INFILE RPWLABEL;
--
___- ..--_ “_,
00260000
00260000
00260000
)
Page A53 of A6.
INPUT
PROC
PROC
DATA
PROC
PROC
DATA
PROC
PROC
@l RPWCODE 5.
@9 LINE 3.
W2S RPWNAME $35.;
SORT DATA=TITLEl;
BY LINE;
SORT DATA=TITLEZ;
BY LINE;
TITLES;
MERGE TITLEl(IN=A)
TITLE2(IN=B);
BY LINE;
IF A=l;
BY RPWCODE;
SORT DATA=TITLES;
SORT DATA=INFLATEl;
BY RPWCODE;
INFLATEl;
MERGE INFLATEl(IN=A)
TITLES;
BY RPWCODE;
IF A=l;
DATA=INFLATEl;
BY AIC SYS RPWCODE;
SORT
SUMMARY DATA=INFLATEl;
BY AIC SYS RPWCODE;
ID CLASS RPWNAME LINE LINENAME;
VAR RHAT PHAT CHAT WHAT; OUTPUT OUT=TRANS SUN=;
DATA TRANS; SET TRANS;
IF RPWCODE"=.;
IF PHAT>O THEN RPP=RHAT/PHAT;
IF PHAT>O THEN WPP=WHAT/PHAT;
IF WHAT>0 THEN RLB=RHAT/WHAT;
**********
* OUTPUT l
00260000
00260000
00260000
00260000
00260000
t*********;
PROC SORT DATA=TRANS; BY SYS AIC
DATA TRANS; SET TRANS;
FILE TRANS;
PUT Wl RPWCODE 24.
213.
RHAT
a5
Zll.
WlS PHAT
213.
W29 WHAT
a43
SYS
$6.
W49 AIC
3.;
RPWCODE;
***SF****************
* PRINT
00260000
00260000
BY RPWCODE
l
*******+*****?a******;
PROC SORT DATA=TRANS;
BY SYS AIC CLASS RPWCODE;
PROC PRINT DATAxTRANS U; BY SYS AIC CLASS; PAGEBY CLASS;
FORMAT RHAT CHAT WHAT COM”A13.
RPP RLB WPP 6.3
PHAT COMMA14.;
ID AIC;
VAR CLASS LINE RPWCODE RPNNAME RHAT PHAT WHAT RPP RLB WPP;
RHAT PHAT WHAT;
SUM
ADJUSTED ESTIMATES - BY SYSTEM * AIC * RPWCODE';
TITLE3
'R3-500:
?
Page A54 of A6,
TITLE5
'- TRANS CODE OUTPUT -';
TITLE7
' ';
*****t***********
l
PRINT BY LINE *
**I,**************;
PROC SORT DATA=TRANS;
BY SYS AIC LINE;
PROC SUMMARY DATA=TRANS; BY SYS AIC LINE;
OUTPUT OUT=REP600 SUM=;
ID LINENAME;
VAR RHAT PHAT WEAT;
DATA REP600; SET REP600;
IF LINE=.
& (RBAT=O k PHAT=O) THEN DELETE;
IF PHAT>O THEN RPP=REAT/PBAT;
IF PHAT>O THEN WPP=WEAT/PEAT;
IF WHAT>0 THEN RLB=REAT/WEAT;
PROC PRINT DATA=REP600 U; BY SYS AIC; PAGEBY SYS;
FORMAT REAT CHAT WEAT CO"MA13. RPP RLB WPP 6.3
PSAT COMMA14.;
ID SYS;
VAR AIC LINE LINENAME RBAT PEAT WHAT RPP RLB WPP;
REAT PHAT WHAT;
SUM
ADJUSTED ESTIMATES - BY 2-PAGE LINE NO.';
TITLE3
'R3-600:
TITLE5
' ';
00260000
1
Page A55 of A6.
//NNNNNNS JOB (ALA03),'NNNNNNN
NNN NN',CLASS=A,MSGCLASS=H
/*ROUTE PRINT us704
//*********************************tt**********************~~*********~~~~~~~~
JOB NAME:
PDS.SASRPW(RPWJOBQ) - FORMERLY "J4RRUN97"
//*
//********t***~t.*t********~*~**~**~**t*~~~~~~~~~~~~~~~~~~~~~~~~~,,~,~~~~~~~~~~~
;::
0001000s
00030000
USED
INSTRUCTIONS
If'
//*
//*
//*
//*
/I*
//*
/I'
//*
1. UPDATE DCB LRECL AND BLKSIZE PARAMETERS (IF CHANGED).
"CHANGE FY19YYPQ FYlSYYPQ ALL"
2. ODSN FILES:
ENTER CHANGE COMM:
"CHANGE FY19YYAP FY19YYAP ALL"
3. IDSN FILES:
UPDATE INDIVIDUALLY
(AS REQUIRED)
4. ENTER EMPTY (PLACEHOLDER) FILES:
copy "HSQRAN.BRPWDOl.EMPTY"
TO
"HSQRAN.BRPWTOl.EMPTY.SXX.FY19YYQY"
("SXX" IS STEP NUMBER).
5. SUBMIT JOB:
(1) CHECK SYSOUT (ALL STEPS) FOR COND CODE 0000;
FOR RERUN - DELETE FILES WITH TSO DELETE & "NOS" PARAM
$1
AND CALL TAPE LIBRARY TO "SCRATCH" FROM TMS (OR TEST
USING RETPD=l FOR l-DAY).
/I*
(2) "NOT CATLG" INDICATES SANE NAME FILE PREVIOUSLY COPIED.
;;:
(IGNORE IF corx13 CODE =oooo, OR CORRECT AND RERUN).
(3) USE TSO ~~TMs~* (TAPE MGNT sy.5) AND VOLSER NO. TO VERIFY.
::* ******************************t*************************"**************~~~~~~~~
:::
//*
//COPIES
//STEPS
//SYSPR*NT
//SYSIN
//sYsuT1
/I
ffSYSUT2
/I
/I
/I
::
//COPIES
If'
If'
PROC
EXEC PGM=IEBGENER
w
mn-wf
DD DUMMY
DD DISP=OLD,
DSN=&IDSN
DD UNIT=TAPE,
DISP=(NEW,CATLG),
VOL=(,RETAIN,,REF=*.SOl.STEPl.SYSUT2),
LABEL=(&LABNUN.,SL,,,RETPD=1825),
DCB=(RECFM=FB,LRECL=sO,BLKSIZE=1600).
DSN=&ODSN
PEND
00060000
00100000
00050003
00140000
00140000
00140000
00140000
00140000
00050003
00050003
00140000
00050003
00050003
00050003
00050003
00050003
00050003
00050003
00100000
00100000
00100000
00050003
00054000
00055000
00056000
00057000
00060000
00070005
ooosoooo
00090004
00100000
00110000
00120000
00130000
00130000
00130000
1j
Page A56 of A6,
::" **tt*************t*****t*******t****t*****~***,,************************
BEG PROGRAMS
//*
//**************~******************t****~~~~~~~*~~~~~*~~~~~~*~~~~~~~~~~
EXEC COPIES,
//so1
LABNUM=l,
IDSN='NNNNNN.PDS.SASRPW(RPWJOBl)',
::
ODSN='HSQRAN.BRPWTO1.RPWJOBl.FY2OOOQ4'
/I
//STEPl.SYSUTZ
DD VOL=
/I***
//***
EXEC COPIES,
//so2
LABNUM=2,
IDSN='NNNNNN.PDS.SASRPW(RPWJOBZ)
0
::
ODSN='HSQRAN.BRPWTOl.RPWJOB2.FY2000Q4'
/I
***
;;***
EXEC COPIES,
//SO3
LABNUM=3,
/I
IDSN='NNNNNN.PDS.SASRPW(RPWJOB3)',
/I
ODSN='HSQRAN.BRPWTOl.RPWJOB3.FY2000Q4'
/I
/I***
//***
. EXEC COPIES,
//SO4
LABNUMz4,
/I
IDSN='NNNNNN.PDS.SASRPW(RPWJOB4)',
/I
ODSN='HSQRAN.BRPWTO1.RPWJOB4.FY2000Q4'
/I
//********t****~*t****t******t****t****t~~~~~~~~~~~*~~~~~*~~~~~~~~~~~~~
END PROGRAMS
//*
//***t**t*****t*****t*****t****ttt******~~~~~~~~~**~~~~*~~~~~~~~~~*~~~~
//*
::I
//*********************t**t**tt****t*****,***********************************
BEG JOB-l
//*
//*********t*****t****t*t*****t****t****~*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
NOTE: SOS-SOS MANUAL OFFICE DATA FILES FOR EACH AP - USE DUMMY.
If'
EXEC COPIES,
l/SO5
LABNUM=s,
IDSN='HSQRAN.BRPWDO1.KANUALS.FY200010',
::
0DSN='HSQRAN.BRPWT01.MANUALS.FY200010'
/I
00130000
00360000
* 00360000
,,03600,,0
00150000
00160000
00170000
00180000
00190004
00360000
00360000
00200000
00210000
00220000
001S0000
00360000
00360000
00200000
00210000
00220000
001S0000
00360000
00360000
00320000
00330000
00220000
00180000
00360000
* 00360000
00360000
00360000
00360000
00360000
00360000
* 00360000
00360000
00370000
00360000
00370000
00580000
00390000
.,
1
Page A57 of A6,
ffSTEPl.SYSUT2
DD DCB=(RECFM=FB,LRECL=SO,BLKSIZE=3200)
00831001
00360000
//***
00360000
//***
EXEC COPIES,
00360000
//SO6
LABNUM=6,
00370000
IDSN='HSQRAN.BRPWDO1.MANUALS.FY2OO011',
00580000
::
0DSN='HSQRAN.BRPWT01.MANUALS.FY200011'
00390000
/I
ffSTEPl.SYSUT2
DD DCB=(RECFM=FB,LRECL=SO,BLKSIZE=3200)
00831001
***
00360000
::***
00360000
00360000
EXEC COPIES,
//SO7
00370000
LABNUM=7,
/I
00580000
IDSN='HSQRAN.BRPWDO1.MANUALS.FY200012',
0DSN='HSQRAN.BRPWT01.MANUALS.FY200012'
00390000
::
00580000
IDSN='HSQRAN.BRPWDOl.EMPTY',
:::
00390000
ODSN='HSQRAN.BRPWTOl.EMPTY.SO7.FY2OOOQ4'
00831001
//STEPl.SYSUTZ
DD DCB=(RECFM=FB,LRECL=SO,BLKSIZE=3200)
***
00360000
;;***
00360000
00360000
EXEC COPIES,
//SO8
00370000
LABNUM=S,
00580000
1DSN='HSQRAN.BRPWD01.MANUALS.FY200013',
::
00390000
ODSN='HSQRAN.BRPWTOl.MANUALS.FY200013'
/I
IDSN='HSQRAN.BRPWDOl.EMPTY',
00580000
:;:
00580000
ODSN='HSQRAN.BRPWTO1.EMPTY.SOS.FY2OOOQ4'
00831001
ffSTEPl.SYSUT2
DD DCB=(RECFM=FB,LRECL=SO,BLKSIZE=3200)
00360000
//***
00360000
//***
00440000
EXEC COPIES,
//so9
00450000
LABNUM=9,
/I
NOTE: SO9 NO CHANGE TO F.Y.1.9.9.6.Q.l
UNLESS PANEL CHANGE MADE. 00380000
00380000
IDSN='HSQRAN.BRPWDOl.MANUALS.FRMQ199',
::*
00380000
ODSN='HSQRAN.BRPWTOl.MANUALS.FRMQl99.FY2OOOQ4'
/I
00831001
ffSTEPl.SYSUT2
DD DCB=(RECFM=FB,LRECL=l2O,BLKSIZE=2400)
l **
00360000
::***
00360000
00360000
NOTE:
510-513
FRAME
FILE
FOR
EACH
AP
(USE
DUMMY)
If’
00480000
EXEC
COPIES,
/IS10
00490000
LABNUM=lO,
/I
00380000
IDSN='HSISMN.BRPWDO1.OFFLIST.FY2OO010(0)',
00390000
ODSN='HSQRAN.BRPWTO1.OFFLIST.FY2OO010'
::
)
Page A58 of AL
ffSTEPl.SYSUT2
DD DCB=(RECFM=FB,LRECL=BO,BLKSIZE=l600)
//***
//***
EXEC COPIES,
/IS11
LABNUM=ll,
/I
IDSN='HSISMN.BRPWDO1.OFFLIST.FY2OO011(0)',
ODSN='HSQRAN.BRPWTO1.OFFLIST.FY200011'
::
ffSTEPl.SYSUT2
DD DCB=(RECFM=FB,LRECL=SO,BLKSIZE=l600)
//***
//***
EXEC COPIES,
If512
LABNUM=12,
/I
IDSN='HSISMN.BRPWDO1.OFFLIST.FY2OOOl2(0)',
ODSN='HSQRAN.BRPWTO1.OFFLIST.FY2OO012'
::
ffSTEPl.SYSUT2
DD DCB=(RECFM=FB,LRECL=SO,BLICSIZE=l6OO)
***
:;***
EXEC COPIES,
/IS13
LABNUM=13,
IDSN='HSISMN.BRPWDO1.OFFLIST.FY2OO013~0)',
::
ODSN='HSQRAN.BRPWTO1.OFFLIST.FY200013'
/I
IDSN='HSQRAN.BRPWDOl.EMPTY',
;::
ODSN='HSQRAN.BRPWTOl.EMPTY.S13.FY2OOOQ4'
//STEPl.SYSUTZ
DD DCB=(RECFM=FB,LRECL=SO,BLKSIZE=l600)
***
;;**e
EXEC COPIES,
/IS14
LABNUM=14,
IDSN='HSQRAN.BRPWDO1.EDITDATl.FY2OOOQ4',
::
ODSN='HSQRAN.BRPWTO1.EDITDAT1.FY2000Q4'
/I
ffSTEPl.SYSUT2
DD DCB=(RECFM=FB,LRECL=l25,BLKSIZE=5000)
//***********t****t****t**tt****tt****,*********************************,***
END JOB-l
/I*
//*******t*****t******tt****t**t*+*t**t*~~~~~*~~~~~~~~~~~*~~~~~**~~~~~~
:;:
::* *********t************************t********,**************************
BEG JOB-2
**t**tt**t*tt*****t*t****t**t***~******~**~****~**,~*~**~*~**~*~*~
::*
NOTE: SlS-S26
FOUR FILES FOR EACH NAIL
//*
)
00831001
00360000
00360000
00480000
00490000
00380000
00390000
00831001
00360000
00360000
00480000
00490000
00380000
00390000
00831001
00360000
00360000
00480000
00490000
00380000
00390000
00580000
00580000
00831001
00360000
00360000
00520000
00530000
00550000
00550000
00831001
00360000
* 00360000
00360000
00360000
00360000
00360000
00360000
* 00360000
0036OOOD
CLASS (USE DUMMY)
00560000
,.,
Page A59 of At
USE 'HSQRAN.BRPWDOl.EMPTY'
FOR DUMMY
EXEC COPIES,
LABNUM=lS,
IDSN='IiSQRAN.BRPWDOl.RATESlC.JAN1099',
0DSN='HSQRAN.BRPWT01.RATES1C.JAN1099.FY2000Q4'
::
//STEPl.SYSUTZ
DD DCB=(RECFM=FB,LRECL=l32,BLKSIZE=l32OO)
//***
//***
EXEC COPIES,
//SIG
LABNUM=16,
IDSN='HSQRAN.BRPWDOl.RATESlC.OCT0498',
::
ODSN='HSQRAN.BRPWTO1.RATES1C.OCT0498.FY2OOOQ4'
I/
//STEPl.SYSUTZ
DD DCB=(RECFM=FB,LRECL=l32,BLKSIZE=l32OO)
//***
//***
EXEC COPIES,
/IS17
LABNUM=17,
11
IDSN='HSQRAN.BRPWDOl.RATESlC.OCT0597',
ODSN='HSQRAN.BRPWTO1.RATES1C.OCTO597.FY2OOOQ4'
::
//STEPl.SYSUTZ
DD !JCB=(RECFM=FB,LRECL=132,BLKSIZE=13200)
//***
//***
EXEC COPIES,
/IS18
LABNUM=lS,
IDSN='HSQRAN.BRPWDOl.EMPTY',
::
0DSN='HSQRAN.BRPWT01.EMPTY.S19.FY2000Q4
I/
//STEPl.SYSUTZ
DD DCB=(RECFM=FB,LRECL=SO,BLKSIZE=l600)
//*TEPl.SYSUT2
DD DCB=(RECFM=FB,LRECL=132,BLKSIZE=13200)
//***
//***
EXEC COPIES,
/IS19
LABNLlM=19,
/I
IDSN='HSQRAN.BRPWDOl.RATESPD.JAN1099',
/I
ODSN='HSQRAN.BRPWTO1.RATESPD.JANlO99.FY2OOOQ4'
/I
//STEPl,SYSUT2
DD DCB=(RECFM=FB,LRECL=l32,BLKSIZE=l3200)
//***
//***
EXEC COPIES,
/IS20
LABNUM=20,
IDSN='HSQRAN.BRPWDOl.RATESPD.OCT0498',
::
ODSN='HSQRAN.BRPWTO1.RATESPD.OCT0498.FY2000Q4'
/I
//*
//S15
/I
J
rlr
00580000
00560000
00570000
00580000
00580000
00831001
00560000
00560000
00560000
00570000
00580000
00580000
00831001
OOS60000
00560000
00560000
00570000
00580000
00580000
00831001
00560000
00560000
00560000
00570000
00580000
00580000
00831001
00831001
00560000
00560000
00560000
00570000
00580000
00580000
00831001
00560000
00560000
00560000
00570000
00580000
00580000
j
Page A61 of A6,
IDSN='HSQRAN.BRPWDOl.EMPTY',
/I
ODSN='HSQRAN.BRPWTOl.EMPTY.S26.FY2OOOQ4'
/I
//STEPl.SYSUTZ
DD DCB=(RECFM=FB,LRECL=SO,BLKSIZE=l600)
//*TEPl.SYSUTZ
DD DCB=(RECFM=FB,LRECL=l32,BLKSIZE=l3200)
//***
//***
EXEC COPIES,
//.=-I
LABNUM=27,
IDSN='HSQRAN.BRPWDOl.RATESSB.JAN1099',
::
0DSN='HSQRAN.BRPWT01.RATESSB.JAN1099.FY2000Q4'
/I
jjSTEPl.SYSUT2
DD DCB=(RECFM=FB,LRECL=l32,BLKSIZE=l32OO)
/I***
//***
EXEC COPIES,
II528
LABNUM=28,
/I
IDSN='HSQRAN.BRPWDOl.RATESSB.OCT0498',
ODSN='HSQRAN.BRPWTO1.RATESSB.OCT049S.FY2OOOQ4'
::
//STEPl.SYSUTZ
DD DCB=(RECFM=FB,LRECL=132,BLKSIZE=l32OO)
//***
/I***
EXEC COPIES,
/IS29
LABNUM=29,
/I
IDSN='HSQRAN.BRPWDOl.RATESSB.OCTO597',
ODSN='HSQRAN.BRPWTO1.RATESSB.OCTO597.FY200OQ4'
::
//STEPl.SYSUTZ
DD DCB=(RECFM=FB,LRECL=l32,BLKSIZE=l3200)
/I***
/I***
EXEC COPIES,
/IS30
LABNUM=30,
/I
IDSN='HSQRAN.BRPWDOl.EMPTY',
ODSN='HSQRAN.BRPWTOl.EMPTY.S3O.FY2OOOQ4'
::
//STEPl.SYSUTZ
DD DCB=(RECFM=FB,LRECL=SO,BLKSIZE=l600)
//*TEPl,SYSUT2
DD DCB=(RECFM=FB,LRECL=l32,BLKSIZE=l32OO)
//***
/I***
EXEC COPIES,
/IS31
LABNUM=31,
/I
IDSN='HSQRAN.BRPWDOl.EDITDAT2.FY2OOOQ4',
ODSN='HSQRAN.BRPWTOl.EDITDATZ.FY2OOOQ4'
::
//STEPl.SYSUTZ
DD DCB=(RECFM=FB,LRECL=lSO,BLKSIZE=6OOO)
//*******t********************t****t*****************************,*
-
-
-
..
-._ .,
-
-. ._ .-
-
00580000
00580000
00831001
00531001
00560000
00560000
00560000
00570000
00580000
00580000
00831001
00560000
00560000
00560000
00570000
00580000
00580000
00831001
00560000
00560000
00560000
00570000
00580000
00580000
00831001
00560000
00560000
00560000
00570000
00580000
00580000
00831001
00831001
00560000
00560000
00600000
00610000
00630000
00630000
00931001
00360000
\
Page A62 of A6,
END JOB-2
//*
//****t******~*******************t***********************"**************
I/*
I/*
::* ***************************t***************************~**"***********
BEG JOB-3
::* ***********t*********t*t***********t*t*****************************
EXEC COPIES,
Il.532
LABNUM=32,
I/
IDSN='HSISMN.RPW.FY2OOO.CATEGORY.DIR',
ODSN='HSQRAN.BRPWTO1.FY2O00.CATEGORY.DIR.FY200OQ4'
::
jjSTEPl.SYSUT2
DD DCB=(RECFM=FB,LRECL=llO,BLKSIZE=3300)
***
:;..*
EXEC COPIES,
/IS33
LABNuM=33,
I/
IDSN='HSISMN.RPW.ADJ.CNTL200O~StJMDIR)',
ODSN='HSQRAN.BRPWTO1.ADJ.CNTL2OOO.SUMDIR.FY2OOOQ4'
::
//STEPl.SYSLJTZ
DD DCB=(RECFM=FB,LRECL=EO,BLKSIZE=3120)
//***
//***
/I***
/I***
EXEC COPIES,
/IS34
LABNml=34,
IDSN='HSISMN.RPW.REVCNTL.FY200010',
::
0DSN='HSQRAN.BRPWT01.REVCNTL.FY200010'
I/
jjSTEPl.SYS"T2
DD DCB=(RECFM=FB,LRECL=llO,BLKSIZE=2200)
***
:;***
EXEC COPIES,
/IS35
LABNuM=35,
I/
IDSN='HSISMN.RPW.REVCNTL.FY200011',
ODSN='HSQRAN.BRPWTO1.REVCNTL.FY200011'
::
jjSTEPl.SYS"T2
DD DCB=(RECFM=FB,LRECL=llO,BLKSIZE=22OO)
//***
//***
EXEC COPIES,
l/S36
LABNUM=36,
II
IDSN='HSISMN.RPW.REVCNTL.FY200012',
/I
* 00360000
00360000
00360000
00360000
00360000
00360000
* 00360000
00360000
00640000
00650000
00660000
00660000
00831001
00360000
00360000
00640000
00650000
00660000
00660000
00831001
00360000
00360000
00360000
00360000
00680000
00690000
00710002
00710002
00831001
00360000
00360000
00680000
00690000
00710002
00710002
00831001
00360000
00360000
00680000
00690000
00710002
Page A63 of A6. 1
/I
ODSN='HSQRkN.BRPWTOl.REVCNTL.FY200012'
DD DCB=(RECFM=FB,LRECL=llO,BLKSIZE=2200)
00710002
00831001
::******
EXEC COPIES,
//S37
LABNuIe37,
//
IDSN='HSISMN.RPW.REVCNTL.FY200013',
//
ODSN='HSQRAN.BRPWTOl.REVCNTL.FY200013'
/I
,,STEPl.SYSUTZ
DD DCB=(RECFM=FB,LRECL=llO,BLKSIZE=2200)
IDSN='HSQRAN.BRPWDOl.EMPTY',
//*
ODSN='HSQRAN.BRPWTOl.EMPTY.S37.FY2000Q4'
//*
,,*TEPl.SYSUTZ
DD DCB=(RECFM=FB,LRECL=BO,BLKSIZE=l600)
//***
//***
EXEC COPIES,
,,S3a
00360000
00680000
00690000
00710002
00710002
00831001
00580000
00710002
00831001
00360000
00360000
00640000
LmmM=3a,
IDSN='HSQRAN.BRPNDO1.INFLATEl.FY2OOOQ4',
::
ODSN='HSQRAN.BRPWTO1.INFLATEl.FY2OOOQ4'
I/
,,STEPl.SYSUT2
DD DCB=(RECFM=FB,LRECL=24O,BLKSIZE=4aOO)
//***
/I***
EXEC COPIES,
/IS39
00650000
00670000
00670000
00831001
00360000
00360000
00680000
,,STEPl.SYSUT2
LtABNuM=39,
IDSN='HSQRAN.BRPWDOl.TRANS.FY2OOOQ4',
::
ODSN='HSQFAN.BRPWTOl.TRANS.FY2OOOQ4'
//
,,STEPl,SYS"T2
DD DCB=(RECFM=FB,LRECL=aO,BLKSIZE=2400)
,,t*f**t***********************t**t***t******************,***,*********
END JOB-3
/I*
,,t*********************************t*t**~********,**************,*****
/*
-
00710002
00690000
00710002
00831001
oo36oooo
* 00360000
oo36oooo
00360000
© Copyright 2026 Paperzz