您现在的位置: 中华企业文化网 >> 网站代码 >> 网络制作 >> 正文
文章简介:
    oracle erp 开发指导
作者:天一 文章来源:北京天一恒业咨询 点击数: 更新时间:2008-7-11 16:42:07
Application(EBS)开发整理
----
【阅读字号:缩小 放大
收藏到...

Profile:一个Profile其实就是一个参数,在开发员职责里面定义,注意这个时候选择的Application仅仅是方便管理,对以后的使用没有限制;一个Profile的具体值需要在系统管理员职责里面定义,可以分别在四个层次上定义,即Site/Application/Responsibility/User,具体来说可以给任意一个Site或任意一个Application或任意一个Resp或任意一个User定义这个Profile的值,可以四个层次都定义,也可以定义某几个层次;对于一个Session来说,一个Profile到底取什么值是和上面的定义有关系的,即后面的覆盖前面的,如果它定义了的话。我们可以通过fnd_profile.value('Profile_Name')来取得当前会话的Profile值,库存组织profilemfg_organization_id


在用fnd_request.submit_request的时候,第五个参数用false,不要被参数名称误导;这个函数有105个参数,前面五个定义请求本身,后面100个是传递给请求的具体参数,都是Char类型,我们需要转换,默认值是chr(0),代表这个参数不用传递给调用的请求;在Package里面调用只需要传递需要的参数个数,因为它有默认值指示结束;在form里面则不行,要写满105个,而且我们参数结束之后要用一个chr(0)来表示结束

submit_request的时候,其实最终还是向fnd_concurrent_requests(另外我们定义的request是保存在Fnd_Concurrent_Programs里面的)里面插入一行数据,如果不提交的话,该请求是不会真正开始运行的,所以我们一般在submit_request之后来个Commit,否则的话如果使用wait_for_request的话会无限期等待下去;在Form里面需要注意的是,必须使块基于数据库,不然没得Commit。假如在一个请求内部使用了submit_request,特别注意的是需要检查Concurrent ManagerProcess数至少为2,否则上述两个请求会处于死锁状态


数据库表中的Org_Id或者Organization_Id对初学者来说往往搞不清楚是哪个层次的组织,一般来说前者是OU,后者是库存组织,然而这也不一定,有一个简易的方法是,只要我们碰到Item,比如在订单中,那么一般是指库存组织

_all
,基表,保存多组织数据,里面有一个Org_Id字段,一般不直接出现在我们的DML
去掉_all的视图,根据用户环境过滤掉组织,相当于普通的基表,我们直接使用它,就当它是基表
_v
,视图,给Form
_kfv
,启用关键性弹性域的时候动态生成的视图,包含Concact过的字段组合
_dfv
,启用描述性弹性域的时候动态生成的视图,我们取弹性域子段的描述的时候,需要用用户出口函数。。。。。。。。。。。
_tl
,基表,有language字段,us肯定有,其他的看安装
_vl
,视图,根据环境设置过滤语种,所以做报表用_vl
_s
,序列号
_API
Package,保证向后兼容
_PKG
PackageProgram
_SV
Package,供Form调用
rowid
,伪列,指明记录物理位置,文件号+块号等,具体的我也不清楚
rownum
,伪列,指明符合条件的记录的记录号,需要注意的是这个记录号在Order By之前就已经决定,如果想用Order By之后的记录号,只能再套一层Select
level
,伪列,指明树状结构记录的层次,以下示例代码可作为Form Tree的数据源
select 1 state, level, CUSTOMER_NAME,null,CUSTOMER_ID
from da_customers a
start with PARENT_CUSTOMER_ID = -1
connect by prior CUSTOMER_ID = PARENT_CUSTOMER_ID
who
,五个记录创建及修改历史的字段,可以通过OAHelp/Record History菜单查看
attribute_xxx
,描述性弹性域字段


文件系统File system的层次一般是$APPL_TOP/$MODULE_TOP such as $GL_TOP,$AU_TOP/Version/forms,reports,sql,.../EN,ZHS,...五个层次,在URL中有一个语言参数,它的值是根据用户当前的NLS_LANG设置来的;假如指明是中文,那么Form Server会到ZHS下取文件,在任何其他语言对应的目录下找不到文件的话,系统都会到EN目录下取,假如还取不到,这个时候才报错。AUApplication Utility,我们编写的Form源文件一般放在$AU_TOP/Version/forms/LANG下,而PLL源文件一般放在$AU_TOP/Version/resource下,但编译的时候前者要放到对应应用的对应语言的目录下,而后者还是在源目录;对于Report,则直接放在对应应用的对应语言下,不需要编译

一个用户对应一个或多个responsibility,一个responsibility对应一个或多个menu,一个底层menu对应一个function,一个function对应一个form或者一个报表或者一个程序;一个responsibility对应一个请求组,一个请求组对应一个或多个报表和程序,这个应该放过来说,在定义报表的时候可以选择哪个请求组;一个responsibility对应一个Application,这个不要和该responsibility拥有的菜单混淆,菜单没有限制

