Re: Help with supressing messages
Date: 4 Oct 1993 13:43 -0500
Message-ID: <4OCT199313432074_at_author.gsfc.nasa.gov>
In article <28hslf$hnl_at_charm.magnus.acs.ohio-state.edu>, apatanka_at_magnus.acs.ohio-state.edu (Atul Patankar) writes...
>Hello,
>
>I am a novice user of Oracle. We are using Oracle SQL Forms 3.0, Oracle
>Database 7.0 on a SUN platform. I have a question about supressing an
>acknowledgement message. The scenario is something like this -
>
>message('Working');
>synchronize ...
>message(' ');
>synchronize ...
>
>The second message generates a request for an ack (Hit enter to continue). I
>would like to know if this request for an ack can be supressed. All help is
>greatly appreciated. Please reply by email as I donot have access to USENET.
>
>Thank you,
>Atul.
>apatanka_at_magnus.acs.ohio-state.edu
>
The following messages are reprinted without permission:
Path: skates.gsfc.nasa.gov!ames!olivea!spool.mu.edu!howland.reston.ans.net!news.ans.net!malgudi.oar.net!uoft02.utoledo.edu!ocvaxa.cc.oberlin.edu!ocvaxc.cc.oberlin.edu!bamon
Newsgroups: comp.databases.oracle
Subject: Re: Simulating 'Working...' in Forms 3.00
Message-ID: <1993Jul29.160729.1_at_ocvaxc.cc.oberlin.edu>
From: bamon_at_ocvaxc.cc.oberlin.edu
Date: 29 Jul 93 16:07:29 EDT
References: <29JUL199320584486_at_vms1.iscs.nus.sg>
Distribution: world
Organization: Oberlin College
Nntp-Posting-Host: ocvaxc.cc.oberlin.edu
Lines: 24
In article <29JUL199320584486_at_vms1.iscs.nus.sg>, lowmeili_at_vms1.iscs.nus.sg (eArThLy ImPrEsSiOnS...only OnE EaRtH to InHeRiT) writes:
> Hi ...
>
> Has anyone ever done this before ? I am trying to simulate the Oracle
> message 'Working ...' in my form but is not facing much
> success.
In Forms 3.0 you can create a pop-up page which is just one line high and 80 characters wide, or whatever is just big enough to overlay your message line. Then you can write to this non-database field and display whatever you like, whenever you like, without the required acknowledgement. We use this to display progress messages in lengthy triggers.
In Forms 4.0, the message syntax changes, and
message('Working...',NO_ACKNOWLEDGE);
will do what you want.
Jennifer R. Amon PHONE: (216) 775-6987 Houck Computing Center FAX: (216) 775-8573 Oberlin College Oberlin, OH 44074 INTERNET: bamon_at_ocvaxc.cc.oberlin.edu _____________________________________________________________________
Path: skates.gsfc.nasa.gov!ames!agate!howland.reston.ans.net!wupost!trinews.sbc.com!nuntius
From: David R. Thrash <dthrash_at_sbctri.sbc.com>
Newsgroups: comp.databases.oracle
Subject: Re: Simulating 'Working...' in Forms 3.00
Date: 30 Jul 1993 01:43:38 GMT
Organization: Southwestern Bell - Technology Resources
Lines: 31
Distribution: world
Message-ID: <239uca$obk_at_sbctri.sbc.com>
References: <29JUL199320584486_at_vms1.iscs.nus.sg>
NNTP-Posting-Host: mac-thrash.sbc.com
X-UserAgent: Nuntius v1.1
In article <29JUL199320584486_at_vms1.iscs.nus.sg> eArThLy
ImPrEsSiOnS...only OnE EaRtH to InHeRiT, lowmeili_at_vms1.iscs.nus.sg writes:
>Has anyone ever done this before ? I am trying to simulate the Oracle
>message 'Working ...' in my form but is not facing much
>success.
>
I finally solved this problem. What I did was create a pop-up form which
"lived" on top
of the normal status line. This new form had no base table and only one
input field. The key-startup trigger set the field to "Working..." and
then did an "EXIT". So when
I'd write some time consuming trigger I'd call this form first and then
do my work.
It worked like a champ.
Something like this:
begin
call("working", NO_HIDE);
for i in 1...1000000 loop
select "Hello World"
into :global.dummy
from dual;
end loop;
end;
D. Thrash
Path: skates.gsfc.nasa.gov!ames!elroy.jpl.nasa.gov!usc!cs.utexas.edu!not-for-mail
From: p0070621_at_oxford-brookes.ac.uk (Tommy Wareing)
Newsgroups: comp.databases.oracle
Subject: Re: Simulating 'Working...' in Forms 3.00
Date: 5 Aug 1993 00:43:09 -0500
Organization: Oxford Brookes University
Lines: 25
Sender: daemon_at_cs.utexas.edu
Message-ID: <CB8tLv.3DK_at_uk.ac.brookes>
References: <29JUL199320584486_at_vms1.iscs.nus.sg> <1993Jul29.160729.1_at_ocvaxc.cc.oberlin.edu>
NNTP-Posting-Host: cs.utexas.edu
bamon_at_ocvaxc.cc.oberlin.edu wrote:
> In Forms 3.0 you can create a pop-up page which is just one line high
> and 80 characters wide, or whatever is just big enough to overlay your
> message line. Then you can write to this non-database field and display
> whatever you like, whenever you like, without the required acknowledge-
> ment. We use this to display progress messages in lengthy triggers.
We've tried this one, and there's a catch (wouldn't you know it?). If there's
a 'real' message produced (eg. some error arises), then you don't get to see
the it, since it's now hidden behind your pop-up window. And your users wonder
why it's taking a long time...
> In Forms 4.0, the message syntax changes, and
The next version. Always the next version...
> message('Working...',NO_ACKNOWLEDGE);
> will do what you want.
Goodie.
--
_________________________ __________________________________________
/ Tommy Wareing \ / I've been looking for an original sin, \
| p0070621_at_brookes.ac.uk X One with a twist and a bit of a spin |
\ 0865-483389 / \ -- Pandora's Box, Jim Steinman /
~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Newsgroups: comp.databases.oracle
Path: skates.gsfc.nasa.gov!ames!elroy.jpl.nasa.gov!decwrl!csus.edu!netcom.com!sjs
From: sjs_at_netcom.com (Stephen Schow)
Subject: Re: Simulating 'Working...' in Forms 3.00
Message-ID: <sjsCAxqyM.5J3_at_netcom.com>
Organization: NETCOM On-line Communication Services (408 241-9760 guest)
X-Newsreader: TIN [version 1.1 PL8]
References: <29JUL199320584486_at_vms1.iscs.nus.sg>
Date: Thu, 29 Jul 1993 16:54:21 GMT
Lines: 43
eArThLy ImPrEsSiOnS...only OnE EaRtH to InHeRiT (lowmeili_at_vms1.iscs.nus.sg) wrote:
: Hi ...
: Has anyone ever done this before ? I am trying to simulate the Oracle
: message 'Working ...' in my form but is not facing much
: success.
: What I did was to do the follwing :
: BEGIN
: MESSAGE ('Working...');
: SYNCHRONIZE;
: <trigger contents>
: MESSAGE (' '); /* This is to clear the working msg above */
: END;
: But the above doesn't work without Forms asking me to acknowledge
: the first message first. I want to be able to do this without
: the prompting messag ie. display the working msg and then clear it
: off. Is it possible ?
: In fact, I dun need the second MESSAGE as long as I can clear the first one.
: (but I dun know how !!!! .. so I resorted to the above technique)
: If you've done such things before, I would appreciate it very much if you
: could share your knowledge with me...
: That's all .. thanxs ...
I tried this once to no avail. Seems to me that at a fairly recent Oracle
conference I heard someone ask that question and Oracle says that that little
confirmation prompt that Oracle puts up is unavoidable. Someone in the
audience suggested writing a user_exit that was platform specific and would
display the message in the appropriate place on the screen. Another thing
that you can do is create your own message line on the bottom line of the
form. It would be a non-database control block with a display only field that
you can put messages into as you will.
Good luck
--
------------------------------------------------------------------
Steve Schow | But you don't have to use the claw, if you
sjs_at_netcom.com | pick the pear with the big paw paw......
(415) 354-4908 | Have I given you a clue......?
| - Baloo the Bear
------------------------------------------------------------------
I provide my full WORKING.INP & WORKINGTEST.INP below. WORKINGTEST
shows how to call WORKING.
=================== Cut here. WORKING.INP =======================
/* Copyright (c) 1988 by the Oracle Corporation */
SQL*FORMS_VERSION = 03.00.16.12.00
TERSE = ON
DEFINE FORM
COMMENT = <<<
This form overcomes a major shortcoming with the message() command.
THE PROBLEM:
SQL*Forms 3.0 will not allow you to write "Working..." on the message line
when you have a trigger that takes a long time (e.g. a host() program).
SQL*Forms has no CLEAR_MESSAGE command and forces you to acknowledge a
message if you try to overwrite one message with another instead of
clearing the message line.
This work-around uses a pop-up page which is just one line.
TO INVOKE:
:global.working_text := 'your text here';
call('working', NO_HIDE);
>>>
NAME = WORKING
TITLE = WORKING
DEFINE TRIGGER
NAME = KEY-STARTUP
TRIGGER_TYPE = V3
TEXT = <<<
/*
The calling form needs to assign a string to GLOBAL.WORKING_TEXT
:GLOBAL.WORKING_TEXT := 'Press EXIT to continue';
*/
:b.message := :global.working_text;
synchronize;
EXIT_FORM;
>>>
ENDDEFINE TRIGGER
DEFINE BLOCK
NAME = B
ROWS_DISPLAYED = 1
BASE_LINE = 1
LINES_PER_ROW = 0
ARRAY_SIZE = 0
DEFINE FIELD
COMMENT = <<<
This field will overwrite the message line at the bottom of the screen.
>>>
NAME = message
DATATYPE = CHAR
LENGTH = 80
DISPLAY_LENGTH = 80
QUERY_LENGTH = 80
BASE_TABLE = OFF
PAGE = 2
LINE = 1
COLUMN = 1
UPDATE = OFF
QUERY = OFF
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 = <<<
Customized message line
>>>
ENDDEFINE PAGE
DEFINE PAGE
PAGE = 2
POPUP = ON
DISSOLVE = ON
PAGE_XS = 0
PAGE_YS = 0
PAGE_PX0 = 1
PAGE_PY0 = 1
PAGE_PXS = 80
PAGE_PYS = 1
PAGE_SX0 = 1
PAGE_SY0 = 23
ENDDEFINE PAGE
ENDDEFINE SCREEN
ENDDEFINE FORM
=================== Cut here. WORKINGTEST.INP =======================
/* Copyright (c) 1988 by the Oracle Corporation */
SQL*FORMS_VERSION = 03.00.16.12.00
TERSE = ON
DEFINE FORM
NAME = workingtest
TITLE = workingtest
DEFAULT_MENU_APPLICATION = DEFAULT
DEFINE TRIGGER
NAME = KEY-NXTBLK
TRIGGER_TYPE = V3
TEXT = <<<
begin
:global.working_text := 'Working...';
call('working',NO_HIDE);
/* Waste some time */
for i in 1..1000 loop
select 'hello, world' into :global.dummy from dual;
end loop;
/* The following will flash on the screen and disappear
:global.working_text := 'Done.';
call('working',NO_HIDE);
*/
message('Done.');
end;
>>>
ENDDEFINE TRIGGER
DEFINE BLOCK
NAME = test
ROWS_DISPLAYED = 1
BASE_LINE = 1
LINES_PER_ROW = 0
ARRAY_SIZE = 0
DEFINE FIELD
NAME = x
DATATYPE = CHAR
LENGTH = 10
DISPLAY_LENGTH = 10
QUERY_LENGTH = 10
PAGE = 1
LINE = 3
COLUMN = 1
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
BOILER = <<<
Press Page-Down
>>>
ENDDEFINE PAGE
ENDDEFINE SCREEN
ENDDEFINE FORM
Received on Mon Oct 04 1993 - 19:43:02 CET
