oracleerp如何在Form中启用弹性域
- 格式:pdf
- 大小:276.45 KB
- 文档页数:3
本节介绍如何在Form中启用弹性域。
1注册表列在应用弹性域之前必须先定义弹性域,定义之前必须先注册表列。
注册的方法在第2章已有详细的介绍,再此不再赘述。
2 定义Flexfield进入应用开发员--弹性域--(说明性/键)--注册可新定义一个弹性域如图10.1所示,只有在步骤1中已注册的Table,Colummn在定义弹性域时才能被选到。
对于同种类型的弹性域,每一个基表应只定义一个,但是一个弹性域可对应多个Structure,在FORM中启用弹性域时,可利用代码指定此弹性域使用的Structure,在FORM中启用弹性域时,可利用代码指定此弹性域使用的Structure3在Form中启用弹性域(1) 添加对应的弹性域字段一般在基表对应的BLOCK下面新建对应的弹性域字段,相关的外观设置可参考Oracle 标准系统。
Discriptive Flexfields ColumnProperty Valueproperty class TEXT_ITEM_DESC_FLEXList of Values ENABLE_LIST_LAMPDatabase Item NoKey Flexfield ColumnProperty ValueList of Values ENABLE_LIST_LAMPDatabase Item No(2) 添加必要的触发器BLOCK LEVELTrigger CodePRE-QUERY FND_FLEX.EVENT(‘PRE-QUERY’);POST-QUERY FND_FLEX.EVENT(‘POST-QUERY’);PRE-INSERT FND_FLEX.EV ENT(‘PRE-INSERT’);PRE-UPDATE FND_FLEX.EVENT(‘PRE-UPDATE’);WHEN-VALIDATE-RECORD FND_FLEX.EVENT(‘WHEN-VALIDATE-RECORD’);WHEN-NEW-ITEMINSTANCE FND_FLEX.EVENT(‘WHEN-NEW-ITEMINSTANCE’);WHEN-VALIDATE-ITEM FND_FLE X.EVENT(‘WHEN-VALIDATE-ITEM’);ITEM LEVELTrigger CodeWHEN-NEW-ITEMINSTANCE FND_FLEX.EVENT(‘WHEN-NEW-ITEMINSTANCE’);WHEN-VALIDATE-ITEM FND_FLEX.EVENT(‘WHEN-VALIDATE-ITEM’);(3) 代码定义弹性域字段在Form-level的when-new-form-instance Trigger中调用Flexfield的API函数初始化弹性域栏位。
一、开始开发标准FORM1.输出不必要的BLOCKNAME,DETAILBLOCK。
(包括数据块,画布,窗口)2.修改触发器:PRE-FORMFND_STANDARD.FORM_INFO(版本号,名称,模块,日期,作者);APP_WINDOW.SET_WINDOW_POSITIN(‘第一个窗口名称’,’FIRST_WINDOW’);FND_ORG.CHOOSE_ORG;――选择组织APP_WINDOW.SET_TITLE(‘窗体名称’,:_code);3.修改程序单元:app_customer:close_window4.编译f60gen module=/porcli/applmgr/1159/au/11.5.0/forms/ZHS/IAQTEST01.fmb userid=apps/simple4uoutput_file=/porcli/applmgr/1159/inv/11.5.0/forms/ZHS/IAQTEST01.fmxmodule_type=form batch=no compile_all=yesf60gen <Form Name> apps/<apps password>pre_insert, pre_update中加入代码:fnd_standard.set_who二、QUERY FIND 制作一.把APPSTAND 的QUERY FIND 对象组拉到开发的FORM上,选择子类。
二.在目的数据块的添加QUERY FIND (BLOCK LEVEL,注:可以从FORM LEVEL拷贝),然后修改代码app_find.query_find (block_window V ARCHAR2, --目的数据块find_window V ARCHAR2, --查询窗口find_block V ARCHAR2) --查询数据块4.在QUERY FIND里面添加文本项等查询内容。
oracle 二次开发----form篇1.一进页面就能看到表中已生成数据,而不用按ctrl+f11进行查询的语句:在form级的触发器when-new-form-instance中,写如下代码:go_block('XXXX');execute_query;要查询的数据块的名称说明:当使用基于表建立的块时,可使用块里的任何项的GO_BLOCK或者GO_ITEM找到那个块当查询数据到一个块里去,可通过execute_query进行处理补充:用DELETE_RECORD从块中删除当前记录,要改变数据库的记录,必须使用COMMIT_FORM------------------------------------------------------------------有什么办法可以控制form中File菜单中的Export吗?使其失效答:在FORM中,在FORM级的触发器EXPORT中,将其中的代码app_standard.event('EXPORT');屏蔽掉,改为null;试一试------------------------------------------------------------------菜单与函数安全性1.子函数命名的标准:--子函数命名如下<form>_<subfunction>例如: PO_POXPOMPO_DELETE--用户函数命名如下<FROM NAME>:<subfunction>例如:PURCHASE ORDERS:DELETE------------------------------------------------------------------2.添加选择到指定的菜单中添加15个指定的form-specific entries到每一个指定的菜单中:tools,reports,actionsCreate a Form-level, User-named Trigger for Each Entry-- The form-level user-named trigger must be called SPECIALn, where n is a numberfrom 1 to 45-- Tools menu includes SPECIAL1 to SPECIAL15-- Reports menu includes SPECIAL16 to SPECIAL30, and the menu name Reports can be changed-- Actions menu includes SPECIAL31 to SPECIAL45, and the menu name Actions can be changed当form 启动时,在pre-form触发器中instantiate你特定的菜单items调用 app_special.instantiate包procedure APP_SPECIAL.INSTANTIATE(option_name varchar2, --定义tigger 名字hint varchar2 default null,--定义菜单实体的名字,使用&来定义菜单实体的键盘快捷键icon varchar2 default null,--initially_enabledboolean default true,separator varchar2 default null);--定义'LINE'为separator例子app_special.instantiate(’SPECIAL1’,’&P rint Order’,’PRINTORD’);在tool 菜单中的check boxes--option_name 与trigger_name 包括关键字CHECKBOX(例如:SPECIAL3_CHECKBOX)app_special.instantiate(’SPECIAL3_CHECKBOX’,’Spe&cial 3 Box w Line’, ’’,TRUE,’LINE’);--调用app_special.set_checkbox 来初始化check box 的值app_special.set_checkbox(’SPECIAL3_CHECKBOX’,’TRUE’);--在SPECIALn_CHECKBOX函数中和相应的逻辑代码中测试check boxapp_special.get_checkboxif (app_special.get_checkbox(’SPECIAL3_CHECKBOX’)=’TRUE’) then fnd_message.debug(’Special 3 is True!’);elsefnd_message.debug(’Special 3 is False!’);end if;----------------------------------------------在你在pre-form 中instantiate实体,随意将指定的菜单实体设置为可用或不可用(基于数据块),调用APP_SPECIAL.ENABLEprocedure APP_SPECIAL.ENABLE(option_name varchar2,state);在form-level 中的pre-block trigger里面,将你的special 菜单的item 定义为disableapp_special.enable(’SPECIAL1’,PROPERTY_OFF);在form-level 中的pre-block trigger里面,将你的special 菜单的item 定义为ableapp_special.enable(’SPECIAL1’,PROPERTY_on);将所有的special 菜单设置为 disableapp_special.enable(’SPECIAL’,PROPERTY_OFF);------------------------------------------------------------------编辑鼠标右键菜单调用APP_POPUP.INSTANTIATE(block或者item层的PRE-POPUPMENU Trigger)procedure APP_POPUP.INSTANTIATE(option_name varchar2,txt varchar2,initially_enabled boolean default true,separator varchar2 default null);与app_special.instantiate类似例如:APP_POPUP.INSTANTIATE('POPUP1','First Entry');d)PRE-QUERY--If you don't do this, whatever query criteria you may enter in-- the concatenated flex field, it is not taken into account.FND_FLEX.EVENT('PRE-QUERY' );e)KEY-LISTVALAPP_STANDARD.EVENT('KEY-LISTVAL');FND_FLEX.EVENT('KEY-LISTVAL' );------------------------------------------------------------------关于 Implementing Zoom Use the Custom Library的学习:1. .pll文件可以用form builder 打开,修改,创建2. .pll文件的编译方法:f60gen module=CUTOM.PLL userid=apps/apps module_type=LIBRARY3. 当系统不自动激活菜单上的图标时,可以在数据块的 block-level 的when-new-block-instance trigger中添加如下代码:以zoom为例子:set_menu_item_property('VIEW.ZOOM',ENABLED,PROPERTY_TURE)在form-level 的相应的trigger(比如zoom trigger)中改写下列代码:custom.event('ZOOM')4. fnd_function.exrcute语法:procedure FND_FUNCTION.EXECUTE(function_name IN varchar2,open_flag IN varchar2 default ’Y’,session_flag IN varchar2 default ’SESSION’, other_params IN varchar2 default NULL,activate IN varchar2 default ’ACTIVATE’,browser_target IN varchar2 default NULL); 5.FND_FUNCTION.TEST(function_name IN varchar2)测试指定的函数是否可以连接,该函数用于form 启动时测试函数的可用性,对于‘INIT’的理解:Examine current conditions and reset defaults and dynamic attributes as necessary.Usually called by other handlers that affect this item.validate(参数); 使form执行基于参数范围的有效的过程.参数为:default_scope,form_scope,record_scope,item_scope------------------------------------------------------------------弹性域(Flexfields)的总结:使用 FND_KEY_FLEX.DEFINE 在item handler 中设定key弹性域的定义procedure flexfield_item_name(event varchar2)isbeginfnd_key_flex.define(block=>'block_name',field=>'concatenated_segements_field_name',id=>'ccid_field_name',appl_short_name=>'shortname_of_application_used_to_register_flexfield ',code=>'flexfield_code',NUM=>'structure_number',any_other_auguments);)例:FND_KEY_FLEX.DEFINE(BLOCK=>’LINES’,FIELD=>’ACCTG_FLEX_VALUES’,ID=>’GL_ACCOUNT_CC_ID’,--Your ID field is the GL_ACCOUNT_CC_ID item APPL_SHORT_NAME=>’SQLGL’,CODE=>’GL#’,NUM=>’101’--可以使用GL_SET_OF_BOOKS_ID 作为structure id);----------------------------------------------------------------------------------使用FND_DESCR_FLEX.DEFINE 在item handler 中设定描述性弹性域的定义定义FND_DESCR_FLEX.DEFINE(BLOCK=>'BLOCK_NAME',FIELD=>'DISPLAYED_FLEXFIELD_FIELD_NAME',APPL_SHORT_NAME=>'SHORTNAME_OF_APPLICATION_USED_TO_REGISTER_FLEXFIELD ',DESC_FLEX_NAME=>'FLEXFIELD_NAME',ANY_OTHER_ARGUMNTS);例FND_DESCR_FLEX.DEFINE(BLOCK=>’ORDERS’,FIELD=>’DESC_FLEX’,APPL_SHORT_NAME=>’DEM’,DESC_FLEX_NAME=>’DEM_ORDERS’);)----------------------------------------------------------COPY 命令Copies a value from one item or variable into another item or global variable.SyntaxPROCEDURE COPY(source VARCHAR2, destination VARCHAR2)Parameterssource: The source is a literal value.destination: The destination can be either a text item or another global variable.例:COPY( 'Yes', 'GLOBAL.'||global_var_name );将‘YES’付值给变量global_var_name弹性域说明:/*这里是原来的FND_KEY_FLEX.DEFINE(BLOCK=>'LINES',FIELD=>'ACCTG_FLEX_VALUES',ID=>'GL_ACCOUNT_CC_ID',APPL_SHORT_NAME=>'SQLGL',CODE=>'GL#',NUM=>'101');*//*按以下顺序*/1.先创建一个外键字段, id(指‘Unique_ID_field’)2.修改联合字段的LOV, database item , class properties属性.(指description_field_name)3.WHEN-NEW-FORM-INSTANCEcursor get_cao isselect to_char(id_flex_num)from fnd_id_flex_structureswhere id_flex_structure_code = 'ACCOUNTING_FLEXFIELD'and id_flex_code = 'GL#';v_cao varchar2(1000);...................open get_cao;fetch get_cao into v_cao;if get_cao%notfound thenv_cao := '101';end if;close get_cao;app_standard.event('WHEN-NEW-FORM-INSTANCE');fnd_key_flex.define(BLOCK=>'COMBO',FIELD=>'ACCOUNT_FLEXFIELD',APPL_SHORT_NAME=>'SQLGL',CODE=>'GL#',NUM=>v_cao,ID=>'CODE_COMBINATION_ID',DESCRIPTION=>'',TITLE=>' OK ',VALIDATE=>'FULL',QBE_IN=>'Y',DERIVE_ALWAYS=>'Y',updateable => '',VRULE=>'\\nSUMMARY_FLAG\\nI\\nAPPL=SQLGL;NAME=GL_NO_PARENT_SEGM ENT_ALLOWED\\nN',where_clause => 'summary_flag != ''Y''',QUERY_SECURITY =>'Y');4.在其他触发器中按如下处理‘WHEN-VALIDATE-ITEM’‘WHEN-NEW-ITEM-INSTANCE’‘POST-QUERY’‘PRE-QUERY ’‘KEY-LISTVAL’a)WHEN-VALIDATE-ITEMif ( :system.mode = 'NORMAL' ) thenfnd_flex.event( 'WHEN-VALIDATE-ITEM' );end if;b)WHEN-NEW-ITEM-INSTANCEapp_standard.event('WHEN-NEW-ITEM-INSTANCE');fnd_flex.event('WHEN-NEW-ITEM-INSTANCE' );c)POST-QUERYFND_FLEX.EVENT('POST-QUERY');message 用法总结:1.设置信息:--FND_MESSAGE.SET_NAME 语法:procedure FND_MESSAGE.SET_NAME(application_shortnameINvarchar2,message_name IN varchar2);作用:从Message Dictionary获取一条信息一般情况下在FORM中显示出错信息使用以下代码:FND_MESSAGE.SET_NAME( APPL_SHORT_NAME,MESSAGE_NAME) ;FND_MESSAGE.ERROR ;--FND_MESSAGE.RETRIEVE作用:取得一条数据库中的等待信息--FND_MESSAGE.SET_STRING (value IN varchar2)作用:将字符串放到消息栈中,--FND_MESSAGE.SET_TOKEN作用:用值替换message的信息中的变量语法:procedure FND_MESSAGE.SET_TOKEN(token_name IN VARCHAR2,value IN VARCHAR2translate IN boolean default FALSE);--在form用于显示信息的函数1.FND_MESSAGE.ERROR2.FND_MESSAGE.WARN例子Example:FND_MESSAGE.SET_NAME(’SQLAP’,’AP_PAY_MULTI_PAY_VOID’);REC_COUNT:= <NUMBER OF PAYMENTS>;FND_MESSAGE.SET_TOKEN(’NUM_OF_RECS’,REC_COUNT);IF (NOT FND_MESSAGE.WARN) THENRaise FORM_TRIGGER_FAILURE;END IF;3.FND_MESSAGE.QUESTION语法:FND_MESSAGE.QUESTION(button1 IN varchar2 default ‘YES’,button2 IN varchar2 default ‘NO’,button3 IN varchar2 default ‘CANCEL’;default_btn IN number default 1,cancel_btn IN number default 3,icon IN varchar2 default ‘question’) return number;说明:FND_MESSAGE.QUESTION 返回一个被选中的button的number Example:FND_MESSAGE.SET_NAME(’FND’,’ATCHMT-COMMIT BEFORE INVOKING’); IF FND_MESSAGE.QUESTION(’YES’,’CANCEL’,NULL,1,2,NULL) = 2 THENRAISE FORM_TRIGGER_FAILURE;END IF;4.FND_MESSAGE.SHOW作用:显示信息5.FND_MESSAGE.DEBUG6.FND_MESSAGE.GET作用:取得在message中设置好的message信息设置Item-level和Item-instance-level属性时需特别的注意,Item-level属性影响所有的记录,而Item-instance-level属性只影响特定的记录(当前行)。
OracleEBS中的弹性域讲解与设置浅谈弹性域功能及其应⽤弹性域是EBS中⼀个强有⼒的功能,允许添加必要和可选择的字段信息。
它是由⼀个或者多个段组成的字段。
段在数据库表中以单个列表⽰;在表单上显⽰为包含各段提⽰的弹出式窗⼝,可以在⾃定义弹性域时定义单个段的外观和含义。
每个段都有⼀个名称和⼀个有效值集,最终⽤户可以在使⽤应⽤产品时将段值输⼊段中。
⼀般来说,弹性域都会根据通常预先定义的⼀组有效值(值集)来验证每个段。
“值验证”表⽰弹性域会将⽤户在此段中输⼊的值与值集中该段的值进⾏⽐较。
我们知道的弹性域两种类型,⼀种叫KeyFlexfield(KFF),另⼀种叫Descriptiveflexfield(DFF)。
KFF诸如AccountingFlexfield、KeyAssetsFlexfield等,这类KFF在设置系统⾥通常说明了由弹性域标识的实体的特性。
⽽DFF是允许⽤户⾃⼰选⽤及扩充的说明⽂字。
这两类型的弹性域都允许有不同的结构,弹性域结构是段的⼀种特定配置。
如果在弹性域中添加或删除段,或者将其中的段重新排序,就会得到⼀个不同的结构。
弹性域可以根据表单或应⽤数据中的数据条件,针对不同的最终⽤户显⽰不同的结构。
近期有很多⼈问到有关弹性域的⼀些基础⽤处,在此以举例的形式简单说说如何发挥弹性域的功能:⽬录:⼀上下⽂字段 (2)⼆⾃定义上下⽂列 (6)三与其他设置相关 (12)四多层从属的值集 (18)⼀上下⽂字段说明性弹性有种有别于键弹性域的功能:“上下⽂字段”,它允许根据表单或者数据库字段的值,进⾏⾃动选择对应的段,也正是这个功能,允许同⼀个数据库字段可以写上不同类别的记录:可以是数量,可以是⽇期。
这个我们通常会在资产、设备管理等模块上感觉⾮常有⽤。
打个⽐⽅,在制造⾏业拥有的资产分类除了“电⼦设备”外还会有“房屋与建筑物”,对于电⼦设备,可能会⽐较关⼼它的“精度”、“强度”及其它;⽽房屋与建筑物则会⽐较关⼼“寿命”、“占地⾯积”等。
ORACLEEBSFORM二次开发整理一、开始开发标准FORM1.输出不必要的BLOCKNAME,DETAILBLOCK。
(包括数据块,画布,窗口)2.修改触发器:PRE-FORMFND_STANDARD.FORM_INFO(版本号,名称,模块,日期,作者);APP_WINDOW.SET_WINDOW_POSITIN(‘第一个窗口名称’,’FIRST_WINDOW’);FND_ORG.CHOOSE_ORG;――选择组织APP_WINDOW.SET_TITLE(‘窗体名称’,:/doc/0117636799.html,_code);3.修改程序单元:app_customer:close_window4.编译f60genmodule=/porcli/applmgr/1159/au/11.5.0/forms/ZHS/IAQTEST0 1.fmb userid=apps/simple4uoutput_file=/porcli/applmgr/1159/inv/11.5.0/forms/ZHS/IA QTEST01.fmxmodule_type=form batch=no compile_all=yesf60genapps/pre_insert, pre_update中加入代码:fnd_standard.set_who二、QUERY FIND 制作一.把APPSTAND 的QUERY FIND 对象组拉到开发的FORM上,选择子类。
二.在目的数据块的添加QUERY FIND (BLOCK LEVEL,注:可以从FORM LEVEL拷贝),然后修改代码app_find.query_find (block_window V ARCHAR2, --目的数据块find_window V ARCHAR2, --查询窗口find_block V ARCHAR2) --查询数据块4.在QUERY FIND里面添加文本项等查询内容。
安装1.1JDeveloper 10g的安装1.1.1 解压JDeveloper 10g有两个光盘如下图示:图1分别解压后成B24499-01和B24500-01图21.1.2开始安装B24499-01为第一个光盘容应首先安装,B24500-01为第二个光盘内容在第一个光盘安装完后再装。
双击B24499-01中的setup.exe图31.1.3设置安装路径图41.1.4选择安装类型图5图61.1.5邮箱为空图71.1.6安装过程中切换第二张光盘图81.1.7选择目录图91.1.8安装完成后开始菜单图101.1.9服务配置图11图121.1.10修改注册表<1>、NLS_LANGHKEY_LOCAL_MACHINE\SOFTWARE\ORACLE搜索NLS_LANG,出现NLS_LANG=ZHS16GBK或者NLS_LANG=ZHS16CGB231280的地方请全部修改成NLS_LANG=AMERICAN_AMERICA.UTF8<2>、FORMS60_PATH变量在后面加上TEMPLATE/APSTAND.FMB所在的路径(F:\WORK\FORM)和PLL文件所在的路径(F:\WORK\PLL)。
1.2WORK FLOW的安装1.2.1解压图131.2.2安装进入\workflow_2.6.3_r12\wfclient2635双击setup.exe图141.2.3选择安装目录图151.2.4开始安装图16图17图181.2.5安装完后查看开始菜单图191.2.6服务配置图20图211.3XML_DESKTOP的安装1.3.1JDK和JRE的安装运行jre-6u21-windows-i586.exe 和 jdk-6u21-windows-i586.exe 可以完成JRE和JDK的安装,在安装JDK的同时,会装JRE也装上图221.3.2环境变量的配置图231.3.3开始安装运行 XML DESKTOP\SETUP.EXE进行安装。
本节介绍如何在Form中启用弹性域。
1注册表列
在应用弹性域之前必须先定义弹性域,定义之前必须先注册表列。
注册的方
法在第2章已有详细的介绍,再此不再赘述。
2 定义Flexfield
进入应用开发员--弹性域--(说明性/键)--注册可新定义一个弹性域
如图10.1所示,只有在步骤1中已注册的Table,Colummn在定义弹性域时才能被选到。
对于同种类型的弹性域,每一个基表应只定义一个,但是一个弹性域可对应
多个Structure,在FORM中启用弹性域时,可利用代码指定此弹性域使用的Structure,在FORM中启用弹性域时,可利用代码指定此弹性域使用的
Structure
3在Form中启用弹性域
(1) 添加对应的弹性域字段
一般在基表对应的BLOCK下面新建对应的弹性域字段,相关的外观设置可参考Oracle 标准系统。
Discriptive Flexfields Column
Property Value
property class TEXT_ITEM_DESC_FLEX
List of Values ENABLE_LIST_LAMP
Database Item No
Key Flexfield Column
Property Value
List of Values ENABLE_LIST_LAMP
Database Item No
(2) 添加必要的触发器
BLOCK LEVEL
Trigger Code
PRE-QUERY FND_FLEX.EVENT(‘PRE-QUERY’);
POST-QUERY FND_FLEX.EVENT(‘POST-QUERY’);
PRE-INSERT FND_FLEX.EV ENT(‘PRE-INSERT’);
PRE-UPDATE FND_FLEX.EVENT(‘PRE-UPDATE’);
WHEN-VALIDATE-RECORD FND_FLEX.EVENT(‘WHEN-VALIDATE-RECORD
’);
‘WHEN-NEW-ITEMINSTANCE’);
WHEN-NEW-ITEMINSTANCE FND_FLEX.EVENT(
WHEN-VALIDATE-ITEM FND_FLE X.EVENT(‘WHEN-VALIDATE-ITEM’);
ITEM LEVEL
Trigger Code
‘WHEN-NEW-ITEMINSTANCE’);
WHEN-NEW-ITEMINSTANCE FND_FLEX.EVENT(
WHEN-VALIDATE-ITEM FND_FLEX.EVENT(‘WHEN-VALIDATE-ITEM’);
(3) 代码定义弹性域字段
在Form-level的when-new-form-instance Trigger中调用Flexfield的API函数初始化弹性域栏位。
FND_DESCR_FLEX.DEFINE for descriptive flexfields
FND_KEY_FLEX.DEFINE for key flexfields
FND_RANGE_FLEX.DEFINE for range flexfields
参数有所不同。
和FND_KEY_FLEX.DEFINE
FND_DESCR_FLEX.DEFINE
Eg:
定义总账会计科目关键性弹性域
FND_KEY_FLEX.DEFINE(
BLOCK=>’LINES’,
’,
FIELD=>’ACCTG_FLEX_VALUES
ID=>’GL_ACCOUNT_CC_ID
’,
’SQLGL’,
APPL_SHORT_NAME=>
CODE=>’GL#’,
NUM=>’101’);
定义物料类别关键性弹性域
FND_KEY_FLEX.DEFINE(
BLOCK=>'CONTROL',
FIELD=>'SKU_CODE',
ID=>'SKU_ID',
DESCRIPTION=>'DESCRIPTION',
--COLUMN=>'description DESCRIPTION(15)', APPL_SHORT_NAME=>'INV',
CODE=>'MSTK',
DATA_SET=>'101',
REQUIRED=>'N',
--UPDATEABLE=>NULL,
VALIDATE=>'FULL',
--DINSERT=> 'Y',
USEDBFLDS=> 'N' );
定义订单描述性弹性域
FND_DESCR_FLEX.DEFINE(
BLOCK=>’ORDERS’,
FIELD=>’DESC_FLEX’,
APPL_SHORT_NAME=>
’DEM’,
’);
DESC_FLEX_NAME=>
’DEM_ORDERS。