您的位置:首页 > 数据库

FORMS进阶之——增加按钮并响应执行数据库包存储过程

2016-08-15 12:52 423 查看
1.新建控制块CONTROL

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;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle forms
相关文章推荐