Form 电子表格(JTF GEscortID)

JTF GENCOREID 的简要概念

JTF Grid不是Form 的正规化功用,而是 Oracle本人在 EBS 开发中计算出来的“可配备块字段”:块中有多少字段可以由此专门的界面定义。

 

对此开发以来,要做的业务就是用“坚守JTF Grid规范”换取“增删字段无需修改 Form代码”。

 

测试:

1.引用JTF Grid的PLL库

选中 Attached Libraries ,点击“+ ”,选择 JTF_G兰德酷路泽ID.pll,其将自行引用 JTF_UTIL 、JTFDEBUG 。即便地点没有请先从服务器下载

 

2.拷贝标准 JTF Grid对象

 

1.1 对象组

打开 JTFSTAND.fmb,把对象组“JTF_G酷威ID”拖到大家友好的 Form中,并精选“Subclass”而非“ Copy”,这些和前面讲的Folder一样。

 

这么会活动发出一种类用于 JTF_G福特ExplorerID的目标:块、画布、参数、 Property Classes、Window ,越发令人瞩目 Form级触发器JTF_GRID_EVENT 。这个都毫无修改。

 

1.2 过程

从JTFSTAND.fmb拷贝 JTF_CUSTOM_GRID_EVENT进程到我们协调的Form中,然后补上事件处理,临时全体放
null

 

PROCEDURE jtf_custom_grid_event(gridname 
IN VARCHAR2

                              
,eventtype IN VARCHAR2 ) IS

    grid_selection
jtf_grid_property.row_selection_type;

    l_start_row    NUMBER;

BEGIN

    IF eventtype =
jtf_grid_events.hyperlink_event THEN

        NULL;

    ELSIF eventtype =
jtf_grid_events.new_record_event THEN

        NULL;

    ELSIF eventtype =
jtf_grid_events.popup_event THEN

        NULL;

    ELSIF eventtype =
jtf_grid_events.row_selection_event THEN

        NULL;

    ELSIF eventtype =
jtf_grid_events.end_of_find_event THEN

        NULL;

    ELSIF eventtype =
jtf_grid_events.doubleclick_event THEN

        NULL;

    END IF ;

END;

 

3.创设数据库对象

 

-- Create table
CREATE TABLE cux_test_jtf_grid 
AS 
SELECT line_num
      ,vendor_name
      ,vendor_id
      ,order_date
      ,po_number
      ,inventory_item_id
      ,item_number
      ,DESCRIPTION
      ,quantity
      ,unit_of_measure
      ,unit_price
      ,currency_code 
FROM  xxibi_rcv_att_ohhand_v ;

--Or Create table
create table CUX_TEST_JTF_GRID
(
  LINE_NUM          NUMBER not null,
  VENDOR_NAME       VARCHAR2(240),
  VENDOR_ID         NUMBER,
  ORDER_DATE        DATE,
  PO_NUMBER         VARCHAR2(20) not null,
  INVENTORY_ITEM_ID NUMBER not null,
  ITEM_NUMBER       VARCHAR2(40),
  DESCRIPTION       VARCHAR2(240),
  QUANTITY          NUMBER not null,
  UNIT_OF_MEASURE   VARCHAR2(25) not null,
  UNIT_PRICE        NUMBER,
  CURRENCY_CODE     VARCHAR2(15)
)

 

 

4.定义 C中华VM 电子表格

路径:

图片 1

 输入电子表格名称、源视图、字段定义

图片 2

 

5.创建GRID块

 

手工创立非数据库块,规范起见,块名后加“G酷威ID”,那里是“DEMO_GRID”。

 

本来了,从 Template初步的例行修改步骤也是要做的。

 

6.修改GRID块

 

加上四个ITEM

 

Bean Area :READONLY_GRID

图片 3

 

Button :FIND

图片 4

 

Button :DETAIL

 图片 5

 

 

7.布局ITEM到画布

 

对此Bean Area
只幸而其性质上安装其在画布上的显得涨幅和惊人

图片 6

 

8.添加触发器代码

 

Form 级别 WHEN-NEW-FORM-INSTANCE

 

IF NOT jtf_grid.getbooleanproperty(‘DEMO_GRID.READONLY_GRID’,

                                  
jtf_grid_property.initialized) THEN

   jtf_grid.init(‘DEMO_GRID.READONLY_GRID’,’CUX_TEST_JTF_GRID_V’);

  
jtf_grid.setbooleanproperty(‘DEMO_GRID.READONLY_GRID’,

                              
jtf_grid_property.allow_multiple_row_selection,

                              
FALSE);

END IF ;

 

用户点击 Find,平时是弹出查询界面,输入完条件再实践查询,大家那边省去查询条件界面

Find 按钮 WHEN-BUTTON-PRESSED

 

jtf_grid.removeallbindvariables(
‘DEMO_GRID.READONLY_GRID’);

 

jtf_grid.setcharproperty(‘DEMO_GRID.READONLY_GRID’

                       
,jtf_grid_property.where_clause

                        ,’CURRENCY_CODE = ”USD”’);

 

IF jtf_grid.getbooleanproperty(‘DEMO_GRID.READONLY_GRID’

                             
,jtf_grid_property.is_populated) THEN

    jtf_grid.refresh(‘DEMO_GRID.READONLY_GRID’);

ELSE

    jtf_grid.populate(‘DEMO_GRID.READONLY_GRID’);

END IF ;

 

9.处理接纳事件

用户选中某行后,大家得以依据其当选的音讯去开辟2个普通块,那样首先须要在
FIND按钮的WHEN-BUTTON-PRESSED 中编辑

jtf_grid.requestrowselection(‘DEMO_GRID.READONLY_GRID’);

 

可以打开该包查看其切实效果。然后在过程jtf_custom_grid_event中一呼百应接纳事件

 

PROCEDURE JTF_CUSTOM_GRID_EVENT(gridName
in varchar2, eventType in varchar2) IS

  grid_selection
JTF_GRID_PROPERTY.ROW_SELECTION_TYPE;

  l_start_row  number;

BEGIN

  IF eventtype =
jtf_grid_events.hyperlink_event THEN

    null;

  ELSIF eventtype =
jtf_grid_events.new_record_event THEN

    null;

  ELSIF eventtype =
jtf_grid_events.popup_event THEN

    null;

  ELSIF eventtype =
jtf_grid_events.row_selection_event THEN

    grid_selection :=
jtf_grid.getRowSelection(‘DMEO_GRID.READONLY_GRID’ );

    if grid_selection.COUNT > 0 then

      l_start_row :=
grid_selection(1).startrow;

      –fnd_message.debug(jtf_grid.getcolumncharvalue(‘DMEO_GRID.READONLY_GRID’,l_start_row,’NAME’));

    end if ;

  ELSIF eventtype =
jtf_grid_events.end_of_find_event THEN

    null;

  ELSIF eventtype =
jtf_grid_events.doubleclick_event THEN

    null;

  END IF;

END;

 

10.上传编译

 图片 7

 

相关文章