Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Creating Multiple Form Applications
http://ebiztechnics.blogspot.com
Objectives
• Describe the different ways of invoking additional forms
• Open, call, and close forms
• Navigation between f...
OPEN_FORM Built-in
A B
OPEN_FORM(’form_name’, activate_mode,
session_mode, data_mode, paramlist);
• Modeless
• Different t...
Characteristics of OPEN_FORM
• Restricted
• Not valid in Enter Query mode
• No savepoint issued
• Modeless with respect to...
Navigating Between Forms
Built-ins for navigation between forms:
• NEXT_FORM
• PREVIOUS_FORM
• GO_FORM
http://ebiztechnics...
Navigating Between Forms
Navigation and validation aspects:
• Each open form has a current item.
• There is no validation ...
Open Forms with the Same Session
• Commit processing in all forms within
the same session, in a certain order
• If error o...
Open Forms in Different Sessions
Runform Server
Connection
A
B
C
Session
http://ebiztechnics.blogspot.com
CALL_FORM Built-in
A B
CALL_FORM(‘form_name’, display,
switch_menu, query_mode,
data_mode, paramlist);
• Modal
• Returns t...
Characteristics of CALL_FORM
• Unrestricted
• Valid in Enter Query mode
• Savepoint issued
• Modal with respect to calling...
Save Not Allowed in
Post-Only Mode Form
A calling form has unapplied changes.
Save not allowed.
http://ebiztechnics.blogsp...
Transaction Processing for Called Forms
• Characteristics of Post-Only mode:
– Commit not allowed, only a post
– Full roll...
Transaction Processing for Called Forms
IF <form called> THEN
POST;
ELSE
COMMIT_FORM;
END IF;
• Examples of adjusting defa...
Transaction Processing for Called Forms
Key-Exit on form
Adjust labels of corresponding buttons and menu items
IF <form ca...
NEW_FORM Built-in
A B
NEW_FORM(’form_name’, rollback_mode,
query_mode, data_mode,
paramlist);
Replaces calling form
http:/...
Controlling Opened and Called Forms
Form A
CALL_FORM
Form B
Form C
OPEN_FORM
Form D
OPEN_FORM
CALL_FORM
Form E
Form F
CALL...
Different Ways of Invoking Forms
• When to use OPEN_FORM
• When to open a form in a new session
• When to use CALL_FORM
• ...
Closing a Form
• CLOSE_FORM:
– form_name
– form_id
• Characteristics of CLOSE_FORM:
– Restricted
– Not valid in Enter-Quer...
Using Form Parameters
• What is a
form
parameter?
• How to
create a
form
parameter?
http://ebiztechnics.blogspot.com
Passing Values to Form
P1
P2
P3
Runform
command line
Design-time
parameters
Form B
Parameter
list
OPEN_FORM
CALL_FORM
NEW_...
Using Form Parameter Values
• Passing a form parameter at run time:
from command line.
• ifrun60 module=empl.fmx userid=sc...
Parameter Lists
OPEN_FORM( …, )
CALL_FORM( …, )
NEW_FORM( …, )
DEPT_ID
CUST
TEXT_PARAMETER
DATA_PARAMETER
‘30’
‘CUST_RG’
P...
Parameter List Built-ins
DEPT_ID
CUST
TEXT_PARAMETER
DATA_PARAMETER
‘30’
‘CUST_RG’
Key Type Value
ADD_PARAMETER
GET_PARAME...
Passing Data Between Forms
P1
P2
P3
P1
P2
P3
OPEN_FORM(*)
1. If a parameter list exists, destroy it.
2. Create a parameter...
Passing Data Between Forms
• Characteristics of form parameters:
– Can be used only as input parameters
– Have data type C...
Summary
• Open, call, and close forms:
– OPEN_FORM, CALL_FORM, and CLOSE_FORM
– Multiple database sessions
• Navigate betw...
Upcoming SlideShare
Loading in …5
×

Oracle Forms : Multiple Forms

2,551 views

Published on

Creating multiple form applications

Published in: Software
  • Be the first to comment

  • Be the first to like this

