加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

EBS Form开发中弹性域定义的更新及其语法

发布时间:2020-12-15 03:50:10 所属栏目:百科 来源:网络整理
导读:EBS Form开发中弹性域定义的更新及其语法 (版权声明,本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处;否则请与本人联系,违者必究) 原文来源:Application Developer Guide 更新弹性域定义 通常一旦在form上定义弹性域,一般是在form的

EBS Form开发中弹性域定义的更新及其语法

(版权声明,本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处;否则请与本人联系,违者必究)

原文来源:Application Developer Guide

更新弹性域定义

通常一旦在form上定义弹性域,一般是在form的启动事件。但是,有时你需要在稍后修改这个定义。比如,你可能想让这个弹性域变成不可更新和不可插入。替代重新定义弹性域并和之前一样设置UPDATEABLE=>’’和INSERTABLE=>’’和其它参数,你可以使用下面的更新方法来更改仅需要修改的参数。

可以使用更新方法来控制任意你在弹性域定义方法中指定的”其它可选参数”。你不能使用这些方法来改变比如弹性域使用哪些字段的参数,因为这些参数可以有效识别弹性域而不是修改它。比如,你可以指定为VALIDATE参数指定新值,但是你不能为DESCRIPTION或者DATA_FIELD参数指定新值。

启用或者禁用弹性域

一旦在form上定义了弹性域,无论在block或者form级别上的各种触发器调用FND_FLEX.EVENT,这些事件都会应用到定义在block或者form上的所有弹性域。但是这样若只想为一些弹性域而不对其它弹性域调用FND_FLEX.EVENT就会变得困难。比如,你可能不想为一个特定的关键性弹性域在PRE-UPDATE调用VALID,但是你想为block上的所有其它的弹性域调用它。使用更新方法你可以启用和禁用弹性域定义,这样FND_FLEX.EVENT调用不会应用到禁用的弹性域定义上。

更新方法除了你可以指定可选的参数,还提供了特殊的参数,ENABLED。你为这个参数指定N来禁用弹性域,指定为Y来启用弹性域。你不能在通常的弹性域定义方法调用中使用ENABLED(因为定义方法会自动启用这个弹性域)。

关键性弹性域更新定义语法

使用UseFND_KEY_FLEX.UPDATE_DEFINITION来为组合form上的或者外键关键性弹性域来更新定义。除了ENABLED是你仅可以用于更新定义的参数,其它参数都和定义弹性域的一样。

FND_KEY_FLEX.UPDATE_DEFINITION(

/* Arguments thatspecify flexfield location and

thus identify theflexfield */

BLOCK=>’block_name’,

FIELD=>’concatenated_segments_field_name’,

/* Argument toenable or disable flexfield */

[ENABLED=>’{Y|N}’,]

/* Other optionalparameters */

[VALIDATE=>’{FOR_INSERT|FULL|PARTIAL|NONE|

PARTIAL_IF_POSSIBLE}’,]

[VDATE=>’date’,]

[DISPLAYABLE=>’{ALL| flexfield_qualifier |

segment_number}[{ALL|

flexfield_qualifier | segment_number}]’,]

[INSERTABLE=>’{ALL| flexfield_qualifier |

segment_number}[{ALL|

flexfield_qualifier | segment_number}]’,]

[UPDATEABLE=>’{ALL| flexfield_qualifier |

segment_number}[{ALL|

flexfield_qualifier | segment_number}]’,]

[VRULE=>’flexfield qualifiern

segmentqualifiern

{I[nclude]|E[xclude]}n

APPL=application_short_name;

NAME=Message Dictionary message namen

validation value1n

validation value2...

[flexfield qualifiern

segment qualifiern

{I[nclude]|E[xclude]}n

APPL=application_short_name;

NAME=Message Dictionary message namen

validation value1n

validation value2...]’,]

[COPY=>’block.fieldn{ALL | flexfield

qualifier | segment_number}

[block.fieldn{ALL | flexfield

qualifier | segment_number}]’,]

[DERIVED=>’block.fieldnSegment qualifier’,]

[DINSERT=>’{Y|N}’,]

[VALATT=>’block.fieldn

flexfield qualifiern

segment qualifier’,]

[TITLE =>’Title’,]

[REQUIRED=>’{Y|N}’,]

[AUTOPICK=>’{Y|N}’,]

[USEDBFLDS=>’{Y|N}’,]

[ALLOWNULLS=>’{Y|N}’,]

[DATA_SET=>’set number’,]

[COLUMN=>’{column1(n) | column1 alias(n)

[,column2(n),...]}’,]

[WHERE_CLAUSE=>’where clause’,]

[COMBQP_WHERE=>’{Y|N}’,]

[WHERE_CLAUSE_MSG=>’APPL=application_short_

name;NAME=message_name’,]

[QUERY_SECURITY=>’{Y|N}’,]

[QBE_IN=>’{Y|N}’,]

[READ_ONLY=>’{Y|N}’,]

[LONGLIST=>’{Y|N}’,]

[NO_COMBMSG=>’{Y|N}’,]

[LOCK_FLAG=>’{Y|N}’,]

[AUTOCOMBPICK=>’{Y|N}’,]

[DERIVE_ALWAYS=>’{Y|N}’,]

[HELP=>’APPL=application_short_name;

TARGET=target_name’]

);

