zoukankan      html  css  js  c++  java
  • EBS form的一些知识

          尽管Oracle的Developer工具已经升级到9i、10g,但EBS中使用的Forms Server和Forms Builder版本还是6i,今后的开发将逐步转移到Java,Oracle将来也不会在EBS中使用高于6i的Forms。

    Developer 6i的安装不够友好,必须安装到Default Home,为避免手工修改注册表的烦恼,最好先安装6i,再安装其他Oracle产品。

    使用Form创建一些数据对象

    1. 创建List

    image

    其中,Mspping of Other Values 这个属性,他的意思是,

    从数据库中读出来的数据,不在这个列表内(这里是I和E),那么要映射为I还是E,如果不映射,那么该条记录将无法在Form中显示出来,表现出来的现象就是“数据库和View中明明有,界面却看不到”

    删除List中的条目,使用Ctrl+Shift+<删除快捷键

    1. LOV 注意事项:

         不管是自动选择还是手工选择,只有“选择”了,才会触发LOV中各列的值返回给对
    应的目标Item;而不验证的LOV就要注意了,因为其可能没有经过“选择”这一步。

          LOV还有个麻烦的问题,如果清空了Item的值,因为空值不触发验证,这样之前返回
    到各个目标Item上的值并没有自动被清空,需要写代码处理。

    1. 字段和记录的控制

          字段的控制,最常见的就是默认值、是否必需、是否可以更新、是否可以F11查询。其
    他的都可以顾名思义,可直接看各个属性。

         字段控制实例:

    Customer、Sales Person、Price List在状态为非“Entered”的情况下,才不可更新
    的,这需要用代码实现。在Block的WHEN-NEW-RECORD-INSTANCE触发器中写入
    下代码,最好写成program unit:

    if :ORDER_HEADERS.FLOW_STATUS_CODE = 'ENTERED' then
    app_item_property.set_property('ORDER_HEADERS.CUSTOMER_NAME',UPDATE_ALLOWED,PROPERTY_TRUE);
    app_item_property.set_property('ORDER_HEADERS.SALESREP_NAME',UPDATE_ALLOWED,PROPERTY_TRUE);
    app_item_property.set_property('ORDER_HEADERS.PRICE_LIST_NAME',UPDATE_ALLOWED,PROPERTY_TRUE);
    else
    app_item_property.set_property('ORDER_HEADERS.CUSTOMER_NAME',UPDATE_ALLOWED,PROPERTY_FALSE);
    app_item_property.set_property('ORDER_HEADERS.SALESREP_NAME',UPDATE_ALLOWED,PROPERTY_FALSE);
    app_item_property.set_property('ORDER_HEADERS.PRICE_LIST_NAME',UPDATE_ALLOWED,PROPERTY_FALSE);
    end if

    记录的控制,最常见就是显示条数、是否可增/删/改/查、是否可以F11查询、是否显
    示滚动条。
    本例需要实现,在状态为非“Entered”的情况下,记录不可删除,这样需
    要在Block的WHEN-NEW-RECORD-INSTANCE触发器中追加代码(红色部分),最
    好写成program unit:

    if :ORDER_HEADERS.FLOW_STATUS_CODE = 'ENTERED' then
    app_item_property.set_property('ORDER_HEADERS.CUSTOMER_NAME',UPDATE_ALLOWED,PROPERTY_TRUE);
    app_item_property.set_property('ORDER_HEADERS.SALESREP_NAME',UPDATE_ALLOWED,PROPERTY_TRUE);
    app_item_property.set_property('ORDER_HEADERS.PRICE_LIST_NAME',UPDATE_ALLOWED,PROPERTY_TRUE);
    set_block_property('ORDER_HEADERS',DELETE_ALLOWED,PROPERTY_TRUE);
    else
    app_item_property.set_property('ORDER_HEADERS.CUSTOMER_NAME',UPDATE_ALLOWED,PROPERTY_FALSE);
    app_item_property.set_property('ORDER_HEADERS.SALESREP_NAME',UPDATE_ALLOWED,PROPERTY_FALSE);
    app_item_property.set_property('ORDER_HEADERS.PRICE_LIST_NAME',UPDATE_ALLOWED,PROPERTY_FALSE);
    set_block_property('ORDER_HEADERS',DELETE_ALLOWED,PROPERTY_FALSE);
    end if;

    1. 日历控件

    1、 编写Item的KEY-LISTVAL触发器:calendar.show;
    2、 设置Item的List of Values属性:ENABLE_LIST_LAMP
    3、 设置Item的Validate from List属性:No

  • 相关阅读:
    游标cursor
    SQL: EXISTS
    LeetCode Reverse Integer
    LeetCode Same Tree
    LeetCode Maximum Depth of Binary Tree
    LeetCode 3Sum Closest
    LeetCode Linked List Cycle
    LeetCode Best Time to Buy and Sell Stock II
    LeetCode Balanced Binary Tree
    LeetCode Validate Binary Search Tree
  • 原文地址:https://www.cnblogs.com/SanFrans/p/3269007.html
Copyright © 2011-2022 走看看