3[1].oracle forms 6i

Upload: rujutakulkarni2

Post on 06-Apr-2018

276 views

Category:

Documents


5 download

TRANSCRIPT

  • 8/3/2019 3[1].Oracle Forms 6i

    1/16

    ORACLE FORMS 6I

    Enterprise application developers need a declarative model-based

    approach. Oracle Designer and Oracle Forms Developer provide this

    solution, using Oracle Forms Services as the primary deployment option.

    What Is Oracle Forms Developer?

    A productive development environment for Internet business applications

    Data entry

    Query screens

    It provides a set of tools that enable business developers to easily and

    quickly construct

    sophisticated database forms and

    business logic with a minimum of effort.

    Oracle Forms Services?

    Oracle Forms Services is a component of Oracle9i Application Server for

    deliveringOracle Forms Developer applications to the Internet.

    Oracle Forms Services uses a three-tier architecture to deploy database

    applications:1. The client tier contains the Web browser, where the application is

    displayed and used.

    2. The middle tier is the application server, where the application logicand

    server software reside.

    3. The database tier is the database server, where enterprise data isstored.

  • 8/3/2019 3[1].Oracle Forms 6i

    2/16

    Form Builder Components

    1. Object Navigator

    The Object Navigator is a hierarchical browsing and editing interface that enables you

    to locate and manipulate application objects quickly and easily.

    Features include:

    A hierarchy represented by indentation and expandable nodes. Find field and icons, enabling forward and backward searches for any

    level of node or for an individual item in a node.

    Icons in the vertical toolbar replicating common File menu functions.

    An icon next to each object to indicate the object type.

    2. Property Palette

    All objects in a module, including the module itself, have properties that you can see

    and modify in the Property Palette.

    Features include: Copy and reuse properties from another object

    Find field and icons, similar to Object Navigator

    3. Layout Editor (or Layout Model)The Layout Editor is a graphical design facility for creating and arranging interface

    items and graphical objects in your application. When you use the Tool Palette and the

    Toolbar available in the Layout Editor, you can design the style, color, size, andarrangement of visual objects in the application.

    4. PL/SQL Editor

    The PL/SQL Editor is the integrated functionality of Oracle Procedure Builder that

    exists within the Form Builder.

    It provides:

    Development of triggers, procedures, functions, and packages in Oracle

    Forms Developer as well as the database

    Development of libraries to hold PL/SQL program units Statement-level debugging of PL/SQL at run time

  • 8/3/2019 3[1].Oracle Forms 6i

    3/16

    Types of BlocksIn Form Builder there are two main types of blocks:

    1. data blocks and2. control blocks.

    1. DATA BLOCKS

    A data block is associated with a specific database table (or

    view), a stored procedure, a FROM clause query, or transactional triggers.

    If it is based on a table (or view), the data block can be based on only onebase

    table

    2. Control Blocks

    A control block is not associated with a database, and its items donot relate to any columns within any database table.

    Its items are called control items.

    What Is a Window?A window is a container for all visual objects that make up a Form Builder application.

    It is similar to an empty picture frame.

    What Is a Canvas?A canvas is a surface inside a window container on which you place visual objects

    such as interface items and graphics.

    What Is a Content Canvas?

    A content canvas is the base canvas

    that occupies the entire content pane of the window in which it displays. The content

    canvas is the default canvas type.

    Form Builder provides three other types of canvases

    which are: Stacked canvas

    Toolbar canvas

    Tab canvas

    When you create a canvas, you specify its type by setting the Canvas Type property.The type determines how the canvas is displayed in the window to which it is

    assigned.

  • 8/3/2019 3[1].Oracle Forms 6i

    4/16

    What Is a Stacked Canvas?Astacked canvas is displayed on top of, or stacked on, the content canvas assigned to

    a window.

    What Is a Toolbar Canvas?

    A toolbar canvas is a special type of canvas that you can create to hold buttons andother frequently used GUI elements.

    The Three Toolbar Types Vertical toolbar: Use a vertical toolbar to position all your tool items

    down the left or right hand side of your window.

    Horizontal toolbar: Use a horizontal toolbar to position all your tool

    items and controls across the top or bottom of your window. MDI toolbar: Use an MDI toolbar to avoid creating more than one

    toolbar for a Form Builder application that uses multiple windows.

    What Is a Tab Canvas?A tab canvas is a special type of canvas that enables you to organize and displayrelated information on separate tabs.

  • 8/3/2019 3[1].Oracle Forms 6i

    5/16

    What Is a Trigger?A triggeris a program unit that is executed (fired) due to an event.

    You can use triggers to add or modify form functionality in a procedural wayEvery trigger that you define is associated with a specific event.

    events include the following: Query-related events

    Data entry and validation

    Logical navigation or physical mouse movement Operator interaction with items in the form

    Internal events in the form

    Errors and messages

    Trigger CharacteristicsYou write Form Builder triggers in PL/SQL.

    These triggers are mostly fired by events within a form module

    Trigger ComponentsThere are three main components to consider when you design a trigger in FormBuilder:

    Component Description

    1. Trigger type - Defines the specific event that will cause the trigger to fire

    2. Trigger code - The body of PL/SQL that defines the actions of the trigger

    3. Trigger scope - The level in a form module at which the trigger is defined

    determining the scope of events that will be detected by the trigger

    Trigger ScopeThe scope of a trigger is determined by its position in the form object hierarchy, thatis, the type of object under which you create the trigger.

    There are three possible levels:

    1. Form level - The trigger belongs to the form and can fire due to events across the

    entire form2. Block level - The trigger belongs to a block and can only fire when this block is the

    current block

    3. Item level - The trigger belongs to an individual item and can only fire when thisitem is the current item

  • 8/3/2019 3[1].Oracle Forms 6i

    6/16

    Trigger Type

    The trigger type determines which type of event fires it. There are more than 100 builtintriggers, each identified by a specific name.

    Trigger Prefix Description1. Key- Fires in place of the standard action of a function key

    2. On- Fires in place of standard processing (used to replace or bypass a

    process)3. Pre- Fires on an event that occurs just before an action (for example, before

    a query is executed)

    4.Post- Fires just after an action (for example, after a query is executed)

    5.When- Fires in addition to standard processing (used to augment functionality)

    Trigger Code

    The code of the trigger defines the actions for the trigger to perform when it fires.Write this code as an anonymous PL/SQL block by using the PL/SQL Editor.

    Using Smart TriggersSmart Triggers item expands to a list of common triggers that are appropriate for the

    selected object.

    Using Variables in Form BuilderIn triggers and subprograms, Form Builder generally accepts two types of variables forstoring values:

    1. PL/SQL variables: These must be declared in a DECLARE section, andremain available until the end of the declaring block. They are not

    prefixed by a colon. If declared in a PL/SQL package, a variable is

    accessible across all triggers that access this package.2. Form Builder variables: Variable types maintained by the Form Builder.

    These are seen by PL/SQL as external variables, and require a colon (:)

    prefix to distinguish them from PL/SQL objects (except when their

    name is passed as a character string to a subprogram). Form Buildervariables are notformally declared in a DECLARE section, and can

    exist outside the scope of a PL/SQL block.

  • 8/3/2019 3[1].Oracle Forms 6i

    7/16

    Form Builder VariablesThe following variables are available for the storage and manipulation of values:

    Form Builder Variable Type Description

    1. Item (text, list, check box, and so on)

    Scope: Current form and attached menuUse: Presentation and interaction with user

    2. Global variable

    Scope: All modules in current sessionUse: Session-wide storage of character data

    3. System variable

    Scope: Current form and attached menu

    Use: Form status and control4. Parameter

    Scope: Current module

    Use: Passing values in and out of module

  • 8/3/2019 3[1].Oracle Forms 6i

    8/16

    DESIGN FORM AS FOLLOWS

    EXECUTE CODE:

    GO_BLOCK('EMP');EXECUTE_QUERY;

    LAST : FIRST:GO_BLOCK('EMP'); GO_BLOCK('EMP');

    LAST_RECORD; FIRST_RECORD;

    NEXT:GO_BLOCK('EMP');

    NEXT_RECORD;

    PREVIOUS

    GO_BLOCK('EMP');

    PREVIOUS_RECORD;

    EXIT:

    EXIT_FORM;

  • 8/3/2019 3[1].Oracle Forms 6i

    9/16

    T_EMPNO POST_TEXT_ITEM

    SELECT ENAME,JOB,SAL,DEPTNO INTO

    :T_ENAME,:T_JOB,:T_SAL,:T_DEPTNO FROM EMP WHEREEMPNO=:T_EMPNO;

  • 8/3/2019 3[1].Oracle Forms 6i

    10/16

    DESIGN FORM AS FOLLOWS

    ADD CODE

    DECLARE

    N NUMBER;

    BEGINSELECT MAX(EMPNO) INTO N FROM EMP;

    IF N IS NULL THEN:T_EMPNO:=1001;

    ELSE

    :T_EMPNO:=N+1;

    END IF;END;

    SAVE CODE

    INSERT INTO EMP(EMPNO,ENAME,JOB,SAL,DEPTNO)

    VALUES(:T_EMPNO,:T_ENAME,:T_JOB,:T_SAL,:T_DEPTNO);COMMIT;

    CLEAR_FORM;

  • 8/3/2019 3[1].Oracle Forms 6i

    11/16

    MODIFY

    UPDATE EMP SET

    ENAME=:T_ENAME,JOB=:T_JOB,SAL=:T_SAL,DEPTNO=:T_DEPTNO WHERE

    EMPNO=:T_EMPNO;COMMIT;

    CLEAR_FORM;

    DELETE

    DELETE FROM EMP WHERE EMPNO=:T_EMPNO;

    COMMIT;CLEAR_FORM;

    FIND

    IF :T_EMPNO IS NULL THEN

    :T_EMPNO:=7654;ELSE

    SELECT ENAME,JOB,SAL,DEPTNO INTO

    :T_ENAME,:T_JOB,:T_SAL,:T_DEPTNO FROM EMP WHERE

    EMPNO=:T_EMPNO;END IF;

    CLEAR

    CLEAR_FORM;

    EXIT

    EXIT_FORM;

    T_JOB POST_TEXT_ITEM

    if :T_JOB='CLERK' THEN:T_SAL:=1200;

    ELSif :T_JOB='MANAGER' THEN

    :T_SAL:=2200;ELSE

    :T_SAL:=3200;

    END IF;

  • 8/3/2019 3[1].Oracle Forms 6i

    12/16

    LOV

    - FOR FINDING RECORDS CREATE AN LOV

    - CALLING LOV WHEN YOU CLICK ON FIND BUTTON

    DECLAREN BOOLEAN;

    BEGIN

    N:=SHOW_LOV('LOV11');END;

  • 8/3/2019 3[1].Oracle Forms 6i

    13/16

    ALERTS

    CREATE AN ALERT TO CALL WHEN EVER YOU TRY TO EXIT FROM FORM

    - IN EXIT BUTTON WRITE FOLLOWING CODE

    DECLARE

    N NUMBER;BEGIN

    N:=SHOW_ALERT('ALERT28');

    IF N=ALERT_BUTTON1 THENEXIT_FORM;

    ELSE

    GO_BLOCK('BLOCK3');END IF;

    END;

  • 8/3/2019 3[1].Oracle Forms 6i

    14/16

    WORKING WITH PROGRAM UNITS

    CREATE A PROCEDURE TO CALL WHEN YOU CLICK ON EXIT BUTTON

    NOW WRITE FOLLOWING CODE

    PROCEDURE CLOSEFORM IS

    N NUMBER;

    BEGIN

    N:=SHOW_ALERT('ALERT28');IF N=ALERT_BUTTON1 THEN

    EXIT_FORM;ELSE

    GO_BLOCK('BLOCK3');

    END IF;

    END;

    - NOW CALL THE PROCEDURE IN EXIT BUTTON

    CLOSEFORM;

  • 8/3/2019 3[1].Oracle Forms 6i

    15/16

    WORKING WITH MENUS

    DESIGN FOLLOWING FORM

    NOW CREATE MENU

    OPEN MENU AND DESIGN MENU AS FOLLOWS

    - WRITE THE CODE FOR THE MENU ITEMS

    EXECUTE CODE:

    GO_BLOCK('EMP');EXECUTE_QUERY;

  • 8/3/2019 3[1].Oracle Forms 6i

    16/16

    LAST : FIRST:

    GO_BLOCK('EMP'); GO_BLOCK('EMP');

    LAST_RECORD; FIRST_RECORD;

    NEXT:

    GO_BLOCK('EMP');NEXT_RECORD;

    PREVIOUSGO_BLOCK('EMP');

    PREVIOUS_RECORD;

    EXIT:EXIT_FORM;

    - NOW CLOSE MENU AND- SAVE THE MENU IN C:\MYMENU

    - NOW COMPILE MENU [CTRL+T]- NOW SET EMP MODULE PROPERTY AS

    - NOW RUN THE FORM- YOU CAN SEE YOUR MYMENU WILL DISPLAY