EBS Form开发中弹性域的定义语法


EBS Form开发中弹性域的定义语法

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

来源:Oracle Applications Developers Guide

关键性弹性域定义语法

在外键form或者组合form上,使用FND_KEY_FLEX.DEFINE方法定义关键性弹性域。

注意:Oracle提供了组合form语法,这样你就可以把现存的子SQL*Forms2.3到Oracle Forms4.5的非OracleApplications 组合form进行转换。但是,关键性弹性域的API在未来版本的Oracle Applications中还可以能更改,因此,Oracle建议不要创建任何新的非Oracle Applications提供的关键性弹性域。

FND_KEY_FLEX.DEFINE(
/* Arguments thatspecify flexfield location */

BLOCK=>’block_name’,

FIELD=>’concatenated_segments_field_name’,

[DESCRIPTION=>’description_field_name’,]

[ID=>’Unique_ID_field’,]

[DATA_FIELD=>’concatenated_hidden_IDs_field’,]

/* Arguments thatspecify the flexfield */

APPL_SHORT_NAME=>’application_short_name’,

CODE=>’key_flexfield_code’,

NUM=>’structure_number’,

/* Other optionalparameters */

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

PARTIAL_IF_POSSIBLE}’,]

[VDATE=>’date’,]

[DISPLAYABLE=>’{ALL| flexfield_qualifier |

segment_number}[\\0{ALL|

flexfield_qualifier | segment_number}]’,]

[INSERTABLE=>’{ALL| flexfield_qualifier |

segment_number}[\\0{ALL|

flexfield_qualifier | segment_number}]’,]

[UPDATEABLE=>’{ALL| flexfield_qualifier |

segment_number}[\\0{ALL|

flexfield_qualifier | segment_number}]’,]

[VRULE=>’flexfield qualifier\\n

segment qualifier\\n

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

APPL=application_short_name;

NAME=Message Dictionary message name\\n

validation value1\\n

validation value2...

[\\0flexfield qualifier\\n

segment qualifier\\n

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

APPL=application_short_name;

NAME=Message Dictionary message name\\n

validation value1\\n

validation value2...]’,]

[COPY=>’block.field\\n{ALL | flexfield

qualifier | segment_number}

[\\0block.field\\n{ALL | flexfield

qualifier | segment_number}]’,]

[DERIVED=>’block.field\\nSegment qualifier’,]

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

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

[VALATT=>’block.field\\n

flexfield qualifier\\n

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), ...] [INTO block.field]}’,]

[WHERE_CLAUSE=>’where clause’,]

[COMBQP_WHERE=>’{where clause|NONE}’,]

[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=>’APPL=application_short_

name;NAME=message_name’,]

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

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

[HELP=>’APPL=application_short_name;

TARGET=target_name’]

);


对于参数VALATT,COPY或者DERIVED参数,不要在block.field引用中使用冒号(:)。这些方法的参数会走到OracleApplication Object Library的外层程序,而不是直接为PL/SQL解析。

范围类型弹性域定义语法

对于范围弹性域,使用FND_RANGE_FLEX.DEFINE。对于”type”弹性域也使用这个方法(它也可能包含范围弹性域分段),它包含额外字段,这些字段对应相关关键性弹性域的每个分段。比如,一个Accouting 弹性域的type弹性域可能为每个Accouting弹性域分段包含一个字段,但是你可能在这些字段只能输入Yes或者No值,而不是通常的分段值。Assign Function Parameter form为分段使用字段使用了type弹性域(你可以为任何你想使用的分段输入”YES”).你可能需要构建一个type弹性域,其中包含多于一个“类型列”(一个在弹性域弹出窗口中字段’列’, 其对应于实际分段的字段)。如果你这么做,你可以指定TYPE_参数值多次,使用\\0来隔离多个值。

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

FND_RANGE_FLEX.DEFINE(/* Arguments thatspecify flexfield location */BLOCK=>’block_name’,FIELD=>’concatenated_segments_field_name’,[DESCRIPTION=>’description_field_name’,][DATA_FIELD=>’concatenated_hidden_IDs_field’,]/* Arguments thatspecify the flexfield */APPL_SHORT_NAME=>’application_short_name’,CODE=>’key_flexfield_code’,NUM=>’structure_number’,/* Other optionalparameters */[VALIDATE=>’{PARTIAL|NONE}’,][VDATE=>’date’,][DISPLAYABLE=>’{ALL| flexfield_qualifier |segment_number}[\\0{ALL|flexfield_qualifier | segment_number}]’,][INSERTABLE=>’{ALL| flexfield_qualifier |segment_number}[\\0{ALL|flexfield_qualifier | segment_number}]’,][UPDATEABLE=>’{ALL| flexfield_qualifier |segment_number}[\\0{ALL|flexfield_qualifier | segment_number}]’,][VRULE=>’flexfield qualifier\\nsegment qualifier\\n{I[nclude]|E[xclude]}\\nAPPL=application_short_name;NAME=Message Dictionary message name\\nvalidation value1\\nvalidation value2...[\\0flexfield qualifier\\nsegment qualifier\\n{I[nclude]|E[xclude]}\\nAPPL=application_short_name;NAME=Message Dictionary message name\\nvalidation value1\\nvalidation value2...]’,][TITLE =>’Title’,][REQUIRED=>’{Y|N}’,][AUTOPICK=>’{Y|N}’,][USEDBFLDS=>’{Y|N}’,][ALLOWNULLS=>’{Y|N}’,][DATA_SET=>’set number’,][READ_ONLY=>’{Y|N}’,]/* Parametersspecific to type flexfields */[TYPE_FIELD=>’block.concatenated_type_values_field\\ntype field suffix’,][TYPE_VALIDATION=>’Value set name\\nRequired\\nDefaultvalue’,][TYPE_SIZES=>’type_value_display_size\\nDescription_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方法。

FND_DESCR_FLEX.DEFINE(/* Arguments thatspecify the flexfield location */BLOCK=>’block_name’,FIELD=>’field_name’,[DESCRIPTION=>’description_field_name’,][DATA_FIELD=>’concatenated_hidden_IDs_field’,]/* Arguments thatspecify the flexfield */APPL_SHORT_NAME=>’application_short_name’,DESC_FLEX_NAME=>’descriptive flexfield_name’/* Other optionalparameters */[VDATE=>’date’,][TITLE =>’Title’,][AUTOPICK=>’{Y|N}’,][USEDBFLDS=>’{Y|N}’,][READ_ONLY=>’{Y|N}’,][LOCK_FLAG=>’{Y|N}’,][HELP=>’APPL=application_short_name;TARGET=target_name’,][CONTEXT_LIKE=>’WHERE_clause_fragment’});


智能推荐

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
© 2014-2019 ITdaan.com 粤ICP备14056181号  

赞助商广告