A Database System High Level Design Template

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 24

Oracle

DATABASE SYSTEM HIGH LEVEL DESIGN

TEMPLATE

Author: Brendan Furey


Creation Date: 28 November 2010
Version: 1.0
Last Updated:

46877296.doc . Page 1 of 24
Table of Contents

Document Control...............................................................................................................4
Change Record............................................................................................................4
Introduction.........................................................................................................................5
Definitions....................................................................................................................5
System Overview................................................................................................................6
Overview......................................................................................................................6
Database Objects Summary........................................................................................6
Components.................................................................................................................7
Data Model.........................................................................................................................8
XX Custom and Several Standard Schemas................................................................8
ERD......................................................................................................................................8
Entities and Tables..............................................................................................................9
Other XX Tables.........................................................................................................10
Database Packages and Functions..................................................................................11
Backend.....................................................................................................................11
Web Service Packages..............................................................................................12
Functions....................................................................................................................12
Database Triggers............................................................................................................13
Trigger List.................................................................................................................13
Database Links.................................................................................................................14
Link List......................................................................................................................14
Views/Synonyms..............................................................................................................15
Views.........................................................................................................................15
Database Link Views/Synonyms................................................................................15
Interfaces..........................................................................................................................16
Interfaces List.............................................................................................................16
Interfaces Diagrams...................................................................................................16
Link Entities and Key..........................................................................................................16
XYZ Interfaces Diagram......................................................................................................18
Batch Programs................................................................................................................19
Interface Jobs.............................................................................................................19
Non-Interface Jobs.....................................................................................................19
Scripts...............................................................................................................................20
SQL Scripts................................................................................................................20
Unix Scripts................................................................................................................20
User Interactions..............................................................................................................21
Company.com............................................................................................................21
Call Centre.................................................................................................................21
Business Objects.......................................................................................................21
Database Jobs..................................................................................................................22
Job List.......................................................................................................................22
Batch Jobs Schedule........................................................................................................23

46877296.doc Page 2 of 24
Interface Jobs Schedule.............................................................................................23
Other Jobs Schedule..................................................................................................23
Issues and References.....................................................................................................24
Issues.........................................................................................................................24
References.................................................................................................................24

46877296.doc Page 3 of 24
Document Control

Change Record

Date Author Version Change Reference


28-Nov-2010 BPF 1.0 Initial

46877296.doc Page 4 of 24
Introduction
[The concept of top-down design is very important in IT systems design. Every IT system is unique, but
also shares many common features with other systems, and one of the keys to good design is to identify
the common features. In this way established methods, and perhaps applications and code, can be
applied to the majority of the system, leaving just a small part that is genuinely unique. It is similar to the
concept in mathematics of solving a complex problem by first reducing it to a problem with a known
solution plus an unsolved but smaller additional problem. Achieving the equivalent in IT systems design
requires the taking of a similarly abstract view of the system design at the higher levels, and high level
design documents can play a key role here. This document provides a template for the high level design
of a database system.
Incidentally, it seems likely that lack of a sufficiently rigorous top-down approach may be a major cause
of the failure of some big IT projects, where it is especially necessary. I have noticed while working on
large pan-European projects a lack of awareness of its importance even within the very large software
services providers. There tends to be requirements specifications and very detailed design documents
but a gap in the middle (non-technical people, such as managers and business analysts, usually think
the more detailed the design the better, but that’s not the case).
Unlike other templates I’ve published (for example, REF-4), I have decided to include examples to give
a better idea of what a completed design might look like. The examples are based on a number of
systems I’ve worked on that use Oracle CRM as a component in a larger database system, and have
been modified to remove any details of the companies concerned. This template has been largely
extracted from retrospective design documents, where one is documenting the design of existing
systems, and thus would have some features that would differ from a design that is for a new system. It
should be straightforward to adapt the template to requirements. For example, the design for a new
system clearly would not have listings of the numbers of lines of code in the PL/SQL packages, but one
might want to replace them with other estimated sizing metrics. The example design material should not
be considered as recommendations for good design, merely how one might document a design.]
This document provides a high level technical system design for the the XYZ (Xxx Yyy Zzz Application).
It should be read in conjunction with Oracle’s documentation for the standard Oracle components of the
system, as well as with the functional design documents.
The structure of the document is that there is an overview section including a list of components,
followed by subsequent sections describing these components.

