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 FORMReceived on Mon Oct 04 1993 - 19:43:02 CET