当前位置:首页 > ORACLE ERP学习笔记
LAST_UPDATE_DATE DATE NOT NULL, LAST_UPDATED_BY NUMBER(15) NOT NULL, CREATION_DATE DATE NOT NULL,
CREATED_BY NUMBER(15) NOT NULL, LAST_UPDATE_LOGIN NUMBER(15) NOT NULL, ATTRIBUTE1 VARCHAR2(150), ATTRIBUTE2 VARCHAR2(150), ATTRIBUTE3 VARCHAR2(150), ATTRIBUTE4 VARCHAR2(150), ATTRIBUTE5 VARCHAR2(150), ATTRIBUTE6 VARCHAR2(150), ATTRIBUTE7 VARCHAR2(150), ATTRIBUTE8 VARCHAR2(150), ATTRIBUTE9 VARCHAR2(150), ATTRIBUTE10 VARCHAR2(150), ATTRIBUTE11 VARCHAR2(150), ATTRIBUTE12 VARCHAR2(150), ATTRIBUTE13 VARCHAR2(150), ATTRIBUTE14 VARCHAR2(150), ATTRIBUTE15 VARCHAR2(150), ATTRIBUTE16 VARCHAR2(150), ATTRIBUTE17 VARCHAR2(150), ATTRIBUTE18 VARCHAR2(150), ATTRIBUTE19 VARCHAR2(150), ATTRIBUTE20 VARCHAR2(150), ATTRIBUTE21 VARCHAR2(150), ATTRIBUTE22 VARCHAR2(150), ATTRIBUTE23 VARCHAR2(150), ATTRIBUTE24 VARCHAR2(150), ATTRIBUTE25 VARCHAR2(150), ATTRIBUTE26 VARCHAR2(150), ATTRIBUTE27 VARCHAR2(150), ATTRIBUTE28 VARCHAR2(150), ATTRIBUTE29 VARCHAR2(150), ATTRIBUTE30 VARCHAR2(150), Structure_id NUMBER,
Context VARCHAR2(150), Attribute_category_code VARCHAR2(150) );
-- Grant/Revoke object privileges
grant select, insert, update, delete, references, CUX.CUX_PLN_CLDR_DTL_T to APPS;――分配操作权限给APPS用户conn APPS/APPS@devp;
alter, index on create synonym CUX_PLN_CLDR_DTL_T for CUX.CUX_PLN_CLDR_DTL_T;――给表创建同意词 conn CUX/CUX@devp;
create sequence CUX.CUX_PLN_CLDR_DTL_S ――创建序列 start with 1 increment by 1;
conn APPS/APPS@devp;
create synonym CUX_PLN_CLDR_DTL_S for CUX.CUX_PLN_CLDR_DTL_S;――给序列创建同意词
1. 序列sequence:
create sequence donny.seq -- donny也是属于某个用户的,以下参数均可省略,使用默认值。 increment by 1 --指定序列之间的间隔,正负整数;默认1,正为升序,负为降序。 start with 1 --第一个序列号,默认=minvalue
nomaxvalue --设置最大值,此处表示默认10的27次幂。maxvalue 10 nominvalue --设置最小值,此处表示默认-10的26次幂。minvalue 1 nocycle --或者cycle;表示序列达到最大或者最小(降序)后,要不要从头开始 cache 10; --默认cache 20, 事先分配多少序列号放在内存中,提高速度。
访问序列:
oracle为序列提供了两个伪列,可以看作其属性。
nextval: 根据increment by得到的一个新的序列值。每次执行都会得到一个新值。 currval: current value, 当前值,已经被取得的值。
select seq.nextval from dual; select seq.currval from dual;
使用序列:
insert into t values(seq.nextval);
修改序列:
alter sequence seq …..重新指定各个参数 不能修改start with;除非删除重建
删除序列:
drop sequence seq;
定义上传附件功能Attachements
Oracle的附件给我们提供了一个方便的功能,只要定义定义,不需要任何代码就可以实现附件功能,比弹性域还方便(当然功能没有弹性域强)
定义Attachements比较容易,遵循115devg中的Attachements章节即可完成。 fnd_attached_*****系列的表保存我们在开发员职责里面的附件定义
fnd_documents_****系列的表保存最终用户的具体的附件业务数据,file类型的附件存储在fnd_lobs表中
fnd_documents_tl.media_id可以关联到fnd_lobs.file_id、fnd_documents_long_text.media_id、fnd_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上被显示出来,假如用户上传了一个图片作为附件,并分配Category为xxxxx,如果Order Form的Category没有包含xxxxx,在Order Line上将看不到那个附件。按我的理解,就这样。
5、定义Attachement Function Block,定义我们Form上包含附件的数据块,每个块都可以定义,必须的
Block Name 输入块名,不要告诉我你不知道!
Method 一般Base Entity选Allow 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中的一些步骤
结合各自公司的情况主要有如下的工作: AR:
共分享92篇相关文档