fnd_key_flex.define()的参数如何定义
时间: 2024-03-29 17:34:45 浏览: 151
fnd_key_flex.define()是用于定义弹性域的函数,可以传递以下参数:
1. block_name:弹性域所属的块名称。
2. key_name:弹性域的名称。
3. description:弹性域的描述信息。
4. enabled_flag:弹性域是否启用的标志位。
5. security_type:弹性域的安全类型。
6. lov_name:如果弹性域是一个值列表,那么该参数指定该值列表的名称。
7. value_set_name:如果弹性域是一个值集,那么该参数指定该值集的名称。
8. validation_type:弹性域的验证类型。
9. default_value:弹性域的默认值。
10. attribute_category:弹性域的属性类别。
11. attribute1-15:弹性域的扩展属性1-15,可以用于存储额外的信息。
注意:具体的参数使用方法和参数类型需要根据具体的业务需求进行调整和定义。
相关问题
ebs fnd_key_flex.define怎么写
以下是一个使用fnd_key_flex.define函数来创建新键弹性域的示例代码:
```
DECLARE
l_key_flex_id NUMBER;
BEGIN
l_key_flex_id := fnd_key_flex.define(
keyflex_name => 'MY_KEY_FLEX',
description => 'My Key Flex',
application_short_name => 'XX',
flex_value_set_name => 'MY_FLEX_VALUE_SET',
code => 'MY_CODE',
structure_code => 'MY_STRUCTURE',
prompt => 'Enter My Key Flex Value',
enabled_flag => 'Y',
security_type => 'F',
allow_flexfield_segments => 'Y',
user_column_name => 'ATTRIBUTE1',
user_column_type => 'VARCHAR2',
user_column_width => 20,
user_column_max_size => 240,
user_column_sequence => 10,
user_column_displayed => 'Y',
user_column_required => 'N',
user_column_display_width => 20,
user_column_prompt => 'Enter Attribute1 Value',
user_column_default_value => 'DEFAULT_VALUE');
COMMIT;
DBMS_OUTPUT.PUT_LINE('Key Flex ID: ' || l_key_flex_id);
END;
```
在上面的示例代码中,我们定义了一个名为MY_KEY_FLEX的新键弹性域,该键弹性域包含一个名为ATTRIBUTE1的用户列。我们还指定了键弹性域的描述、应用程序名称、段名和代码等其他参数。在执行该代码时,会将新键弹性域的ID存储在变量l_key_flex_id中,并将其输出到控制台。
解释下我这段代码:for cur in (SELECT l.*, (SELECT scv.code_value_name FROM sys_code_values_vl scv, sys_codes_vl sc WHERE sc.code_id = scv.code_id AND scv.code_value = l.atm_type AND sc.code = 'PUR_ATMACHMENT_TYPE') atm_type_desc FROM fnd_atm_lines l WHERE 1 = 1 AND l.source_table_name = 'PUR_QUALIFIED_VENDOR_FILE' AND l.source_pk_value = p_qualified_hds_id ) loop --查询附件数量 SELECT count(1) into v_atm_count FROM fnd_atm_attachment_multi f, fnd_atm_attachment fa WHERE f.table_name = 'PUR_QUALIFIED_VENDOR_FILE' AND f.attachment_id = fa.attachment_id AND f.table_pk_value = cur.atm_line_id; if v_atm_count > 1 then v_atm_type := cur.atm_type_desc; raise e_atm_count_error; end if; end loop;
这段代码是一个循环,通过查询语句获取一组符合条件的记录,并对每条记录进行处理。循环中的代码主要是查询附件数量,并根据数量进行判断和处理。
首先,使用SELECT语句查询满足条件的记录,并将结果存储在游标cur中。查询语句中嵌套了一个子查询,用于获取atm_type的描述信息。
接下来,使用SELECT COUNT(1)语句查询附件数量,并将结果存储在变量v_atm_count中。查询条件为f.table_name='PUR_QUALIFIED_VENDOR_FILE',f.attachment_id=fa.attachment_id,f.table_pk_value=cur.atm_line_id。这个查询语句会统计满足条件的附件数量。
然后,通过if语句判断v_atm_count的值是否大于1。如果大于1,表示附件数量超过限制,将cur.atm_type_desc赋值给v_atm_type,并抛出异常e_atm_count_error。
最后,循环继续,处理下一条记录,直到所有记录被处理完毕。
阅读全文