登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

微软MVP罗勇的博客

微软MVP罗勇,www.luoyong.me

 
 
 

日志

 
 

ORACLE EBS 开发 FNDSQF API  

2011-01-23 08:36:11|  分类: EBS开发 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

--译者:罗勇,对原文有删减、补充、纠正,不提供翻译质量保证。

 

25.1 FND_CURRENCY 动态货币API

u  FND_CURRENCY.GET_FORMAT_MASK

语法:FUNCTION fnd_currency.get_format_mask(currency_code IN VARCHAR2 field_length IN NUMBER) RETURN VARCHAR2;

描述:该函数使用正常的默认值来创建格式掩码。

输入参数说明:

currency_code  货币代码

field_length 设置最大长度用来获取返回的格式掩码

注意:用来存储格式掩码的varchar2类型的字段应该比参数field_length长10个字符。

该过程使用如下的配置文件来获取格式掩码:

CURRENCY:THOUSANDS_SEPARATOR

CURRENCY:NEGATIVE_FORMAT

CURRENCY:POSITIVE_FORMAT

罗勇补充:对应中文版的三个配置文件应该是币种:多个分隔符、 币种:正格式和币种:负格式。

虽然配置文件币种:负格式中允许使用各种各样的括号类型,但是该过程只使用<>这种括号。

举例:

u  客户端PL/SQL代码示例

字段ORDER_LINES.AMOUNT是要使用动态货币格式显示的表单中的字段,字段的格式掩码被创建并且被传递给了过程APP_ITEM_PROPERTY.SET_PROPERTY。

APP_ITEM_PROPERTY.SET_PROPERTY('ORDER_LINE.AMOUNT',
FORMAT_MASK,
FND_CURRENCY.GET_FORMAT_MASK(
:ORDER_CURRENCY_CODE,
GET_ITEM_PROPERTY(
'ORDER_LINE.AMOUNT',
MAX_LENGTH)));

这样该字段的显示掩码就是根据用户配置文件中的前文提到的三个配置文件来显示了。

u  服务器端PL/SQL代码示例

服务器端PL/SQL同样可以获得动态货币支持。为了方便展示,罗勇对代码稍作了修改:

DECLARE
  displayable_value VARCHAR2(40);
BEGIN
  displayable_value := to_char(100.5657,
                               fnd_currency.get_format_mask('RMB',
                                                            30));
  dbms_output.put_line(displayable_value);
END;

25.2 FND_DATE

前文已述,不再赘述。原文此处也是这个意思,不是我省略翻译。

25.3 FND_GLOBAL 维护WHO字段和数据库初始化

本节描述在服务器端PL/SQL代码中使用Global API。服务器端报FND_GLOBAL主要返回一些全局变量的值,比如登陆信息和会话信息。当需要在存储过程中为INSERT和UPDATE操作设置WHO字段时可使用此包,这也是它的主要用途,虽然该包还有许多其他的用途。

你不应该在你的表单中(因为表单中的代码属于客户端代码)使用FND_GLOBAL,因为该包是服务器端包存储在数据库中,若在表单中使用它会增加到数据库的不必要的来回。在表单中,你应该使用FND_PROFILE来代替FND_GLOBAL,这两个包的过程和函数名称相同或者近似。

u  FND_GLOBAL.USER_ID

语法:FUNCTION fnd_global.user_id RETURN NUMBER;

描述:返回用户ID

u  FND_GLOBAL.APPS_INITIALIZE

语法:

PROCEDURE apps_initialize(user_id      IN NUMBER,
                          resp_id      IN NUMBER,
                          resp_appl_id IN NUMBER);

描述:为数据库会话建立全局变量和配置文件值。调用该过程为数据库会话建立全局安全环境。你可以在JAVA,PL/SQL或者其他不和oracle应用程序并发处理功能和oracle Forms(这两个已经为数据库会话做了类似的初始化)完全整合的代码中调用它。这个过程的典型用法,根据oracle应用程序表单会话建立非oracle 表单会话的初始环境,你还可能用它来在SQL*Plus中测试代码,这个过程只能在正常表单和并发请求数据库连接之外使用。

输入参数说明:

user_id   用户ID

resp_id   职责ID

resp_appl_id  职责所属应用产品ID

示例:

BEGIN
  fnd_global.apps_initialize(5106,
                  51706,
                  20003);
END;

u  FND_GLOBAL.LOGIN_ID

语法:FUNCTION fnd_global.login_id RETURN NUMBER;

描述:登陆ID,每次登陆的ID都不同

u  FND_GLOBAL.CONC_LOGIN_ID

语法:FUNCTION fnd_global.conc_login_id RETURN NUMBER;

