02 2013 档案
摘要:在客户化Form开发中,经常会遇到需要给表格的记录块添加一个行号,行号不但作为数据行的一个序号,同时经常被作为单击的行标识,具有比较重要的业务意义。这个行号的特点是:新增行时自动生成默认行号:已有的最大行号+1用户可以修改行号为合法的数字:大于0;保证唯一如果用户修改了行号,新增生成的行号必须在用户修改行号的基础上+1实现这样的行号相对比较麻烦,下面描述如何来实现上图中所示的行号功能:在记录块的PRE-QUERY中查询出数据库中已有的最大行号,并将其记录到参数中作为最大的行号,如果单据的头是新建的,那这个参数默认的最大值则为1在行记录的WHEN-CREATE-RECORD中将最大行号的参数值+
阅读全文
摘要:1. Form中提交并发请求在提交请求之前,首先需要验证块,如果某些必填项没有填的话当然不能提交请求。APP_STANDARD.APP_VALIDATE(BLOCK_SCOPE); IF (not FORM_SUCCESS) THEN Raise form_trigger_failure ;END IF; IF :SYSTEM.FORM_STATUS = 'CHANGED' THEN DO_KEY('COMMIT_FORM');END IF;第二个IF语句判断系统状态,如果用户更新了一行记录,之后没有保存提交请求,那么需要在提交之前进行保存,因为可能使用的请求中
阅读全文
摘要:Form中某些按钮可能调用了Package对表中某些字段进行更新,但是数据库中字段的修改不会马上反映到form的界面上,所以要进行重新查询。但是用户可能使用了查询窗口进行查询之后然后再点击按钮动作,如果简单的使用execute_query进行查询的话那么就会把原来的查询条件冲掉。所以这里写了一个公用的包进行查询:---- Name: query_block-- Purpose: BLOCK重新查询-- PROCEDURE query_block(p_block_name VARCHAR2) IS l_cursor_block VARCHAR2(50); l_cursor_reco...
阅读全文
摘要:1.客户化开发中的多帐套屏蔽(1) 得到当前OUmo_global.get_current_org_id或者fnd_global.org_id(2)根据组织ID得到账套ID和公司名称DECLARE l_org_information3 VARCHAR2(150); --帐套id l_company_desc VARCHAR2(150); --公司中文描述BEGIN SELECT o3.org_information3, o3.attribute3 INTO l_org_information3,l_company_desc FROM hr_all_organizati...
阅读全文
摘要:ORACLE EBS操作某一个FORM界面,或者后台数据库操作某一个表时发现一直出于"假死"状态,可能是该表被某一用户锁定,导致其他用户无法继续操作--锁表查询SQLSELECT object_name, machine, s.sid, s.serial# FROM gv$locked_object l, dba_objects o, gv$session s WHERE l.object_id = o.object_id AND l.session_id = s.sid;找到被锁定的表,解锁--释放SESSION SQL:--alter system kill sessi
阅读全文
浙公网安备 33010602011771号