CRSJ6000 - Approved Unit Transfer - New for Release 12.0.0.2

Purpose

To transfer approved Proposal information to the Callista Course Structure and Planning (CRS) Subsystem.

Sub System

Proposals / Course Structure and Planning

Normally Run By Course/Curriculum Specialist
Anticipated Frequency As required
Structure No Parameter form

  

This job transfers approved proposal information to Course Structure and Planning (CRS).  All information provided will be validated against existing business rules to ensure that the data given will transfer successfully. It is recommended that this job be run as an overnight process.
A Unit Proposal is considered ready for transfer once it has been approved and has a system transfer status of READY or ERROR. (Records with ERROR will be processed again to see if issue has been fixed).

This job will transfer three different types of proposals:

  • New unit
  • New unit version and
  • Insert/Update/Delete existing unit details

The following Course Structure and Planning tables may be populated with Proposal information:

  • Unit
  • Unit Version
  • Unit Offering
  • Unit Offering Pattern
  • Unit Offering Option
  • Unit Version Sector
  • Teaching Responsibility
  • Teaching Responsibility Override
  • Unit Discipline
  • Subordinate Unit Relationship
  • Unit Categorisation
  • Course Unit Level
  • Unit Reference Code
  • Training Package Unit
  • Business Activity Process (for Unit Version, Unit Offering and Unit Offering Option)
  • Business Activity Process Member  (for Unit Version, Unit Offering and Unit Offering Option)
  • Assessment Item
  • Unit Assessment Item
  • Assessment Item Assessor
  • Assessment Course Type
  • Assessment Item Exam Material
  • Unit Assessment Pattern
  • Unit Assessment Pattern Item
  • Unit Version Rule
  • Note
  • Unit Offering Pattern Note
  • Unit Offering Note
  • Unit Offering Option Note and
  • Unit Version Note.

The order of the tables above shows the sequence in which the inserts/updates will be done. The opposite order will apply when deleting, for example, Unit Offering Pattern records will be deleted before Unit Offering records.
The inserts, updates and deletes that will be carried out will be based on the number of Proposal Elements/Items supplied by the Proposer.
The table below provides a simple mapping example for a new unit proposal:

Proposal Instance Item Value

Proposal Element

Proposal Item

System Proposal Item

BUS100

Basic Detail

Unit Code

UV.UNIT_CD

Business Studies

Basic Detail

Title

UV.TITLE

01/01/2009

Basic Detail

Start Date

UV.START_DT

1

Basic Detail

Unit Level

UV.UNIT_LEVEL

5

Basic Detail

Minimum Hours

UV.HOURS_MIN

10

Basic Detail

Maximum Hours

UV.HOURS_MAX

Semester 1

Unit Offering Option

Calendar Type

UOO.CAL_TYPE/UOO.CI_SEQUENCE_NUMBER

Geelong

Unit Offering Option

Location

UOO.LOCATION_CD

Day

Unit Offering Option

Unit Class

UOO.UNIT_CLASS

Y

Unit Offering Option

SSF Available

UOO.IVRS_AVAILABLE_IND

995111861 - Mr Smith

Unit Offering Option

Unit Contact

UOO.UNIT_CONTACT

900

Unit Discipline

Discipline Group Code

UD.DISCIPLINE_GROUP_CD

100

Unit Discipline

Percentage

UD.PERCENTAGE

Yes

Unit Discipline

Primary

UD.PRIMARY_DISCIPLINE_IND

For a Proposal that requests a unit update, the job can update all fields that exist in SMS. However, the primary key of each table will not be updated.
In a proposal that calls for the deletion of records from Course Structure and Planning the job first identify which records need to be deleted, with child records deleted before parent records. If a relationship exists and a record cannot be deleted, then the error will be logged and the child and parent data will remain.

Before any transfer of data is done, all business rules in Course Structure and Planning are run through. If a business rule is not met when validating, then a system transfer status of ERROR appears against the Proposal. When a validation fails, all inserts, updates and deletes are rolled back.  All business rules are validated even if an error occurs, so all errors are logged for an administrator to view.
For errors, more information can be accessed through Generate Extract XML File (GENJ1000) which can retrieve the error messages from the log.
If all validations are passed, the Transfer Status then the Proposal will be changed to COMPLETE. Once the job finishes, a summary in the run log will appear noting how many proposals were processed and the number of errors that occurred.

There are no parameters for this job.
This job can be run in Immediate or scheduled mode. For more information, see the Job Control & Scheduling Subsystem.

