Re: Sql*Forms/Packaged Procedure

From: <rzx2122_at_mcvax2.d48.lilly.com>
Date: 16 Jun 93 13:53:38 EST
Message-ID: <1993Jun16.135338.1_at_mcvax2.d48.lilly.com>


Reply-To: 72072.2122_at_compuserve.com
Sender: 72072.2122_at_compuserve.com

Jenny_Farnham_at_stortek.com writes:

>I have one character field on the screen with a
>post-change or on-validate-field (take your choice).
>
>The problem with this is that "exit_form" is a packaged
>procedure and won't execute, i get an error. HOW do
>I get around this.

Jenny,
Try using an ON-NEW-FIELD-INSTANCE trigger in a nondisplayed field following the input field. See example below.


                                            chicago ,--------+  detroit
Tom Harleman                                        |        |
INOUG Committee Member                              |Indiana |
Paradigm Consulting, Inc.                 st.       | Oracle |
11080 Willowmere Drive                    louis     |  Users |
Indianapolis, IN  46280                             |   Group|
USA                                                 |        |
                                                    |      _,+cincinnati
INTERNET:   72072.2122_at_compuserve.com               /   _,'
Compuserve: 72072,2122                             /_,-'louisville
                                                   `
EXECUTE_TRIGGER('DISCLAIMER');
  • CUT HERE -----------------------------
/* Copyright (c) 1988 by the Oracle Corporation */

SQL*FORMS_VERSION = 03.00.16.04.00
TERSE = ON DEFINE FORM    NAME = farnham
   TITLE = farnham
   DEFAULT_MENU_APPLICATION = DEFAULT    DEFINE BLOCK

      NAME = TEST
      DESCRIPTION = TEST
      ROWS_DISPLAYED = 1
      BASE_LINE = 1
      LINES_PER_ROW = 0
      ARRAY_SIZE = 0

      DEFINE FIELD

         NAME = DISPLAYED_INPUT
         DATATYPE = CHAR
         LENGTH = 1
         DISPLAY_LENGTH = 1
         QUERY_LENGTH = 1
         BASE_TABLE = OFF
         PAGE = 1
         LINE = 10
         COLUMN = 26
         HELP = Press A, B, C or X.
         UPDATE = OFF
         QUERY = OFF
         AUTOSKIP = ON
         AUTOHELP = ON

      ENDDEFINE FIELD

      DEFINE FIELD

         NAME = NONDISPLAYED
         DATATYPE = CHAR
         LENGTH = 1
         DISPLAY_LENGTH = 1
         QUERY_LENGTH = 1
         BASE_TABLE = OFF
         PAGE = 1
         LINE = 10
         COLUMN = 28
         UPDATE = OFF
         QUERY = OFF

         DEFINE TRIGGER

            NAME = ON-NEW-FIELD-INSTANCE
            TRIGGER_TYPE = V3
            TEXT = <<<
            IF :DISPLAYED_INPUT = 'A' THEN
              MESSAGE('Always');
            ELSIF :DISPLAYED_INPUT = 'B' THEN
              MESSAGE('Before');
            ELSIF :DISPLAYED_INPUT = 'C' THEN
              MESSAGE('Can not');
            ELSIF :DISPLAYED_INPUT = 'X' THEN
              EXIT_FORM;
            END IF;
            NEXT_FIELD;
            >>>

         ENDDEFINE TRIGGER

      ENDDEFINE FIELD

   ENDDEFINE BLOCK    DEFINE SCREEN       DEFINE PAGE

         PAGE = 1
         PAGE_XS = 0
         PAGE_YS = 0
         PAGE_PX0 = 0
         PAGE_PY0 = 0
         PAGE_PXS = 0
         PAGE_PYS = 0
         PAGE_SX0 = 0
         PAGE_SY0 = 0
         MODE = TEXT
         LINE = 3
         BOILER = <<<
                                    TEST
         >>>
         LINE = 5
         BOILER = <<<
                                  A - Always
                                  B - Before
                                  C - Can not
                                  X - exit
         >>>
         MODE = BOX
         LINE = 4
         BOILER = <<<
                               p--------------q
                               |              |
                               |              |
                               |              |
                               |              |
                               b--------------d
         >>>

      ENDDEFINE PAGE

   ENDDEFINE SCREEN ENDDEFINE FORM

----------------------------- CUT HERE ----------------------------- 
Received on Wed Jun 16 1993 - 20:53:38 CEST

Original text of this message