Definitions
• ABC – Aaa Bbb Ccc Application (the subject internal application of the design)
• XYZ – Xxx Yyy Zzz Application (another internal application)
• CRM – Customer Relationship Management
• ETL – Extract, Transform, Load
• ETLT – Staging database for ETL; used for interfacing
• CIN – Customer Identification Number
• CP – Concurrent Program (or batch program)
• RS – Request Set (a group of concurrent programs)
• DFF – Oracle Descriptive Flexfield consisting of generic character fields on standard
tables that can be configured to hold custom data
• cron – a Unix scheduling utility

46877296.doc . Page 5 of 24
System Overview

Overview
XYZ is a loyalty system targeted at business customers (whereas ABC is the corresponding system
targeted at retail customers). The database system is based on Oracle’s Telesales CRM system, with
extensive customisations. It interacts with the ABC system and with two other internal database
systems, ETL, the transactions data warehouse, and ETLT the staging database.
The front end applications are:
• Oracle Applications screens – available to Call Centre staff
• Company.com web site – available to customers through web browsers
• Business Objects – available to IT staff for reporting
In addition to internal interactions, there are a number of external interfaces, both inbound and
outbound.
The system is centred around the member, who earns points for each transaction that he makes, and
who may then redeem points to purchase goods and services. The member is assigned a tier on entry,
that defines privileges such as …, and rules are defined in the database for tier qualification. The
member is given a contract for his tier lasting up to a year, and rules are defined to determine transitions
between the tiers at contract end, or earlier. There are further rules defining the mapping between prices
paid and points awarded.
The internal database architecture is depicted in the data model section below. The customer personal
details are stored in Oracle’s Customer and CRM modules, along with his interactions with the loyalty
scheme, while the loyalty scheme-specific data such as points and the business rules metadata are
stored in a custom schema.
The outbound interfaces include details being sent to a fulfilment house to supply membership cards by
mail, and for SMS or emails to members in various circumstances. Inbound interfaces allow points
assignments to be made from multiple sources, including partner companies, and also allow for
confirmation of provisional points claims when transactions are confirmed in the ETL database. The
interface relationships are depicted in the interfaces section below.
This document is aimed at providing a high-level design view and is largely technical in nature. The
tables below summarise the database objects, and list the main components in the XYZ system, and the
remaining sections provide design specifications. Lower level documents (see references) describe the
components in more detail.

Database Objects Summary


Lines of
Object Type Count Notes
code
Valid
DATABASE LINK 2 NA Public
INDEX 48 NA Owner or table owner = XX
PACKAGE 68 1,963
PACKAGE BODY 47 27,932
Objects like COMP%
PROCEDURE 2 259
FUNCTION 8 365
SEQUENCE 30 NA Owner = XX
SYNONYM 239 NA Owner or table owner = XX
TABLE 170 NA Owner = XX
Table or trigger owner = XX or trigger name
TRIGGER 21 292
like COMP%
Table owner = XX or view name like COMP
VIEW 82 3,491
%
Invalid
PACKAGE 2 112 Objects like COMP%
PACKAGE BODY 23 18,402
PROCEDURE 1 24

46877296.doc Page 6 of 24
FUNCTION 1 25