Transfer Process

The following provides an overview of the processing required to transfer approved unit proposal information from the Proposals data structure to Course Structure and Planning (CRS).

1. Insert into S_EXTRACT table
An insert into s_extract is required, as this is the parent table to s_extract_record where all errors will be logged. The parameters to be inserted are:

2. Check for required system data
Validate that the system transfer statuses and system proposal outcomes have been defined.
The following System Proposal Outcomes must be defined for job to process proposals:

The following System Transfer Statuses must be defined for job to process proposals:

If these are not defined, the job will stop processing.

3. Determine the Proposals to transfer
For a proposal to be transferred the Proposal Transfer Status must be READY or ERROR.
If no proposals are processed then the following should appear in the job run log:

Started processing 21/01/2009 11:13:05
     Total records processed: 77 (Successful: 70, Unsuccessful: 7)
     Total number of system extract records created: 7
Completed processing 21/01/2009 11:13:59

Please query the system extract records for details of all errors and exceptions.
System Log:
         - System Extract Type: PRPSL-UNIT
         - System Extract Creation Date: 21/01/2009 11:13:05

Where:
'Total records processed' = Number of proposals found to transfer
'Successful' = Number of these proposals with Transfer Status = COMPLETE
'Unsuccessful' = Number of these proposals with Transfer Status = ERROR
'Total number of system extract records created' = the number of errors found for the proposal before processing stopped (for that proposal).
System Extract Type: PRPSL-UNIT (if errors found)
System Extract Creation Date: when the error occurred (if errors found)

There can be one or multiple units to transfer for one Proposal ID.
The proposals must be of S_PROPOSAL_TYPE of UNIT.

4. Validations
Trigger validations are checked, starting with Unit Version validations.
There are validations that repeat, for example, message number 241 (message text: Changes cannot be made to unit version details because the status of the unit version is inactive. Only unit status, expiry dt and end date can be updated). In these cases, the business rule is validated at the highest level. In relation to message number 241, this is at Unit Version.

Each time a validation is not passed it is logged to the S_EXTRACT_RECORD table and the error count is incremented. This error count is displayed in the run log once the job has finished processing (Total Proposals in error).
The information logged to s_extract_record depends on the area that is being validated and the information available.

When a business rule returns FALSE, the error is logged and the proposal is no longer validated (for any more sections). e.g. If a proposal returns false for the first Unit Offering Pattern validation then the rest of the validations for this section are still processed, but no further validations for other sections are done (e.g. Unit Offering Option validations). The next proposal is then moved on to.
If any inserts, updates or deletes have been done before a business rule returns FALSE, then these will be rolled back. Even units in the proposal were successful, all will be rolled back.

Warnings are logged, but do not stop processing of the proposal. There are four warnings that could be reported. These are:

5. Insert, Update and Delete indicators
There are indicators on the Proposal_Instance_Element and Proposal_Instance_Item tables that assist the job in identifying the data to insert, update or delete.

For a NEW proposal outcome - All indicators will be N. Data is to be inserted.

For NEW_V proposal outcome - Insert, Update and Delete indicators will be N for records (proposal elements and items) that are to be rolled over and not changed. For example, if unit JKC111.1 is being rolled over to JKC111.2 then each indicator will be N for the unit details.

However, if the unit JKC111.2 is to have a new Unit Discipline compared to JKC111.1 then this Unit Discipline element will be marked as INSERT_IND = Y. Likewise, if a Unit Discipline from JKC111.1 is to be deleted, then the delete_ind = Y. It is also possible to be updating the proposal element, which will have update_ind = Y against the proposal element item, e.g. update to percentage for unit discipline. Below is this example shown in data form.
Note: For a new Unit Version, the MAX version number is to be found for the Unit Code.

Proposal Instance Element

Proposal ID

Sequence Number

Proposal Element

Ins.

Del.

10

1

UNIT

N

N

10

2

UNIT DISCIPLINE

N

N

10

3

UNIT DISCIPLINE

Y

N

10

4

UNIT DISCIPLINE

N

N

10

5

UNIT DISCIPLINE

N

Y

Proposal Instance Item

Proposal ID

PIE Sequence Number

PII Sequence Number

Proposal Item

Value

Upd.

10

1

1

UNIT

JKC111|

N

10

2

2

DISCIPLINE GROUP CODE

501

N

10

2

3

PERCENTAGE

20

Y

10

2

4

PRIMARY

Y

N

10

3

5

DISCIPLINE GROUP CODE

502

N

10

3

6