范围类型弹性域更新定义语法

对于范围弹性域,使用FND_RANGE_FLEX.UPDATE_DEFINITION方法。对于”type”弹性域也使用这个方法(它也可能包含范围弹性域分段),它包含额外字段,这些字段对应相关关键性弹性域的每个分段。除了ENABLED是你仅可以用于更新定义的参数,其它参数都和定义弹性域的一样。

注意:你不要附加”_LOW”或者”_HIGH”到FIELD,DESCRIPTION,DATA_FIELD或者其它值,因为这个方法会自动添加它们。当你使用多于一个type列时,保证所有TYPE_参数指定的type列保持同样的顺序,这样可以避免参数值应用到错误的类型列。

FND_RANGE_FLEX.UPDATE_DEFINITION(

/* Arguments thatspecify flexfield location */

BLOCK=>’block_name’,

/* Argument to enableor disable flexfield */

[ENABLED=>’{Y|N}’,]

/* Other optionalparameters */

[VALIDATE=>’{PARTIAL|NONE}’,]

[DISPLAYABLE=>’{ALL | flexfield_qualifier |

segment_number}[{ALL|

flexfield_qualifier | segment_number}]’,]

[VRULE=>’flexfield qualifiern

segment qualifiern

{I[nclude]|E[xclude]}n

APPL=application_short_name;

NAME=Message Dictionary message namen

validation value1n

validation value2...

[flexfield qualifiern

segment qualifiern

{I[nclude]|E[xclude]}n

APPL=application_short_name;

NAME=Message Dictionary message namen

validation value1n

validation value2...]’,]

/* Parametersspecific to type flexfields */

[TYPE_FIELD=>’block.concatenated_type_values_

fieldntype field suffix’,]

[TYPE_VALIDATION=>’Value set namen

RequirednDefault value’,]

[TYPE_SIZES=>’type_value_display_

sizenDescription_display_size’,]

[TYPE_HEADING=>’type column heading’,]

[TYPE_DATA_FIELD=>’block.type_data_field’,]

[TYPE_DESCRIPTION=>’block.type_

description_field’,]

[SCOLUMN=>’single column title’]

[HELP=>’APPL=application_short_name;

TARGET=target_name’]

);

注意:TYPE_FIELD,TYPE_DATA_FIELD和TYPE_DESCRIPTION需要block.fieldname的结构,不像其它的弹性域参数值只需要指定字段名而不需要block的名字。

描述性弹性域更新定义语法

对于描述性弹性域,使用FND_DESCR_FLEX.DEFINE方法。除了ENABLED是你仅可以用于更新定义的参数,其它参数都和定义弹性域的一样。

FND_DESCR_FLEX.UPDATE_DEFINITION(

/* Arguments thatspecify the flexfield location */

BLOCK=>’block_name’,

FIELD=>’field_name’,]

/* Other optionalparameters */

[VDATE=>’date’,]

[LOCK_FLAG=>’{Y|N}’,]

[HELP=>’APPL=application_short_name;

TARGET=target_name’,]

[CONTEXT_LIKE=>’WHERE_clause_fragment’}

);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读