Oracle Forms : Multiple Forms

  1. 1. Creating Multiple Form Applications http://ebiztechnics.blogspot.com
  2. 2. Objectives • Describe the different ways of invoking additional forms • Open, call, and close forms • Navigation between forms • Control opened forms and called forms • Manage transaction processing for opened forms and called forms • Choose the most appropriate method for invoking forms • Pass form parameters http://ebiztechnics.blogspot.com
  3. 3. OPEN_FORM Built-in A B OPEN_FORM(’form_name’, activate_mode, session_mode, data_mode, paramlist); • Modeless • Different transaction scopes http://ebiztechnics.blogspot.com
  4. 4. Characteristics of OPEN_FORM • Restricted • Not valid in Enter Query mode • No savepoint issued • Modeless with respect to other opened forms • Session run time option: FORMS60_SESSION http://ebiztechnics.blogspot.com
  5. 5. Navigating Between Forms Built-ins for navigation between forms: • NEXT_FORM • PREVIOUS_FORM • GO_FORM http://ebiztechnics.blogspot.com
  6. 6. Navigating Between Forms Navigation and validation aspects: • Each open form has a current item. • There is no validation when navigating between forms. • No triggers fire when navigating between forms, except the When-Window-Activated/Deactivated and When-Form-Navigate triggers. • Click the noncurrent item in the other form. http://ebiztechnics.blogspot.com
  7. 7. Open Forms with the Same Session • Commit processing in all forms within the same session, in a certain order • If error occurs, then focus set to initiating form • Messages per open form within the same session • CLEAR_FORM usually causes a ROLLBACK statement http://ebiztechnics.blogspot.com
  8. 8. Open Forms in Different Sessions Runform Server Connection A B C Session http://ebiztechnics.blogspot.com
  9. 9. CALL_FORM Built-in A B CALL_FORM(‘form_name’, display, switch_menu, query_mode, data_mode, paramlist); • Modal • Returns to calling form http://ebiztechnics.blogspot.com
  10. 10. Characteristics of CALL_FORM • Unrestricted • Valid in Enter Query mode • Savepoint issued • Modal with respect to calling form • Does not cause navigation and validation • Forms called from query-only form are always query-only • Exiting a called form http://ebiztechnics.blogspot.com
  11. 11. Save Not Allowed in Post-Only Mode Form A calling form has unapplied changes. Save not allowed. http://ebiztechnics.blogspot.com
  12. 12. Transaction Processing for Called Forms • Characteristics of Post-Only mode: – Commit not allowed, only a post – Full rollback not allowed, only a rollback to savepoint • Rollback behavior of called forms • Call savepoints and post savepoints http://ebiztechnics.blogspot.com
  13. 13. Transaction Processing for Called Forms IF <form called> THEN POST; ELSE COMMIT_FORM; END IF; • Examples of adjusting default transaction processing: • Key-Commit on form http://ebiztechnics.blogspot.com
  14. 14. Transaction Processing for Called Forms Key-Exit on form Adjust labels of corresponding buttons and menu items IF <form called> THEN EXIT_FORM ELSE EXIT_FORM; END IF; http://ebiztechnics.blogspot.com
  15. 15. NEW_FORM Built-in A B NEW_FORM(’form_name’, rollback_mode, query_mode, data_mode, paramlist); Replaces calling form http://ebiztechnics.blogspot.com
  16. 16. Controlling Opened and Called Forms Form A CALL_FORM Form B Form C OPEN_FORM Form D OPEN_FORM CALL_FORM Form E Form F CALL_FORM Form A+B+E = Call form stack http://ebiztechnics.blogspot.com
  17. 17. Different Ways of Invoking Forms • When to use OPEN_FORM • When to open a form in a new session • When to use CALL_FORM • When to use NEW_FORM http://ebiztechnics.blogspot.com
  18. 18. Closing a Form • CLOSE_FORM: – form_name – form_id • Characteristics of CLOSE_FORM: – Restricted – Not valid in Enter-Query mode – CLOSE_FORM or EXIT_FORM – Cannot close a form that called another form http://ebiztechnics.blogspot.com
  19. 19. Using Form Parameters • What is a form parameter? • How to create a form parameter? http://ebiztechnics.blogspot.com
  20. 20. Passing Values to Form P1 P2 P3 Runform command line Design-time parameters Form B Parameter list OPEN_FORM CALL_FORM NEW_FORM Form A Run time http://ebiztechnics.blogspot.com
  21. 21. Using Form Parameter Values • Passing a form parameter at run time: from command line. • ifrun60 module=empl.fmx userid=scott/tiger@trn9 dept_id=30 • Referencing form parameters from within a module: – :PARAMETER.parameter_name – ‘PARAMETER.parameter_name’ http://ebiztechnics.blogspot.com
  22. 22. Parameter Lists OPEN_FORM( …, ) CALL_FORM( …, ) NEW_FORM( …, ) DEPT_ID CUST TEXT_PARAMETER DATA_PARAMETER ‘30’ ‘CUST_RG’ Parameter List The default parameter list is DEFAULT http://ebiztechnics.blogspot.com
  23. 23. Parameter List Built-ins DEPT_ID CUST TEXT_PARAMETER DATA_PARAMETER ‘30’ ‘CUST_RG’ Key Type Value ADD_PARAMETER GET_PARAMETER_ATTR SET_PARAMETER_ATTR DELETE_PARAMETER DESTROY_PARAMETER_LIST Name Parameter list ID CREATE_PARAMETER_LIST http://ebiztechnics.blogspot.com
  24. 24. Passing Data Between Forms P1 P2 P3 P1 P2 P3 OPEN_FORM(*) 1. If a parameter list exists, destroy it. 2. Create a parameter list. 3. Add a text parameter to a list with the value of an item. 4. Open a form with this parameter list. Design-time parameters Form B Run time parameters Form A http://ebiztechnics.blogspot.com
  25. 25. Passing Data Between Forms • Characteristics of form parameters: – Can be used only as input parameters – Have data type CHAR, NUMBER, or DATE – CHAR parameter can be up to 64 K long – Can be design-time objects • Characteristics of global variables: – Are programmatic constructs – Have type CHAR(255) – Are visible to all forms in the current Runform session http://ebiztechnics.blogspot.com
  26. 26. Summary • Open, call, and close forms: – OPEN_FORM, CALL_FORM, and CLOSE_FORM – Multiple database sessions • Navigate between forms: – NEXT_FORM, PREVIOUS_FORM, and GO_FORM • Identify restrictions on the call form stack • Passing parameters to forms. http://ebiztechnics.blogspot.com

×