O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
Introduction to Multiple Form Applications
http://ebiztechnics.blogspot.com
Objectives
• Call one form from another from module
• Define Multiple form functionality
http://ebiztechnics.blogspot.com
Multiple Form Applications
• Behavior:
– Flexible navigation between windows
– Single or multiple database connections
– T...
Multiple Form Sessions
Form A
Forms
Runtime
Global variables
Form B
Open
Form C
Open
Form D
Open
http://ebiztechnics.blogs...
OPEN_FORM Built-in
MDI
FORM A
MDI
FORM A
Modeless
FORM B
OPEN_FORM
http://ebiztechnics.blogspot.com
Implementing Multiple Forms
1. Define windows and positions for each form.
2. Plan global variables and their names.
3. Im...
Linking by Global Variables
Employees
Departments
GLOBAL.dept_id
Deptno
http://ebiztechnics.blogspot.com
Opening Another Forms
:GLOBAL.dept_id:=:DEPT.deptno;
OPEN_FORM(‘employees’);
• Control passes immediately to the Employees...
Restricted Query at Startup
Execute_Query;
:EMP.deptno := :GLOBAL.dept_id;
When-New-Form-Instance - Form Level
Pre-Query -...
Global Variables in Opened Form
• Assign Global variables values in opened form with
DEFAULT_VALUE Built-in.
• DEFAULT_VAL...
Conditional Opening
:GLOBAL.dept_id := :DEPT.deptno;
IF ID_NULL(FIND_FORM(’EMPLOYEES’)) THEN
OPEN_FORM(’EMPLOYEES’);
ELSE
...
Closing a Form with EXIT_FORM
• The default functionality is the same as for the Exit key.
• The Commit_Mode argument defi...
Summary
• The OPEN_FORM built-in provides multiple concurrent
forms in a session.
• Forms communicate through global varia...
Próximos SlideShares
Carregando em…5
×

Oracle Forms: Introduction to multiple Forms

821 visualizações

Publicada em

Oracle Forms: Introduction to multiple Forms

Publicada em: Software
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Oracle Forms: Introduction to multiple Forms

  1. 1. Introduction to Multiple Form Applications http://ebiztechnics.blogspot.com
  2. 2. Objectives • Call one form from another from module • Define Multiple form functionality http://ebiztechnics.blogspot.com
  3. 3. Multiple Form Applications • Behavior: – Flexible navigation between windows – Single or multiple database connections – Transactions may span forms, if required – Commits in order of opening forms, starting with current form • Links: – Data is exchanged by global variables or parameter lists – Code is shared as required, through libraries and the database http://ebiztechnics.blogspot.com
  4. 4. Multiple Form Sessions Form A Forms Runtime Global variables Form B Open Form C Open Form D Open http://ebiztechnics.blogspot.com
  5. 5. OPEN_FORM Built-in MDI FORM A MDI FORM A Modeless FORM B OPEN_FORM http://ebiztechnics.blogspot.com
  6. 6. Implementing Multiple Forms 1. Define windows and positions for each form. 2. Plan global variables and their names. 3. Implement triggers to: • Open other forms • Initialize global variables from calling forms • Use global variables in opened forms http://ebiztechnics.blogspot.com
  7. 7. Linking by Global Variables Employees Departments GLOBAL.dept_id Deptno http://ebiztechnics.blogspot.com
  8. 8. Opening Another Forms :GLOBAL.dept_id:=:DEPT.deptno; OPEN_FORM(‘employees’); • Control passes immediately to the Employees form—no statements after OPEN_FORM are processed. • If the Activate_Mode argument is set to NO_ACTIVATE, you retain control in the current form. • The transaction continues unless it was explicitly committed before. http://ebiztechnics.blogspot.com
  9. 9. Restricted Query at Startup Execute_Query; :EMP.deptno := :GLOBAL.dept_id; When-New-Form-Instance - Form Level Pre-Query - Block Level http://ebiztechnics.blogspot.com
  10. 10. Global Variables in Opened Form • Assign Global variables values in opened form with DEFAULT_VALUE Built-in. • DEFAULT_VALUE ensures the existence of global variables. • You can use global variables to communicate that the form is running. • Pre-Form Example: DEFAULT_VALUE(‘ ‘,‘GLOBAL.dept_id’); http://ebiztechnics.blogspot.com
  11. 11. Conditional Opening :GLOBAL.dept_id := :DEPT.deptno; IF ID_NULL(FIND_FORM(’EMPLOYEES’)) THEN OPEN_FORM(’EMPLOYEES’); ELSE GO_FORM(’EMPLOYEES’); END IF; http://ebiztechnics.blogspot.com
  12. 12. Closing a Form with EXIT_FORM • The default functionality is the same as for the Exit key. • The Commit_Mode argument defines action on uncommitted changes. ENTER; IF :SYSTEM.FORM_STATUS = ’CHANGED’ THEN EXIT_FORM( DO_COMMIT ); ELSE EXIT_FORM( NO_COMMIT ); END IF; http://ebiztechnics.blogspot.com
  13. 13. Summary • The OPEN_FORM built-in provides multiple concurrent forms in a session. • Forms communicate through global variables: – Load key values in the parent form – Use global values in opened forms for When-New-Form-Instance and Pre-Query http://ebiztechnics.blogspot.com

×