描述:并发程序登陆ID

u  FND_GLOBAL.PROG_APPL_ID

语法:FUNCTION fnd_global.prog_appl_id RETURN NUMBER;

描述:并发程序所属的应用产品ID

u  FND_GLOBAL.CONC_PROGRAM_ID

语法:FUNCTION fnd_global.conc_program_id RETURN NUMBER;

描述:并发程序ID

u  FND_GLOBAL.CONC_REQUEST_ID

语法:FUNCTION fnd_global.conc_request_id RETURN NUMBER;

描述:并发请求ID

25.4 FND_ORG 组织API

u  FND_ORG.CHANGE_LOCAL_ORG

语法:FUNCTION fnd_org.change_local_org RETURN BOOLEAN;

描述:更该当前表单的组织,如果用户取消或者设置失败返回FALSE。

u  FND_ORG.CHANGE_GLOBAL_ORG

语法:FUNCTION fnd_org.change_global_org RETURN BOOLEAN;

描述:当打开一个新表单时,用来更改全局组织默认值,如果用户取消或者设置失败返回FALSE。

u  FND_ORG.CHOOSE_ORG

语法:PROCEDURE fnd_org.choose_org(allow_cancel IN BOOLEAN DEFAULT FALSE);

描述:在表单的PRE-FORM触发器中调用该过程来确保组织参数被设置了。如果没有给当前表单传递组织参数的话,那么就会使用全局组织默认值,如果全局组织默认值没有设置的话,这个过程就会打开一个组织选择LOV来强迫选择一个。

输入参数说明:

allow_cancle  是否允许取消从LOV中选择组织,默认值是FALSE

25.5 FND_STANDARD 标准API

u  FND_STANDARD.FORM_INFO

语法:

PROCEDURE fnd_standard.form_info(version                IN VARCHAR2,
                                 title                  IN VARCHAR2,
                                 application_short_name IN VARCHAR2,
                                 date_last_modified     IN VARCHAR2,
                                 last_modified_by       IN VARCHAR2);

描述:该过程用来提供表单的信息,在表单的WHEN-NEW-FORM-INSTANCE的第一步调用该过程,TEMPLATE中提供了该过程,你应该修改它。

u  FND_STANDARD.SET_WHO

语法:PROCEDURE fnd_standard.set_who;

描述:用来填充WHO字段。对于块中包括WHO字段的,在其PRE-UPDATE和PRE-INSERT触发器中调用该过程,如果你使用该过程来设置WHO字段值,那么你就没有必要再调用FND_GLOBAL。

u  FND_STANDARD.SYSTEM_DATE

语法:FUNCTION fnd_standard.system_date RETURN DATE;

描述:功能同SYSDATE,但是它是被缓存起来的。在表单的PL/SQL中你应该使用它代替SYSDATE。

u  FND_STANDARD.USER

语法:FUNCTION fnd_standard.USER RETURN VARCHAR2;

描述:功能同内置过程USER,但是它是被缓存起来的。在表单的PL/SQL中你应该使用它代替USER。

25.6 FND_UTILITIES功能过程

u  FND_UTILITIES.OPEN_URL

语法:PROCEDURE open_url(url IN VARCHAR2);

描述:使用客户端浏览器打开url参数所指定的网址。如果浏览器已经打开,那么将会直接转向url参数指定的网址。你可以在你的表单中通过该过程使用浏览器来打开某文档。该功能并不适合从表单中打开Oracle Self–Service Web Applications 功能,因为它不能提供该类功能所需要的会话环境信息,你应该使用FND_FUNCTION.EXECUTE来打开。

输入参数说明:

url  要打开的网址,除了指定具体的网址字符串外,还可以是包括url的数据块字段。

示例:

FND_UTILITIES.OPEN_URL(’http://www.oracle.com/index.html’);

FND_UTILITIES.OPEN_URL(:blockname.fieldname);

u  FND_UTILITIES.PARAM_EXISTS

语法:FUNCTION param_exists(NAME VARCHAR2) RETURN BOOLEAN;

描述:如果在当前表单中存在该参数则返回true。

输入参数: name 要检查的参数名称

示例:

if fnd_utilities.param_exists(‘APP_TRACE_TRIGGER’) then

execute_trigger(name_in(’PARAMETER.APP_TRACE_TRIGGER’));

end if;


素格格新疆特产店--做最好新疆特产的搬运工。
本店由博主的新疆老婆开设,搬运各种最好的新疆特产,是自用,送礼,年货,孝敬长辈特别是(岳)父母的首选!
ORACLE EBS 开发 FNDSQF API - 罗勇 - 罗勇的博客
 
  评论这张
 
阅读(1322)| 评论(0)

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018