【ERP】如何在主数据块处于新建或插入状态时禁止对明细数据块进行查询数据操作
2011-07-16 18:04
585 查看
问题描述
在设计含有主从数据块的form时,我们可能在主数据块处于新建或插入状态时,不想让用户去明细块(从块)进入和执行查询动作,因为这样做本身就是不符合逻辑的。为此,我们有以下两种方法可供选择。
实现方法
【标准实现】设置主从关系对象属性
设置主块中的主从关系对象(RELATIONS)的Prevent Masterless Operations属性为YES即可达到目的。
图1-1 图1-2
【自定义实现】
在明细数据块中新增三个BLOCK级别的触发器KEY-CQUERY, KEY-ENTQRY和KEY-EXEQRY,加入如下逻辑:当主数据块的RECORD_STATUS为INSERT或者NEW时,向用户报警告或提示对话框,提示用户先输入主数据块内容,并终止当前操作。具体实现如下:
假设主数据块名称为HEADER,明细块名称为LINES
1. 向明细块LINES添加块级触发器KEY-ENTQRY,代码如下:
2. 向明细块LINES添加块级触发器KEY-CQUERY,代码如下:
3. 向明细块LINES添加块级触发器KEY-EXEQRY,代码如下:
第一种方法运行后系统会有提示信息(HINT)告诉用户必须先输入主块,第二种方法我们可以自定义输出信息,并提示给用户,同样可以达到我们想要的效果。
PS:回头再上图 已上图:P
在设计含有主从数据块的form时,我们可能在主数据块处于新建或插入状态时,不想让用户去明细块(从块)进入和执行查询动作,因为这样做本身就是不符合逻辑的。为此,我们有以下两种方法可供选择。
实现方法
【标准实现】设置主从关系对象属性
设置主块中的主从关系对象(RELATIONS)的Prevent Masterless Operations属性为YES即可达到目的。
图1-1 图1-2
【自定义实现】
在明细数据块中新增三个BLOCK级别的触发器KEY-CQUERY, KEY-ENTQRY和KEY-EXEQRY,加入如下逻辑:当主数据块的RECORD_STATUS为INSERT或者NEW时,向用户报警告或提示对话框,提示用户先输入主数据块内容,并终止当前操作。具体实现如下:
假设主数据块名称为HEADER,明细块名称为LINES
1. 向明细块LINES添加块级触发器KEY-ENTQRY,代码如下:
IF app_record.get_status('HEADER') IN ('NEW', 'INSERT') THEN fnd_message.debug('Please enter header information first'); RAISE form_trigger_failure; ELSE Enter_Query; END IF;
2. 向明细块LINES添加块级触发器KEY-CQUERY,代码如下:
IF app_record.get_status('HEADER') IN ('NEW', 'INSERT') THEN fnd_message.debug('Please enter header information first'); RAISE form_trigger_failure; ELSE Count_Query; END IF;
3. 向明细块LINES添加块级触发器KEY-EXEQRY,代码如下:
IF app_record.get_status('HEADER') IN ('NEW', 'INSERT') THEN fnd_message.debug('Please enter header information first'); RAISE form_trigger_failure; ELSE Execute_Query; END IF;
第一种方法运行后系统会有提示信息(HINT)告诉用户必须先输入主块,第二种方法我们可以自定义输出信息,并提示给用户,同样可以达到我们想要的效果。
PS:回头再上图 已上图:P
相关文章推荐
- SQL如何进行增加、删除、改写、查询等数据操作
- JDBC实现数据库的几种基本操作(查询,分页查询,根据关键字进行查询以及插入数据)
- JAVA对数据库进行操作,实现数据库中数据的插入,查询,更改,删除操作
- 关于DBGrid,禁止在插入/修改操作状态下移动光标到其他行时,数据自动修改(非客户端)!
- SQL语句:orac 3ff0 le中如何插入Date类型的数据和根据Date数据进行查询的方法
- Sqlserver 在查询分析器里如何访问远程的的数据库,进行数据查询更新等操作。
- JAVA对数据库进行操作,实现数据库中数据的插入,查询,更改,删除操作
- Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询
- (二)不同数据库间的交叉数据查询插入等操作实现
- 在c++里面如何对读取出二进制数据进行操作
- Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询
- 关于利用DataGrid进行数据查询、修改操作
- Entity Framework 程序设计入门二 对数据进行CRUD操作和查询
- Django如何进行数据访问查询
- 初学EasyUI datagrid:如何用datagrid进行数据的查询
- 如何让gg只同步数据插入操作,其他的像删除和修改操作不同步?
- c语言以数据块的形式对文件数据进行操作
- Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询
- 如何对memcache的数据(key-value)进行遍历操作
- mysql如何实现插入数据时如果不存在则插入如果存在则更新的操作