• 防止无主记录操作(Prevent Masterless Operations)


    发现自己做的Form的bug:(有三个数据块,1头、2行、3子行)

    操作:进入第二个数据块,按Ctrl + F11,可以查询出税票。

    解决方法:

    1.可以想办法禁用Ctrl + F11组合键,我还不知道怎么弄...

    2.设置数据块1和数据块2的关系属性,属性中有一个是防止无主记录操作,选择为“是”,即解决此问题。

    3.可以设置查询条件。

    1)设置第二个数据块的pre-query:

    代码
     1 BEGIN
     2         IF :parameter.G_query_find = 'TRUE' THEN   --原有设置的where子句
     3             copy(:query_find.tax_receipt,'hek_ar_reciept_headers.tax_reciept_num');
     4             set_block_property('hek_ar_reciept_headers',DEFAULT_WHERE,' nvl(match_flag,''N'') = ''N'' ');
     5             :parameter.G_query_find := 'FALSE'
     6             --fnd_message.debug(get_block_property('hek_ar_reciept_headers',default_where)); 
     7         ELSIF :hek_ar_reciept_v.h_header_id is not null THEN  --如果有头记录,什么都不做
     8             NULL;
     9         else  --如果没有头记录或其他情况,不能查询此数据块
    10             set_block_property('hek_ar_reciept_headers',DEFAULT_WHERE,' 1 <> 1 ');
    11             --fnd_message.debug(get_block_property('hek_ar_reciept_headers',default_where)); 
    12         END IF;
    13 END;

     2)设置第三个数据块的pre-query:

    代码
    1 BEGIN
    2     IF :hek_ar_reciept_headers.header_id is null then  --如果没有行记录,则不能查询
    3         set_block_property('hek_ar_reciept_LINEs_V',DEFAULT_WHERE,' 1 <> 1 ');
    4         --fnd_message.debug(get_block_property('hek_ar_reciept_LINEs_V',default_where)); 
    5     end if;
    6 end;
  • 相关阅读:
    程序中图片透明 函数(使用SetBkColor API函数)
    编程中使用锁
    event内存泄漏
    diskcache
    linux内核管理
    Vue
    Paxos算法
    索引以及页和区
    CoreRT
    二叉树
  • 原文地址:https://www.cnblogs.com/benio/p/1706511.html
Copyright © 2020-2023  润新知