Components
Name Description
Schemas
APPLSYS Schema Oracle Applications foundation schema, owning tables such as fnd_user
APPS Schema Oracle Applications schema that owns packages, views etc.
Oracle Applications schema that owns Accounts Receivable, and
AR Schema
customer, tables
HR Schema Oracle Applications schema that owns Human Resources tables
Oracle Applications schema that owns Customer Relationship
JTF Schema
Management tables
XX Schema Custom schema owning all custom tables
Database Packages and Functions
Backend Code for backend logic in concurrent programs and elsewhere
Web Service Called by web services for Company.com
Web Service Wrapper Wrappers for use by Java interface code, for old style web services
Small number of functions for various logical requirements returning a
Functions
value
Many packages are no longer used, or even invalid – we exclude these
Obsolete
from this document as far as is known
Database Triggers
Some of the custom tables have triggers that perform some logic on
Custom Tables insert or update; typically, this is to set the unique identifier from a
sequence on insertion, or to set the ‘Who’ columns
There is a custom trigger on the standard tasks table to set DFF
Standard Tables
attributes
Database Links
ETLT_LINK.US.ORACLE.COM ETL Company Staging database
ETL_LINK.US.ORACLE.COM ETL Company Transactions database
Views/Synonyms
Business Objects Views created for Business Objects reporting
Specific Purpose Views created for purposes such as pre-fulfilment reporting
Miscellaneous Views intended for general purposes
It’s considered good practice to create views or synonyms where
Database Link Views/Synonyms
access to remote databases is required, with the link included
Interfaces
Company.com Web site makes calls to XYZ web services
ETL Links Database links for Business Objects reports
Database links for checking existence of claims and accounts across
ABC Links
the two Loyalty systems
Interface triggered from ETLT to transfer points-related data from ETL
XYZ Transaction
into XYZ
External Systems 8 external interfaces have been identified, all using flat file transfers
Batch Jobs
Many of the interfaces are scheduled batch jobs, configured as
Interface Jobs concurrent programs or request sets (i.e. groups of concurrent
programs)
Other batch jobs perform such processing as contract renewal,
Non-Interface Jobs
archiving etc.
Scripts
SQL Scripts Batch jobs normally call either a database package, or an SQL or Unix
script to execute their logic, and these may in turn call packages, while
Unix Scripts
Unix scripts may call SQL scripts or packages within embedded SQL
Database Jobs
Gather Statistics The standard database administration job
Batch Jobs Schedule
Interface Jobs Both interface and other jobs may be scheduled, as opposed to being
Non-Interface Jobs triggered manually

46877296.doc Page 7 of 24
Data Model
This section covers the data model as far as current functionality is concerned. Many tables exist in the
custom XX schema that are not part of this functionality – they may have been used for one-off data
migrations, or have become obsolete for other reasons. The diagram covers entities from both standard
Oracle Applications schemas and the custom schema that form the core data model, but excludes
staging and other system entities, as well as standard entities that are not used directly.

XX Custom and Several Standard Schemas


ERD

