a database system high level design template
DESCRIPTION
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).TRANSCRIPT
Oracle
DATABASE SYSTEM HIGH LEVEL DESIGN
TEMPLATE
Author: Brendan Furey
Creation Date: 28 November 2010
Version: 1.0
Last Updated:
document.doc . Page 1 of 24
Table of Contents
Document Control 4
Change Record 4
Introduction 5
Definitions 5
System Overview 6
Overview 6Database Objects Summary 6Components 7
Data Model 9
XX Custom and Several Standard Schemas 9ERD 9Entities and Tables 10
Other XX Tables 11
Database Packages and Functions 12
Backend 12Web Service Packages 13Functions 13
Database Triggers 14
Trigger List 14
Database Links 15
Link List 15
Views/Synonyms 16
Views 16Database Link Views/Synonyms16
Interfaces 17
Interfaces List 17Interfaces Diagrams 17
Link Entities and Key 17XYZ Interfaces Diagram 19
Batch Programs 20
Interface Jobs 20Non-Interface Jobs 20
Scripts 21
SQL Scripts 21Unix Scripts 21
User Interactions 22
Company.com 22Call Centre 22Business Objects 22
Database Jobs 23
Job List 23document.doc Page 2 of 24
Batch Jobs Schedule 24
Interface Jobs Schedule24Other Jobs Schedule 24
Issues and References 25
Issues 25References 25
document.doc Page 3 of 24
Document Control
Change Record
Date Author Version Change Reference
28-Nov-2010 BPF 1.0 Initial
document.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
document.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
Object Type CountLines of code
Notes
ValidDATABASE LINK 2 NA PublicINDEX 48 NA Owner or table owner = XXPACKAGE 68 1,963
Objects like COMP%PACKAGE BODY 47 27,932PROCEDURE 2 259FUNCTION 8 365SEQUENCE 30 NA Owner = XXSYNONYM 239 NA Owner or table owner = XXTABLE 170 NA Owner = XX
TRIGGER 21 292Table or trigger owner = XX or trigger name like COMP%
VIEW 82 3,491Table owner = XX or view name like COMP%
InvalidPACKAGE 2 112
Objects like COMP%PACKAGE BODY 23 18,402PROCEDURE 1 24
document.doc Page 6 of 24
FUNCTION 1 25
Components
Name DescriptionSchemas
APPLSYS Schema Oracle Applications foundation schema, owning tables such as fnd_userAPPS Schema Oracle Applications schema that owns packages, views etc.
AR SchemaOracle Applications schema that owns Accounts Receivable, and customer, tables
HR Schema Oracle Applications schema that owns Human Resources tables
JTF SchemaOracle Applications schema that owns Customer Relationship Management tables
XX Schema Custom schema owning all custom tablesDatabase Packages and Functions
Backend Code for backend logic in concurrent programs and elsewhereWeb Service Called by web services for Company.comWeb Service Wrapper Wrappers for use by Java interface code, for old style web services
FunctionsSmall number of functions for various logical requirements returning a value
ObsoleteMany packages are no longer used, or even invalid – we exclude these from this document as far as is known
Database Triggers
Custom TablesSome of the custom tables have triggers that perform some logic on insert or update; typically, this is to set the unique identifier from a sequence on insertion, or to set the ‘Who’ columns
Standard TablesThere is a custom trigger on the standard tasks table to set DFF attributes
Database LinksETLT_LINK.US.ORACLE.COM ETL Company Staging databaseETL_LINK.US.ORACLE.COM ETL Company Transactions database
Views/SynonymsBusiness Objects Views created for Business Objects reportingSpecific Purpose Views created for purposes such as pre-fulfilment reportingMiscellaneous Views intended for general purposes
Database Link Views/SynonymsIt’s considered good practice to create views or synonyms where access to remote databases is required, with the link included
InterfacesCompany.com Web site makes calls to XYZ web servicesETL Links Database links for Business Objects reports
ABC LinksDatabase links for checking existence of claims and accounts across the two Loyalty systems
XYZ TransactionInterface triggered from ETLT to transfer points-related data from ETL into XYZ
External Systems 8 external interfaces have been identified, all using flat file transfersBatch Jobs
Interface JobsMany of the interfaces are scheduled batch jobs, configured as concurrent programs or request sets (i.e. groups of concurrent programs)
Non-Interface JobsOther batch jobs perform such processing as contract renewal, archiving etc.
ScriptsSQL 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 may call SQL scripts or packages within embedded SQLUnix Scripts
Database JobsGather Statistics The standard database administration job
Batch Jobs ScheduleInterface Jobs Both interface and other jobs may be scheduled, as opposed to being
triggered manuallyNon-Interface Jobs
document.doc Page 7 of 24
Data ModelThis 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
document.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 NotesAPPLSYS Schema
User fnd_userAR Schema
Customer Account hz_cust_accountsBasic account information including account number (our CIN)
Customer Profile hz_customer_profiles Additional account information, with historyContact Point hz_contact_points Telephone numbers, email addresses etc.
Party hz_partiesBasic information about a party (in general company or person, and technical entities, but here always person)
Party Site hz_party_sites Link from party to a siteParty 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 historyLocation hz_locations Address data for a site
HR SchemaPeople per_people_f Data on person employed by Company
JTF Schema
Action jtf_ih_actions_b, _tlTables _b, _tl indicate base table, plus table of translated description fields; view ending _vl joins the two
Activity jtf_ih_activities CRM activityGroup jtf_rs_groups_b, _tl Grouping of resourcesGroup Member jtf_rs_group_members Member of a groupInteraction jtf_ih_interactions Interaction with customerNote jtf_notes_b, _tl Note about customerOutcome jtf_ih_outcomes_b, _tl Outcome of an interactionResource jtf_rs_resource_extns Resource (human)Result jtf_ih_results_b, _tl Result of interactionRole jtf_rs_roles_b, _tl Role that may be played by a resourceRole Relation jtf_rs_role_relations Link between resource and roleTask jtf_tasks_b, _tl CRM taskTask 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
Application Form Company_appl_formMember details as entered via call centre in Oracle application front end
Company (none) Company selling transactionCurrency (none) CurrencyECOM Preference Type
(none) Preference types as named on Company.com
Market Mapping xx_market_mappings Maps company code to marketFulfilment Code xx_fulfillment_codesXYZ-ECOM Pref Type Mapping
xx_ws_XYZ_pref_mappingsMaps preference type names between XYZ and Company.com
XYZ Points Company_points Member points earnings and redemptionsMarket (none) UK or FR or BE or otherParty Preference xx_party_references Holds preference information Points Mapping xx_point_mappings Maps prices to points
Preference Type fnd_descr_flex_contextsdescriptive_flexfield_name ='XX_PARTY_REFERENCES'
Member Qualification xx_membership_qualifications Rules defining qualification criteria for each tier
document.doc Page 9 of 24
Tier fnd_lookup_values lookup_type=’XYZ_MEMBERSHIP_STATUS_TYPES’Transition Rule xx_membership_rules Points required for transitions between different tiersTravel Segment (none) Transactions table - exists on ETL system
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 NotesInterfaces
xx_pqr_cinfiles Staging tables for PQR interface
Company PQR Interface Request Setxx_pqr_rejfiles
xx_interface_batches Audit table for EML interface
XX Weekly QES to EML Request Set
Company_cc_enrol_verify Further staging tables for partner interfacesCompany_carhire_partner_t
xn Company_etl_txn_error Error and staging table
for ETL Transaction interfaceCompany_etl_txn_interface
Company_partner_load SQL*Loader staging tables for partner interfacesCompany_partner_txn
Company_output_file_audit Audit table for weekly fulfilment process
XX Weekly Fulfilment Request Set
Reportsxx_mis Report staging Used in monthly financial reports from Business ObjectsCompany_report_% Report staging Various tables beginning ‘Company_report_’
Systemxx_cin_ranges CIN creationCompany_conf_parameters Configuration
parametersxx_ws_errors Web services error logCompany_errlog
General error logsCompany_gen_error
document.doc Page 10 of 24
Database Packages and FunctionsAs 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
XX_Add_Beh_Process_PKGCreates interactions for quarterly email process
XX Weekly QES to EML (Report Set)
XX_Create_Partner_Pref Creates preferences Web service (XX_Change_Details)
XX_Customer_ArchivingArchives customers due to inactivity or other reasons
XX_EML_Recon_Pro_PKGProcessing of rec_eml_recon_stg table
Obsolete?
XX_Fulfillment_Process_PKGCreates output file for quarterly email process
XX Weekly QES to EML (Report Set)
XX_Generic_PKGGeneric processing such as contact retrieval
XX Weekly QES to EML (Report Set) and others
XX_Generic_Redemption Redemption processing Web service (XX_Redemption)
XX_Interface_Batches_PKG Creates interface batches recordXX Weekly QES to EML (Report Set)
XX_XYZ_CIN_Create CIN generation Web service (XX_WS_Validation)
XX_Magnetic_Card_Replace_PKGCreate Magnetic Card Replacement task
Obsolete? Refers to customer in 2007
XX_Member_Status_Mgmt_PK Member status managementXX Weekly Fulfilment (Report Set)Also Web services, such as Create Account
XX_Pending_TXN Process points pending validation Company Pending TXN Processing
XX_PK_Alpha_TestStandardises name for PQR customers Company PQR Interface (Report
Set)XX_PK_PQR
Sends changed customers to PQR by flat file
XX_Points_RequiredGet points for a transaction based on mtl_system_items
Obsolete?
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
Company_Convert_Txn_Mode_PK Returns 1 for ACR, -1 for REDXX Weekly QES to EML (Report Set) (from XX_Generic_PKG so could be various)
Company_Email_Upload_PKGProcesses COMPANY_EMAIL_UPLOAD_TMP
Obsolete?
Company_Error_PK Error loggingXX Weekly Fulfilment (Report Set) and various
Company_ETL_ProcessingInsert/update points for ETL transactions
XYZ Transaction Interface (ETL job)
Company_ETL_Processing_SPCETL processing, looks like migration code
Obsolete?
Company_Fulfillment_Mgmt_PK Creates the fulfilment file XX Weekly Fulfilment (Report Set)Company_Ful_Mgmt_Data_Fix_PK Data fix Obsolete?
Company_Incentive_Mgmt_PKOld version of Company_Fulfillment_Mgmt_PK?
Obsolete? Mainly, but table API is still used by original version to insert into
Company_Inter_Hist_PK Wrapper for interactionsXX Weekly Fulfilment (Report Set) and various
Company_Partner_Processing Processing for Carhire interfaceCarhire interface (manually triggered)
Company_Task_PK Wrapper for tasks Various including Web service such
document.doc Page 11 of 24
as Change DetailsCompany_Translation_Utility Format validation/conversion Obsolete?Company_Util_Pck Utilities XX Weekly Fulfilment (Report Set)
Web Service Packages
Package Name PurposeXX_Change_Details Changes member detailsXX_Create_Account Creates member account
XX_XYZ_WSChecks tier status for a potential member. This is called via the ABC package XX_XYZ_WS owing to limitations of v8 of XYZ database
XX_Redemption Redeems pointsXX_Retro_Claim Processes retro claimsXX_View_Account Returns account detailsXX_View_Statement Returns statement detailsXX_WS_Generic_PKG Error handling and generic processing for web servicesXX_WS_Validation Web service validation
Wrappers for use by Java interface code, for old style web servicesXX_Change_Details_PLSQL_Wrap Wrapper for XX_Change_DetailsXX_Create_Account_PLSQL_Wrap Wrapper for XX_Create_AccountXX_Redemption_PLSQL_Wrapper Wrapper for XX_RedemptionXX_Retro_Claim_PLSQL_Wrapper Wrapper for XX_Retro_ClaimXX_View_Account_PLSQL_Wrappe Wrapper for XX_View_AccountXX_View_Statement_PLSQL_Wrap Wrapper for XX_View_Statement
Functions
Package Name PurposeXX_De_Duplication_Check Checks whether prospect is an existing memberXX_Get_Lookup_Value Gets lookup valueXX_Get_Point_Avl_Func Gets points availableXX_Price_Based_Pnt_Calc_Func Gets points for a transactionCompany_Convert_Txn_Mode Decodes ACR/RED into 1/-1Company_Get_Trans_String Translates strings
document.doc Page 12 of 24
Database Triggers
Trigger List
Table Name Trigger Name Purposexx_pqr_cinfiles DBT_PQR_CINFiles
Sequence and Who columnsxx_pqr_rejfiles DBT_PQR_REJFilesxx_internet_files DBT_INTRFileCompany_cc_enrol_verify Company_TCC_Enrol_Verify Sequence and call
Company_Util_PCK.Convert_CIN to prepend Company idCompany_cc_partner_txn Company_TCC_Parnter_Txn
Company_campaign_hist Company_TCPN_Hist Sequence and Who columnsCompany_campaign_hist Company_TCPN_Hist_U Sequence and Who columnsCompany_etl_cust_interface
Company_TETL_Cust_InterfaceSequence and Who columns; decode nationality
Company_etl_cust_interface
Company_TETL_Cust_Interface Sequence and Who columns
Company_etl_txn_interface Company_TETL_Txn_Interface Sequence and Who columnsCompany_points_reload Company_TEURR_Points_INS Add points to attribute13 of hz_partiesCompany_points Company_TEUR_Points_Date Who columns (last update date onlyCompany_points Company_TEUR_Pre_Change Add points to attribute13 of hz_partiesCompany_gen_error Company_TGeneral_Error SequenceCompany_output_file_audit Company_TOutput_File_Audit Sequence
Company_partner_txn Company_TPartner_TxnSequence and call Company_Util_PCK.Convert_CIN to prepend Company id
Company_partner_load Company_TPartnerLoadSequence and Who columns (last update date only
jtf_tasks_b Company_TTask_CreditcardSet DFF attributes for closed tasks according to type
Company_trans Company_TTrans Null!
xreference_ftp_data_bckCompany_TXReference_FTP_Data
Sequence
Company_ref_data Company_UPD_Enrol_SourceInsert into enrolment_sources@etl_link, using attribute6 as code
document.doc Page 13 of 24
Database Links
Link List
Name Target Host Target User NotesETLT_LINK.US.ORACLE.COM XYZNETLT ETLADMINETL_LINK.US.ORACLE.COM XYZNETL XYZ ETL Company Transactions database.
document.doc Page 14 of 24
Views/Synonyms
Views
Name NotesBusiness Objects
XX_MIS%Most views created for Business Objects reporting have the prefix shown
XX_BOJ%COMPANY_REPORT%
Specific PurposeXX_PRE_FULFILLMENT_V Returns the records that will be included in the weekly fulfilment jobXX_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.
document.doc Page 15 of 24
Interfaces
Interfaces List
NameExternal System
In/Out?
Frequency Interface Type Notes
Company.comCompany.com
In/Out Real time Web servicesWeb site makes calls to XYZ web services
ETL Links ETL Out Real time Database linksDatabase links for Business Objects reports
ABC Links ABC In/Out Real time Database links
Database links for checking existence of claims and accounts across the two Loyalty systems –the XYZ-side link does not exist, but should
XYZ Transaction ETL In DailyDatabase links, scheduled
PQR PQR Out DailyFlat file, CFTP, scheduled
CFTP is custom version of FTP.Company PQR Interface
CC CC In/Out DailyFlat file, FTP, scheduled
Carhire Carhire In MonthlyFlat file, email, manual
Weekly Fulfilment Card supplier Out WeeklyFlat file, email, scheduled
Email SupplierEmail Supplier
Out SporadicFlat file, FTP, scheduled
Octal Octal Out WeeklyFlat file, FTP, scheduled
SMS Feed ETL Out DailyFlat file, FTP, 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.
document.doc Page 16 of 24
document.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.
document.doc Page 18 of 24
Batch ProgramsKey:
D = Daily
M = Monthly
S = Sporadic
4h = Every 4 hours
Interface Jobs
Name F Executable File/Procedure NotesCompany CC Interface D XX_CC_FILE_PROCESS Credit Card
Carhire Interface D partner_txn.shExecuted manually from Unix after copying emailed file to directory
XXSMSYY - SMS transaction details extract
D XXSMSYY.sql
XX Weekly Fulfilment DCompany_Fulfillment_Mgmt_PK.Company_Fulfillment_Pro
Company Fulfilment Process
XX_Fulf_Email.prog XX Weekly Fulfilment Post-Processor
XX Weekly QES to EML S
XX_ADD_BEH_Process_PKG.XX_Create_Add_BEH_IH
Company Additional Behavioral Process
XX_FULFILLMENT_PROCESS.prog
Company Fulfillment Process Program
This calls two SQL scripts that in turn call a procedure and a CP, thus:XX_FULFILLMENT_PROCESS.sql -> XX_Fulfillment_Process_PKG.XXFulfillment_Process_PXX_FTP_REQ.sql -> XXFTP
Company PQR Interface DXX_PK_PQR.PQR_BCE_Extract_Data
Company PQR Data Extract
xx_pqr_interface Company PQR Interface File Transfer
Non-Interface Jobs
Name F Executable File/Procedure Notes
Company Contract Renewal Process
DXX_Member_Status_Mgmt_PK.Renew_Contract_Proc
Processes contract renewals and inactivations for processing by the fulfilment interface
Company Downgrade Warning Process
MXX_Member_Status_Mgmt_PK.Company_Card_Down_Warn
Creates interactions for warnings of likely downgrades for processing by the fulfilment interface
XX Archiving Program DXX_Customer_Archiving.XX_Customer_Archiving_Proc
Archives members inactive for a certain time, or marked for archiving
Company Pending TXN Processing
DXX_Pending_TXN.XX_Pending_TXN_P
Updates pending points when transactions take place
XX Person Datafix 4h XXPERDF.sqlCorrects known person data problems caused by web-site interface
XX Populate MIS Table M XXPMIS.sqlPopulates staging tables used by monthly Business Objects financial reports
document.doc Page 19 of 24
Scripts
SQL Scripts
Name Called From NotesCC_partner_process.sql
XX_CC_FILE_PROCESSCC_fileout.sql
XX_FULFILLMENT_PROCESS.sql
XX_FULFILLMENT_PROCESS.prog
Calls procedure XX_Fulfillment_Process_PKG.XXFulfillment_Process_P
XX_FTP_REQ.sqlTriggers CP xXXFTP, which runs an FTP file transfer
XXPERDF.sql XX Person DatafixXXPMIS.sql XX Populate MIS Table
XXSMSYY.sqlXXSMSYY - SMS transaction details extract
partner_process.sql Carhire interface Manually run
Unix Scripts
Name Called From NotesXX_CC_FILE_PROCESS Company CC InterfaceXX_Fulf_Email.prog XX Weekly Fulfilment XX Weekly Fulfilment Post-Processor
XX_FULFILLMENT_PROCESS.prog XX Weekly QES to EMLCalls two SQL scripts that in turn call a procedure and a CP
EUKFTP XX_FTP_REQ.sql via a CP SQL script calls CP for EUKFTP
partner_txn.sh Manually from UnixExecuted manually from Unix after copying emailed file to directory
xx_pqr_interface Company PQR Interface Uses cftsend file transfer utility
document.doc Page 20 of 24
User InteractionsThis 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 NotesChange Account Details A member can change the details on his account
Check Tier StatusA non-member can apply for membership by submitting receipts, and a call is made to check what tier, if any, the member qualifies for, prior to account creation
Claim PointsEntering the CIN number while making a purchase causes points to be assigned to the account
Create AccountA non-member has an account created after submitting receipts, if the call made to 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 madeView Account A member can view his account details on-lineView Statement A member can view his statement details on-line
Call Centre
Name Form File NotesRun/View Requests screen
FNDRSRUN.fmb (standard)
Standard functionality allowing reports to be run in batch and viewed in a screen or downloaded on completion
eBusiness Centre screen
ASTRCALL.fmb (customised version of standard form)
This is a standard Oracle screen allowing customers to be viewed and updated, along with various standard CRM activities (notes, tasks, interactions etc.), and has a customised tab for custom functionality
XX Overview tabThe XX tab on the eBusiness Centre screen allows the member’s tier and earnings to be viewed, and provides access to the windows and buttons listed below
Status button Allows the member’s tier to be changed manuallyCancellation button Allows selected earnings to be cancelled Statement window COMPST04.fmb Allows viewing of member’s statementApplication window COMPST01.fmb Allows entry and viewing of an application form for a memberRetro window COMPST02.fmb Allows retro-claims to be made for pointsRedemption window COMPST03.fmb Allows recording of member redemptionsSpecial window COMPST06.fmb Allows manual addition of points to an account
References window XXREF.fmbThis really means preferences. Preferences of the different available types may be viewed and set here
Business Objects
Name Notes
ReportingMiscellaneous reports are defined, and can be run by IT staff, as well as being scheduled as necessary
document.doc Page 21 of 24
Database Jobs
Job List
Name Frequency NotesGather Statistics Sundays at 21:00 DBMS_Stats.Gather_Schema_Stats; 10% sampling
document.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 Time
Daily, or …
External System
In/Out?
JobJob Type
Notes
0500 FridaysCard supplier
OutCompany Fulfilment Process
CPRuns after contract renewal and downgrade warning
0700ETL* In XYZ Transaction cron Twice daily
16000800 CC In/Out Company CC Interface CPNA Monthly Carhire In Carhire Manual Run manually from emailed file
NA SporadicEmail supplier
Out XX Weekly QES to EML RS
0800 Mondays Octal Out Octal cron Run on XYZ Server via cron
0630SMS provider
OutXXSMSYY - SMS transaction details extract
CP
1300 PQR Out Company PQR Interface CP
Other Jobs Schedule
Start Time
Daily, or … JobJob Type
Notes
0430Company Contract Renewal Process
CPRun before the weekly fulfilment interface
0445 4’th of monthCompany Downgrade Warning Process
CP
0700 XX Archiving Program CP
0700Company Pending TXN Processing
CP
0200 Every 4 hours XX Person Datafix CP2200 2’nd of month XX Populate MIS Table CP
document.doc Page 23 of 24
Issues and References
Issues
# Issue Description Note if closed
1 Obsolete objectsIntend to delete these at a later stage, but retain for version control
2 Business logic Check whether covered sufficiently
3 ReferencesNeed to add for detailed design documents
References
REF Document Location
REF-1 eTRMhttp://etrm.oracle.com/pls/trm1157/etrm_search.search
REF-2 ETL Company Transactions Database - System Design.doc PVCSREF-3 (detailed design documents) PVCSREF-4 Unit Test Plan Template.doc scribd
document.doc Page 24 of 24