oracle forms: introduction to multiple forms

13
Introduction to Multiple Form Applications http:// ebiztechnics.blogspot.com

Upload: sekhar-byna

Post on 10-Feb-2017

553 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Oracle Forms: Introduction to multiple Forms

Introduction to Multiple Form Applications

http://ebiztechnics.blogspot.com

Page 2: Oracle Forms: Introduction to multiple Forms

Objectives

• Call one form from another from module• Define Multiple form functionality

http://ebiztechnics.blogspot.com

Page 3: Oracle Forms: Introduction to multiple Forms

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

Page 4: Oracle Forms: Introduction to multiple Forms

Multiple Form Sessions

Form A

Forms Runtime

Global variables

Form BOpen

Form C

Open

Form D

Open

http://ebiztechnics.blogspot.com

Page 5: Oracle Forms: Introduction to multiple Forms

OPEN_FORM Built-in

MDI

FORM A

MDI

FORM A

Modeless

FORM BOPEN_FORM

http://ebiztechnics.blogspot.com

Page 6: Oracle Forms: Introduction to multiple Forms

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

Page 7: Oracle Forms: Introduction to multiple Forms

Linking by Global Variables

Employees

Departments

GLOBAL.dept_id

Deptno

http://ebiztechnics.blogspot.com

Page 8: Oracle Forms: Introduction to multiple Forms

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

Page 9: Oracle Forms: Introduction to multiple Forms

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

Page 10: Oracle Forms: Introduction to multiple Forms

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

Page 11: Oracle Forms: Introduction to multiple Forms

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

Page 12: Oracle Forms: Introduction to multiple Forms

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

Page 13: Oracle Forms: Introduction to multiple Forms

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