Thursday, April 16, 2015

ALERTS IN ORACLE APPS


Oracle Alert is your complete exception control solution. Alerts signal important or unexpected activity in your database. They ensure that you are regularly and quickly informed about critical database events instead of sorting through length reports.

The basic function of alerts includes but not limited to
·         Keep you informed of critical activity in your database
·         Deliver key information from your applications, in the format you choose
·         Provide you with regular reports on your database information
·         Automate system maintenance, and routine online tasks

Alerts keep a constant check on your database information and prompt you when the
specified criteria are met. You can use either an Oracle application or a custom oracle
application to define alerts. However, few applications such as purchasing, allow you to
simply activate and use alerts supply by default.

You can define two types of alerts:
1.    Event alert
2.    Periodic alert.

An EVENT ALERT immediately notifies you of activity in your database as it occurs. When you
create an event alert, you specify the following:
·         A database event that you want to monitor, that is, an insert or an update to a specific database table.
·         A SQL Select statement that retrieves specific database information as a result of the database event.
·         Actions that you want Oracle Alert to perform as a result of the database event. An action can entail sending someone an electronic mail message, running a concurrent program, running an operating script, or running a SQL statement script. You include all the actions you want Oracle Alert to perform, in an action set.

A periodic alert, on the other hand, checks the database for information according to a
schedule you define. When you create a periodic alert, you specify the following:
·         A SQL Select statement that retrieves specific database information.
·         The frequency that you want the periodic alert to run the SQL statement.
·         Actions that you want Oracle Alert to perform once it runs the SQL statement. An action can entail sending the retrieved information to someone in an electronic mail message, running a concurrent program, running an operating script, or running a SQL statement script. You include all the actions you want Oracle Alert to perform, in an action set

By creating event alerts, you can have an immediate view of the activity in your
database, so you keep on top of important or unusual events as they happen. By
creating periodic alerts, you can have current measurements of staff and organization
performance, so you can zero in on potential trouble spots. You can automate routine
transactions, preserving your valuable time for more important issues. Oracle Alert gives
you the information you need online, so you do not have to contend with a pile of
paperwork.

Workflow vs. Alerts:
Unlike alerts, workflow is defined in a system to detect a condition and requires user
intervention. Every time a response is not recorded during a designated time period,
workflow may send a notification to the user's manager depending upon the workflow
definition. It is difficult to accomplish such notification using alerts.


Defining Alerts:
You can create alerts that are as simple or as complex as you need them to be, and you can tailor your alerts in a variety of ways so they perform the kind of exception reporting your organization needs. There are two types of alerts: event and periodic. Both types are defined by a SQL Select statement that you specify.



You can create event alerts that monitor your applications for the exception conditions you specify. You can create periodic alerts that check your database for predefined conditions according to the schedule you determine.

Major Features
Verify SQL
You can verify that your alert's SQL Select statement runs correctly, and returns the data you specify. You can do this verification directly in Oracle Alert immediately after you enter your Select statement - you don't have to suspend your Oracle Alert session or navigate to SQL*Plus.


Specify Installations
You can specify which Application installations you want your alert to run against, so you can control which Application installations your alert checks in a database with multiple Application installations.


Information Routing
With Oracle Alert, you can include a file created by another application as part of an alert message. You can also define an alert that distributes an electronic copy of a report, log file, or any other ASCII file.


Dynamic Message Distributions
Oracle Alert lets you define a message distribution list without knowing ahead of time who the actual individuals on the list will be. Oracle Alert can retrieve the appropriate electronic mail IDs from your application tables, and send the message automatically.


Duplicate Suppression
Oracle Alert can automatically determine which action to perform based on whether it locates the same exceptions during a sequence of alert checks. You can have Oracle Alert perform a different action during each alert check that finds the same database exception.

