Intro• Residential (Resi) Portfolio Overview Reports
– Pro – Product Segments– Reg – Regional Segments– Tra – Special Segments
• HELOC & Other Consumer (HNC) Portfolio Overview Reports– HNCEqu – Equity line of credit Segments– HNCO – Other Consumer loan Segments
• This presentation shows control flow for ResiReg• Other reports have similar flow
2Union Bank
Automated ExecutionGo
autoPortRpt_RES.bat
END
autoPortRptSub_RES.bat
autoPortRptSub_RES.log
A
3Union Bank
autoPortRptSub_RES.bat
autoPortRptSub_RES.batA
autogosas portfrpt3 ResiReg B
autoPortRptFmt ResiReg_rpt.xls C
ResiReg_rpt.xls
rptcopy.batD
Run SAS
Format
Rename Outputs
Resi_Regions_yyyymm.xls
4Union Bank
Principal input
Raw output
Formatted output
RETURN
autogosas.batautogosas portfrpt3
ResiReg B
%surfcity()E
Rptcopy.bat
Run portfrpt3.SAS with SYSPARM=ResiReg
%surfcity(): I.D. dates, inputs, outputs, perform process.
5Union Bank
Residential_tss_
yyyymm
ChargeoffsResiReg_rpt.xls
Raw output
Principal input
RETURN
(autoPortRptSub)
%surfcity(), part 1
%surfcity()E
%movector()
%Choosedsnroot()
Get dates fryyyymm, toyyyymm
I.D. Input data set
6Union Bank
F
%surfcity(), part 2
%copybat()
%promonth()Process inputs, produce outputs
7Union Bank
F Rptcopy.bat
Residential_tss_
yyyymm
ResiReg_rpt.xls
G
Chargeoffs
RETURN
Principal input
%promonth(), part 1
%promonth()
2 Loops: Segments (tabs) & Dates
8Union Bank
G
RETURN
%genyyyymm()generate next yyyymm
(the oldest component of the reporting programs)
Data alpha
Input for yyyymm
alpha
H
Last yyyymm
Last Seg
ment
y
nn
yCharge
offs
I
%promonth(), part 2
%promonth()
9Union Bank
G
RETURN
H
Seg Yyyymm
Data vartopone
alpha
Chargeoffs
I1
%Resimtx()I2
I
J%Resimtx() calculates metrics
%promonth(), part 3
%promonth()
10Union Bank
G
RETURN
H
Seg Yyyymm I
Proc transposeJ
aggvartop
vartopone
Proc append&all_d
Proc export
ResiReg_rpt.xlsRaw output
autoPortRptFmtautoPortRptFmt ResiReg_rpt.xls C
autoResidRpt.xlsm
Formatting
autoResidRpt.xlsm
autostarts Fbin.xlsm formatting macros
11Union Bank
ResiReg_rpt.xls
Resi_Regions_yyyymm.xls
Formatted output
Taskkill /f /t /im excel.exeKill any existing excel process Raw output
Fbin.xlsm
RETURN
K
(autoPortRptSub)
Fbin.xlsm
12Union Bank
ResiReg_rpt.xls
Resi_Regions_yyyymm.xls
RunResidRpt()
Raw output
RETURN
Fbin.xlsmK
L Formatted output
(autoPortRptFmt)
RunResidRpt()
13Union Bank
Formatting the output
RETURN
ResidRptGo()
RunResidRpt()L
Resi_Line_Definitions.xlsm
RT=ReportType()RT=“ResiReg”
SegTags=TabList()Get list of Tabs
Last Seg
ment
n
y PortResidPageFmtM
Format one Segment (tab)
(Fbin.xlsm)
PortResidPageFmt(), part 1
14Union Bank
Insert Column A
Last Row
nn
Format one Segment (tab)PortResidPageFmtM
Key = Cell in Col B
HIGH LOOP
See t_proofing
?Skip=linefmt()
P
Proof=1
Q
y
y
LeaveHIGH LOOPSkip>
0?Skip<
0?Insert blank line
Delete Line
y
y n
n
Linefmt()
15Union Bank
Skip=0
Format one LineSkip=linefmt()M
Stylo=numstilo()Stylo=title, %, $, etc.
Apply format per Stylo & Key
Handle special cases
Skip = skipper()Line-skip signal
RETURN
PortResidPageFmt(), part 2
16Union Bank
Format one Segment (tab)PortResidPageFmtM
HIGH LOOP
Q
LeaveHIGH LOOP
Col A special formatting and
numbering
Last Row
Col B row label =thesaur()
y
n
R
Cols A & B
PortResidPageFmt(), part 3
17Union Bank
Format one Segment (tab)PortResidPageFmtM
HIGH LOOP
Q
LeaveHIGH LOOP R
Cols A & B
nLast Row
Skip or Delete row
Go to Next proofing row
Skip=linefmt()P
y
AGONY LOOP
Set print area
RETURN
(RunResidRpt())