![Form开发:字段关系-消息-快速编码-参数和系统变量 Form开发:字段关系-消息-快速编码-参数和系统变量](https://image.shishitao.com:8440/aHR0cHM6Ly9ia3FzaW1nLmlrYWZhbi5jb20vdXBsb2FkL2NoYXRncHQtcy5wbmc%2FIQ%3D%3D.png?!?w=700&webp=1)
1.字段关系
清除依赖字段:在挂LOV的名称字段的WHEN-VALIDATE-ITEM调用:app_field.clear_dependent_fields
设置字段依赖:在主字段的WHEN-VALIDATE-ITEM和块的PRE-RECORD中调用:
app_field.set_dependent_field(event,
'主字段名称',
'受依赖字段名称');
2.参数:
可在功能定义中使用,用来控制FORM不同功能特性;
3.快码的定义和使用
应用开发员-》应用产品-》代码-》公用:
-- <Populate Dynamic List with Lookup>
PROCEDURE populate_list_with_lookup(p_lookup_type VARCHAR2,
p_block_name VARCHAR2,
p_item_name VARCHAR2,
p_invalid_value VARCHAR2 default null) IS
CURSOR csr_data IS
SELECT lookup_code,
meaning
FROM fnd_lookup_values_vl cl
WHERE cl.lookup_type = p_lookup_type
AND cl.enabled_flag = 'Y'
and cl.lookup_code<>nvl(p_invalid_value,'X$***$X')
AND trunc(SYSDATE) BETWEEN nvl(cl.start_date_active,
trunc(SYSDATE)) AND nvl(cl.end_date_active,
trunc(SYSDATE))
ORDER BY cl.lookup_code;
l_item_id item := find_item(p_block_name || '.' || p_item_name);
l_index NUMBER := 1;
BEGIN
IF NOT id_null(l_item_id) THEN
l_index := 1;
clear_list(l_item_id);
FOR rec IN csr_data
LOOP
BEGIN
add_list_element(l_item_id,
l_index,
rec.meaning,
rec.lookup_code);
l_index := l_index + 1;
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
END LOOP;
ELSE
app_exception.invalid_argument('POPULATE_LIST_WITH_LOOKUP',
'BLOCK.ITEM',
(p_block_name || '.' || p_item_name));
END IF;
END populate_list_with_lookup;
4.消息的定义和使用:
应用开发员-》应用产品-》消息:
fnd_message.set_name('CUX','CUX_PO_VENDOR_NOTE');
fnd_message.set_token('TAB1',:system.current_block);
fnd_message.set_token('TAB2',:system.current_block);
fnd_message.show/error;
5.系统变量:
:system.BLOCK_STATUS、record_status、MESSAGE_LEVEL、trigger_block、trigger_item、trigger_record等;