oracle系统的物料编码,关于标准form 物料编码查询 不通过lov

今天自己查看了一下 标准form 物料编码 的录入时

30403620_1442824717s71h.png

系统的实现逻辑:

1.when_new_form_instance;

procedure when_new_form_instance  is

CURSOR csr_org_id IS

SELECT t.inventory_organization_id

FROM financials_system_params_all t

WHERE t.org_id = :parameter.mo_default_org_id;

begin

fdrcsid('$Header: CUXPOXSTAD.fmb 117.39 2015/09/05 12:52:55 pkm ship $');

app_standard.event('WHEN-NEW-FORM-INSTANCE');

-- R12 MOAC

mo_setup_utl.multi_org_event('WHEN-NEW-FORM-INSTANCE');

-- 定义文件夹

app_folder.define_folder_block(object_name        => 'PO_LINES',

folder_block_name  => 'PO_LINES',

prompt_block_name  => 'PO_LINES_PROMPT',

folder_canvas_name => 'PO_LINE_STK',

folder_window_name => 'MAIN',

disabled_functions => '',

tab_canvas_name    => '',

fixed_canvas_name  => '');

app_folder.event('INSTANTIATE');

-- 定义描述性弹性域

fnd_descr_flex.define(BLOCK           => 'PO_HEADERS',

field           => 'DESC_FLEX',

appl_short_name => 'CUX',

desc_flex_name  => 'CUX_PO_HEADERS_ALL');

fnd_descr_flex.define(BLOCK           => 'PO_LINES',

field           => 'DESC_FLEX',

appl_short_name => 'CUX',

desc_flex_name  => 'CUX_PO_LINES_ALL');

-- 定义菜单

fnd_message.set_name('CUX', 'CUX_POX_STAD_APPROVAL_HIST');

app_special.instantiate(option_name       => 'SPECIAL1',

hint              => fnd_message.get,

icon              => NULL,

initially_enabled => FALSE,

separator         => NULL);

-- 控制QUERY_ONLY模式

IF NAME_IN('PARAMETER.QUERY_ONLY') = 'YES' THEN

SET_BLOCK_PROPERTY('PO_HEADERS', INSERT_ALLOWED, PROPERTY_FALSE);

SET_BLOCK_PROPERTY('PO_LINES', INSERT_ALLOWED, PROPERTY_FALSE);

SET_BLOCK_PROPERTY('PO_HEADERS', UPDATE_ALLOWED, PROPERTY_FALSE);

SET_BLOCK_PROPERTY('PO_LINES', UPDATE_ALLOWED, PROPERTY_FALSE);

--APP_ITEM_PROPERTY.SET_PROPERTY('CONTROL.APPROVE', ENABLED, PROPERTY_OFF);

ELSE

SET_BLOCK_PROPERTY('PO_HEADERS', INSERT_ALLOWED, PROPERTY_TRUE);

SET_BLOCK_PROPERTY('PO_LINES', INSERT_ALLOWED, PROPERTY_TRUE);

SET_BLOCK_PROPERTY('PO_HEADERS', UPDATE_ALLOWED, PROPERTY_TRUE);

SET_BLOCK_PROPERTY('PO_LINES', UPDATE_ALLOWED, PROPERTY_TRUE);

-- APP_ITEM_PROPERTY.SET_PROPERTY('CONTROL.APPROVE', ENABLED, PROPERTY_ON);

END IF;

open csr_org_id;

fetch csr_org_id into :PARAMETER.ORG_ID;

close csr_org_id;

fnd_key_flex.define(BLOCK                 => 'PO_LINES',

field                 => 'SEGMENT1',

id                    => 'INVENTORY_ITEM_ID',

appl_short_name       => 'INV',

code                  => 'MSTK',

data_set              => ':PARAMETER.ORG_ID',

required              => 'N',

usedbflds             => 'N',

allownulls            => 'Y',

validate              => 'FULL',

select_comb_from_view => 'MTL_SYSTEM_ITEMS_VL',

where_clause          => '',

longlist              => 'Y',

column                =>'DESCRIPTION DESCRIPTION(*) into PO_LINES.DESCRIPTION');  --物料描述字段

Show_View('PO_LINE_STK');

end;

2. 物料编码项的属性

lov enable_list_lamp 从列表中验证  否

物料编码 项 WHEN-VALIDATE-ITEM添加

fnd_flex.event(upper('when-validate-item'));

关于单位 物料类别 其他都可以写在 这个事件里面

procedure item_number(event varchar2) is

l_uom_code     VARCHAR2(10);

l_unit_of_measure  VARCHAR2(10);

CURSOR csr_uom(p_inventory_item_id IN NUMBER,

p_organization_id   IN NUMBER) IS

SELECT mu.unit_of_measure,

msi.primary_uom_code

FROM mtl_system_items_vl msi,

mtl_units_of_measure_vl mu

WHERE msi.primary_uom_code = mu.uom_code

AND msi.inventory_item_id = p_inventory_item_id

AND msi.organization_id = p_organization_id;

begin

if event ='WHEN-VALIDATE-ITEM' then

OPEN csr_uom(:po_lines.inventory_item_id,

:parameter.org_id);

FETCH csr_uom

INTO l_unit_of_measure,

l_uom_code;

CLOSE csr_uom;

:po_lines.PRIMARY_UNIT := l_unit_of_measure;

app_field.clear_dependent_fields('PO_LINES.SEGMENT1',

'PO_LINES.INVENTORY_ITEM_ID',

'PO_LINES.DESCRIPTION',

'PO_LINES.PRIMARY_UNIT');

else

app_exception.invalid_argument('PO_LINES.SEGMENT1',

'EVENT',

event);

end if;

end item_number;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值