oracle - 从一种形式获取价值并将其传递给另一种形式
问题描述
我开始学习 PLSQL Oracle,并试图找到一种将值从一种形式复制到另一种形式的方法。我有两个表格,首先form (A)
进行一些计算,在某些情况下,这个计算不能在表格 (A) 中编辑。我想通过编辑这些数据来制作form (B)
和传递这些数据form (A)
,然后将其传递回form (A)
这里是我的代码和我的想法的图片。
begin
set_block_property('POL',UPDATE_ALLOWED,PROPERTY_TRUE);
update POL set
POLICA =: TENDER.POLICA,
VOZAC = TENDER.VOZAC,
BR_VOZACA = TENDER.BR_VOZACA,
NEZGODA1 = TENDER.NEZGODA1,
PUTNICI = TENDER.PUTNICI,
BR_PUTNIKA = TENDER.BR_PUTNIKA,
NEZGODA = TENDER.NEZGODA,
AO_PLUS_LIMIT = TENDER.AO_PLUS_LIMIT,
AO_PLUS_PREMIJA = TENDER.AOPLUSPREMIJA,
PRAVNA_ZASTITA_LIMIT = TENDER.PRAVNA_ZASTITA_LIMIT,
PRAVNA_ZASTITA_PREMIJA = TENDER.PRAVNA_ZASTITA_PREMIJA,
LOM_STAKLA_PREMIJA = TENDER.LOM_STAKLA_PREMIJA,
TROSKOVI_LIJECENJA = TENDER.TROSKOVI_LIJECENJA,
TROSKOVI_LIJECENJA_PREMIJA = TENDER.TROSKOVI_LIJECENJA_PREMIJA
WHERE POLICA =:TENDER.BRPOLICE;
end;
我尝试选项:从项目属性中复制值,但出现错误
FRM-30047: Cannot resolve item reference
我不知道我在哪里做错了?有什么建议或意见吗??
解决方案
表单通常通过以下两种方式进行通信:
- 范围
- 全局变量
全局变量更易于使用;在表格 A 中,您只需将其设置为:global.polica := :pol.polica;
并在表格 B 中用作(例如)
select ...
from some_table
where polica = :global.polica;
全局变量总是字符串(它们的数据类型是VARCHAR2
),其大小受到限制(可能取决于 Forms 版本;我知道某些版本限制为 255 个字符)。
参数使用起来有些复杂,因为您必须先创建它(在对象导航器的“参数”节点中),但它允许您选择数据类型(因此您不仅限于字符串)。您设置它的值就像全局变量的值一样::parameter.polica := :pol.polica;
但您必须将它实际传递CALL_FORM
给(或OPEN_FORM
)参数列表中的表单 B。例如:
创建参数列表的函数(稍后将在示例中使用):
function make_param_list (p_name in varchar2)
return paramlist
is
pl_id paramlist;
w_button number;
begin
pl_id := get_parameter_list(p_name);
if not id_null(pl_id) then
destroy_parameter_list(pl_id);
end if;
pl_id := create_parameter_list(p_name);
if id_null(pl_id) then
message('DESIGN ERROR - PARAMLIST');
if name_in('system.mode') <> 'QUERY' then
raise form_trigger_failure;
end if;
else
return pl_id;
end if;
end;
例子; list_id
与我们正在谈论的参数有关:
declare
list_id ParamList;
begin
list_id := make_param_list('input_params');
Add_Parameter(list_id, 'ugo_id' , TEXT_PARAMETER, :ugo.ugo_id);
Add_Parameter(list_id, 'query_only_mode', TEXT_PARAMETER, :parameter.query_only_mode);
call_form('ugoa', no_hide, no_replace, no_query_only, no_share_library_data, list_id);
end;
Forms 在线帮助系统中的更多信息。
推荐阅读
- ios - 按钮操作和点击手势在 UIView XIB 上不起作用
- python-3.x - ffmpeg RTSP 使用 GPU 流式传输到 RGB24
- excel - 无论密码如何,工作簿保护都不受保护(VBA Excel 2010)
- vuejs2 - vue-date-pick 的格式化日期大 1 天
- mysql - SQL / Doctrine:是否可以使用 group by 获得此结果?
- c# - DeveloperExceptionPage 未通过 .NetCore 2.2 中的 Ajax 调用显示
- android - 将谷歌预测限制在特定国家/地区不起作用
- reactjs - 如何在 React 上仅打开 1 个面板?
- c++ - OpenCV 并从 OutputArrays 或 (Mat) 读取数据
- scala - pac4j-play SecureAction(扩展),类型不匹配