我是靠谱客的博主 精明小鸭子,最近开发中收集的这篇文章主要介绍oracle form中实现隐藏,Oracle Form数据块实现同时只有一个人锁定修改数据,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在上一篇中文章中,如果建立了数据块的四个触发器,并在触发器中调用了程序单元中对应数据块名的包,则在这个包中还需调用专门用于实现插入行、锁定行、更新行、删除行的包MAIN_PVT。在这个包MAIN_PVT中主要调用的是数据块中的存储过程实现插入行、锁定行、更新行、删除行的功能:

PACKAGE BODY main_pvt IS

/*=====================================

** PROCEDURE:   insert_row()

**=====================================*/

PROCEDURE insert_row IS

BEGIN

fnd_standard.set_who;

IF :main_v.id IS NULL THEN

SELECT main_s.nextval        --序列作为唯一值赋值给数据块的ID字段

INTO :main_v.id

FROM dual;

END IF;

cux_main_pkg.insert_row(x_row_id             => :main_v.row_id,

x_insp_header_id     => :main_v.id,

p_org_id             => :main_v.org_id,

p_doc_type_class     => :main_v.doc_type_class,

p_inspection_number  => :main_v.external_check_list,

p_status             => :main_v.status,

p_oe_header_id       => :main_v.oe_header_id);

end insert_row;

/*=====================================

** PROCEDURE:   lock_row()

**=====================================*/

PROCEDURE lock_row IS

i NUMBER := 0;

BEGIN

LOOP

BEGIN

i := i + 1;

cux_main_pkg.lock_row(p_insp_header_id     => :main_v.id,

p_org_id             => :main_v.org_id,

p_doc_type_class     => :main_v.doc_type_class,

p_inspection_number  => :main_v.external_check_list,

p_status             => :main_v.status,

p_oe_header_id       => :main_v.oe_header_id);

RETURN;    --如果成功锁住记录,没有发生异常,则跳出整个lock_row函数或过程,不再往下执行

EXCEPTION

WHEN app_exception.record_lock_exception THEN

app_exception.record_lock_error(i);

END;

END LOOP;

END lock_row;

/*=====================================

** PROCEDURE:   update_row()

**=====================================*/

PROCEDURE update_row IS

BEGIN

fnd_standard.set_who;

cux_main_pkg.update_row(p_insp_header_id     => :main_v.insp_header_id,

p_org_id             => :main_v.org_id,

p_doc_type_class     => :main_v.doc_type_class,

p_inspection_number  => :main_v.external_check_list,

p_status             => :main_v.status,

p_oe_header_id       => :main_v.oe_header_id

);

END update_row;

/*=====================================

** PROCEDURE:   delete_row()

**=====================================*/

PROCEDURE delete_row IS

BEGIN

cux_main_pkg.delete_row(p_insp_header_id => :main_v.insp_header_id);

END delete_row;

END main_pvt;

最后

以上就是精明小鸭子为你收集整理的oracle form中实现隐藏,Oracle Form数据块实现同时只有一个人锁定修改数据的全部内容,希望文章能够帮你解决oracle form中实现隐藏,Oracle Form数据块实现同时只有一个人锁定修改数据所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部