FORMS进阶之——增加按钮并响应执行数据库包存储过程
2016-08-15 12:52
423 查看
1.新建控制块CONTROL
2.新建两个按钮(提交,取消),设置属性,把前面笔记建的那两个删掉
*把两个按钮挨近一点,会变为弧形效果
2.增加两HSS包:
HSS_API(包规格)
HSS_FORM_UTL(包规格、包体)
3、在按钮“提交”新增触发器WHEN-BUTTON-PRESSED
参考代码如下:
2.新建两个按钮(提交,取消),设置属性,把前面笔记建的那两个删掉
*把两个按钮挨近一点,会变为弧形效果
2.增加两HSS包:
HSS_API(包规格)
PACKAGEHSS_APIIS
g_trueCONSTANTVARCHAR2(1):=upper('t');
g_falseCONSTANTVARCHAR2(1):=upper('f');
g_miss_numCONSTANTNUMBER:=9.99e125;
g_miss_charCONSTANTVARCHAR2(1):=chr(0);
g_miss_dateCONSTANTDATE:=to_date('1','j');
g_ret_sts_successCONSTANTVARCHAR2(1) :=upper('s');
g_ret_sts_warning CONSTANTVARCHAR2(1) :=upper('w');
g_ret_sts_error CONSTANTVARCHAR2(1) :=upper('e');
g_ret_sts_unexp_error CONSTANTVARCHAR2(1) :=upper('u');
ENDHSS_API;
HSS_FORM_UTL(包规格、包体)
PACKAGEHSS_FORM_UTLIS
PROCEDUREdisplay_errors;
ENDHSS_FORM_UTL;
PACKAGEBODYHSS_FORM_UTLIS
-------------------------------------------------------------------------
--|Thisprocedureisusedtodisplayerrorsfromdatabase|
-------------------------------------------------------------------------
PROCEDUREdisplay_errorsIS
l_conBOOLEAN;
l_countNUMBER;
BEGIN
l_count:=fnd_msg_pub.count_msg;
IFl_count=1THEN
fnd_message.set_string(fnd_msg_pub.get(p_msg_index=>1,p_encoded=>upper('f')));
fnd_message.show;
ELSIFl_count>1THEN
FORiIN1..l_countLOOP
fnd_message.set_string(fnd_msg_pub.get(p_msg_index=>i,p_encoded=>upper('f'))||'('||i||'/'||l_count||')');
l_con:=fnd_message.warn;
EXITWHENNOTl_con;
ENDLOOP;
ENDIF;
fnd_msg_pub.delete_msg;
ENDdisplay_errors;
BEGIN
fdrcsid('$header:handstand.pld115.12005/09/2619:29:00jim.linship$');
ENDHSS_FORM_UTL;
3、在按钮“提交”新增触发器WHEN-BUTTON-PRESSED
参考代码如下:
DECLARE
x_return_statusVARCHAR2(20);
x_msg_countNUMBER;
x_msg_dataVARCHAR2(3000);
BEGIN
commit_changed;
go_block('HEADERS');
cux_om_order_10000_pub.submit_order(p_api_version=>1.0,
p_init_msg_list=>hss_api.g_true,
p_commit=>hss_api.g_true,
x_return_status=>x_return_status,
x_msg_count=>x_msg_count,
x_msg_data=>x_msg_data,
p_om_header_id=>:headers.header_id);
IFx_return_status<>hss_api.g_ret_sts_successTHEN
hss_form_utl.display_errors;
RAISEform_trigger_failure;
ENDIF;
:parameter.g_query_find:='TRUE';
:parameter.header_id:=:headers.header_id;
app_find.find('HEADERS');
:parameter.g_query_find:='FALSE';
END;
相关文章推荐
- sqlserver关于分页存储过程的优化【让数据库按我们的意思执行查询计划】
- SQL作业--让数据库定期执行一个存储过程
- 数据库dataSource,执行存储过程
- 【ecmall】数据模型部分增加执行存储过程功能
- mysql中对数据库的每个表执行优化的存储过程
- Asp.Net访问Oracle 数据库 执行SQL语句和调用存储过程
- C#操作数据库,分页、执行存储过程等 [二] - ADO.NET入门之中
- C#连接数据库sqlserver2005,执行存储过程的实例
- C# 连接数据库执行语句、存储过程
- SQL SERVER: 给用户增加执行存储过程的权限
- Asp.Net访问Oracle 数据库 执行SQL语句和调用存储过程
- 数据库操作_连接SQL Server数据库示例;连接ACCESS数据库;连接到 Oracle 数据库示例;SqlCommand 执行SQL命令示例;SqlDataReader 读取数据示例;使用DataAdapter填充数据到DataSet;使用DataTable存储数据库表;将数据库数据填充到 XML 文件;10 使用带输入参数的存储过程;11 使用带输入、输出参数的存储过程示;12 获得数据库中表的数目和名称;13 保存图片到SQL Server数据库示例;14 获得插入记录标识号;Exce
- mysql查看存储过程和执行sql脚本文件到数据库中
- C#连接数据库sqlserver2005,执行存储过程的实例
- informix shell 定时执行数据库的存储过程
- 关于分页存储过程的优化【让数据库按我们的意思执行查询计划】
- 已超过了锁请求超时时段” 直接把下在面的存储过程 放到你的Master数据库执行一下就可以了
- sqlserver关于分页存储过程的优化【让数据库按我们的意思执行查询计划】
- C#连接数据库sqlserver2005,执行存储过程的实例
- mysql中对数据库的每个表执行优化的存储过程