This document discusses run-time messages and alerts in Oracle Forms. It describes how Forms displays messages to inform users of events, and how to control message severity and suppress messages. There are different types of messages - informative, error, working, and application. It also discusses handling run-time errors of built-in subprograms, and using triggers to intercept system messages. The document covers setting properties of alerts, and controlling alerts with built-in functions. Finally, it discusses trapping database server errors using built-ins or exceptions.
Database system event trigger in oracle database by manish sharma rebellion r...Manish Sharma
PPT used in the intro of my YouTube video PL/SQL Tutorial on Database event triggers explaining the concepts of Logon system event triggers in Oracle Database
This document discusses run-time messages and alerts in Oracle Forms. It describes how to handle errors from built-in subprograms, control system messages, create alerts, and handle database server errors. Key points covered include using FORM_SUCCESS to check for errors, the four types of Forms messages, and built-ins for controlling messages and alerts like SET_ALERT_PROPERTY and SHOW_ALERT. It also addresses trapping database errors using triggers or exception handlers.
This document discusses displaying messages and alerts in Form Builder. It describes using built-in functions like ERROR_CODE and MESSAGE_TYPE to identify error types. Form Builder can display default, informative, and error messages. Alerts can be created and customized at runtime using properties and buttons to handle different responses from the user. Built-in functions like FORM_SUCCESS and FORM_FAILURE help test for success or failure.
This document summarizes Steven Feuerstein's presentation on managing errors effectively in Oracle PL/SQL. Some key points:
1) Defining exceptions, raising exceptions, and handling exceptions are important PL/SQL features for error management. Best practices include avoiding hard-coded errors and using reusable error components.
2) PL/SQL has some limitations for representing errors that can be addressed through object-oriented approaches like defining error tables.
3) Standardizing on common error handling procedures and logging mechanisms prevents code repetition and ensures consistency across an application.
Oracle - Program with PL/SQL - Lession 08Thuan Nguyen
This document discusses handling exceptions in PL/SQL. It defines exceptions as identifiers raised during execution due to Oracle errors or being explicitly raised. Exceptions can be trapped with handlers or propagated. There are predefined Oracle exceptions as well as user-defined exceptions. Handlers use an EXCEPTION WHEN clause and can trap specific or all exceptions. Functions like SQLCODE and SQLERRM provide error details. The RAISE_APPLICATION_ERROR procedure issues user errors. Exceptions propagate to calling environments if unhandled.
This document provides an overview of SAP system administration topics covered in the ADM100 course. It discusses fundamentals like what constitutes an SAP system and instance. It covers processes like system start up and shutdown. Other topics include setting system parameters, different operation modes, archiving data, using the transport system, and scheduling background jobs. The document is intended to give an introduction to key concepts and transactions for administering SAP systems.
An exception is a runtime error or warning condition. There are two types of exceptions: predefined exceptions raised implicitly by the runtime system, and user-defined exceptions raised explicitly using RAISE statements. Exceptions are handled using exception handlers within blocks of code. Predefined exceptions correspond to common Oracle errors, while user-defined exceptions must be declared and implemented by the user. RAISE statements are used to explicitly raise user-defined exceptions.
Database system event trigger in oracle database by manish sharma rebellion r...Manish Sharma
PPT used in the intro of my YouTube video PL/SQL Tutorial on Database event triggers explaining the concepts of Logon system event triggers in Oracle Database
This document discusses run-time messages and alerts in Oracle Forms. It describes how to handle errors from built-in subprograms, control system messages, create alerts, and handle database server errors. Key points covered include using FORM_SUCCESS to check for errors, the four types of Forms messages, and built-ins for controlling messages and alerts like SET_ALERT_PROPERTY and SHOW_ALERT. It also addresses trapping database errors using triggers or exception handlers.
This document discusses displaying messages and alerts in Form Builder. It describes using built-in functions like ERROR_CODE and MESSAGE_TYPE to identify error types. Form Builder can display default, informative, and error messages. Alerts can be created and customized at runtime using properties and buttons to handle different responses from the user. Built-in functions like FORM_SUCCESS and FORM_FAILURE help test for success or failure.
This document summarizes Steven Feuerstein's presentation on managing errors effectively in Oracle PL/SQL. Some key points:
1) Defining exceptions, raising exceptions, and handling exceptions are important PL/SQL features for error management. Best practices include avoiding hard-coded errors and using reusable error components.
2) PL/SQL has some limitations for representing errors that can be addressed through object-oriented approaches like defining error tables.
3) Standardizing on common error handling procedures and logging mechanisms prevents code repetition and ensures consistency across an application.
Oracle - Program with PL/SQL - Lession 08Thuan Nguyen
This document discusses handling exceptions in PL/SQL. It defines exceptions as identifiers raised during execution due to Oracle errors or being explicitly raised. Exceptions can be trapped with handlers or propagated. There are predefined Oracle exceptions as well as user-defined exceptions. Handlers use an EXCEPTION WHEN clause and can trap specific or all exceptions. Functions like SQLCODE and SQLERRM provide error details. The RAISE_APPLICATION_ERROR procedure issues user errors. Exceptions propagate to calling environments if unhandled.
This document provides an overview of SAP system administration topics covered in the ADM100 course. It discusses fundamentals like what constitutes an SAP system and instance. It covers processes like system start up and shutdown. Other topics include setting system parameters, different operation modes, archiving data, using the transport system, and scheduling background jobs. The document is intended to give an introduction to key concepts and transactions for administering SAP systems.
An exception is a runtime error or warning condition. There are two types of exceptions: predefined exceptions raised implicitly by the runtime system, and user-defined exceptions raised explicitly using RAISE statements. Exceptions are handled using exception handlers within blocks of code. Predefined exceptions correspond to common Oracle errors, while user-defined exceptions must be declared and implemented by the user. RAISE statements are used to explicitly raise user-defined exceptions.
An exception is a runtime error or warning condition. There are two types of exceptions: predefined exceptions raised implicitly by the runtime system, and user-defined exceptions raised explicitly with RAISE statements. Exceptions are handled with exception handlers. Predefined exceptions correspond to common Oracle errors like division by zero. User-defined exceptions must be declared. The RAISE_APPLICATION_ERROR procedure can be used to raise user-defined exceptions within PL/SQL blocks.
This document discusses logging and summarization techniques. It begins with an overview of why logging is important for application development and maintenance. It then covers different types of logs, such as system logs, application logs, and database logs. The document discusses various logging options and frameworks, with a focus on Monolog and the ELK stack. It provides examples of setting up logging with Monolog and sending logs to Elasticsearch using Logstash and viewing them in Kibana. The key aspects covered are the need for logging, different log types, popular logging frameworks and real-time log analysis using ELK.
This document discusses error reporting in PHP. It defines an error as a type of mistake, such as an incorrect program state. There are three main categories of errors in PHP: informational errors, actionable errors, and fatal errors. The document also discusses how to enable errors, set the error reporting level, suppress errors, create custom error handlers, and trigger errors programmatically.
London SF Developers: Custom Lightning Component Error HandlingRichard Clark
aka Essential Eight Lessons for Error Handling in Lightning Custom Component Development.
Covering some of the common pitfalls of handling errors when developing Lightning Components and my own modest recommendations for how you can avoid them, plus some best practices. As part of my role at Provar I get asked to investigate when our customer's tests are seen to be failing in order to diagnose whether the fault is in Salesforce or a missing feature of Provar. I've learned the astonishing ways in which people are publishing code for Lightning Components without basic error handling to a point I'd argue is irresponsible! This led me down a deeper and deeper rabbit hole which, like Alice, I'd like to share so you can all safely reach the Lightning Wonderland!
Performance Instrumentation for PL/SQL: When, Why, HowKaren Morton
Performance instrumentation is a little extra code that developers put into their PL/SQL applications that tells everyone—owners, users, system managers, and the software developers themselves—exactly where your software is spending your time. With it, managing performance is a snap. Good instrumentation makes it so normal people, not just specialists, can diagnose and solve performance problems quickly and permanently, often before your users even sense something is wrong. However, without good time-based performance instrumentation, managing performance becomes nightmarishly complex and expensive.
With as little as two lines of code you will be able to monitor specific tasks in your application and make one of the most difficult steps of implementing response-time based problem diagnosis (Method R) into one of the easiest. In addition, these techniques will enable you to correlate database statistics back to business tasks and help discover those tasks that are heavy resource consumers. This presentation will provide examples of how to perform the instrumentation using Oracle's built-in packages and a free open source instrumentation package called the Instrumentation Library for Oracle (ILO). Its cost on every level is free, and the significant collateral benefits that can be achieved will make code instrumentation part of your coding standards.
Certification preparation - Error Handling and Troubleshooting recap.pptxRohit Radhakrishnan
The Error Handling and Troubleshooting session focuses on the understanding of system and business exceptions and on how to use the error handling activities in UiPath Studio. We also discuss about debugging methods and logging best practices.
The Orchestrator Functions presentation offers a brief introduction and recap of the main UiPath Orchestrator features that are covered in the certification objectives. It focuses on understanding the general components and working with assets, queues and triggers.
Introduction to PL/SQL exceptions
Oracle error codes
Pragmas
User Defined Exception and Pragma EXCEPTION_INIT
DBMS_UTILITY package
Guidelines for exception handling
Guidelines for exception handling - FORALL
Foolproof your PL/SQL programs – Standalone procs and functions
Foolproof your PL/SQL programs - packages
Foolproof your PL/SQL programs - Assumptions
Foolproof your PL/SQL programs - Tracing
Oracle Alert allows you to create event alerts that notify you when specified database events occur, such as inserts or updates to tables. You can also create periodic alerts that check the database for specified conditions on a schedule. Both event and periodic alerts are defined using a SQL statement. You specify actions for the alerts to perform, such as sending emails or running scripts. Oracle Alert will automatically perform these actions when the alert conditions are met. Major features include customizing alert frequency, actions, inputs, and verifying SQL statements.
Forms are used to develop client-server database applications using a graphical user interface (GUI). Key components of forms include the form builder, which is used to design forms; the form compiler, which compiles forms; and the form runtime, which runs compiled forms. Forms contain objects like blocks, items, and canvases to present and manipulate data. Events can be programmed using PL/SQL triggers. The FORM_DDL built-in allows executing dynamic SQL at runtime, including DDL statements.
This document provides an overview of different methods that can be used to debug the FastFormula including ESS_LOG_WRITE, HR_TRACE, PAY_INTERNAL_LOG_WRITE, DEBUG, US_FORMULA_LOGGING, ADD_RLOG, and ADD_LOG. It describes the syntax of each method and any limitations or specific usage instructions. It also provides details on how to view the logs generated by these different debugging techniques.
This document provides instructions for managing Exchange Server 2013 with System Center 2012 R2. It describes using System Center 2012 R2 Data Protection Manager to back up and restore Exchange databases, using System Center 2012 R2 Operations Manager to monitor Exchange health, and automating tasks with System Center 2012 R2 Orchestrator. The lab guide walks through backing up Exchange with DPM, restoring a full database and individual mailbox with DPM, and reviewing backup health with Operations Manager.
The document discusses debugging triggers and PL/SQL code using the Forms Builder debugger. It describes the components of the Debug Console including panels to view the call stack, variables, form values, and breakpoints. It explains how to run a form in debug mode, set breakpoints in client and stored code, and step through code using the debugger buttons. Debugging tips are also provided such as connecting to the database and watching for syntax errors.
The document discusses debugging triggers and PL/SQL code using the Forms Builder debugger. It describes the components of the Debug Console including panels to view the call stack, variables, form values, packages, and breakpoints. It explains how to run a form in debug mode, set breakpoints in client and stored code, and step through code using buttons. The debugger allows monitoring and debugging triggers by compiling code, displaying debug messages, and invoking the PL/SQL debugger.
CASE STUDY InternetExcel Exercises, page 434, textRecord your.docxketurahhazelhurst
CASE STUDY
Internet/Excel Exercises, page 434, text
Record your findings in a Word document and submit it online
IBM has substantial operations in many countries, including the United States, Canada, and Germany. Go to finance.yahoo.com/q?s=ibm.
1. Click on Historical Prices. (Or apply this exercise to a different MNC.) Set the date range so that you can obtain quarterly values of the U.S. stock index for the last 20 quarters. Insert the quarterly data on a spreadsheet. Compute the percentage change in IBM’s stock price for each quarter. Next go to finance.yahoo.com/stock-center/ and click (under U.S.) on S&P Composite 1500 Index, which represents the U.S. stock market index, so that you can derive the quarterly percentage change in the U.S. stock index over the last 20 quarters. Then run a regression analysis with IBM’s quarterly return (percentage change in stock price) as the dependent variable and the quarterly percentage change in the U.S. stock market’s value as the independent variable. (Appendix C explains how Excel can be used to run regression analysis.) The slope coefficient serves as an estimate of the sensitivity of IBM’s value to the U.S. market returns. Also, check the fit of the relationship based on the R-squared statistic.
2. Go to finance.yahoo.com/stock-center/ and click (under “Europe”) on DAX, which represents the German stock market index. Repeat the process described in exercise 1 so that you can assess IBM’s sensitivity to the German stock market. Compare the slope coefficient between the two analyses. Is IBM’s value more sensitive to the U.S. market or the German market? Does the U.S. market or the German market explain a higher proportion of the variation in IBM’s returns (check the R-squared statistic)? Offer an explanation of your results.
Lab 5 Database Security
Use the script from week 1 for the week 5 lab.
1. Create four new users
a. The first user will have full rights to the database
b. The second user grant access to the Client’s table and allow them the rights to INSERT data into the clients table
c. The third user grant rights to create user logins and reset passwords
d. The fourth user grant column rights to the Course_Activity table allow access to the Course Code and Grade column. Allow user to UPDATE a maximum of 5 times per hour.
2. Login with each user to demonstrate the rights you have given them
a. User 1 login and create a VIEW for user 2 that just displays the Client table
b. User 2 login and add 3 more clients to the Clients table
c. User 3 login create two new users
d. User 4 login and UPDATE two new entries for Course Code and Grade Column for Client 1 and 2
e. For each user run the Show Privileges command to show correct rights and permissions have been applied
3. Show Log Files: For each user show log files (since we do not have MySQL Enterprise we cannot use the Audit function but as a substitute we can use the built-in log file function)
4. Create a Stored Procedure with User ...
Dependable Software Development in Software Engineering SE18koolkampus
The document discusses techniques for developing dependable software systems, including fault avoidance, fault tolerance, and fault removal. It covers structured programming, error-prone constructs, information hiding, exceptions, fault detection, damage assessment, recovery approaches, and fault-tolerant architectures using hardware and software redundancy. Key aspects are avoiding errors during development, detecting and handling faults at runtime, and designing systems that can continue operating despite failures.
Exceptions in PL/SQL refer to unwanted events that terminate scripts unexpectedly. There are predefined exceptions for common errors that provide more user-friendly error messages instead of system codes. User-defined exceptions handle violations of business rules. The EXCEPTION block catches both predefined and user-defined exceptions, and specific exception types can be handled with the WHEN clause to execute exception handling code.
The document is a user manual for an Access Control & Time Attendance Management System. It contains 10 chapters that describe:
1) The software installation process and requirements
2) An overview of the system's functional properties and main sub-systems
3) Instructions for user management, attendance management, device management, and system maintenance features.
4) Details on setting up departments, registering and managing users, connecting devices, and generating various reports.
There are several methods for debugging the Fast Formula including ESS_LOG_WRITE, HR_TRACE, PAY_INTERNAL_LOG_WRITE, and ADD_RLOG. ESS_LOG_WRITE writes logs to the ESS log and HR_TRACE requires setting up a PL/SQL trace. PAY_INTERNAL_LOG_WRITE is for payroll processes. ADD_RLOG accepts formula ID, rule ID, and a message and writes to an Oracle Time and Labor table. The logs can then be viewed through monitoring pages which vary by team.
XML is a markup language that allows users to define their own tags and structure for documents. It separates content from formatting and is extensible, platform-independent, and human-readable. Well-formed XML documents follow syntax rules like having matching open and close tags and properly nested elements. Valid XML documents also comply with constraints defined in their associated DTD. Common XML components include elements, attributes, namespaces, comments, and CDATA sections.
This document provides an overview of XML (Extensible Markup Language) including:
- The basic structure and components of an XML document including elements, attributes, entities, and advanced components.
- An example well-commented XML document.
- The basic rules for creating a well-formed XML document including being case sensitive, requiring start and end tags, proper nesting, and more.
- Common errors in element naming and how to avoid them.
- How to walk through modifying an example XML document to add new elements and ensure it remains well-formed.
An exception is a runtime error or warning condition. There are two types of exceptions: predefined exceptions raised implicitly by the runtime system, and user-defined exceptions raised explicitly with RAISE statements. Exceptions are handled with exception handlers. Predefined exceptions correspond to common Oracle errors like division by zero. User-defined exceptions must be declared. The RAISE_APPLICATION_ERROR procedure can be used to raise user-defined exceptions within PL/SQL blocks.
This document discusses logging and summarization techniques. It begins with an overview of why logging is important for application development and maintenance. It then covers different types of logs, such as system logs, application logs, and database logs. The document discusses various logging options and frameworks, with a focus on Monolog and the ELK stack. It provides examples of setting up logging with Monolog and sending logs to Elasticsearch using Logstash and viewing them in Kibana. The key aspects covered are the need for logging, different log types, popular logging frameworks and real-time log analysis using ELK.
This document discusses error reporting in PHP. It defines an error as a type of mistake, such as an incorrect program state. There are three main categories of errors in PHP: informational errors, actionable errors, and fatal errors. The document also discusses how to enable errors, set the error reporting level, suppress errors, create custom error handlers, and trigger errors programmatically.
London SF Developers: Custom Lightning Component Error HandlingRichard Clark
aka Essential Eight Lessons for Error Handling in Lightning Custom Component Development.
Covering some of the common pitfalls of handling errors when developing Lightning Components and my own modest recommendations for how you can avoid them, plus some best practices. As part of my role at Provar I get asked to investigate when our customer's tests are seen to be failing in order to diagnose whether the fault is in Salesforce or a missing feature of Provar. I've learned the astonishing ways in which people are publishing code for Lightning Components without basic error handling to a point I'd argue is irresponsible! This led me down a deeper and deeper rabbit hole which, like Alice, I'd like to share so you can all safely reach the Lightning Wonderland!
Performance Instrumentation for PL/SQL: When, Why, HowKaren Morton
Performance instrumentation is a little extra code that developers put into their PL/SQL applications that tells everyone—owners, users, system managers, and the software developers themselves—exactly where your software is spending your time. With it, managing performance is a snap. Good instrumentation makes it so normal people, not just specialists, can diagnose and solve performance problems quickly and permanently, often before your users even sense something is wrong. However, without good time-based performance instrumentation, managing performance becomes nightmarishly complex and expensive.
With as little as two lines of code you will be able to monitor specific tasks in your application and make one of the most difficult steps of implementing response-time based problem diagnosis (Method R) into one of the easiest. In addition, these techniques will enable you to correlate database statistics back to business tasks and help discover those tasks that are heavy resource consumers. This presentation will provide examples of how to perform the instrumentation using Oracle's built-in packages and a free open source instrumentation package called the Instrumentation Library for Oracle (ILO). Its cost on every level is free, and the significant collateral benefits that can be achieved will make code instrumentation part of your coding standards.
Certification preparation - Error Handling and Troubleshooting recap.pptxRohit Radhakrishnan
The Error Handling and Troubleshooting session focuses on the understanding of system and business exceptions and on how to use the error handling activities in UiPath Studio. We also discuss about debugging methods and logging best practices.
The Orchestrator Functions presentation offers a brief introduction and recap of the main UiPath Orchestrator features that are covered in the certification objectives. It focuses on understanding the general components and working with assets, queues and triggers.
Introduction to PL/SQL exceptions
Oracle error codes
Pragmas
User Defined Exception and Pragma EXCEPTION_INIT
DBMS_UTILITY package
Guidelines for exception handling
Guidelines for exception handling - FORALL
Foolproof your PL/SQL programs – Standalone procs and functions
Foolproof your PL/SQL programs - packages
Foolproof your PL/SQL programs - Assumptions
Foolproof your PL/SQL programs - Tracing
Oracle Alert allows you to create event alerts that notify you when specified database events occur, such as inserts or updates to tables. You can also create periodic alerts that check the database for specified conditions on a schedule. Both event and periodic alerts are defined using a SQL statement. You specify actions for the alerts to perform, such as sending emails or running scripts. Oracle Alert will automatically perform these actions when the alert conditions are met. Major features include customizing alert frequency, actions, inputs, and verifying SQL statements.
Forms are used to develop client-server database applications using a graphical user interface (GUI). Key components of forms include the form builder, which is used to design forms; the form compiler, which compiles forms; and the form runtime, which runs compiled forms. Forms contain objects like blocks, items, and canvases to present and manipulate data. Events can be programmed using PL/SQL triggers. The FORM_DDL built-in allows executing dynamic SQL at runtime, including DDL statements.
This document provides an overview of different methods that can be used to debug the FastFormula including ESS_LOG_WRITE, HR_TRACE, PAY_INTERNAL_LOG_WRITE, DEBUG, US_FORMULA_LOGGING, ADD_RLOG, and ADD_LOG. It describes the syntax of each method and any limitations or specific usage instructions. It also provides details on how to view the logs generated by these different debugging techniques.
This document provides instructions for managing Exchange Server 2013 with System Center 2012 R2. It describes using System Center 2012 R2 Data Protection Manager to back up and restore Exchange databases, using System Center 2012 R2 Operations Manager to monitor Exchange health, and automating tasks with System Center 2012 R2 Orchestrator. The lab guide walks through backing up Exchange with DPM, restoring a full database and individual mailbox with DPM, and reviewing backup health with Operations Manager.
The document discusses debugging triggers and PL/SQL code using the Forms Builder debugger. It describes the components of the Debug Console including panels to view the call stack, variables, form values, and breakpoints. It explains how to run a form in debug mode, set breakpoints in client and stored code, and step through code using the debugger buttons. Debugging tips are also provided such as connecting to the database and watching for syntax errors.
The document discusses debugging triggers and PL/SQL code using the Forms Builder debugger. It describes the components of the Debug Console including panels to view the call stack, variables, form values, packages, and breakpoints. It explains how to run a form in debug mode, set breakpoints in client and stored code, and step through code using buttons. The debugger allows monitoring and debugging triggers by compiling code, displaying debug messages, and invoking the PL/SQL debugger.
CASE STUDY InternetExcel Exercises, page 434, textRecord your.docxketurahhazelhurst
CASE STUDY
Internet/Excel Exercises, page 434, text
Record your findings in a Word document and submit it online
IBM has substantial operations in many countries, including the United States, Canada, and Germany. Go to finance.yahoo.com/q?s=ibm.
1. Click on Historical Prices. (Or apply this exercise to a different MNC.) Set the date range so that you can obtain quarterly values of the U.S. stock index for the last 20 quarters. Insert the quarterly data on a spreadsheet. Compute the percentage change in IBM’s stock price for each quarter. Next go to finance.yahoo.com/stock-center/ and click (under U.S.) on S&P Composite 1500 Index, which represents the U.S. stock market index, so that you can derive the quarterly percentage change in the U.S. stock index over the last 20 quarters. Then run a regression analysis with IBM’s quarterly return (percentage change in stock price) as the dependent variable and the quarterly percentage change in the U.S. stock market’s value as the independent variable. (Appendix C explains how Excel can be used to run regression analysis.) The slope coefficient serves as an estimate of the sensitivity of IBM’s value to the U.S. market returns. Also, check the fit of the relationship based on the R-squared statistic.
2. Go to finance.yahoo.com/stock-center/ and click (under “Europe”) on DAX, which represents the German stock market index. Repeat the process described in exercise 1 so that you can assess IBM’s sensitivity to the German stock market. Compare the slope coefficient between the two analyses. Is IBM’s value more sensitive to the U.S. market or the German market? Does the U.S. market or the German market explain a higher proportion of the variation in IBM’s returns (check the R-squared statistic)? Offer an explanation of your results.
Lab 5 Database Security
Use the script from week 1 for the week 5 lab.
1. Create four new users
a. The first user will have full rights to the database
b. The second user grant access to the Client’s table and allow them the rights to INSERT data into the clients table
c. The third user grant rights to create user logins and reset passwords
d. The fourth user grant column rights to the Course_Activity table allow access to the Course Code and Grade column. Allow user to UPDATE a maximum of 5 times per hour.
2. Login with each user to demonstrate the rights you have given them
a. User 1 login and create a VIEW for user 2 that just displays the Client table
b. User 2 login and add 3 more clients to the Clients table
c. User 3 login create two new users
d. User 4 login and UPDATE two new entries for Course Code and Grade Column for Client 1 and 2
e. For each user run the Show Privileges command to show correct rights and permissions have been applied
3. Show Log Files: For each user show log files (since we do not have MySQL Enterprise we cannot use the Audit function but as a substitute we can use the built-in log file function)
4. Create a Stored Procedure with User ...
Dependable Software Development in Software Engineering SE18koolkampus
The document discusses techniques for developing dependable software systems, including fault avoidance, fault tolerance, and fault removal. It covers structured programming, error-prone constructs, information hiding, exceptions, fault detection, damage assessment, recovery approaches, and fault-tolerant architectures using hardware and software redundancy. Key aspects are avoiding errors during development, detecting and handling faults at runtime, and designing systems that can continue operating despite failures.
Exceptions in PL/SQL refer to unwanted events that terminate scripts unexpectedly. There are predefined exceptions for common errors that provide more user-friendly error messages instead of system codes. User-defined exceptions handle violations of business rules. The EXCEPTION block catches both predefined and user-defined exceptions, and specific exception types can be handled with the WHEN clause to execute exception handling code.
The document is a user manual for an Access Control & Time Attendance Management System. It contains 10 chapters that describe:
1) The software installation process and requirements
2) An overview of the system's functional properties and main sub-systems
3) Instructions for user management, attendance management, device management, and system maintenance features.
4) Details on setting up departments, registering and managing users, connecting devices, and generating various reports.
There are several methods for debugging the Fast Formula including ESS_LOG_WRITE, HR_TRACE, PAY_INTERNAL_LOG_WRITE, and ADD_RLOG. ESS_LOG_WRITE writes logs to the ESS log and HR_TRACE requires setting up a PL/SQL trace. PAY_INTERNAL_LOG_WRITE is for payroll processes. ADD_RLOG accepts formula ID, rule ID, and a message and writes to an Oracle Time and Labor table. The logs can then be viewed through monitoring pages which vary by team.
XML is a markup language that allows users to define their own tags and structure for documents. It separates content from formatting and is extensible, platform-independent, and human-readable. Well-formed XML documents follow syntax rules like having matching open and close tags and properly nested elements. Valid XML documents also comply with constraints defined in their associated DTD. Common XML components include elements, attributes, namespaces, comments, and CDATA sections.
This document provides an overview of XML (Extensible Markup Language) including:
- The basic structure and components of an XML document including elements, attributes, entities, and advanced components.
- An example well-commented XML document.
- The basic rules for creating a well-formed XML document including being case sensitive, requiring start and end tags, proper nesting, and more.
- Common errors in element naming and how to avoid them.
- How to walk through modifying an example XML document to add new elements and ensure it remains well-formed.
XML (Extensible Markup Language) allows users to define their own customized markup languages to structure data. It was created as a simplified version of SGML to make it usable on the web. XML is important because it removes constraints of HTML and allows for richer content than HTML alone. XML will enable easier exchange of data between businesses and applications.
XML is a markup language that allows users to define their own tags and structure for documents. It separates content from formatting and is extensible, platform-independent, and human-readable. Well-formed XML documents follow syntax rules like having matching open and close tags and properly nested elements. Valid XML documents also comply with constraints defined in their associated DTD. Common XML components include elements, attributes, namespaces, comments, and CDATA sections.
This document provides an overview of XML (Extensible Markup Language) including:
- The basic structure and components of an XML document including elements, attributes, entities, and advanced components.
- An example well-commented XML document.
- The basic rules for creating a well-formed XML document including being case sensitive, requiring start and end tags, proper nesting, and more.
- Common errors in element naming and how to avoid them.
- How to add new elements and attributes to an example XML document to ensure it remains well-formed.
XML stands for Extensible Markup Language and is used to mark up data so it can be processed by computers, whereas HTML is used to mark up text to be displayed for users. Both XML and HTML use elements enclosed in tags, attributes, and entities, but XML only describes content while HTML describes both structure and appearance. XML allows users to define their own tags, and is strictly structured, making it suitable for data processing by computers.
This document provides an overview of XML, including its basic structure and components. XML documents use elements to structure and tag content. Elements must be properly nested within a single root element and can have attributes. The relationships between these elements form a tree structure. XML documents also support comments, processing instructions, and character encoding. CSS and XSLT can be used to display and transform XML for web users. While databases are better for structured data, XML is well suited for loosely structured or large records.
The document provides an introduction to shell scripting basics in UNIX/Linux. It discusses what a shell and shell script are, introduces the popular bash shell, and covers running commands, variables, logic, and other shell scripting concepts. The key points covered include:
- A shell is a program that takes commands and runs other programs. Popular shells include bash, csh, tcsh, and ksh.
- A shell script is a text file containing shell commands that is executable. Creating and running a simple "Hello world" script is demonstrated.
- Running commands, pipes, redirection, variables, logic, and flow control like if/else, for loops are explained.
- Useful bash
This document provides an introduction and overview of the Unix operating system. It covers topics such as getting help, the file system, the shell, network security, email clients, text editors, input/output redirection, printing, process management, and the X window system. The document is intended to help new Unix users understand basic Unix concepts and commands.
Linux is an open source operating system created by Linus Torvalds in 1991. It uses a Linux kernel and includes many common Unix tools. Linux is free to use and modify due to its open source licensing. It runs on many hardware platforms and is growing in popularity for servers, desktops, and embedded systems due to its low cost, stability, and security. Users can download Linux from distributions like Red Hat which package the Linux kernel with additional software and support.
After completing this section, students should be able to log into the Linux system, understand and manipulate the UNIX file system, describe the role of the shell, use basic file commands like cd, ls, cp, and rm, use standard input/output and piping, and understand the UNIX philosophy. The document provides an introduction to UNIX operating systems, shells, file systems, basic commands, and input/output redirection.
This document provides an overview of the C programming language, including its history, characteristics, and syntax. C was developed in the 1970s alongside Unix and became widely used for system programming. It allows for close interaction with the operating system and hardware. The document walks through a simple "Hello World" program to demonstrate C's syntax, including preprocessing, compilation, linking, and execution. It also provides a more complex guessing game example to illustrate additional C language features like variables, operators, conditionals, and loops.
This document provides an introduction to the C programming language. It discusses key concepts like functions, variables, data types, memory, scopes, expressions, operators, control flow with if/else statements and loops. It also explains how passing arguments by value means functions cannot directly modify their parameters, but passing addresses allows modifying variables in the calling scope. Overall it serves as a helpful primer on basic C syntax and programming concepts for newcomers to the language.
This document provides an overview of introductory concepts in C programming, including simple programs to print text and perform arithmetic. It covers basic syntax like comments, functions, variables, data types, operators, input/output, and conditional statements. Memory concepts are introduced, as well as the preprocessor, standard libraries, and control flow structures like if/else. Examples are provided to demonstrate printing text, taking user input, performing calculations, and making decisions based on relational comparisons.
This document provides an introduction to C programming over 13 pages. It covers the purpose and schedule of the lectures, differences between C and Java, C program structure, keywords, variables, data types, and more. The main points are that the lectures will provide a crash course in C with an emphasis on differences from Java, cover practical examples and topics related to C programming, and include history, language overview, pointers, memory management, compiling and debugging.
This document provides an introduction to programming in C. It begins by discussing computers, hardware, software, data, and information processing. It then discusses what programming is and how to approach solving problems through programming. The document outlines the major components of a C program and provides a first example program. It also covers key C programming concepts like variables, data types, expressions, control flow, functions, pointers, arrays, strings, structures, files and memory allocation. The document is intended to introduce readers to programming in C from a high level.
The document provides an overview of the C programming language. It begins with a brief history of C and how it evolved from the B programming language to support UNIX. It describes C as a systems programming language that is close to hardware but with higher-level constructs than assembly. The rest of the document outlines key C language concepts like data types, variables, operators, functions, and control structures. It provides examples of how to use basic programming elements like if/else statements and switch statements.
This document contains repeated text about printing or viewing notes pages for a preface rather than slides. It provides instructions to print or view notes pages for a preface section eight separate times without any other notable information.
This document provides an overview and objectives for a course on Oracle database administration. It covers topics such as controlling user access, managing schema objects, manipulating large data sets, generating reports, managing data in different time zones, retrieving data using subqueries, hierarchical retrieval, and regular expression support. Each chapter provides learning objectives and exercises for students to reinforce the concepts covered.
Regular expressions can be used in SQL to search, match, and replace strings. Key regular expression functions include REGEXP_INSTR, REGEXP_SUBSTR, and REGEXP_REPLACE. Meta characters like *, +, and [] are used to define patterns to match. For example, 'a+' would match one or more occurrences of 'a' in a string.
Best 20 SEO Techniques To Improve Website Visibility In SERPPixlogix Infotech
Boost your website's visibility with proven SEO techniques! Our latest blog dives into essential strategies to enhance your online presence, increase traffic, and rank higher on search engines. From keyword optimization to quality content creation, learn how to make your site stand out in the crowded digital landscape. Discover actionable tips and expert insights to elevate your SEO game.
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfChart Kalyan
A Mix Chart displays historical data of numbers in a graphical or tabular form. The Kalyan Rajdhani Mix Chart specifically shows the results of a sequence of numbers over different periods.
UiPath Test Automation using UiPath Test Suite series, part 6DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 6. In this session, we will cover Test Automation with generative AI and Open AI.
UiPath Test Automation with generative AI and Open AI webinar offers an in-depth exploration of leveraging cutting-edge technologies for test automation within the UiPath platform. Attendees will delve into the integration of generative AI, a test automation solution, with Open AI advanced natural language processing capabilities.
Throughout the session, participants will discover how this synergy empowers testers to automate repetitive tasks, enhance testing accuracy, and expedite the software testing life cycle. Topics covered include the seamless integration process, practical use cases, and the benefits of harnessing AI-driven automation for UiPath testing initiatives. By attending this webinar, testers, and automation professionals can gain valuable insights into harnessing the power of AI to optimize their test automation workflows within the UiPath ecosystem, ultimately driving efficiency and quality in software development processes.
What will you get from this session?
1. Insights into integrating generative AI.
2. Understanding how this integration enhances test automation within the UiPath platform
3. Practical demonstrations
4. Exploration of real-world use cases illustrating the benefits of AI-driven test automation for UiPath
Topics covered:
What is generative AI
Test Automation with generative AI and Open AI.
UiPath integration with generative AI
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Introduction of Cybersecurity with OSS at Code Europe 2024Hiroshi SHIBATA
I develop the Ruby programming language, RubyGems, and Bundler, which are package managers for Ruby. Today, I will introduce how to enhance the security of your application using open-source software (OSS) examples from Ruby and RubyGems.
The first topic is CVE (Common Vulnerabilities and Exposures). I have published CVEs many times. But what exactly is a CVE? I'll provide a basic understanding of CVEs and explain how to detect and handle vulnerabilities in OSS.
Next, let's discuss package managers. Package managers play a critical role in the OSS ecosystem. I'll explain how to manage library dependencies in your application.
I'll share insights into how the Ruby and RubyGems core team works to keep our ecosystem safe. By the end of this talk, you'll have a better understanding of how to safeguard your code.
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Speck&Tech
ABSTRACT: A prima vista, un mattoncino Lego e la backdoor XZ potrebbero avere in comune il fatto di essere entrambi blocchi di costruzione, o dipendenze di progetti creativi e software. La realtà è che un mattoncino Lego e il caso della backdoor XZ hanno molto di più di tutto ciò in comune.
Partecipate alla presentazione per immergervi in una storia di interoperabilità, standard e formati aperti, per poi discutere del ruolo importante che i contributori hanno in una comunità open source sostenibile.
BIO: Sostenitrice del software libero e dei formati standard e aperti. È stata un membro attivo dei progetti Fedora e openSUSE e ha co-fondato l'Associazione LibreItalia dove è stata coinvolta in diversi eventi, migrazioni e formazione relativi a LibreOffice. In precedenza ha lavorato a migrazioni e corsi di formazione su LibreOffice per diverse amministrazioni pubbliche e privati. Da gennaio 2020 lavora in SUSE come Software Release Engineer per Uyuni e SUSE Manager e quando non segue la sua passione per i computer e per Geeko coltiva la sua curiosità per l'astronomia (da cui deriva il suo nickname deneb_alpha).
Monitoring and Managing Anomaly Detection on OpenShift.pdfTosin Akinosho
Monitoring and Managing Anomaly Detection on OpenShift
Overview
Dive into the world of anomaly detection on edge devices with our comprehensive hands-on tutorial. This SlideShare presentation will guide you through the entire process, from data collection and model training to edge deployment and real-time monitoring. Perfect for those looking to implement robust anomaly detection systems on resource-constrained IoT/edge devices.
Key Topics Covered
1. Introduction to Anomaly Detection
- Understand the fundamentals of anomaly detection and its importance in identifying unusual behavior or failures in systems.
2. Understanding Edge (IoT)
- Learn about edge computing and IoT, and how they enable real-time data processing and decision-making at the source.
3. What is ArgoCD?
- Discover ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes, and its role in deploying applications on edge devices.
4. Deployment Using ArgoCD for Edge Devices
- Step-by-step guide on deploying anomaly detection models on edge devices using ArgoCD.
5. Introduction to Apache Kafka and S3
- Explore Apache Kafka for real-time data streaming and Amazon S3 for scalable storage solutions.
6. Viewing Kafka Messages in the Data Lake
- Learn how to view and analyze Kafka messages stored in a data lake for better insights.
7. What is Prometheus?
- Get to know Prometheus, an open-source monitoring and alerting toolkit, and its application in monitoring edge devices.
8. Monitoring Application Metrics with Prometheus
- Detailed instructions on setting up Prometheus to monitor the performance and health of your anomaly detection system.
9. What is Camel K?
- Introduction to Camel K, a lightweight integration framework built on Apache Camel, designed for Kubernetes.
10. Configuring Camel K Integrations for Data Pipelines
- Learn how to configure Camel K for seamless data pipeline integrations in your anomaly detection workflow.
11. What is a Jupyter Notebook?
- Overview of Jupyter Notebooks, an open-source web application for creating and sharing documents with live code, equations, visualizations, and narrative text.
12. Jupyter Notebooks with Code Examples
- Hands-on examples and code snippets in Jupyter Notebooks to help you implement and test anomaly detection models.
5th LF Energy Power Grid Model Meet-up SlidesDanBrown980551
5th Power Grid Model Meet-up
It is with great pleasure that we extend to you an invitation to the 5th Power Grid Model Meet-up, scheduled for 6th June 2024. This event will adopt a hybrid format, allowing participants to join us either through an online Mircosoft Teams session or in person at TU/e located at Den Dolech 2, Eindhoven, Netherlands. The meet-up will be hosted by Eindhoven University of Technology (TU/e), a research university specializing in engineering science & technology.
Power Grid Model
The global energy transition is placing new and unprecedented demands on Distribution System Operators (DSOs). Alongside upgrades to grid capacity, processes such as digitization, capacity optimization, and congestion management are becoming vital for delivering reliable services.
Power Grid Model is an open source project from Linux Foundation Energy and provides a calculation engine that is increasingly essential for DSOs. It offers a standards-based foundation enabling real-time power systems analysis, simulations of electrical power grids, and sophisticated what-if analysis. In addition, it enables in-depth studies and analysis of the electrical power grid’s behavior and performance. This comprehensive model incorporates essential factors such as power generation capacity, electrical losses, voltage levels, power flows, and system stability.
Power Grid Model is currently being applied in a wide variety of use cases, including grid planning, expansion, reliability, and congestion studies. It can also help in analyzing the impact of renewable energy integration, assessing the effects of disturbances or faults, and developing strategies for grid control and optimization.
What to expect
For the upcoming meetup we are organizing, we have an exciting lineup of activities planned:
-Insightful presentations covering two practical applications of the Power Grid Model.
-An update on the latest advancements in Power Grid -Model technology during the first and second quarters of 2024.
-An interactive brainstorming session to discuss and propose new feature requests.
-An opportunity to connect with fellow Power Grid Model enthusiasts and users.
Programming Foundation Models with DSPy - Meetup SlidesZilliz
Prompting language models is hard, while programming language models is easy. In this talk, I will discuss the state-of-the-art framework DSPy for programming foundation models with its powerful optimizers and runtime constraint system.
Ivanti’s Patch Tuesday breakdown goes beyond patching your applications and brings you the intelligence and guidance needed to prioritize where to focus your attention first. Catch early analysis on our Ivanti blog, then join industry expert Chris Goettl for the Patch Tuesday Webinar Event. There we’ll do a deep dive into each of the bulletins and give guidance on the risks associated with the newly-identified vulnerabilities.
Your One-Stop Shop for Python Success: Top 10 US Python Development Providersakankshawande
Simplify your search for a reliable Python development partner! This list presents the top 10 trusted US providers offering comprehensive Python development services, ensuring your project's success from conception to completion.
Taking AI to the Next Level in Manufacturing.pdfssuserfac0301
Read Taking AI to the Next Level in Manufacturing to gain insights on AI adoption in the manufacturing industry, such as:
1. How quickly AI is being implemented in manufacturing.
2. Which barriers stand in the way of AI adoption.
3. How data quality and governance form the backbone of AI.
4. Organizational processes and structures that may inhibit effective AI adoption.
6. Ideas and approaches to help build your organization's AI strategy.
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxSitimaJohn
Ocean Lotus cyber threat actors represent a sophisticated, persistent, and politically motivated group that poses a significant risk to organizations and individuals in the Southeast Asian region. Their continuous evolution and adaptability underscore the need for robust cybersecurity measures and international cooperation to identify and mitigate the threats posed by such advanced persistent threat groups.
Generating privacy-protected synthetic data using Secludy and MilvusZilliz
During this demo, the founders of Secludy will demonstrate how their system utilizes Milvus to store and manipulate embeddings for generating privacy-protected synthetic data. Their approach not only maintains the confidentiality of the original data but also enhances the utility and scalability of LLMs under privacy constraints. Attendees, including machine learning engineers, data scientists, and data managers, will witness first-hand how Secludy's integration with Milvus empowers organizations to harness the power of LLMs securely and efficiently.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/building-and-scaling-ai-applications-with-the-nx-ai-manager-a-presentation-from-network-optix/
Robin van Emden, Senior Director of Data Science at Network Optix, presents the “Building and Scaling AI Applications with the Nx AI Manager,” tutorial at the May 2024 Embedded Vision Summit.
In this presentation, van Emden covers the basics of scaling edge AI solutions using the Nx tool kit. He emphasizes the process of developing AI models and deploying them globally. He also showcases the conversion of AI models and the creation of effective edge AI pipelines, with a focus on pre-processing, model conversion, selecting the appropriate inference engine for the target hardware and post-processing.
van Emden shows how Nx can simplify the developer’s life and facilitate a rapid transition from concept to production-ready applications.He provides valuable insights into developing scalable and efficient edge AI solutions, with a strong focus on practical implementation.
Fueling AI with Great Data with Airbyte WebinarZilliz
This talk will focus on how to collect data from a variety of sources, leveraging this data for RAG and other GenAI use cases, and finally charting your course to productionalization.
3. Run-Time Messages and Alerts Overview System Application Alerts Messages Informative Error Working Application
4.
5.
6.
7.
8.
9. Message Severity Levels > 25 20 15 10 5 0 25 All (default) More critical Define by: :SYSTEM.MESSAGE_LEVEL
10.
11. Suppressing Messages :SYSTEM.MESSAGE_LEVEL := ’5’; UP; IF NOT FORM_SUCCESS THEN MESSAGE(’Already at the first Order’); END IF; :SYSTEM.MESSAGE_LEVEL := ’0’; :SYSTEM.SUPPRESS_WORKING := ’TRUE’;
12.
13. The FORM_TRIGGER_FAILURE Exception BEGIN - - RAISE form_trigger_failure; - - EXCEPTION - - WHEN <exception> THEN RAISE form_trigger_failure; - - Fail trigger END;
27. Causes of Oracle Server Errors Base table block Implicit DML Trigger/PU Explicit DML Stored PU call Declarative constraint Database trigger Stored program unit Form Oracle Server
28.
29. Trapping Server Errors Base table block On-Error: DBMS_ERROR_CODE DBMS_ERROR_TEXT Explicit DML/PU call When Others: SQLCODE SQLERRM Constraint DB trigger Stored PU Form Oracle Server Predefined message RAISE_ APPLICATION_ ERROR RAISE_ APPLICATION_ ERROR
30.
31.
32.
33.
34.
Editor's Notes
Introduction Overview This lesson shows you how to intercept system messages, and if desired, replace them with ones that are more suitable for your application. You will also learn how to handle errors by using built-in subprograms, and how to build customized alerts for communicating with users.
Run-Time Messages and Alerts Overview Forms displays messages at run time to inform the operator of events that occur in the session. As the designer, you may want to either suppress or modify some of these messages, depending on the nature of the application. Forms can communicate with the user in the following ways: Informative message: A message tells the user the current state of processing, or gives context-sensitive information. The default display is on the message line. You can suppress its appearance with an On-Message trigger. Error message: This informs the user of an error that prevents the current action. The default display is on the message line. You can suppress message line errors with an On-Error trigger. Working message: This tells the operator that the form is currently processing (for example: Working...). This is shown on the message line. This type of message can be suppressed by setting the system variable SUPPRESS_WORKING to True: :SYSTEM.SUPPRESS_WORKING := ’TRUE’;
Run-Time Messages and Alerts Overview (continued) System alert: Alerts give information to the operator that require either an acknowledgment or an answer to a question before processing can continue. This is displayed as a modal window. When more than one message is waiting to show on the message line, the current message also displays as an alert. You can also build messages and alerts into your application: Application message: These are messages that you build into your application by using the MESSAGE built-in. The default display is on the message line. Application alert: These are alerts that you design as part of your application, and issue to the operator for a response by using the SHOW_ALERT built-in.
Built-Ins and Handling Errors When a built-in subprogram fails, it does not directly cause an exception in the calling trigger or program unit. This means that subsequent code continues after a built-in fails, unless you take action to detect a failure. Example A button in the CONTROL block called Stock_Button is situated on the Toolbar canvas of the ORDERS form. When clicked, this When-Button-Pressed trigger navigates to the INVENTORIES block, and performs a query there. GO_BLOCK(‘INVENTORIES’); EXECUTE_QUERY; If the GO_BLOCK built-in procedure fails because the INVENTORIES block does not exist, or because it is nonenterable, then the EXECUTE_QUERY procedure still executes, and attempts a query in the wrong block.
Built-Ins and Handling Errors (continued) Built-In functions for detecting success and failure Forms Builder supplies some functions that indicate whether the latest action in the form was successful. Note: These built-in functions return success or failure of the latest action in the form. The failing action may occur in a trigger that fired as a result of a built-in from the first trigger. For example, the EXECUTE_QUERY procedure, can cause a Pre-Query trigger to fire, which may itself fail.
Errors and Built-Ins It is usually most practical to use FORM_SUCCESS , because this returns FALSE if either a fatal or a nonfatal error occurs. You can then code the trigger to take appropriate action. Example of FORM_SUCCESS Here is the same trigger again. This time, the FORM_SUCCESS function is used in a condition to decide if the query should be performed, depending on the success of the GO_BLOCK action. GO_BLOCK(’INVENTORIES’); IF FORM_SUCCESS THEN EXECUTE_QUERY; ELSE MESSAGE(’An error occurred while navigating to Stock’); END IF; Triggers fail only if there is an unhandled exception or you raise the FORM_TRIGGER_FAILURE exception to fail the trigger in a controlled manner.
Errors and Built-Ins (continued) Note: The program unit CHECK_PACKAGE_FAILURE , which is written when you build master-detail blocks, may be called to fail a trigger if the last action was unsuccessful. Built-in Functions to Determine the Error When you detect an error, you may need to identify it to take a specific action. Three more built-in functions provide this information: These built-ins are explained in detail later in this lesson.
Controlling System Messages Suppressing messages according to their severity You can prevent system messages from being issued, based on their severity level. Forms Builder classifies every message with a severity level that indicates how critical or trivial the information is; the higher the numbers, the more critical the message. There are six levels that you can affect.
Controlling System Messages (continued) Suppressing messages according to their severity (continued) In a trigger, you can specify that only messages above a specified severity level are to be issued by the form. You do this by assigning a value to the system variable MESSAGE_LEVEL . Forms then only issues messages that are above the severity level defined in this variable. The default value for MESSAGE_LEVEL (at form startup) is 0. This means that messages of all severities are displayed.
Example of Suppressing Messages The following When-Button-Pressed trigger moves up one record, using the built-in procedure UP. If the cursor is already on the first record, the built-in fails and the following message usually displays: FRM-40100: At first record . This is a severity level 5 message. However the trigger suppresses this, and outputs its own application message instead. The trigger resets the message level to normal (0) afterwards. :SYSTEM.MESSAGE_LEVEL := ’5’; UP; IF NOT FORM_SUCCESS THEN MESSAGE(’Already at the first Order’); END IF; :SYSTEM.MESSAGE_LEVEL := ’0’;
Example of Suppressing Messages (continued) Suppressing working messages Working messages are displayed when the Forms is busy processing an action. For example, while querying you receive the message: Working... . You can suppress this message by setting the system variable SUPPRESS_WORKING to True: :SYSTEM.SUPPRESS_WORKING := ’TRUE’; Note: You can set these system variables as soon as the form starts up, if required, by performing the assignments in a When-New-Form-Instance trigger.
The FORM_TRIGGER_FAILURE Exception Triggers fail only when one of the following occurs: During an Unhandled Exception When you request the trigger to fail by raising the built-in exception FORM_TRIGGER_FAILURE This exception is defined and handled by Forms Builder, beyond the visible trigger text that you write. You can raise this exception: In the executable part of a trigger, to skip remaining actions and fail the trigger In an exception handler, to fail the trigger after your own exception handling actions have been obeyed In either case, Forms Builder has its own exception handler for FORM_TRIGGER_FAILURE , which fails the trigger but does not cause an unhandled exception. This means that you can fail the trigger in a controlled manner.
The FORM_TRIGGER_FAILURE Exception (continued) Example This example adds an action to the exception handler of the When-Validate-Item trigger for the Customer_ID item. It raises an exception to fail the trigger when the message is sent, and therefore traps the user in the Customer_ID item: SELECT cust_first_name || ‘ ‘ || cust_last_name INTO :ORDERS.customer_name FROM CUSTOMERS WHERE customer_id = :ORDERS.customer_id; EXCEPTION WHEN no_data_found THEN MESSAGE(’Customer with this ID not found’); RAISE form_trigger_failure;
Triggers for Intercepting System Messages By writing triggers that fire on message events you can intercept system messages before they are displayed on the screen. These triggers are: On-Error: Fires on display of a system error message On-Message: Fires on display of an informative system message These triggers replace the display of a message, so that no message is seen by the operator unless you issue one from the trigger itself. You can define these triggers at any level. For example, an On-Error trigger at item level only intercepts error messages that occur while control is in that item. However, if you define one or both of these triggers at form level, all messages that cause them to fire will be intercepted regardless of which object in the current form causes the error or message. On-Error Trigger Use this trigger to: Detect Forms and Oracle Server errors. This trigger can perform corrective actions based on the error that occurred. Replace the default error message with a customized message for this application.
Triggers for Intercepting System Messages (continued) Remember that you can use the built-in functions ERROR_CODE , ERROR_TEXT , and ERROR_TYPE to identify the details of the error, and possibly use this information in your own message. Example of an On-Error Trigger This On-Error trigger sends a customized message for error 40202 (field must be entered), but reconstructs the standard system message for all other errors. IF ERROR_CODE = 40202 THEN MESSAGE(’You must fill in this field for an Order’); ELSE MESSAGE(ERROR_TYPE || ’-’ || TO_CHAR(ERROR_CODE) || ’: ’ || ERROR_TEXT); END IF; RAISE FORM_TRIGGER_FAILURE;
On-Message Trigger Use this trigger to suppress informative messages, replacing them with customized application messages, as appropriate. You can handle messages in On-Message in a similar way to On-Error. However, because this trigger fires due to informative messages, you will use different built-ins to determine the nature of the current message.
On-Message Trigger (continued) Note: These functions return information about the most recent message that was issued. If your applications must be supported in more than one national language, then use MESSAGE_CODE in preference to MESSAGE_TEXT when checking a message. Example of an On-Message trigger This On-Message trigger modifies the “Query caused no records to be retrieved” message (40350) and the “ Query caused no records to be retrieved. Re-enter.” message (40301):. IF MESSAGE_CODE in (40350,40301) THEN MESSAGE(’No Orders found-check your search values’); ELSE MESSAGE(MESSAGE_TYPE || ’-’ || TO_CHAR(MESSAGE_CODE) ||: ’|| MESSAGE_TEXT); END IF;
Setting Alert Properties Example The slide shows a generic example of an alert, showing all three icons and buttons that can be defined.
Creating and Controlling Alerts Alerts are an alternative method for communicating with the operator. Because they display in a modal window, alerts provide an effective way of drawing attention and forcing the operator to answer the message before processing can continue. Use alerts when you need to perform the following: Display a message that the operator cannot ignore, and must acknowledge. Ask the operator a question where up to three answers are appropriate (typically Yes, No, or Cancel). You handle the display and responses to an alert by using built-in subprograms. Alerts are therefore managed in two stages: Create the alert at design-time, and define its properties in the Property palette. Activate the alert at run time by using built-ins, and take action based on the operator’s returned response. How to create an alert Like other objects you create at design-time, alerts are created from the Object Navigator. Select the Alerts node in the Navigator, and then select Create. Define the properties of the alert in the Property Palette. The properties that you can specify for an alert include the following:
Planning Alerts: How Many Do You Need? Potentially, you can create an alert for every separate alert message that you need to display, but this is usually unnecessary. You can define a message for an alert at run time, before it is displayed to the operator. A single alert can be used for displaying many messages, providing that the available buttons are suitable for responding to the messages. Create an alert for each combination of: Alert style required Set of available buttons (and labels) for operator response For example, an application might require one Note-style alert with a single button (OK) for acknowledgment, one Caution alert with a similar button, and two Stop alerts that each provide a different combination of buttons for a reply. You can then assign a message to the appropriate alert before its display, through the SET_ALERT_PROPERTY built-in procedure.
Controlling Alerts at Run Time There are built-in subprograms to change an alert message, to change alert button labels, and to display the alert, which returns the operator’s response to the calling trigger. SET_ALERT_PROPERTY procedure Use this built-in to change the message that is currently assigned to an alert. At form startup, the default message (as defined in the Property palette) is initially assigned: SET_ALERT_PROPERTY(’alert_name’,property,’message’)
Controlling Alerts at Run Time (continued) SET_ALERT_BUTTON_PROPERTY procedure Use this built-in to change the label on one of the alert buttons: SET_ALERT_BUTTON_PROPERTY(’alert_name’, button, property, ’value’)
SHOW_ALERT Function SHOW_ALERT is how you display an alert at run time, and return the operator’s response to the calling trigger: selected_button := SHOW_ALERT(’alert_name’); . . . Alert_Name is the name of the alert, as defined in the builder. You can alternatively specify an Alert_Id (unquoted) for this argument. SHOW_ALERT returns a NUMBER constant, that indicates which of the three possible buttons the user clicked in response to the alert. These numbers correspond to the values of three PL/SQL constants, which are predefined by the Forms Builder: After displaying an alert that has more than one button, you can determine which button the operator clicked by comparing the returned value against the corresponding constants.
SHOW_ALERT Function (continued) Example A trigger that fires when the user attempts to delete a record might invoke the alert, shown opposite, to obtain confirmation. If the operator selects Yes, then the DELETE_RECORD built-in is called to delete the current record from the block. IF SHOW_ALERT(’del_check’) = ALERT_BUTTON1 THEN DELETE_RECORD; END IF;
Directing Errors to an Alert You may want to display errors automatically in an alert, through an On-Error trigger. The built-in functions that return error information, such as ERROR_TEXT , can be used in the SET_ALERT_PROPERTY procedure, to construct the alert message for display. Example: The following user-named procedure can be called when the last form action was unsuccessful. The procedure fails the calling trigger and displays Error_Alert containing the error information. PROCEDURE alert_on_failure IS n NUMBER; BEGIN SET_ALERT_PROPERTY(’error_alert’, ALERT_MESSAGE_TEXT, ERROR_TYPE||’-’||TO_CHAR(ERROR_CODE)||’: ’ || ERROR_TEXT); n := SHOW_ALERT(’error_alert’); END; Note: If you want the trigger to fail, include a call to RAISE form_trigger_failure .
Handling Errors Raised by the Oracle Database Server Oracle server errors can occur for many different reasons , such as violating a declarative constraint or encountering a stored program unit error. You should know how to handle errors that may occur in different situations. Causes of Oracle Server Errors
Handling Errors Raised by the Oracle Database Server (continued) Types of DML statements Declarative-constraint violations and firing of database triggers are in turn caused by DML statements. For error-handling purposes, you must distinguish between the following two types of DML statements: FRM-Error messages caused by implicit DML errors If an implicit DML statement causes an Oracle server error, Forms displays one of these FRM-error messages: FRM-40508: ORACLE error: unable to INSERT record. FRM-40509: ORACLE error: unable to UPDATE record. FRM-40510: ORACLE error: unable to DELETE record. You can use ERROR_CODE to trap these errors in an On-Error trigger and then use DBMS_ERROR_CODE and DBMS_ERROR_TEXT to determine the ORA-error code and message. FRM-Error messages with Web-deployed Forms Users may receive a generic FRM-99999 error. You can obtain meaningful information about this error from the JInitiator Control Panel.
How to Trap Different Types of Oracle Database Server Errors Note: Declarative-constraint violations and database triggers may be caused by both implicit DML and explicit DML. Stored program units are always called explicitly from a trigger or program unit. Technical Note The values of DBMS_ERROR_CODE and DBMS_ERROR_TEXT are the same as what a user would see after selecting Help > Display Error; the values are not automatically reset following successful execution.
Summary In this lesson, you should have learned how to intercept system messages, and how to replace them with ones that are more suitable for your application. You also learned how to build customized alerts for communicating with operators. Test for failure of built-ins by using the FORM_SUCCESS built-in function or other built-in functions. Forms messages can be either Informative, Error, Working, or Application messages.
Summary (continued) Set system variables to suppress system messages: Assign a value to MESSAGE_LEVEL to specify that only messages above a specific severity level are to be used by the form. Assign a value of True to SUPPRESS_WORKING to suppress all working messages. On-Error and On-Message triggers intercept system error messages and informative system messages. You can use the built-ins ERROR_CODE , ERROR_TEXT , ERROR_TYPE , MESSAGE_CODE , MESSAGE_TEXT , or MESSAGE_TYPE to obtain information about the number, text, and type of errors and messages. Alert types: Stop, Caution, and Note Up to three buttons are available for response ( NULL indicates no button). Display alerts and change alert messages at run time with SHOW_ALERT and SET_ALERT_PROPERTY .
Summary (continued) Intercept and handle server-side errors.
Practice 17 Overview In this practice, you create some alerts. These include a general alert for questions and a specific alert that is customized for credit limit. Using an alert to inform the operator that the customer’s credit limit has been exceeded Using a generic alert to ask the operator to confirm that the form should terminate Note: For solutions to this practice, see Practice 17 in Appendix A, “Practice Solutions.”
Practice 17 1. Create an alert in CUSTG XX called Credit_Limit_Alert with one OK button. The message should read “This customer's current orders exceed the new credit limit”. 2. Alter the When-Radio-Changed trigger on Credit_Limit to show the Credit_Limit_Alert instead of the message when a customer’s credit limit is exceeded. 3. Save and compile the form. Click Run Form to run the form and test the changes. 4. Create a generic alert in ORDG XX called Question_Alert that allows Yes and No replies. 5. Alter the When-Button-Pressed trigger on CONTROL.Exit_Button to use the Question_Alert to ask the operator to confirm that the form should terminate. (You can import the text from pr17_4.txt .) 6. Save and compile the form. Click Run Form to run the form and test the changes.