46877296.doc Page 8 of 24
Entities and Tables
Core entities and tables are listed here, and are shown on the ERD, while system and other tables are
listed separately below, without appearing on the ERD. Standard entities are further described in
Oracle’s documentation set (REF-1).
Entity Table Notes
APPLSYS Schema
User fnd_user
AR Schema
Basic account information including account number
Customer Account hz_cust_accounts
(our CIN)
Customer Profile hz_customer_profiles Additional account information, with history
Contact Point hz_contact_points Telephone numbers, email addresses etc.
Basic information about a party (in general company or
Party hz_parties
person, and technical entities, but here always person)
Party Site hz_party_sites Link from party to a site
Party Site Use hz_party_site_uses Uses a party can make of a site (not used)
Person Profile hz_person_profiles Additional account information, with history
Location hz_locations Address data for a site
HR Schema
People per_people_f Data on person employed by Company
JTF Schema
Tables _b, _tl indicate base table, plus table of
Action jtf_ih_actions_b, _tl translated description fields; view ending _vl joins the
two
Activity jtf_ih_activities CRM activity
Group jtf_rs_groups_b, _tl Grouping of resources
Group Member jtf_rs_group_members Member of a group
Interaction jtf_ih_interactions Interaction with customer
Note jtf_notes_b, _tl Note about customer
Outcome jtf_ih_outcomes_b, _tl Outcome of an interaction
Resource jtf_rs_resource_extns Resource (human)
Result jtf_ih_results_b, _tl Result of interaction
Role jtf_rs_roles_b, _tl Role that may be played by a resource
Role Relation jtf_rs_role_relations Link between resource and role
Task jtf_tasks_b, _tl CRM task
Task Assignment jtf_task_assignments Assignment to resource of task
XX Schema (except some APPLSYS tables, but considered custom entities)
Additional Comm xx_additional_comms Actually interface table used for targetting mailshots
Member details as entered via call centre in Oracle
Application Form Company_appl_form
application front end
Company (none) Company selling transaction
Currency (none) Currency
ECOM Preference
(none) Preference types as named on Company.com
Type
Market Mapping xx_market_mappings Maps company code to market
Fulfilment Code xx_fulfillment_codes
XYZ-ECOM Pref Maps preference type names between XYZ and
xx_ws_XYZ_pref_mappings
Type Mapping Company.com
XYZ Points Company_points Member points earnings and redemptions
Market (none) UK or FR or BE or other
Party Preference xx_party_references Holds preference information
Points Mapping xx_point_mappings Maps prices to points
descriptive_flexfield_name
Preference Type fnd_descr_flex_contexts
='XX_PARTY_REFERENCES'
Member Qualification xx_membership_qualifications Rules defining qualification criteria for each tier
Tier fnd_lookup_values lookup_type=’XYZ_MEMBERSHIP_STATUS_TYPES’
Transition Rule xx_membership_rules Points required for transitions between different tiers
Travel Segment (none) Transactions table - exists on ETL system

46877296.doc Page 9 of 24
Other XX Tables
Some tables are used for interfaces or as staging tables for reporting purposes, or are system tables
used for storing error, configuration parameters or other system data. These are listed here but not
included in the ERD.
Table Purpose Notes
Interfaces
xx_pqr_cinfiles Staging tables for PQR
Company PQR Interface Request Set
xx_pqr_rejfiles interface
Audit table for EML
xx_interface_batches XX Weekly QES to EML Request Set
interface
Company_cc_enrol_verify
Further staging tables
Company_carhire_partner_t
for partner interfaces
xn
Company_etl_txn_error Error and staging table
for ETL Transaction
Company_etl_txn_interface
interface
Company_partner_load SQL*Loader staging
tables for partner
Company_partner_txn
interfaces
Audit table for weekly
Company_output_file_audit XX Weekly Fulfilment Request Set
fulfilment process
Reports
xx_mis Report staging Used in monthly financial reports from Business Objects
Company_report_% Report staging Various tables beginning ‘Company_report_’
System
xx_cin_ranges CIN creation
Company_conf_parameters Configuration
parameters
xx_ws_errors Web services error log
Company_errlog
General error logs
Company_gen_error

46877296.doc Page 10 of 24
Database Packages and Functions
As with the tables, many obsolete packages and functions exist, but are excluded from this section
(where known to be obsolete), as are all standard packages, for which Oracle’s own documentation
should be consulted (REF-1).

