[comp.databases] Oracle SQL*Forms: #EXEMACRO SYNCHRONIZE; ???

drew@hydra.unm.edu (E Drew Einhorn ADV.SCI.Inc) (08/02/90)

The May 1990 issue of DBMS discusses an example of how to do a popup
form.  From the discussion of another example in the article I gather
the article was written using MS-DOS SQL*Forms 2.03.  I am using Unix
Oracle 2.0.18.

The example includes an:

    #EXEMACRO SYNCHRONIZE;

which is not documented in my SQL*Forms manual.  I will try copying the
example later on this evening and see if it is an undocumented
feature.

What does SYNCHRONIZE do?  If it is an undocumented feature in 2.0.18,
was it because it was still buggy in that release.  What are the
implications of omitting this macro.

The technique uses 3 triggers.  The first one is a KEY-LISTVAL trigger
in the calling form:

	#EXEMACRO CALLQRY popup;
	COPY global.var into block.field;

My dialect of Oracle wants a # before the copy and no ; at the end.  
(At least that's what the manual indicates.  I'll have to try the
variations.)

In the called form there are 2 triggers, a KEY-STARTUP trigger:

	#EXEMACRO SYNCHRONIZE; EXEQRY;

and a POST-FORM trigger:

	#COPY block.field into global.var

Syntax for this trigger in the article was a bit different but I think
this is what I need in my version of Oracle.

Is porting an Oracle from one platform to another as tedious as this
seems to indicate.  I don't mind the introduction of new primitives.
But the changes in punctuation look like they could drive you crazy!

Unrelated idle question what is the origin of the table name DUAL
used in may Oracle idioms?


--
 drew@hydra.unm.edu

jklein@.com (Jonathan Klein) (08/04/90)

I would suspect that the version was not 2.03, but rather 2.3 which includes
new commands not in 2.0.18

Jonathan Klein
Oracle Corporation