Attachements
Oracle
的附件给我们提供了一个方便的功能,只要定义定义,不需要任何代码就可以实现附件功能,比弹性域还方便(当然功能没有弹性域强)
定义Attachements比较容易,遵循115devg中的Attachements章节即可完成。
fnd_attached_*****
系列的表保存我们在开发员职责里面的附件定义
fnd_documents_****
系列的表保存最终用户的具体的附件业务数据,file类型的附件存储在fnd_lobs表中
fnd_documents_tl.media_id
可以关联到fnd_lobs.file_idfnd_documents_long_text.media_idfnd_documents_shot_text.media_id取得相应的附件内容
定义过程如下
1
、定义Entity实体,其实就是表,必须的
Table
输入表名即可
Entity ID
输入表名即可,如果在同一个标定义多个实体,可以用表名_N”的形式,随便
Entity Name
输入一个比较友好的名字,这个名字要显示给用户看
Prompt
没什么用
Application
就是我们的应用;如果是定义在Oracle标准表上,最好也用我们自己的应用名,否则升级的时候会丢失
2
、定义Document Categories,其实就是定义一个类别或者说一个标志,可以直接用系统的Miscellaneous这个类别,可选的
Category
输入任意一个名字即可
Default Datatype
随便选一个,最好选会应用这个Category最常用的类型,比如文件
Effective Date
默认,不填即可
Assinments
按钮 这里不用管
3
、定义Attachement Function,必须的
Type
一个Form可能关联几个Function(进一步关联几个菜单),如果附件在不同的Function下可能不同,比如Category不同(从而可以过滤附件,这就是所谓的安全性),这里选Function;如果附件不需要区分Function,这里就选Form
Name Form
或者Function的名字
User Name
自动出来
Session Context
我没用它
Enabled
打勾
4
、点击Category按钮,为上面定义的Attachement Function选择刚才定义的Category,或者选择Miscellaneous,可以选择任意个,必须的
**Category
的工作原理:Category本身仅仅是一个标志,就像我们部门字典表一样;一个Form(或者其Function)会关联到一个或多个Category(就是在这里定义);最终用户在把一个附件添加到这个Form上的一条记录上时,必定会指定属于某个Category,可选范围就是这里定义的;到这里Category还没有显示出什么作用,也就是如果仅仅一个地方会用到这个附件,Category就没什么用。如果同一个实体的附件会在其他Form上出现,就像115devg文档所说的,一个Product的附件可以在Order Line上被显示出来,假如用户上传了一个图片作为附件,并分配Categoryxxxxx,如果Order FormCategory没有包含xxxxx,在Order Line上将看不到那个附件。按我的理解,就这样。

5
、定义Attachement Function Block,定义我们Form上包含附件的数据块,每个块都可以定义,必须的
Block Name
输入块名,不要告诉我你不知道!
Method
一般Base EntityAllow Change,如果是引用的选Query Only
Secured By
这个可以进一步限制安全性,可以不定;这里我不多说,如果不清楚再找我

6
、定义Block-Entity关系,必须的
Entity
选择上面定义的实体,一行一个
Display Method
基础实体选择Main Window,引用实体选择Related Window
Include in Indicator
基础实体打勾,引用实体不选;这个选项其实就是用来初始化工具栏上的图标,选不选都不影响功能
Indicator in View
我没选
操作许可 分别定义Query/Insert/Update/Delete,基础实体一般允许全部操作,引用对象不能有Insert,其他的看需要
定义条件 根据条件更加灵活的定义操作许可范围;这里我不多说,如果不清楚再找我

7
、定义关键字段,一般是主键,这里指块上的Item而非表里面的,所以需要用块名.Item,必须的
按顺序定义,如果基础块的实体不定义主键,仍然可以工作,但在引用块将看不到,这是我碰到的问题
8
、定义SQL Statement,附加的限制条件,就像我们在Form开发时定义的Where Clause一样,一般没用,可选的
使用过程如下
1
、打开我们的Form,查询记录或者输入新记录
2
、注意工具栏上的Attachment按钮时可用的,点击
3
、出来附件窗口,想怎么玩都行
最好用IE浏览器打开Oracle Application,有些基于IE内核的浏览器可能无法打开附件上传窗口  

(中华企业文化网)
网站代码及生活常识最新文章
网站代码及生活常识热门文章
网站代码及生活常识推荐文章
相关文章
oracle erp 开发指导
  • 前一段代码:
  • 后一段代码:
  • 文章录入:hnjd  责任编辑:zyp
    热点搜索: 企业文化 愿景 使命 价值观 精神 作风 理念 企业文化咨询
    文章 下载 图片
    天一恒业企业文化咨询经典案例
    天一恒业企业文化咨询 企业文化.net 联系天一恒业 专业精深的企业文化咨询 流量最大文章资料最多的专业企业文化网站 Enterprise culture 企业文化.cn 企业文化.com 天一恒业.cn
    天一恒业专业企业文化咨询 企业文化咨询经典案例 天一咨询新闻动态 天一恒业核心文化理念及咨询观点 天一恒业咨询工具与方法 企业文化培训
    天一使命:为中国企业卓越竭己之志
    天一追求:专的高度 一的品质
    天一愿景:引领行业,事业共享
    联系我们 | 公司简介 | 加盟我们 | 企业文化 |企业文化咨询.中国 | 企业文化.net | 企业文化.中国 | 企业文化.cn | 企业文化.com | 天一恒业.中国
    北京天一恒业企业文化咨询有限公司 企业文化推广网 地址:北京市朝阳区洛克时代中心A座8A层 信箱:wsywfh@163.com 电话:010-64983591