The document describes legacy pre-TRAMS processing that consists of multiple redundant programs with escalating costs. It proposes integrating similar processes into a new "SUPERFM" program to consolidate functionality, minimize redundancies, and reduce costs by an estimated 70%.
1. WORLD CLASS
LOW COST LEADER
Power Tuning Legacy Processing
PART II – PIRANHAS (Pre TRAMS Processing)
2. Warning Indicators
Escalating Unit Costs
Resource Intense
Extensive Redundancies
High Maintenance
Diminishing Breadth of Knowledge
Cracks are Wider
Crevices Deeper
3. Money Pit Profiles
Stealthy Piranahs
Multiple
Variations of Single Function
Comprised of Single Function Programs
Running Many Time per Day
Gigantic Killer Whales
Flagship Jobs Visibly Consuming CPU/DASD
Heavily Redundant File Content
Uncontrolled Resource Scheduling
Non Integrated Cross Application Development
5. Low Cost Ingredients
Design/Code for Maximum Throughput
IntegrateSimilar Processes
Avoid One-Off Cloning
Apply Use Case Processing Models
Minimize Non Business Logic
Minimize File Processing Costs
Use Read It Once/Write It Once Design
Archive Data not Safety Nets
Minimize Redundant File Cycling
6. Piranha Scale Down
Approach
Consolidate Program Functions
Enhance Reporting
Minimize Non Business Logic
Use Read It Once/Write It Once Design
Archive Data not Safety Nets
7. PreTrams Today STEP010
SORT &merid.
RPTDUP
&merid. STEP020 &merid.
&input SORTCOPY CLINTBK(+1)
Minimum 10 STEPS Executed STEP025
SMIG310
IEFBR14
&INPUT (DEL)
TODAY
STEP030
Settlement File Read and
&WHIRLFMP
BALRPT
Written Minimum 4 Times CPUWORK
STEP040
HDRCHKRW SORTCOPY HDRCHKRW
Multiple Archives Made
(+0) (+1)
STEP050
BATCHW DUPBATW xx.TRN.DUP
CPUWORK2
VSB (+60)
DUPBATxx Coding ERRORS
block Duplicate Batch Conditions DUPBRPT
STEP060
INSTAPPW
NCVINST
VSO
NSTAPPW Only Processes the CPUIN.INST
Control Record and COPIES All
(+1)
NCVAPPL PSTR0015
Detail Records.
VSO STEP070
SORTCOPY CPUIN.INSTBKP
(+100)
SAR
SORT080
BALANCE
SMIGMAIL
Erroneous Exception Codes for
SORTCOPY
REPORT
0004 = OK
0004 = DUP BATCH
Normal End of Job. STEP090
0000 = Out of Balance
SAR
SORTCOPY
DUP BATCH
8. Piranah Functionality
WHIRLFMx –
Verify File Control Card
Edit Data Fields
Balance Batch and Detail Records
Print Summary Report
Output Accepted Files
DUPBATCHx –
Verify Batch Numbers/Date Are Unique
Update VSAM Batch Records
Maintain Historical VSAM Batch File
Output Good Batches
INSTAPPW –
Verify ORG/Application Code 0001 or 0010
Copy Batch and Detail Records.
10. DUPBATW PROGRAM-ID.
01 WS-SWITCH.
DUPBATCH.
- - - - - - - - - - - - 209 Line(s) not Displayed
05 BATCH-SWITCH PIC X VALUE ' '.
88 GOOD-BATCH VALUE 'Y'.
88 DUP-BATCH VALUE 'N'.
- - - - - - - - - - - - 144 Line(s) not Displayed
225-PROCESS-BATCH-HDR.
- - - - - - - - - - - - - 19 Line(s) not Displayed
Only Processes Batch Headers. INITIALIZE BATCH-SWITCH.
WRITE BATCH-RECORD.
EVALUATE WS-BATCH-STATUS
WHEN '22'
Copies All Other Records. SET DUP-BATCH TO TRUE
WRITE TRANOUT-DUP-RECORD FROM SAVE-OFFICE-HEADER
- - - - - - - - - - - - - 3 Line(s) not Displayed
WHEN '00'
DUP-BATCH is RESET every SET GOOD-BATCH TO TRUE
WRITE TRANOUT-GOOD-RECORD FROM SAVE-OFFICE-HEADER
time a GOOD BATCH is processed. 250-PROCESS-DETAIL-REC.
- - - - - - - - - - - - - 10 Line(s) not Displayed
MOVE CPU-TRAN-RECORD TO SAVE-DETAIL-RECORD.
EVALUATE TRUE
No way to know if DUP at WHEN DUP-BATCH
WRITE TRANOUT-DUP-RECORD FROM SAVE-DETAIL-RECORD
EOJ (600-Write). PERFORM 320-WRITE-DETAIL-RECORD THRU 320-EXIT
WHEN GOOD-BATCH
WRITE TRANOUT-GOOD-RECORD FROM SAVE-DETAIL-RECORD
- - - - - - - - - - - - - 93 Line(s) not Displayed
Entire Settlement File Read and 600-WRITE-TOTALS-FILE.
Re-written to New Files. - - - - - - - - - - - - - 17 Line(s) not Displayed
IF DUP-BATCH
MOVE 'DUPLICATE FILE REC''D' TO HMPTRMLK-ERR-MSG
MOVE ZEROES TO HMPTRMLK-AMT
ELSE
MOVE SPACES TO HMPTRMLK-ERR-MSG
MOVE WS-HMPTRM-ACCUM-AMT TO HMPTRMLK-AMT
- - - - - - - - - - - - 128 Line(s) not Displayed
11. INSTAPPW
PROGRAM-ID. INSTAPPW.
- - - - - - - - - - - - - 3 Line(s) not Displayed
THIS PROGRAM READS A SETTLEMENT INPUT FILE IN THE NEW
CPU-CPU FORMAT AND INSERTS THE INST NUMBER AND APPLICATION
ID INTO THE EXISTING ORG HEADER. IT ALSO READS NCVINST &
NCVAPPL TO VERIFY ACTIVE STATUS.
- - - - - - - - - - - - - 94 Line(s) not Displayed
05 WS-INST PIC 9(4) VALUE ZEROS.
05 WS-APPL PIC 9(4) VALUE ZEROS.
05 WS-CHECK-INST PIC S9(4) COMP VALUE ZEROS.
- - - - - - - - - - - - - 25 Line(s) not Displayed
05 APPL-ID-PARM PIC 9(4).
- - - - - - - - - - - - - 25 Line(s) not Displayed
MOVE APPL-ID-PARM TO WS-APPL.
- - - - - - - - - - - - - 46 Line(s) not Displayed
MOVE HSTWCPUOH-ORG TO WS-INST
- - - - - - - - - - - - -121Line(s) not Displayed
MOVE WS-INST TO HSTWCPUOH-INST-NO.
MOVE WS-APPL TO HSTWCPUOH-APPL-ID.
- - - - - - - - - - - - - 51 Line(s) not Displayed
Summary: Simple ORG and APPL validation/insertion only function.
Notation: APPL is derived from EXEC statement.
CONCLUSION: Obsolete - Integrate Function into another program.
12. Integration
SUPERFM (combine WHIRLFM, DUPBAT, INSTAPPW)
ORG CONTROL RECORD (multiple allowed)
Verify ORG Control Record
Verify ORG/APPL Code 0001 or 0010
BATCH CONTROL RECORDS –
Verify Batch Numbers/Date Are Unique
Update VSAM Batch Records
Maintain Historical VSAM Batch File
DETAIL SALES AND RETURNS
Data Validation
Balance to Batch Control
OUTPUTS
Batch Summary and Duplicate Reports
CPUINST File to TRAMS
13. NEW LOOK SUPERFM
LRECL = 310 or 430
Merchant Dependent
SETTLE(+0)
ZIP
STEP010
UNZIP
(piped)
BATCHW
VSB
NCVINST STEP020 CPUIN.INST PSTR0015
SUPERFM (+1)
NCVAPPL
SAR
SAR EMAIL EMAIL
DUP BATCH
BALANCE BALANCE DUP BATCH
REPORT REPORT REPORT
REPORT
14. Two Step $AVING$
STEP010 – ZIP/UNZIP
UNZIP Merchant Settlement Files
PIPE Unencrypted Decompressed Data to STEP020
Secure Zipped Merchant Settlements Archived
STEP020 - SUPERFM
Process All Control Record Requirements
Verify and Maintain VSAM Batch Controls
Edit and Balance Detail Sales and Refunds
Generate Respective Balance and Error Reports
Set Respective Error Condition Return Codes
Spool Multiple Reports to Respective Destinations
OUTPUT settlement records to DAILY TRAMS
15. SUPERZIP RESULTS
Today’s
Today's AVG DASD SUPERZIP SUPERZIP
STEP AVG CPU (30xgdg) AVG CPU AVG DASD (30xgdg)
CA11 $0.03 .03
STEP010 SORT/UNZIP $0.02 $0.05 na $.75
STEP020 SORT/Super $0.04 $1.50 $0.16 $1.60
STEP025 IEFBR14 $0.01 na na
STEP030 &WHRLFMP $0.05 $1.50 na na
STEP040 SORT $0.04 $0.05 na na
STEP050 DUPBATW2 $0.04 $3.00 na na
STEP060 INSTAPPW $0.03 $0.05 na na
STEP070 SORT $0.04 $0.05 na na
STEP080 SORT $0.04 $0.05 na na
STEP090 SORT $0.04 $1.50 na na
AVG Cost per Run na $0.51 $7.75 $0.16 2.35
Extended Daily Costs 194 $98.94 $1,503.50 $31.04 $455.90
Extended Monthly Cost 30 $2,968.20 $45,105.00 $931.20 $13,677.00
Extended Annual Cost 12 $35,618.40 $541,260.00 $11,174.40 $164,124.00
Total Annual Costs $576,878.40 $175,298.40
Estimated Annual Savings $401,580.00
Savings Percentage 70%