SunGard SCT Converter Tool Technical Consultant Welcome
2 Introduction u The SunGard SCT Converter Tool is an Oracle Forms application that simplifies the conversion process by querying Oracle table information to create conversion scripts
3 u Overview u Walkthrough (SPRIDEN) u Hands-on exercises n SPBPERS n SPRADDR n SPRTELE Agenda
4 Pre-requisites u Introduction to Oracle u PL/SQL n read/interpret/understand/write Oracle Functions u Banner General Technical n Banner Architecture, Naming Conventions, Base Tables, etc...
5 Background u Conversion is moving data from one computer information system to another. LEGACY - homegrown or other vendors BANNER - Alumni, Student, etc... u Interface is just a perpetual Conversion.
6 Conversion Steps u Planning & Mapping of data u Extract data from Legacy system u Transfer data to target system u Insert data into target system u Validate Results
7 SunGard SCT Converter Tool u Software that allows users to: n Enter conversion specifications for database tables n Dynamically generate 3 types of conversion scripts as well as mapping documents
8 Overview Conversion Table Create script Banner Oracle Database SQL*Loader Control File PL/SQL Conversion script Oracle Forms Application
9 Features u The SunGard SCT Converter allows you to: n Specify data elements to be converted n Invoke a variety of data manipulation functions n Decode legacy values using a crosswalk form/table n Insert user-defined constants or default values
10 Features (cont) n Validate legacy values against system validation tables n Change the format of incoming date values n Separate and identify errors for evaluation and correction n And more …
11 Benefits u Is tried and tested u Is GUI--user friendly u Is usable for any Oracle conversion effort (not restricted to Banner tables) u Is flexible -- values not hard-coded u Is usable for any interface task (not just conversion) u Is repeatable
12 Steps in the Conversion 1.Map the legacy data to the Banner (target) database 2.Extract the data from legacy system into flat files 3.Set up conversion specifications for Banner table loads (functions, defaults, etc.) 4.Create and load temporary conversion tables
13 Steps in the Conversion (cont) 5.Run the conversion script to translate legacy values into Banner values 6.Evaluate and correct errors 7.Run conversion script to insert Banner data from temporary conversion table to Banner Table 8.Verify conversion results
14 Use Case Diagram Setup conversion rules Banner Tech Legacy Tech Functional Expert Generate mapping document Fill out mapping document Create legacy extract file Create and load conversion table Translate legacy to Banner values Insert data to Banner table Verify results Conversion
15 Activity Diagram Generate mapping document Banner Technical Legacy Technical Fill out Mapping Document Setup conversion rules Create legacy extract file Mapping Document Mapping Document
16 Activity Diagram (cont) Banner TechnicalLegacy TechnicalLegacy Functional Create and load conversion table Translate legacy to Banner values Insert data to Banner Table Signoff H Verify Conversion Verify Conversion
17 Scripts/Reports Generated 1. Create Table Script n Creates temporary table for conversion data: _cvt_create.sql spriden_cvt_create.sql n Table naming convention: _cvt SPRIDEN_CVT
18 spriden_cvt_create.sql CREATE TABLE SPRIDEN_CVT ( SPRIDEN_PIDM NUMBER(8), CONVERT_PIDM VARCHAR2(9), SPRIDEN_ID VARCHAR2(9), CONVERT_ID VARCHAR2(9), SPRIDEN_LAST_NAME VARCHAR2(60), CONVERT_LAST_NAME VARCHAR2(40),... SPRIDEN_CVT_RECORD_ID NUMBER(8) CONSTRAINT PK_SPRIDEN_CVT PRIMARY KEY, SPRIDEN_CVT_STATUS VARCHAR2(1), SPRIDEN_CVT_JOB_ID NUMBER(8) ) STORAGE (INITIAL 1M PCTINCREASE 100 MAXEXTENTS 50);
19 2. SQL*Loader Control Script n Used by SQL*Loader to load data into the temporary table: n Naming convention: _cvt.ctl spriden_cvt.ctl Scripts Generated (cont)
20 spriden_cvt.ctl LOAD DATA INFILE 'SPRIDEN_CVT.DAT' APPEND INTO TABLE SPRIDEN_CVT ( CONVERT_PIDM POSITION(1:9), CONVERT_ID POSITION(10:18), CONVERT_LAST_NAME POSITION(19:58), CONVERT_FIRST_NAME POSITION(59:73), CONVERT_MI POSITION(74:88), CONVERT_CHANGE_IND POSITION(89:89), CONVERT_ENTITY_IND POSITION(90:90), CONVERT_ACTIVITY_DATE POSITION(91:98), CONVERT_USER POSITION(99:128), SPRIDEN_CVT_RECORD_ID SEQUENCE(MAX,1), SPRIDEN_CVT_STATUS CONSTANT 'N')
21 u Must be named according to naming convention: _cvt.dat spriden_cvt.dat u Must be in the same directory with corresponding _cvt.ctl Data Files
22 3. Conversion Script n Translates legacy values into banner values by applying functions, default values, and/or computed values to target table columns n Moves data from temporary table to target table: _convert.sql spriden_convert.sql Scripts Generated (cont)
23 4. Mapping/Log Document n presents columns needed for conversion n displays data dictionary column definitions n displays all functions used in convert script n serves as reference for conversion activity Reports Generated (cont)
24 Conversion Process Step 1 SQL Plus temporary conversion table Create Script table_cvt_create.sql % sqlplus
25 Conversion Process Step 2 SQL Loader temporary conversion table Legacy Data Loader Control File table_cvt.ctl % sqlldr sctcvt/pwd table_cvt.ctl
26 Conversion Process Step 3 SQL Loader temporary conversion table Legacy Data Loader Control File table_cvt.ctl Value Translation table_convert.sql % sqlplus use options ‘N’ew & ‘C’onvert
27 Conversion Process Step 4 SQL Loader temporary conversion table Banner Oracle Database Loader Control File table_cvt.ctl Value Translation table_convert.sql Data Insertion table_convert.sql Legacy Data % sqlplus use options ‘C’onvert & ‘I’nsert
28 Installation: DBA Issues u Your DBA will: n Create a separate conversion user and schema n Assure proper rollback segments n Create proper tablespaces n Assure correct tablespace sizing n Set proper buffer size
29 Installation: Directory /u01/sct bannerconversion install alumni plus sqlldr student plus sqlldr $BANNER_ROOT $BANNER_HOME sql*plus scripts data & CTL files
30 Installation: Internet Native u Setup access similar to INB (Internet Native Banner) n Need to install the INC in the Oracle Web Forms
31 Logging In u Log in to the Converter using n Your user name n Your password n Conversion database
32 Elements of the Converter Tool
33 Converter Toolbar Save Rollback Previous Record Next Record Delete Record Insert Record Query
34 Converter Toolbar (cont) Create Temp Table Create Loader Script Create Convert Script View Function Edit Function Options Form View Errors Crosswalk Control Form Mapping Document Context Sensitive Help Exit Form
35 Table Block (cubcnvt table) u Allows you to set table specifications for conversion n set commit frequency n set error action n specify wrap-up function n set breakpoints
36 Column Block (curcnvt table) u Allows you to enter a variety of conversion specifications for each data element or field in Banner Table
37 Column Block Features u Include/exclude columns to be processed u Add convert functions u Establish values lists
38 Column Block Features u Select validation functions u Define default value & actions u Define format mask for incoming dates
39 Column Block Features u Define length of temp table columns u Load and/or Insert options
40 Using Functions u Users can insert function calls in the convert script via the CUACNVT form n Oracle functions u substr, to_char, etc… n Converter functions u f_cvt_auto_pidm, etc… n User-created functions
41 Function Code & Parameters
42 F_CVT_AUTO_PIDM function u Creates the PIDM for all incoming records in the spriden_cvt.dat file u Requires that the spriden_convert.sql script be modified in this way: CURSOR spriden_cursor IS SELECT * FROM spriden_CVT WHERE spriden_cvt_status = records_in -- order by spriden_cvt_record_id; order by convert_change_ind; u NOTE: This is the ONLY time it is necessary to manually modify a convert script.
43 Wrap-up Function u Function to occur after (not pre-convert) all records have been processed u Uses n Explode one record into many u Student Academic History sequence numbers u Alumni Gift & Pledge Payment processing n Call function to calculate GPAs
44 Crosswalk Form u Translates legacy values to target system values u Handles many-to-one relationships between incoming legacy values and target table values u Accepts loading of crosswalk values from external source
45 Using the Crosswalk Form
46 Using Options on the Crosswalk
47 Inserting Crosswalk Functions u Crosswalk Functions can be inserted into the Convert Script n Use the F_CVT_CURCVAL function converted_val := F_CVT_CURCVAL('NTYP_CODE',LEGACY_VALUE); u Enter the following parameters: n Entity n Legacy_Value n Additional “Optional” legacy values
48 Crosswalk table CURCVAL Name Null? Type CURCVAL_ENTITY NOT NULL VARCHAR2(20) CURCVAL_LEGACY_VALUE VARCHAR2(100) CURCVAL_BANNER_VALUE VARCHAR2(100) CURCVAL_ACTIVITY_DATE DATE CURCVAL_OPTION1 VARCHAR2(100) CURCVAL_OPTION2 VARCHAR2(100) CURCVAL_OPTION3 VARCHAR2(100) u Load large crosswalk entries via SQL
49 Errors (curcerr table) u All errors encountered by the conversion scripts are logged u Access via the Converter Tool u Sql*Loader errors are not captured n Need to view LOG file
50 Errors (curcerr table) Name Null? Type CURCERR_TABLE_OWNER VARCHAR2(30) CURCERR_TABLE_NAME VARCHAR2(30) CURCERR_COLUMN_NAME VARCHAR2(60) CURCERR_CVT_IDENTIFIER NUMBER(6) CURCERR_RECORD_ID NUMBER(8) CURCERR_LEGACY_VALUE VARCHAR2(100) CURCERR_BANNER_VALUE VARCHAR2(100) CURCERR_ERRNO NUMBER(6) CURCERR_MESSAGE VARCHAR2(300) CURCERR_ACTIVITY_DATE DATE
51 Errors (curcerr table) select * from curcerr where curcerr_table_name = 'SPRIDEN' select * from spriden_cvt where spriden_cvt_record_id = any (select curcerr_record_id from curcerr where curcerr_table_name = 'SPRIDEN')
52 Other Tables u CUBVERS n Version table u CUBCTRL n Control form information u CUBBHLP n Online help
53 Keys to Conversion Success u Clean data source file u Accurate data mapping u Accurate cross-walking n Concurrent between databases u Accurate data manipulation u Accurate, re-usable conversion scripts u A user-friendly, efficient, flexible tool
54 Summary u It does most of the work but NONE of the thinking!
55 Versions How do I get the tool/software Best Practices Enhancements Questions?