[Form Builder]NAME_IN()与COPY()

时间:2023-03-08 17:21:58

NAME_IN和COPY实际是间接引用,类似指针传递,而不是值传递...

IF :VAR1 IS NULL ...  direct reference
IF NAME_IN ( :VAR1 ) IS NULL ...  indirect reference

Referencing items indirectly allows you to write more generic, reusable code.  By using variables in place of actual item names, you can write a subprogram that can operate on any item whose name has been assigned to the indicated variable.

If you nest the NAME_IN function, Form Builder evaluates the individual NAME_IN functions from the innermost one to the outermost one.

library is not saved within form. but in different file, so there is no where to find :frm1.txt1

for example, if you have a procedure in library:

procedure p1( v_one varchar2)

name_in(v_one)   to get the value inside v_one, that is :frm1.txt1, so:

copy('value', name_in(v_one))        ==> to copy value to the txt field txt1 in form frm1.

you can't use:

copy('value', :frm1.txt1), nor you can:

copy('value', v_one).