Backend
Package Name Purpose Top Level Calling Process
Creates interactions for quarterly XX Weekly QES to EML (Report
XX_Add_Beh_Process_PKG
email process Set)
XX_Create_Partner_Pref Creates preferences Web service (XX_Change_Details)
Archives customers due to inactivity
XX_Customer_Archiving
or other reasons
Processing of rec_eml_recon_stg
XX_EML_Recon_Pro_PKG Obsolete?
table
Creates output file for quarterly XX Weekly QES to EML (Report
XX_Fulfillment_Process_PKG
email process Set)
Generic processing such as contact XX Weekly QES to EML (Report
XX_Generic_PKG
retrieval Set) and others
XX_Generic_Redemption Redemption processing Web service (XX_Redemption)
XX Weekly QES to EML (Report
XX_Interface_Batches_PKG Creates interface batches record
Set)
XX_XYZ_CIN_Create CIN generation Web service (XX_WS_Validation)
Create Magnetic Card Obsolete? Refers to customer in
XX_Magnetic_Card_Replace_PKG
Replacement task 2007
XX Weekly Fulfilment (Report Set)
XX_Member_Status_Mgmt_PK Member status management Also Web services, such as Create
Account
XX_Pending_TXN Process points pending validation Company Pending TXN Processing
Standardises name for PQR
XX_PK_Alpha_Test
customers Company PQR Interface (Report
Sends changed customers to PQR Set)
XX_PK_PQR
by flat file
Get points for a transaction based
XX_Points_Required Obsolete?
on mtl_system_items
XX_Reference_Model Insert or update preferences Web service (XX_Change_Details)
XX_VFC_Validation Validate VFC membership code Web service (XX_WS_Validation)
Company_CC_File_Processing Processing for CC interface Company CC Interface
XX Weekly QES to EML (Report
Company_Convert_Txn_Mode_PK Returns 1 for ACR, -1 for RED Set) (from XX_Generic_PKG so
could be various)
Processes
Company_Email_Upload_PKG COMPANY_EMAIL_UPLOAD_TM Obsolete?
P
XX Weekly Fulfilment (Report Set)
Company_Error_PK Error logging
and various
Insert/update points for ETL XYZ Transaction Interface (ETL
Company_ETL_Processing
transactions job)
ETL processing, looks like
Company_ETL_Processing_SPC Obsolete?
migration code
Company_Fulfillment_Mgmt_PK Creates the fulfilment file XX Weekly Fulfilment (Report Set)
Company_Ful_Mgmt_Data_Fix_PK Data fix Obsolete?
Obsolete? Mainly, but table API is
Old version of
Company_Incentive_Mgmt_PK still used by original version to
Company_Fulfillment_Mgmt_PK?
insert into
XX Weekly Fulfilment (Report Set)
Company_Inter_Hist_PK Wrapper for interactions
and various
Carhire interface (manually
Company_Partner_Processing Processing for Carhire interface
triggered)
Various including Web service such
Company_Task_PK Wrapper for tasks
as Change Details

46877296.doc Page 11 of 24
Company_Translation_Utility Format validation/conversion Obsolete?
Company_Util_Pck Utilities XX Weekly Fulfilment (Report Set)

Web Service Packages


Package Name Purpose
XX_Change_Details Changes member details
XX_Create_Account Creates member account
Checks tier status for a potential member. This is called via the ABC
XX_XYZ_WS
package XX_XYZ_WS owing to limitations of v8 of XYZ database
XX_Redemption Redeems points
XX_Retro_Claim Processes retro claims
XX_View_Account Returns account details
XX_View_Statement Returns statement details
XX_WS_Generic_PKG Error handling and generic processing for web services
XX_WS_Validation Web service validation
Wrappers for use by Java interface code, for old style web services
XX_Change_Details_PLSQL_Wrap Wrapper for XX_Change_Details
XX_Create_Account_PLSQL_Wrap Wrapper for XX_Create_Account
XX_Redemption_PLSQL_Wrapper Wrapper for XX_Redemption
XX_Retro_Claim_PLSQL_Wrapper Wrapper for XX_Retro_Claim
XX_View_Account_PLSQL_Wrappe Wrapper for XX_View_Account
XX_View_Statement_PLSQL_Wrap Wrapper for XX_View_Statement

Functions
Package Name Purpose
XX_De_Duplication_Check Checks whether prospect is an existing member
XX_Get_Lookup_Value Gets lookup value
XX_Get_Point_Avl_Func Gets points available
XX_Price_Based_Pnt_Calc_Func Gets points for a transaction
Company_Convert_Txn_Mode Decodes ACR/RED into 1/-1
Company_Get_Trans_String Translates strings

46877296.doc Page 12 of 24
Database Triggers