PERCENTAGE

20

N

10

3

7

PRIMARY

N

N

10

4

8

DISCIPLINE GROUP CODE

503

N

10

4

9

PERCENTAGE

40

N

10

4

10

PRIMARY

N

N

10

5

11

DISCIPLINE GROUP CODE

504

N

10

5

12

PERCENTAGE

20

N

10

5

13

PRIMARY

N

N

In the table above, for the new unit JKC111.2, three records will be inserted for Unit Discipline. Discipline Group Code of 501 will be inserted but the percentage is to be updated to 100. Discipline Group Code of 502 will be inserted as new record. Discipline Group Code of 503 will be inserted as well (this is a carried over from JKC111.1). Discipline Group Code of 504 will be deleted, rather than rolled over.
Note that for the UNIT proposal instance item, the data is shown as JKC111|. This is because there is no version number defined for the new unit as this job will determine the version to be used (‘Field Types and Concatenated Fields’ explained further on).

For UPD_V proposal outcome - Insert, Update and Delete indicators will be N for records (proposal elements and items) that are used as context information. For example, if the percentage for teaching responsibility 01111.1 is to be changed from 80% to 100% then the Unit Version element and Teaching Responsibility element will have insert_ind = N and delete_ind = N, with the percentage proposal item update_ind = Y.
Below is this example shown in data form.

Proposal Instance Element

Proposal ID

Sequence Number

Proposal Element

Ins.

Del.

20

1

UNIT

N

N

20

2

TEACHING RESPONSIBILITY

N

N

20

3

TEACHING RESPONSIBILITY

N

Y

20

4

TEACHING RESPONSIBILITY

Y

N

Proposal Instance Item

Proposal ID

PIE Sequence Number

PII Sequence Number

Proposal Item

Value

Upd.

20

1

1

UNIT

JKC111|1

N

20

2

2

ORG UNIT CODE

01|01/01/1992

N

20

2

3

PERCENTAGE

50

Y

20

3

4

ORG UNIT CODE

02|01/01/1992

N

20

3

5

PERCENTAGE

30

N

20

4

6

ORG UNIT CODE

03|01/01/1992

N

20

4

7

PERCENTAGE

20

N

In the tables above, the inserts, updates and deletes will be done against unit JKC111.1 (shown concatenated as JKC111|1). This is saved into the Proposal Instance Element and Proposal Instance Item tables only as context. No insert is done into UNIT_VERSION for this record.
For teaching responsibility of 01 (01/01/1992), an update is done to the percentage.
For teaching responsibility of 02 (01/01/1992), this record is to be deleted.
For teaching responsibility of 03 (01/01/1992), this record is to be inserted.

There are areas where a new sequence number is to be generated for inserts. For example, a new Unit Offering Option requires a new UOO_ID. Alternatively, a new Training Package Unit requires a new TPU_SEQUENCE_NUMBER. Where a new sequence number is required the next number in the sequence is generated.
For the deletion of data, a child record ia deleted before a parent record. If child records exist when deleting, then an exception will occur. An exception will also occur when an attempt is made to update a locked record and when a trigger validation fires when inserting, updating or deleting.
When a delete is to be done for a table that has a logical delete date column, this field should be updated with SYSDATE. The tables with logical delete date columns are:

For updating, only fields that are not part of the primary key of the table can be updated.

6. PIE and PII Sequence Numbers (superior functionality)
To determine which proposal instance element is associated with which proposal instance item, the PROPOSAL_INSTANCE_ELEMENT and PROPOSAL_INSTANCE_ITEM sequence numbers are used. They are also used to ascertain if a Proposal Instance Element is a superior to another Proposal Instance Element.
Below is an example of superior proposal instance elements:

Proposal Instance Element

Proposal ID

Sequence Number

Proposal Element

Superior Proposal ID

Superior Sequence Number

20

1

UNIT

 

 

20

2

UNIT OFFERING

20

1

20

3

UNIT OFFERING PATTERN

20

2

20

4

TEACHING RESPONSIBILITY

20

1

20

5

UNIT DISCIPLINE

20

1

In the table above, UNIT is superior to UNIT OFFERING and UNIT OFFERING is superior to UNIT OFFERING PATTERN. Unit is also a superior to TEACHING RESPONSIBILITY and UNIT DISCIPLINE.
Superiority can also be determined through the S_PROPOSAL_ELEMENT table.
           