[
Customizable Inputs by Action Set
You can further customize your alerts by specifying parameters for each set of actions you define. These parameters, or inputs, provide you with extra flexibility in creating your alerts because you can assign specific values to them. For example, if a vendor delivery is overdue, Oracle Alert can notify the purchasing agent when it is two days late and the purchasing manager when it is seven days late. The number of days late is the input; two and seven are distinct input values you assign for each type of recipient.


Distribution Lists
Oracle Alert lets you create an electronic distribution list that you can use on many messages. At any time, you can add or remove names from your lists, or you can make copies of your lists and use the copies to create new lists.


Standard Message Address Formats
Oracle Alert lets you address messages using easily recognizable symbols: to, cc, bcc, just as you would use when writing a memo or sending electronic mail.

[[
Printed Alert Messages
Oracle Alert lets you send messages to people who do not use electronic mail. You can direct a message to a printer with the recipient's name on the burst page.

[
Electronic Mail Integration
Oracle Alert leverages the Workflow Notification Mailer to send and receive alert e-mail messages. The notification mailer uses the Simple Mail Transfer Protocol (SMTP) for outbound messages and the Internet Message Access Protocol (IMAP) for inbound messages.

Creating a Periodic Alert:
These Alerts are triggered hourly, daily, weekly, monthly or yearly based on your input.



To create a periodic alert, you perform the following tasks in the order listed:
·         Define your periodic alert and specify its frequency.
·         Specify the details for your alert.
·         Define actions for your alert.
·         Create action sets containing the actions you want your alert to perform.

Before you define a periodic alert, make sure you do the following:
·         Configure the Workflow Notification Mailer to send and receive e-mail messages according to your alert requirements.
·         Specify Oracle Alert options to configure how Oracle Alert checks alerts and handles alert messages.

Enter a SQL Select statement that retrieves all the data your alert needs to perform the actions you plan to define.

Your periodic alert Select statement must include an INTO clause that contains one output for each column selected by your Select statement. Identify any inputs with a colon before the name, for example, :INPUT_NAME. Identify any outputs with an ampersand (&) before the name, for example, &OUTPUT_NAME. Do not use set operators in your Select statement.
Tip: If you want to use an input value in an action for this alert, select the input into an output. Then you can use the output when you define actions for this alert.

When selecting number columns, Oracle Alert uses the number formats defined in your database. Optionally, you can format your number outputs as real numbers by specifying a SQL*Plus format mask in your Select statement. For each number output, simply add a pound sign (#) and format mask to your output name. For example, if you select purchase price into the output &PRICE, add "#9999.99" after &PRICE for Oracle Alert to display the value to two decimal places. Your number output looks like: &PRICE#9999.99. Here is an example of a periodic alert Select statement that looks for users who have not changed their passwords within the number of days specified by the value in :THRESHOLD_DAYS.:

SELECT user_name,
password_date,
:THRESHOLD_DAYS
INTO &USER,
&LASTDATE,
&NUMDAYS
FROM fnd_user
WHERE sysdate = NVL(password_date,
sysdate) + :THRESHOLD_DAYS
ORDER BY user_name

Note: Although Oracle Alert does not support PL/SQL statements as the alert SQL statement definition, you can create a PL/SQL packaged function that contains PL/SQL logic and enter a SQL Select statement that calls that packaged function. For example, you can enter a SQL Select statement that looks like:
SELECT package1.function1(:INPUT1, column1)
INTO &OUTPUT1
FROM table1
In this example, package1 is the name of the PL/SQL package and function1 is the name of user-defined PL/SQL function stored in the package.




Creating an Event Alert:
These Alerts are fired/triggered based on some change in data in the database.



To create an event alert, you perform the following tasks in the order listed:
·         Define the database events that will trigger your alert
·         Specify the details for your alert.
·         Define actions for your alert.
·         Create action sets containing the actions you want your alert to perform
·         This section focuses on the first task of defining the database events that trigger your event alert and divides the task into smaller sub-tasks.

Before you define an event alert, make sure you do the following: 

·         Configure the Workflow Notification Mailer to send and receive e-mail messages according to your alert requirements.
·         Specify Oracle Alert options to configure how Oracle Alert checks alerts and handles alert messages.

To specify an event table:
Specify the name of the application and the database table that you want Oracle Alert to monitor.

Although the application you enter here need not be the same application that owns the alert, both applications must reside in the same Oracle database and the application that owns the alert has to have Select privileges on the tables listed in the alert Select statement.

Important: You cannot use a view as the event table for your alert.
Important: Do not define an event alert on the table FND_CONCURRENT_REQUESTS. Oracle Alert submits a concurrent request to the concurrent manager when an event alert is triggered by an insert or update to an event table. For concurrent processing to occur, every submitted concurrent request automatically gets inserted as a row in the
FND_CONCURRENT_REQUESTS table. If you define an event alert on this table, you create a situation where the event alert will cause an exception to occur recursively.

Although Oracle Alert does not support PL/SQL statements as the alert SQL statement definition, you can create a PL/SQL packaged function that contains PL/SQL logic and enter a SQL Select statement that calls that packaged function. For example, you can enter a SQL Select statement that looks like:

SELECT package1.function1(:INPUT1, column1)
INTO &OUTPUT1
FROM table1



Specifying Alert Details
Once you define an event or periodic alert in the Alerts window, you need to display to the Alert Details window to complete the alert definition. The Alert Details window includes information such as which Application installations you want the alert to run against, what default values you want your inputs variables to use, and what additional characteristics you want your output variables to have.




In the Inputs tabbed region, Oracle Alert automatically displays the inputs used in your Select statement, unless they are the implicit inputs: :ROWID, :MAILID, :ORG_ID and :DATE_LAST_CHECKED. The values of the implicit inputs are as follows:
• ROWID-Contains the ID number of the row where the insert or update that triggers an event alert occurs.
• MAILID-Contains the email username of the person who enters an insert or updates that triggers an event alert.
• ORG_ID-Contains the organization ID that is selected when the alert runs.
• DATE_LAST_CHECKED-Contains the date and time that the alert was most recently checked

Major Features
Event Alerts
Event alerts immediately notify you of activity in your database as it happens. You define what a database event is - an insert or an update to a table - and Oracle Alert informs you when it happens. You can modify our precoded alert conditions or simply create your own, and Oracle Alert will send messages or perform predefined actions in

Periodic Alerts
Periodic alerts periodically report key information according to a schedule you define.
You can modify our precoded alerts or simply create your own, and Oracle Alert will send messages or perform predefined actions from an action set according to the schedule you set.
You can define periodic alerts on any Oracle Financials, Oracle Manufacturing, Oracle Human Resources, or Oracle Public Sector Financials application as well as any custom Oracle application.

Periodic alerts can be set to run as often as you need during a 24-hour period, or they can be set to run once a month - the frequency is up to you. Used over time, periodic alerts can provide a regular and reliable measure of performance.
For example, you can define a periodic alert for Oracle Purchasing that sends a message to the Purchasing Manager listing the number of approved requisition lines that each purchasing agent placed on purchase orders. You can define this alert to run weekly, and provide performance measurement on a consistent and timely basis.

Easy Alert Definition
Oracle Alert can load the SQL statement for your alert definition from an operating system file, allowing you to automatically perform the functions you currently do by hand. Oracle Alert will also transfer your entire alert definition across databases. You can instantly leverage the work done in one area to all your systems.

Customizable Alert Frequency
With Oracle Alert, you can choose the frequency of each periodic alert. You may want to check some alerts every day, some only once a month, still others only when you explicitly request them. You have the flexibility to monitor critical exceptions as frequently as necessary, even multiple times during a 24-hour period. You can also check less significant exceptions on a more infrequent schedule; for example, once a month.

Customizable Alert Actions
You can define a variety of actions for Oracle Alert to perform based on the exceptions it finds in your database. Oracle Alert can send an electronic mail message, run a SQL script or an operating system script, or submit a concurrent request, or any combination of the above. You can create your own message, SQL script, or operating system script actions in Oracle Alert, or have Oracle Alert send messages or perform scripts that reside in external files. Each action is fully customizable to the exceptions found in your database, so you have complete flexibility in your exception management.

Detail or Summary Actions
You can choose to have Oracle Alert perform actions based on a single exception or a combination of exceptions found in your database. You can define a detail action such that Oracle Alert performs that action for each individual exception found. You can also define a summary action such that Oracle Alert performs that action once for each unique combination of exceptions found. You decide which exceptions you want Oracle Alert to consider as a unique combination. You can format a detail or summary message action to display the exception(s) in an easy-to-read message.

No Exception Actions
Oracle Alert can perform actions if it finds no exceptions in your database. You can define Oracle Alert to send electronic mail messages, run SQL scripts or operating system scripts, or submit concurrent requests, or any combination of the above.

Alert History
Oracle Alert can keep a record of the actions it takes and the exceptions it finds in your database, for as many days as you specify. When you ask Oracle Alert to reconstruct alert history you see a complete record of alert activity exactly as it was performed. You can even review all responses Oracle Alert received to your messages and the actions they invoked. Oracle Alert also lets you decide which information you want to review.
You can narrow your review criteria so you see only the history you specifically want to examine, without sorting through all the history information available for an alert.

Duplicate Checking
Oracle Alert can search for exceptions that remain in your database over time, and can take certain actions based on the presence of those "duplicate exceptions." You can track exceptions in your database for the length of time that you save history for your alerts.

Action Escalation
You can define a sequence of actions and have Oracle Alert perform the next action in that sequence each time it finds the same exception or exceptions in your database. For example, you can have Oracle Alert send messages of increasing severity if it finds the same exceptions over a period of time. Using action escalation, you can make sure that exceptions needing attention don't languish unattended in your database.

Summary Threshold
Oracle Alert can automatically determine whether to perform a detail or a summary action based on the number of exceptions it finds in your database. If your alert locates few exceptions, it can simply perform detail actions-one for each exception. If your alert locates many exceptions, it can perform a summary action on all of those exceptions.
Oracle Alert automatically determines when it should perform a detail or a summary action.

Response Processing
Oracle Alert can take certain predefined actions based on a user's response to an alert message. The response can cause Oracle Alert to send another alert message, run a SQL script or an operating system script, or submit a concurrent request, or any combination of the above. Because Oracle Alert performs response actions automatically, you can delegate routine user transactions to Oracle Alert and thereby increase your organization's efficiency.

Self-Referencing Alerts
You can create an alert that checks for exceptions that are new in your database since the last time the alert was checked. The alert uses its own DATE_LAST_CHECKED value as the start time for checking for new exceptions.

Customizable Options and User Profile
You can specify exactly how you want your Oracle Alert user interface to look and behave. From choosing a printer to specifying the header text in your Oracle Alert messages.

Electronic Mail Integration
Oracle Alert allows you to send alert e-mail messages through your mail system using the Simple Mail Transfer Protocol (SMTP) for outbound messages and the Internet Message Access Protocol (IMAP) for inbound messages.

Important Alert Tables:
·           ALR_ALERTS
·           ALR_ACTIONS
·           ALR_ACTION_SETS
·           ALR_ACTION_SET_INPUTS
·           ALR_ACTION_SET_OUTPUTS
·           ALR_ACTION_SET_MEMBERS
·           ALR_ALERT_CHECKS
·           ALR_ALERT_INPUTS
·           ALR_ALERT_OUTPUTS
·           ALR_ACTION_SET_CHECKS
·           ALR_RESPONSE_SETS
·           ALR_RESPONSE_ACTIONS
·           ALR_VALID_RESONSES
Oracle Alert uses the following internal views:
·            ALR_ALERT_ACTIONS_VIEW
·            ALR_ALERT_HISTORY_VIEW
·            ALR_CHECK_ACTION_HISTORY_VIEW
·            ALR_INSTALLATIONS_VIEW
·            ALR_PERIODIC_ALERTS_VIEW
·            ALR_RESPONSE_ACTIONS_VIEW
·            ALR_SCHEDULED_PROGRAMS
·            ALR_VARIABLES_AND_OUTPUTS


Friday, April 10, 2015

Oracle Learning Management – OLM Tables


In Oracle HRMS Overview Series of Articles, This is the first to one to talk technical aspects of OLM (Oracle Learning Management). In this article, main focus is to explain OLM Tables, their description and high level ER Diagram.
Short name of OLM Application is OTA. Therefore all its tables and APIs start with prefix of OTA. Terms used in this document OTA and OLM refers to same thing. Catalog related tables of OTA are little confusing by its name. It is difficult to understand the linking of tables on the basis of their names.  Therefore i have given the ER diagram that shows the relations between main tables of catalog objects. Also i have provided a sample data sheet just to make the things more simpler and easy to understand.

Following big list contains all tables related to OTA Module. In next section, short description of tables is provided. Description is provided only for selective tables.
Table Name
OTA_ACTIVITY_DEFINITIONS
OTA_ACTIVITY_VERSIONS
OTA_ACT_CAT_INCLUSIONS
OTA_ANNOUNCEMENTS
OTA_ATTEMPTS
OTA_BKNG_JUSTIFICATIONS_B
OTA_BKNG_JUSTIFICATIONS_TL
OTA_BOOKING_DEALS
OTA_BOOKING_STATUS_EXCL
OTA_BOOKING_STATUS_HISTORIES
OTA_BOOKING_STATUS_TYPES
OTA_BOOKING_STATUS_TYPES_TL
OTA_BULK_ENR_REQUESTS
OTA_BULK_ENR_REQ_MEMBERS
OTA_CATEGORY_USAGES
OTA_CATEGORY_USAGES_TL
OTA_CERTIFICATIONS_B
OTA_CERTIFICATIONS_TL
OTA_CERTIFICATION_MEMBERS
OTA_CERT_CAT_INCLUSIONS
OTA_CERT_ENROLLMENTS
OTA_CERT_MBR_ENROLLMENTS
OTA_CERT_PRD_ENROLLMENTS
OTA_CHATS_B
OTA_CHATS_TL
OTA_CHAT_MESSAGES
OTA_CHAT_OBJ_INCLUSIONS
OTA_CHAT_USERS
OTA_CMI_ADAPTERS
OTA_COMPETENCE_LANGUAGES
OTA_CONFERENCES
OTA_CONTENT_SERVERS
OTA_COURSE_PREREQUISITES
OTA_CROSS_CHARGES
OTA_DELEGATE_BOOKINGS
OTA_EVALUATIONS
OTA_EVENTS
OTA_EVENTS_TL
OTA_EVENT_ASSOCIATIONS
OTA_FINANCE_HEADERS
OTA_FINANCE_LINES
OTA_FORUMS_B
OTA_FORUMS_TL
OTA_FORUM_MESSAGES
OTA_FORUM_THREADS
OTA_FRM_NOTIF_SUBSCRIBERS
OTA_FRM_OBJ_INCLUSIONS
OTA_HR_GL_FLEX_MAPS
OTA_ILN_XML_PROCESSES
OTA_IMPORT_HISTORIES
OTA_LEARNING_OBJECTS
OTA_LEARNING_PATHS
OTA_LEARNING_PATH_MEMBERS
OTA_LO_FOLDERS
OTA_LO_SCORM_OBJECTIVES
OTA_LP_CAT_INCLUSIONS

OTA_LP_MEMBER_ENROLLMENTS
OTA_LP_SECTIONS
OTA_LP_SECTIONS_TL
OTA_MANDATORY_ENR_REQUESTS
OTA_MANDATORY_ENR_REQ_MEMBERS
OTA_NOTRNG_HISTORIES
OTA_OFFERINGS
OTA_OFFERINGS_TL
OTA_OPEN_FC_ENROLLMENTS
OTA_PERFORMANCES
OTA_PREREQUISITES
OTA_PRICE_LISTS
OTA_PRICE_LIST_ENTRIES
OTA_PROGRAM_MEMBERSHIPS
OTA_PVT_FRM_THREAD_USERS
OTA_QBANK_QUESTIONS
OTA_QUESTIONS
OTA_QUESTION_BANKS
OTA_RESOURCE_ALLOCATIONS
OTA_RESOURCE_BOOKINGS
OTA_RESOURCE_DEFINITIONS
OTA_RESOURCE_USAGES
OTA_RESPONSE_TYPES
OTA_RESPONSE_VALUES
OTA_SCORM_OBJECTIVES
OTA_SCORM_OBJ_ATTEMPTS
OTA_SCORM_OBJ_PERFS
OTA_SECTION_RULES
OTA_SKILL_PROVISIONS
OTA_SUPPLIABLE_RESOURCES
OTA_SUPPLIABLE_RESOURCES_TL
OTA_TESTS
OTA_TEST_QUESTIONS
OTA_TEST_SECTIONS
OTA_TITLE_CONVERSIONS
OTA_TP_MEASUREMENT_TYPES
OTA_TRAINING_PLANS
OTA_TRAINING_PLAN_COSTS
OTA_TRAINING_PLAN_MEMBERS
OTA_UPGRADE_LOG
OTA_USER_GROUPS_B
OTA_USER_GROUPS_TL
OTA_USER_GROUP_ELEMENTS
OTA_UTEST_QUESTIONS
OTA_UTEST_RESPONSES
OTA_VENDOR_SUPPLIES


OTA.OTA_ACTIVITY_VERSIONS
A course is the highest level of learning that can be prescribed to a learner. It also contains the objectives and competencies a learner will achieve by completing any class that belongs underneath.
This contains metadata of courses, such as objectives, intended audience , numbers of students that may attend any class based on the course, and actual and budgeted costs. A Course may be superseded by another version or it may supersede one itself. The validity dates on the course is available for scheduling as a class.
A course may belong to one or more categories. A course can therefore be classified for searching elsewhere in the system, it can be identified as being part of a program of courses, or it can be identified as part of a package of course that are to have price discounts applied. A course can also be part of a learning path.

OTA.OTA_OFFERINGS
An offering is a child of a course. An offering is used to create a particular ‘flavor’ of a course by assigning attributes such as the delivery mode (online/ offline,synchronous/ asynchronous), and the language in which the offering is delivered. For online offerings, content is associated with the offering. A course may have several offerings beneath it, to allow for circumstances where the same learning is delivered via several methods or via several languages.

OTA.OTA_CATEGORY_USAGES
Category usages indicate the role in which an activity category is used. Categories are entities that allow administrative users to organize their course catalog. Categories are containers for courses and learning paths, and have few attributes. The administrative user can define start and end dates for categories, select which courses appear in which categories in the course catalog, and define learner access based on the category level allowing access to be inherited by all the courses the category contains (though learner access does not need to be defined here, it can be defined at the levels of Course, Offering, and Class as well).
You can use a category to define:
1. Searching criteria
2. Program specifications
3. Packaged discounts
Each category can be used for all or none of the above. A category usage record indicates which of these usages is valid for a particular activity category.

OTA.OTA_EVENTS
An event can be scheduled, one time, developmental, program or session
There are several different types of event:
1. A scheduled event is a specific instance of an activity version on which you can enroll students and customers, and for which you can book resources.
2. A session is a unit of time within a scheduled event for which you can independently book resources.
3. A development event is a mechanism for scheduling employee time and other resources required to develop new training activities or to enhance existing ones.
4. A program is a group of events that are scheduled together. Students enroll on the program which may require that they enroll on some or all of the events within the program.

OTA_RESOURCE_BOOKINGS
You book a resource (people, equipment or facilities) for a scheduled or development event, or for
a session. You can book a resource for a specific event, or for a number of events. Each resource booking can have a start and end dates, as well a start and end times. You can enter start and end times to support resource bookings that are not required for the full duration of an event.A resource booking can be one of the following:
1. Planned
2. Confirmed
You can double- book supplied resources if the booking is Planned, but you cannot double-book for Confirmed bookings. You can add finance information for resource bookings to indicate that
the booking has incurred a cost.

OTA_SUPPLIABLE_RESOURCES
A resource is any facility, person or equipment that you need to book to run an event. You need to set up a key flexfield structure during setup for each resource type required. Subsequently, you can
enter specific supplied resources that use the resource key flexfield structure applicable to the type of resource. You can enter additional values that are specific to venues and trainers.

OTA_ACTIVITY_DEFINITIONS
An activity is any educational offering designed to improve a students qualifications, competencies or experience. An activity is any educational offering that is designed to improve a students qualification, competencies, or experience. Examples: a training course, on-job-training, structured work experience.
An activity definition is made up of a number of versions, each of which defines the nature of the educational offering. The activity definition determines whether the version may run concurrently or not.

OTA_NOTRNG_HISTORIES
Records attendance data for external training events initiated outside of OTA.

OTA_ACT_CAT_INCLUSIONS
A course category inclusion specifies that a course is within a particular type of category.

OTA_ANNOUNCEMENTS
Announcements can contain text or HTML to deliver timely information to learners. They are only displayed to learners during the start and end dates specified by the administrator. The text is displayed to all learners in the business group after logging into Oracle iLearning.

OTA_ATTEMPTS
This table is only used for online learning against learning objects and tests. It contains status, score, time, and other system information that describes what a learner achieved when playing a particular learning object or test.
There is one row created for each learning object/test a learner plays from within the Oracle iLearning player. The last attempt is sometimes used to calculate the most recent status for the performance record. It is also used to determine when a learner can take a test (after their last failed attempt) when an administrator has defined maximum number of attempts against a test. An internal_state of ‘A’ indicates not all information was written to the attempt.

OTA_BULK_ENR_REQUESTS
Bulk Enrollment request consist of any request which is made from the bulk enrollment functionality.

 OTA_BULK_ENR_REQ_MEMBERS
Bulk Enrollment request member hold the data of the leaner whom is requested to be enrolled into Class, Learning Path or Learning Certification via Bulk Enrollment.

OTA_CONFERENCES
A web conference belong to only one class. A class can only have one web conference. this is only used for integration with Oracle Collaboration Suite.

OTA_COURSE_PREREQUISITES
This hold the information of which courses need to be completed before learners can enroll into a specific course. A course can have one or more courses as prerequisite. The prerequisite can be mandatory or advisory.

OTA_CROSS_CHARGES
Details to enable internal Cross Charging by mapping Chart of Account details from Oracle General Ledger to Oracle Human Resources.
This table stores the header information (i.e., Set of Books, Business Groups, Effective period) of the mappings between Oracle General Ledger’s Chart of Account elements and Oracle Human Resources’ Cost Allocation elements. Oracle Training Self Serivce modules use the information stored in both OTA_CROSS_CHARGES and OTA_HR_GL_FLEX_MAPS to perform cross charging of internal enrollments.

OTA_HR_GL_FLEX_MAPS
Details to enable internal Cross Charging by mapping Chart of Account details from Oracle General Ledger to Oracle Human Resources.
This table stores the detail mappings between Oracle General Ledger’s Chart of Account keyflex segments and Oracle Human Resources’ Cost Allocation keyflex segments. Oracle Training Self Serivce modules use the information stored in both OTA_CROSS_CHARGES and OTA_HR_GL_FLEX_MAPS to perform cross charging of internal enrollments.

OTA_ILN_XML_PROCESSES
iLearning integration data exchange process. This table stores the summary of the data exchange between iLearning and OTA.

OTA_IMPORT_HISTORIES
Contain the logs of all import or export functions performed from within the Oracle iLearning interface

OTA_LEARNING_OBJECTS
A learning object holds metadata relating to a piece of online content or test, and are created in the Content tree by administrators. A learning object holds metadata relating to a piece of online content or test, and are created in the Content tree by administrators. Some metadata is displayed to learners to describe the content, such as description, audience, and keywords. Other metadata is used internally by Oracle iLearning, such as the content URL and unique identifiers. Learning objects can also contain other learning objects to establish a content hierarchy.

 OTA_LEARNING_PATHS
A learning path defines a sequence of courses that should be completed in order to obtain specific knowledge. This table only stores learning paths created by administrators. A learning path consists of one or more courses. A learning path can subscribe to a learner from within the learner interface.
The learner can then enroll in the associated classes for each course. A learning path can also have assigned competencies that a learner will obtain upon completion of the learning path.

OTA_LEARNING_PATH_MEMBERS
A learning path must have at least one course. This table stores each of the courses that have been assigned to the learning path by administrators. OTA.OTA_LEARNING_PATH_MEMBERS does not reference any database object.

OTA_LO_FOLDERS
A folder contains learning objects and other folders, and are created in the Content tree by administrators. A folder contains learning objects and other folders, and are created in the Content tree by administrators. The primary use of folders is to organize related content. For example, the Math Faculty folder contains Algebra and Calculus folders. Learning Objects related to each area are then created under their respective folders.

 OTA_LO_SCORM_OBJECTIVES
This table is an intersection table which hold relationship between OTA_SCORM_OBJECTIVES and OTA_LEARNING_OBJECTS.

OTA_LP_CAT_INCLUSIONS
A Learning Path category inclusion specifies that a learning path is within a particular type of category.

OTA_LP_ENROLLMENTS
This record all learner subscriptions into a learning path. There is one row for each learner who subscribe to a learning path.

OTA_OPEN_FC_ENROLLMENTS
This stores the enrollment for all category based chat and forum

 OTA_TESTS
This table contains additional meta data about the test. The behavior of test test is determined using some of the properties set in this table. There exists a 1:1 relation between the OTA_TESTS and OTA_LEARNING_OBJECTS table.

OTA_TEST_QUESTIONS
This table stores acts as a bridge table between the OTA_TEST_SECTIONS and OTA_QUESTIONS table for test which have a type_flag set to S( Pre Selected)test. This stores which questions will be displayed under which test sections.

 OTA_TEST_SECTIONS
A test can have one or more test sections. For a test to be offered it must have atleast one test section associated with it which contains atleast one question. There is a 1:N relation between the OTA_TESTS and OTA_TEST_SECTIONS

 OTA_USER_GROUPS_B
This table stores the Learner Group Information. The Learner Group is primarily built by adding person list, assignment or learner group

OTA_USER_GROUP_ELEMENTS
This table stores the Learner Group Elements Information. An element can be a Person ID OR Organization ID, Job ID, Position ID OR Learner Group ID

OTA_UTEST_QUESTIONS
Whenever a user takes a test a new test instance is generated for the user. The test definition (test questions that make up the test) are stored in this table. If the test is resumable and the user has resumed an old test, the attempt_id for the user is updated and the existing test definition is used.
OTA_UTEST_RESPONSES
When the test is assembled for the user, each response to all questions are created in this table. The table is updated as per the response by the user.

Query to get ‘External Learning’ Data – Based on OTA Tables


select NOTA_HISTORY_ID,onh.PERSON_ID,ppf.employee_number,ppf.full_name,onh.NTH_INFORMATION1 Course_Code,onh.TRNG_TITLE
,oav.version_code equivalent_Course_code, oav.version_name equivalent_Course_name,onh.PROVIDER,hr_general.DECODE_LOOKUP(‘OTA_TRAINING_TYPES’,onh.TYPE) TYPE
,onh.CENTRE,onh.COMPLETION_DATE,onh.AWARD,onh.RATING,onh.DURATION,hr_general.DECODE_LOOKUP(‘OTA_DURATION_UNITS’,onh.DURATION_UNITS) DURATION_UNITS
,hr_general.DECODE_LOOKUP(‘OTA_TRAINING_STATUSES’,onh.STATUS) STATUS,onh.NTH_INFORMATION2 Instructor ,onh.NTH_INFORMATION3,onh.NTH_INFORMATION4
from ota_notrng_histories onh, per_all_people_f ppf,XXALB_CATL_OBJ_COURSES_V oav
where onh.PERSON_ID = ppf.person_id
and trunc(sysdate) between ppf.effective_start_date and ppf.effective_end_date
and oav.ACTIVITY_VERSION_ID = onh.ACTIVITY_VERSION_ID
–and oav.PARENT_CAT_USAGE_ID = nvl(:P_PARENT_CAT_USAGE_ID,oav.PARENT_CAT_USAGE_ID)
–and oav.CATEGORY_USAGE_ID =  NVL(:P_CATEGORY_USAGE_ID,oav.CATEGORY_USAGE_ID)
–and ppf.employee_number = nvl(:P_employee_number, ppf.employee_number)