Trigger List
Table Name Trigger Name Purpose
xx_pqr_cinfiles DBT_PQR_CINFiles
xx_pqr_rejfiles DBT_PQR_REJFiles Sequence and Who columns
xx_internet_files DBT_INTRFile
Company_cc_enrol_verify Company_TCC_Enrol_Verify Sequence and call
Company_Util_PCK.Convert_CIN to
Company_cc_partner_txn Company_TCC_Parnter_Txn
prepend Company id
Company_campaign_hist Company_TCPN_Hist Sequence and Who columns
Company_campaign_hist Company_TCPN_Hist_U Sequence and Who columns
Company_etl_cust_interfac Sequence and Who columns; decode
Company_TETL_Cust_Interface
e nationality
Company_etl_cust_interfac
Company_TETL_Cust_Interface Sequence and Who columns
e
Company_etl_txn_interface Company_TETL_Txn_Interface Sequence and Who columns
Company_points_reload Company_TEURR_Points_INS Add points to attribute13 of hz_parties
Company_points Company_TEUR_Points_Date Who columns (last update date only
Company_points Company_TEUR_Pre_Change Add points to attribute13 of hz_parties
Company_gen_error Company_TGeneral_Error Sequence
Company_output_file_audit Company_TOutput_File_Audit Sequence
Sequence and call
Company_partner_txn Company_TPartner_Txn Company_Util_PCK.Convert_CIN to
prepend Company id
Sequence and Who columns (last update
Company_partner_load Company_TPartnerLoad
date only
Set DFF attributes for closed tasks according
jtf_tasks_b Company_TTask_Creditcard
to type
Company_trans Company_TTrans Null!
Company_TXReference_FTP_Dat
xreference_ftp_data_bck Sequence
a
Insert into enrolment_sources@etl_link,
Company_ref_data Company_UPD_Enrol_Source
using attribute6 as code

46877296.doc Page 13 of 24
Database Links

Link List
Name Target Host Target User Notes
ETLT_LINK.US.ORACLE.COM XYZNETLT ETLADMIN
ETL_LINK.US.ORACLE.COM XYZNETL XYZ ETL Company Transactions database.

46877296.doc Page 14 of 24
Views/Synonyms

Views
Name Notes
Business Objects
XX_MIS%
Most views created for Business Objects reporting have the prefix
XX_BOJ%
shown
COMPANY_REPORT%
Specific Purpose
XX_PRE_FULFILLMENT_V Returns the records that will be included in the weekly fulfilment job
XX_FINANCIAL_V Financial report by month with cumulative values included
Miscellaneous
(Various) Various other views exist

Database Link Views/Synonyms


These may be used for linking to other systems, for both table and package access. There are no
current synonyms of this kind.

46877296.doc Page 15 of 24
Interfaces

Interfaces List
External In/Out
Name Frequency Interface Type Notes
System ?
Company.co Web site makes calls to XYZ web
Company.com In/Out Real time Web services
m services
Database links for Business
ETL Links ETL Out Real time Database links
Objects reports
Database links for checking
existence of claims and accounts
ABC Links ABC In/Out Real time Database links across the two Loyalty systems –
the XYZ-side link does not exist,
but should
Database links,
XYZ Transaction ETL In Daily
scheduled
Flat file, CFTP, CFTP is custom version of FTP.
PQR PQR Out Daily
scheduled Company PQR Interface
Flat file, FTP,
CC CC In/Out Daily
scheduled
Flat file, email,
Carhire Carhire In Monthly
manual
Flat file, email,
Weekly Fulfilment Card supplier Out Weekly
scheduled
Email Flat file, FTP,
Email Supplier Out Sporadic
Supplier scheduled
Flat file, FTP,
Octal Octal Out Weekly
scheduled
Flat file, FTP,
SMS Feed ETL Out Daily
scheduled

Interfaces Diagrams

Link Entities and Key


Interfacing between internal databases is done using database links. The diagram below shows that
information may be read from table (or view) synonyms or views pointing at remote tables and views,
while synonyms to remote packages are used for writing information remotely, and may also return
information.

46877296.doc Page 16 of 24
46877296.doc Page 17 of 24
XYZ Interfaces Diagram
This diagram shows the interfaces between XYZ, the two internal databases, ABC and ETL, the various
up and down-stream external systems, and the main front end interfaces.

46877296.doc Page 18 of 24
Batch Programs
Key:
• D = Daily
• M = Monthly
• S = Sporadic
• 4h = Every 4 hours

Interface Jobs
Name F Executable File/Procedure Notes
Company CC Interface D XX_CC_FILE_PROCESS Credit Card
Executed manually from Unix after
Carhire Interface D partner_txn.sh
copying emailed file to directory
XXSMSYY - SMS
D XXSMSYY.sql
transaction details extract
Company_Fulfillment_Mgmt_PK.
Company Fulfilment Process
XX Weekly Fulfilment D Company_Fulfillment_Pro
XX_Fulf_Email.prog XX Weekly Fulfilment Post-Processor
XX_ADD_BEH_Process_PKG.
Company Additional Behavioral Process
XX_Create_Add_BEH_IH
Company Fulfillment Process Program

This calls two SQL scripts that in turn


XX Weekly QES to EML S
call a procedure and a CP, thus:
XX_FULFILLMENT_PROCESS.prog
XX_FULFILLMENT_PROCESS.sql ->
XX_Fulfillment_Process_PKG.XXFulfill
ment_Process_P
XX_FTP_REQ.sql -> XXFTP
XX_PK_PQR.PQR_BCE_Extract_D
Company PQR Data Extract
Company PQR Interface D ata
xx_pqr_interface Company PQR Interface File Transfer

Non-Interface Jobs
Name F Executable File/Procedure Notes
Processes contract renewals and
Company Contract Renewal XX_Member_Status_Mgmt_PK.
D inactivations for processing by the
Process Renew_Contract_Proc
fulfilment interface
Creates interactions for warnings of
Company Downgrade XX_Member_Status_Mgmt_PK.
M likely downgrades for processing by the
Warning Process Company_Card_Down_Warn
fulfilment interface
XX_Customer_Archiving. Archives members inactive for a certain
XX Archiving Program D
XX_Customer_Archiving_Proc time, or marked for archiving
Company Pending TXN XX_Pending_TXN. Updates pending points when
D
Processing XX_Pending_TXN_P transactions take place
Corrects known person data problems
XX Person Datafix 4h XXPERDF.sql
caused by web-site interface
Populates staging tables used by
XX Populate MIS Table M XXPMIS.sql monthly Business Objects financial
reports

46877296.doc Page 19 of 24
Scripts

SQL Scripts
Name Called From Notes
CC_partner_process.sql
XX_CC_FILE_PROCESS
CC_fileout.sql
Calls procedure
XX_FULFILLMENT_PROC
XX_Fulfillment_Process_PKG.XXFulfillment
ESS.sql
XX_FULFILLMENT_PROCESS.prog _Process_P
Triggers CP xXXFTP, which runs an FTP
XX_FTP_REQ.sql
file transfer
XXPERDF.sql XX Person Datafix
XXPMIS.sql XX Populate MIS Table
XXSMSYY - SMS transaction details
XXSMSYY.sql
extract
partner_process.sql Carhire interface Manually run

Unix Scripts
Name Called From Notes
XX_CC_FILE_PROCESS Company CC Interface
XX_Fulf_Email.prog XX Weekly Fulfilment XX Weekly Fulfilment Post-Processor
Calls two SQL scripts that in turn call a
XX_FULFILLMENT_PROCESS.prog XX Weekly QES to EML
procedure and a CP
EUKFTP XX_FTP_REQ.sql via a CP SQL script calls CP for EUKFTP
Executed manually from Unix after
partner_txn.sh Manually from Unix
copying emailed file to directory
xx_pqr_interface Company PQR Interface Uses cftsend file transfer utility

46877296.doc Page 20 of 24
User Interactions
This section lists the main functional interactions possible through the front end applications, with source
file names where in scope (i.e. for Call Centre forms, but web forms and Business Objects source files
are out of scope)

Company.com
Name Notes
Change Account Details A member can change the details on his account
A non-member can apply for membership by submitting receipts, and a call is made to
Check Tier Status
check what tier, if any, the member qualifies for, prior to account creation
Entering the CIN number while making a purchase causes points to be assigned to the
Claim Points
account
A non-member has an account created after submitting receipts, if the call made to
Create Account
check what tier, if any, the member qualifies for, results in a membership tier
Retro-Claim Points Points can be claimed for a member for transactions already made
View Account A member can view his account details on-line
View Statement A member can view his statement details on-line

Call Centre
Name Form File Notes
Run/View Requests FNDRSRUN.fmb Standard functionality allowing reports to be run in batch and viewed
screen (standard) in a screen or downloaded on completion
This is a standard Oracle screen allowing customers to be viewed
eBusiness Centre and updated, along with various standard CRM activities (notes,
screen tasks, interactions etc.), and has a customised tab for custom
ASTRCALL.fmb functionality
(customised The XX tab on the eBusiness Centre screen allows the member’s tier
XX Overview tab version of and earnings to be viewed, and provides access to the windows and
standard form) buttons listed below
Status button Allows the member’s tier to be changed manually
Cancellation button Allows selected earnings to be cancelled
Statement window COMPST04.fmb Allows viewing of member’s statement
Application window COMPST01.fmb Allows entry and viewing of an application form for a member
Retro window COMPST02.fmb Allows retro-claims to be made for points
Redemption window COMPST03.fmb Allows recording of member redemptions
Special window COMPST06.fmb Allows manual addition of points to an account
This really means preferences. Preferences of the different available
References window XXREF.fmb
types may be viewed and set here

Business Objects
Name Notes
Miscellaneous reports are defined, and can be run by IT staff, as well as being
Reporting
scheduled as necessary

46877296.doc Page 21 of 24
Database Jobs

Job List
Name Frequency Notes
Gather Statistics Sundays at 21:00 DBMS_Stats.Gather_Schema_Stats; 10% sampling

46877296.doc Page 22 of 24
Batch Jobs Schedule

Interface Jobs Schedule


• * denotes that the job runs on the external system
• CP denotes Oracle concurrent program
• RS denotes Oracle concurrent request set
• Cron is the Unix job scheduling utility
Start Daily, or External In/Out Job
Job Notes
Time … System ? Type
Card Company Fulfilment Runs after contract renewal and
0500 Fridays Out CP
supplier Process downgrade warning
0700
ETL* In XYZ Transaction cron Twice daily
1600
0800 CC In/Out Company CC Interface CP
NA Monthly Carhire In Carhire Manual Run manually from emailed file
Email
NA Sporadic Out XX Weekly QES to EML RS
supplier
0800 Mondays Octal Out Octal cron Run on XYZ Server via cron
SMS XXSMSYY - SMS
0630 Out CP
provider transaction details extract
1300 PQR Out Company PQR Interface CP

Other Jobs Schedule


Start Job
Daily, or … Job Notes
Time Type
Company Contract
0430 CP
Renewal Process
Run before the weekly fulfilment interface
Company Downgrade
0445 4’th of month CP
Warning Process
0700 XX Archiving Program CP
Company Pending
0700 CP
TXN Processing
0200 Every 4 hours XX Person Datafix CP
2200 2’nd of month XX Populate MIS Table CP

46877296.doc Page 23 of 24
Issues and References

Issues
# Issue Description Note if closed
Intend to delete these at a later stage,
1 Obsolete objects
but retain for version control
2 Business logic Check whether covered sufficiently
Need to add for detailed design
3 References
documents

References
REF Document Location
http://etrm.oracle.com/pls/trm1157/etrm_s
REF-1 eTRM
earch.search
REF-2 ETL Company Transactions Database - System Design.doc PVCS
REF-3 (detailed design documents) PVCS
REF-4 Unit Test Plan Template.doc scribd

46877296.doc Page 24 of 24

You might also like