ITPub博客

首页 > 数据库 > Oracle > Oracle EBS 用户配置文件

Oracle EBS 用户配置文件

Oracle 作者:test_100 时间:2018-09-27 13:47:55 0 删除 编辑

Oracle EBS 用户配置文件



2015年09月25日 17:14:39 阅读数:874




           

Oracle EBS 用户配置文件使用举例:

用户配置文件相当于系统参数,可以在不同层级(Site层、应用模块层、责任层、用户层)设置不同的值; 作用范围小的覆盖范围大的层,系统已经预设了很多user profile; 开发人员也可以定义User profile;

对开发人员如果要新定义user profile 并使用之,步骤一般包括三步

第一步:定义user profile (Nav:应用开发员责任->配置文件)

user_profile_define

上例中定义了一个User profile : ORG_ID, SQL验证用于提供用户在设置该Profile值的时候提供LOV数据来源; 开发者只需要依葫芦画瓢即可。

如果LOV来源不是系统原有表中的数据,而是需要自己定义的,那么可使用值集定义好数据源,然后在这里的SQL中使用,下面的例子就是这样的:

user_profile_define2

上述例子中,lov数据来源于fnd_flex_values_vl视图,该视图中的内容是用户可以在界面上定义增加的,一般步骤是:

a) 先定义一个值集(Nav: 系统管理员责任->应用产品->验证->请求集:

值集名将用在上面的sql中,验证类型为独立。

user_profile_define3

b) 为新定义的值集添加值(NAV: 系统管理员责任->应用产品->验证->值)

在名称处输入刚才定义的值集名作为查询条件,然后点查找

user_profile_define4

在该界面可以为上面定义的值集添加值。

user_profile_define5

第二步:设置User Profile的值(Nav:系统管理员责任-> 配置文件-> 系统)

user_profile_setup_1

如果需要同时设置责任层和用户层的值,则把两者都勾选上。

user_profile_setup_2

上例中,责任 order Management user,… 和 用户Operations 层都设置了值; 且值是不一样的。 由于用户层的值可以覆盖责任层的值,当operations 用户以 order Management user,..责任登录系统是,Form中取到的值是: Vision ADB;

三、 程序中获取User profile 值:

在程序中可以使用fnd_profile.value(‘ORG_ID’) 来获取 ORG_ID这个user profile的值; 有关用户配置文件的详细概念和API,请参考120devg.pdf 第249页



User Profiles(用户配置文件) 读120devg.pdf第249—262页 总结                

 

概述
用户配置文件是一个可以影响系统运行的参数集合,可以在不同层级(Site层、应用模块层、责任层、用户层)设置不同的值; 作用范围小的覆盖范围大的层,系统已经预设了很多user profile; 开发人员也可以定义User profile。通过改变User profile的值或选择在那个层设置User profile可以决定每个用户可以看到哪些数据。
User Profile Levels(用户配置文件级别)
层级的范围由小到大依次是:
用户层  < 职责层 < 应用层 < 地点层
Site Level(地点层)
地点层是作用范围最大,层级最低的层。它可以影响到正在运行的每一个应用程序。
Application Level(应用层)
应用层的设置只会影响到一个特定的应用程序的运行方式,比如这个应用程序只让某一个部门的人使用,可以在应用层给给程序设定该部门的值。
Responsibility Level(职责层)
职责层设定的值会影响到所有有该职责的用户。
User Level(用户层)
用户层是针对每个用户设定权限的层,作用范围最小、层级最高的层,所有的设置都只会影响这个用户,不会影响到其他用户。只要用户层设置了该用户配置文件的值,则会覆盖掉前面所有的层。比如其它层都设置了权限1,但是给A用户在用户层设置的权限是2,那么A用户就只有权限2,而没有权限1.
定义user profile 并使用
第一步:定义user profile (Nav:应用开发员责任->配置文件)



上例中定义了一个User profile : ORG_ID, SQL验证用于提供用户在设置该Profile值的时候提供LOV数据来源;
其中SQL验证的语法如下(参考120devg.pdf的259页):
 

Sql代码   收藏代码

  1. SQL= "SQL select statement"   

  2.   COLUMN = "column1(length), column2(length),..."   

  3.  [TITLE= "{title text|*application shortname:message name}" ]  

  4.  [HEADING="{heading1(length), heading2(length),...  

  5.  |*application shortname:message  name |N}"]  

 
例如:
 

Sql代码   收藏代码

  1. SQL="  SELECT  SALES_REPRESENTATIVE_ID,  

  2.              SALES_REPRESENTATIVE_NAME INTOROFILE_OPTION_VALUE,  

  3.              :VISIBLE_OPTION_VALUE  

  4.          FROM  OE_SALES_REPRESENTATIVES  

  5.         ORDER   BY  SALES_REPRESENTATIVE_NAME"  

  6. COLUMN  =  "SALES_REPRESENTATIVE_ID(20),\"REP NAME\"(*)"   

  7.  TITLE = "职责"   

  8. HEADING= "SALE_REP_ID(20),SALE_REP_NAME(30)"   


每部分所在LOV的位置如下



验证语法中注意事项:
a>如果列的别名是两个单词或更多,则需要用一个反斜杠和双引号括起来。
 

Sql代码   收藏代码

  1. SQL="  SELECT  SALES_REPRESENTATIVE_ID,  

  2.              SALES_REPRESENTATIVE_NAME  "REP NAME\"  INTOROFILE_OPTION_VALUE,  

  3.              :VISIBLE_OPTION_VALUE  

  4.          FROM  OE_SALES_REPRESENTATIVES  

  5.         ORDER   BY  SALES_REPRESENTATIVE_NAME"  

  6. COLUMN  =  "SALES_REPRESENTATIVE_ID(20),\"REP NAME\"(*)"   

  7.  TITLE = "职责"   

  8. HEADING= "SALE_REP_ID(20),SALE_REP_NAME(30)"   

 
b>在HEADING中指定列的宽度会把在COLUMN中指定列的值给覆盖掉。所以在同时用COLUMN和HEADING时,一般建议把COLUMN中列的长度指定为动态宽度,即(*)
c>如果不明确指定TITLE和HEADING,则系统默认TITLE='user_profile_option_name' 和HEADING='N'.
d>

第二步:设置User Profile的值(Nav:系统管理员责任-> 配置文件-> 系统)



如果需要同时设置责任层和用户层的值,则把两者都勾选上。



上例中,责任 order Management user,… 和 用户Operations 层都设置了值; 且值是不一样的。 由于用户层的值可以覆盖责任层的值,所以当operations 用户登陆系统后以 order Management user,..责任进入Form界面,Form中取到的值是: Vision ADB;
三、 程序中获取User profile 值:
在程序中可以使用fnd_profile.value(‘ORG_ID’) 来获取 ORG_ID这个user profile的值;

有关用户配置文件的详细概念、内部生成的配置文件选项以及FND_PROFILE: User Profile APIs,请参考120devg.pdf 第249——262页。

 


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7580948/viewspace-2215017/,如需转载,请注明出处,否则将追究法律责任。

下一篇: XML Publisher 技巧
请登录后发表评论 登录
全部评论

注册时间:2011-10-30

  • 博文量
    30
  • 访问量
    27236