7. Field Types and Concatenated Fields
The values to be inserted into Course Structure and Planning tables are stored in the Character, Number, Date or Clob field in the PROPOSAL_INSTANCE_ITEM table. The field type is determined by the TABLE_NAME.COLUMN_NAME of where the data is to be transferred.  For example, the UNIT_DISCIPLINE.PERCENTAGE value would be stored in the Number field.
However, there is exception to this rule with concatenated fields. Concatenated fields are values that should be kept together. For example, Unit Code and Version Number or Org Unit and Start Date. These values are stored in the character field, even if both values are of type Number. They are stored as MAA101|1 or 01|01/01/1992.
The TABLE_NAME and COLUMN_NAME are stored in the S_PROPOSAL_ITEM table. The concatenation type is also stored in this table (S_FIELD_TYPE), with the details recorded in S_CONCAT_TYPE. The details determine the type of the concatenated fields.

Below is an example of a concatenated field:

Proposal Instance Item

Proposal ID

Sequence Number

Proposal Item

Character

Number

Date

Clob

30

41

UOO-CALTY

SEM-1|1924

 

 

 

Proposal Item

Proposal Item

System Proposal Item

Table Name

Column Name

UOO-CALTY

UOOCAL

UNIT_OFFERING_OPTION

CAL_TYPE|CI_SEQUENCE_NUMBER

System Proposal Item

System Proposal Item

System Concat Type

UOOCAL

CI

System Concat Type

System Concat Type

Concat Field Type

CI

VARCHAR|NUMBER

In the table above, the value of SEM-1 will be inserted into UNIT_OFFERING_OPTION.CAL_TYPE and 1924 will be inserted into UNIT_OFFERING_OPTION.CI_SEQUENCE_NUMBER.
From the system tables we can identify that UNIT_OFFERING_OPTION.CAL_TYPE is of type VARCHAR and UNIT_OFFERING_OPTION.CI_SEQUENCE_NUMBER is of type NUMBER.

Below is an example of a non-concatenated field:
Proposal Instance Item

Proposal ID

Sequence Number

Proposal Item

Character

Number

Date

Clob

40

54

PERCENT

 

100

 

 

Proposal Item

Proposal Item

System Proposal Item

Table Name

Column Name

PERCENT

PRCNTG

UNIT_DISCIPLINE

PERCENTAGE

The value of 100 would be inserted into UNIT_DISCIPLINE.PERCENTAGE.

8. Unit Version Rules
For Unit Version Rules, the Rule Call Code is decoded from the Proposal Item Code as shown below:

S_PROPOSAL_ITEM.S_PROPOSAL_ITEM_CD

S_RULE_CALL_CD

UVR_RL_PR

PREREQ

UVR_RL_CR

COREQ

UVR_RL_IC

INCOMP

UVR_RL_TL

TRANS

UVR_RLICR

COREQ-IW

UVR_RLIIC

INCOMP-IW

UVR_RLIPR

PREREQ-IW

UVR_RL_QU

QUOTA

9. Unit Assessment Pattern and Unit Assessment Pattern Item,
For Unit Assessment Pattern and Unit Assessment Pattern Item, a Unit Assessment Item must first be defined which also requires an Assessment Item. This means that only one Assessment Item can be defined per Unit Assessment Pattern Item.

10. User Defined fields
User defined fields are not to be transferred. These fields do not have a TABLE_NAME or COLUMN_NAME defined against them in the S_PROPOSAL_ITEM table.

11. Exceptions
There are exceptions that may occur when inserting, updating or deleting proposal data.
The exceptions reported are:

These will be reported into the S_EXTRACT_RECORD table with the table alias of where the error occurred. The exception will form part of the error count to be reported at the end of processing.
Similarly for validations, if an exception occurs then processing will stop for the current proposal but will continue on for other proposals.

12. Insert into Proposal_Instance_Unit_Version table
Once a NEW, NEW_V or UPD_V proposal has been successfully transferred, the new unit version details are inserted into the PROPOSAL_INSTANCE_UNIT_VERSION table. This is to help identify which proposal created which unit version.

13. Generate Extract XML File (GENJ1000)
Using GENJ1000, the errors recorded in the s_extract_record table are extracted into an XML file with Extract Type = PRPSL-UNIT.

14. Update Proposal Transfer Status
Once a proposal has been processed, the PROPOSAL TRANSFER STATUS is set to COMPLETE when the proposal is successfully processed, or ERROR when an error was found when processing.

 

Last modified on 28 October, 2009 12:06 PM

History Information

Release Version Project Change to Document
12.0.0.2 1574 - CAPS Pt 2 New job