码迷,mamicode.com
首页 > 其他好文 > 详细

PR物料KFF弹出LOV - WHERE条件重写

时间:2016-03-18 13:14:58      阅读:258      评论:0      收藏:0      [点我收藏+]

标签:

技术分享

技术分享

技术分享

技术分享

PROCEDURE event (event_name VARCHAR2)
IS
--
-- This procedure allows you to execute your code at specific events
-- including:
--
--    ZOOM
--    WHEN-NEW-FORM-INSTANCE
--    WHEN-NEW-BLOCK-INSTANCE
--    WHEN-NEW-RECORD-INSTANCE
--    WHEN-NEW-ITEM-INSTANCE
--    WHEN-VALIDATE-RECORD
--
-- Additionally, product-specific events will be passed via this
-- interface (see the Applications Technical Reference manuals for
-- a list of events that are available).
--
-- By default this routine must perform ‘null;‘.
--
-- Oracle Corporation reserves the right to change the events
-- available through this interface at any time.
--
/* Sample code:

  form_name      varchar2(30) := name_in(‘system.current_form‘);
  block_name     varchar2(30) := name_in(‘system.cursor_block‘);
  param_to_pass1 varchar2(255);
  param_to_pass2 varchar2(255);
begin
  -- Zoom event opens a new session of a form and
  -- passes parameter values to the new session.  The parameters
  -- already exist in the form being opened.
  if (event_name = ‘ZOOM‘) then
    if (form_name = ‘DEMXXEOR‘ and block_name = ‘ORDERS‘) then
      param_to_pass1 := name_in(‘ORDERS.order_id‘);
      param_to_pass2 := name_in(‘ORDERS.customer_name‘);
      fnd_function.execute(FUNCTION_NAME=>‘DEM_DEMXXEOR‘,
                           OPEN_FLAG=>‘Y‘,
                           SESSION_FLAG=>‘Y‘,
                           OTHER_PARAMS=>‘ORDER_ID="‘||param_to_pass1||
                             ‘" CUSTOMER_NAME="‘||param_to_pass2||‘"‘);
      -- all the extra single and double quotes account for
      -- any spaces that might be in the passed values
    end if;

  -- This is an example of a product-specific event.  Note that as
  -- of Prod 15, this event doesn‘t exist.
  elsif (event_name = ‘OE_LINES_PRICING‘) then
    get_custom_pricing(‘ORDERS.item_id‘, ‘ORDERS.price‘);

  -- This is an example of enforcing a company-specific business
  -- rule, in this case, that all vendor names must be uppercase.
  elsif (event_name = ‘WHEN-VALIDATE-RECORD‘) then
    if (form_name = ‘APXVENDR‘) then
      if (block_name = ‘VENDOR‘) then
        copy(upper(name_in(‘VENDOR.NAME‘)), ‘VENDOR.NAME‘);
      end if;
    end if;
  else
    null;
  end if;
end event;
*/
--
-- Real code starts here
--
BEGIN
   IF     event_name = ‘WHEN-NEW-ITEM-INSTANCE‘
      AND NAME_IN (‘system.cursor_item‘) = ‘LINES.ITEM_NUMBER‘
   THEN
      FND_KEY_FLEX.UPDATE_DEFINITION (
         BLOCK          => ‘LINES‘,
         FIELD          => ‘ITEM_NUMBER‘,
         WHERE_CLAUSE   => ‘1 = 1
         AND MTL_SYSTEM_ITEMS_VL.ENABLED_FLAG = ‘‘Y‘‘
         AND TO_DATE ( SYSDATE, ‘‘YYYY/MM/DD HH24:MI:SS‘‘) BETWEEN NVL (
                                                                 TRUNC (
                                                                    MTL_SYSTEM_ITEMS_VL.START_DATE_ACTIVE),
                                                                 TO_DATE (
                                                                    SYSDATE,
                                                                    ‘‘YYYY/MM/DD HH24:MI:SS‘‘))
                                                          AND NVL (
                                                                 TRUNC (
                                                                    MTL_SYSTEM_ITEMS_VL.END_DATE_ACTIVE),
                                                                 TO_DATE (
                                                                    SYSDATE,
                                                                    ‘‘YYYY/MM/DD HH24:MI:SS‘‘))
         AND MTL_SYSTEM_ITEMS_VL.SEGMENT1 LIKE :LINES.ITEM_NUMBER || ‘‘%‘‘
         AND MTL_SYSTEM_ITEMS_VL.ORGANIZATION_ID = (SELECT OD.ORGANIZATION_ID FROM ORG_ORGANIZATION_DEFINITIONS OD WHERE OD.ORGANIZATION_CODE <> ‘‘MST‘‘ AND OD.OPERATING_UNIT = :PO_REQ_HDR.ORG_ID)
         AND (    (   PURCHASING_ENABLED_FLAG = ‘‘Y‘‘
                   OR NVL (INTERNAL_ORDER_ENABLED_FLAG, ‘‘N‘‘) = ‘‘Y‘‘)
              AND NVL (BOM_ITEM_TYPE, 0) NOT IN (1, 2)
              AND NVL (OUTSIDE_OPERATION_FLAG, ‘‘N‘‘) =  ‘‘N‘‘)
         AND MTL_SYSTEM_ITEMS_VL.MRP_PLANNING_CODE = 7 ‘);
   END IF;
END event;

技术分享

PR物料KFF弹出LOV - WHERE条件重写

标签:

原文地址:http://www.cnblogs.com/quanweiru/p/5291498.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!