重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
使用add_month()函数就行了:
创新互联是一家以重庆网站建设、网页设计、品牌设计、软件运维、成都网站营销、小程序App开发等移动开发为一体互联网公司。已累计为食品包装袋等众行业中小客户提供优质的互联网建站和软件开发服务。
select * from order t where to_date(t.time, 'yyyy-mm-dd hh24:mi:ss') between add_month(sysdate, -3) and sysdate
//不管时间是什么类型,查询的时候先to_date() 转换为日期型就OK了。
假设有个订单表orders里有个订单时间字段o_time(它带有具体的时间:时分秒):
delcare
v_count number;
qry_mon date;
begin
qry_mon := to_date('2013-04-03',''); --要查询的月份
select count(*) into v_count from orders where o_time = trunc(qry_mon,'mm') and o_time trunc(qry_mon,'mm')+1; --查询1号00:00:00 到2 号00:00:00之间的订单
if v_count=0 then
--1号没订单,查询上月最后1笔订单
select count(*) into v_count from orders
where rownum=1
and o_time=(select max(o_time) from orders
where o_time =add_months(trunc(qry_mon,'mm'),-1) --上月1号00:00:00
and o_time=trunc(qry_mon,'mm')-1/60/60/24 --上月月末23:59:59
--上一句也可以这样 and o_time trunc(qry_mon,'mm') --查询月的1号00:00:00
);
。。。
。。。
else
--处理qry_mon这个月一号订单
end if;
end;
/
RTF文件是二进制文件,不是纯文本,所以应该用blob存储比较合适。
但你使用clob进行存储,自然用select查询会出乱码,因为你往里面存的就不是文本。
ORACLE 销售订单是否有版本控制
当然有了,你花了多钱,是购买的哪个版本的,都会有记录,版本升级是要收费的。
工作流
系统关于工作流的设置工作包含两部分工作,一是基于企业的特殊需要,使用Workflow Builder软件包工具自定义工作流。详情需参考ORACLE的相关文档,这里不赘述。二是为系统设置工作流管理员。系统在安装后的初始化工作流管理员是系统超级用户SYSADMIN,企业应当首先使用SYSADMIN进入系统,将工作流管理员改为一个真实的用户,或者输入“*”,则所有用户都“可以”具有工作流管理员权限(用户实际是否有工作流管理权限还必须取决于其被赋予的“责任”或“菜单”功能),如下图48所示:
系列之四:ORACLE EBS基础设置要点简介(E) - season - season
实际具有工作流管理权限的用户在进入工作流管理“开发员工作室”TAB页后,可以查询出系统所有的“工作流类型”,可选择其一作具体设置,如下图49所示:
系列之四:ORACLE EBS基础设置要点简介(E) - season - season
上图中,工作流管理员选定具体需设置的工作流后,点击“运行”则可以打开该工作流的“属性”设置界面(具体有哪些属性可设置,不同工作流各不相同),如下图50所示:
系列之四:ORACLE EBS基础设置要点简介(E) - season - season
工作流管理员在工作流管理“状态监控程序”TAB页,可以监控选定工作流的具体运行情况的若干条目列表,针对每一个条目,可以查看其“活动历史记录、状态图、参与者回应、详细资料”等若干信息(必要时工作流管理员可实施干预,如更新属性、倒退、暂停、取消等等)。如下图51所示:
系列之四:ORACLE EBS基础设置要点简介(E) - season - season
系统在各应用模块基于业务处理功能,预置有若干不同工作流,有关详情容以后结合具体业务模块应用再来讨论。以下重点介绍一个比较特殊的工作流:在多个业务模块中均需使用且系统实施必须事先完善设置的“账户生成器流程”。
传统的手工业务模式下,所有可能涉及会计记账处理的业务处理例如物料接收、发出等等,作为业务处理人员在日常工作过程中是不需要考虑如何记账的,只是需要将有关业务处理记录例如入库单、出库单等作为原始凭证提交给会计人员去做处理。会计人员依据这些原始凭证制作“记账凭证”并手工为之指定“会计科目”或“账户代码”,以便正确地向总账GL实施“过账”。
手工业务模式或会计电算化模式下,由于作为原始凭证的业务单据不包含准确的记账信息(会计科目或账户代码),需要会计人员手工去做处理,这在业务量很大,记账科目数量设置较多的情况下,会计人员的工作负担将十分繁重。再考虑人工处理难免有疏漏,可能需要反复“对账”,每月月底必须及时结账关账、时间紧迫等等因素,故非人工的、高度准确的“会计分录(日记账)”自动生成功能(即所谓“自动会计”)是系统设计时必须考虑解决的重要问题。
在EBS系统中,账户代码被扩展为一个包含多个段组合的会计科目弹性域结构,系统在业务流程类表单例如采购订单、发票等做业务处理时,依赖所谓“账户生成器流程”根据业务处理的自身属性,自动生成准确的帐户代码组合并记录于业务表单的相关字段中,如下图52所示采购申请界面每个申请行(分配)所对应的“会计账户”(弹性域结构):
系列之四:ORACLE EBS基础设置要点简介(E) - season - season
系统周期或人工启动向总账GL的“过账”流程,对符合条件的“事务处理”成批生成会计分录(日记账,是否还需复核审批视乎企业规定),一般来说无需再做繁琐的“对账”工作。这就大大减轻了会计人员的工作负担,记账科目数量的多少一般也不再成为障碍。(手工或电算化模式下,会计人员往往不愿意设置某些过渡性的“中间科目”,例如物料接收的“应计负债”等等,这对于会计工作的准确性有不小的影响)
ORACLE系统基于每个新定义的分类帐(帐套)自动生成所需的“账户生成器”,系统预置有14个账户生成器(工作流类型),对于每个“账户生成器”可以根据需要设置不同的“流程”(每个工作流类型有其LOV值,还可以使用Workflow Builder自定义添加),如下图53所示:
系列之四:ORACLE EBS基础设置要点简介(E) - season - season
“账户生成器流程”是基于“会计科目弹性域结构”来设置的,弹性域结构不同,流程设置可以不同。对于每个“账户生成器”,ORACLE都提供了默认的流程供使用。R11的账户生成器生成的账户代码被直接用之于向总账GL传送,而R12由于存在“多账簿”的不同“会计方法”因素,各子分类帐产品(业务模块)基于事务处理会计科目弹性域结构通过账户生成器而生成的帐户代码,在向总账GL传送时,还需结合“会计方法”中的“账户推导规则”等设置,才能在总账GL生成正确的会计分录(日记账)。
八、系统初始化设置
(一)关于安全性。
一个全新安装的EBSR12系统(Fresh Database),以SYSADMIN用户名登录,密码为sysadmin(注意EBS密码区分大小写),Home Page 可见系统所初始预置的10多个“责任”中包含“系统管理员”(System Administrator),如下图54所示:
系列之四:ORACLE EBS基础设置要点简介(E) - season - season
进入系统的GUI界面后,在“用户”定义界面,可查询到有30多个初始化的User,比较特殊与重要的User 是两个“SYSADMIN、GUEST”,GUEST无密码设置,可以作为测试时的特殊用户使用。如下图55所示:
系列之四:ORACLE EBS基础设置要点简介(E) - season - season
其中有些User是系统残留,并不可用,还有些是只有用户名,但并未为之分配责任。注意,上图初始的GUI界面默认配色方案,为演示方便已通过配置文件“Java color scheme”做调整。
系统初始预置的“责任”有1500多个,范围涉及所有模块的几乎所有“岗位角色”,企业可基于自身的管理习惯制定相应的责任“命名规则”,以定义新的“责任”。如下图56所示:
系列之四:ORACLE EBS基础设置要点简介(E) - season - season
系统初始预置的“菜单”有12000多个,基本上覆盖了几乎所有可能应用的需要,如企业需要“个性化”的菜单显示效果(prompt),则可以自定义用户菜单,形成特定的菜单结构。如下图57所示:
系列之四:ORACLE EBS基础设置要点简介(E) - season - season
本文为测试需要,在系统中建立用户名MFG,并将常用模块的超级用户责任均与之关联。为测试方便,建一包含所有常用超级用户菜单的总菜单,并以此建一超级总责任,也与用户MFG关联。
(二)关于配置文件
系统配置文件总数有6600多个,绝大多数有初始化的默认值,可以有需要时再来修改,有关系统配置文件的设置情况(初始化时尤其可能希望了解),可以使用工具栏“File—Export”将它们全部导出,以方便的格式如EXCEL集中查看,如下图58所示:
系列之四:ORACLE EBS基础设置要点简介(E) - season - season
有些必须设置且没有默认值的配置文件,例如“GL Ledger Name ”、“MO:Operating Unit”等,由于其LOV取决于系统的其它具体设置如分类账(帐套)、业务实体OU等,故这些特殊的配置文件初始进入时会报错,如下图59所示:
系列之四:ORACLE EBS基础设置要点简介(E) - season - season
这些少数的特殊配置文件是系统初始化参数配置是的重点与难点,在完成相关会计科目弹性域结构、分类账、组织架构等等设置后,应及时为这些特殊“配置文件”赋值。
(三)值集与弹性域
EBS系统初始预置有16000多个值集名(Value Set Name,包括近2000个“验证”类型为“无”、无需LOV的特殊值集名),基本上都属于系统各表单所使用LOV的值集,有着特定的用途,这些值集也可以根据需要修改添加新的条目行。如下图60所示。而对于系统键弹性域与说明性弹性域所使用到的值集,则需要根据企业具体情况,进行完善的定义设置(尤其是38个键弹性域所需使用的值集)。
系列之四:ORACLE EBS基础设置要点简介(E) - season - season
关于键弹性域的设置,除了使用范围广泛的Item类别弹性域(Item Categories),系统已经预置有20个不同结构表示其在不同场合的多个应用之外(还可根据需要添加结构,系统预置的结构也可以进行更改,如下图61所示:)
系列之四:ORACLE EBS基础设置要点简介(E) - season - season
其它键弹性域如“会计科目弹性域”基本只有一个结构名称范例,并无具体的结构设置,需要企业根据自己的情况来完成设置。所有的说明性弹性域均无预置结构,均需根据需要从值集开始设置。
弹性域结构的段也可以不选择值集而留空,则此时,此段就好象使用了这样一个值集:验证类型为“无”,格式类型为“字符”,宽度与基础键弹性域段列相同(即与弹性域系统设计所允许的段最大字符长度相同),允许混合大小写字母字符,无右对齐或填零。对于基础列不是“字符”列的任何段,则必须使用值集,否则将不能够编译弹性域。但需注意,“会计科目弹性域”必需使用值集。
已经定义并编译好的弹性域结构(键或说明性),在使用时均会打开弹出式窗口,以便逐段输入数据。但这样输入对于一些常用到的“代码组合”,既不方便记忆,也不方便输入,为此,ORACLE为定义的每一弹性域结构的代码组合提供了“别名”(Aliases)定义的功能。例如,实际工作使用得比较多的“账户代码”的“账户别名”就是一个典型。其它弹性域结构是否需要使用“别名”,取决于实际业务需要。
(四)分类账(帐套)与组织架构
这是系统初始化设置最复杂的工作。R12较之R11,由于引入了“会计方法”的新维度,在设置方法与顺序方面有较大的变化,其过程也更为复杂。R12的法人实体LE的设置与R11相比也有很大变化,只能在“会计科目管理器”中设置,原在GUI组织设置界面的LE设置的值不再有效(即使设定也无法分配给分类账)。有关多组织、多账簿的接入功能还需与“安全性配置文件(Security Profile)、数据访问权限集(Data Access Set)”的定义,配置文件“BG:安全配置文件、MO:安全配置文件、GL:数据访问权限集”等等参数的设置进行协调配合,包括运行“转换为多组织体系结构(仅R11,在AD Utility 工具中执行;R12安装已经是多组织结构)”以及为新添OU“复制系统初始数据”(在“系统管理员”责任下,运行“Replicate Seed Data”请求)公用程序等等。有关详情,限于篇幅,这里不再赘述。
(五)单据编号
新安装的EBS系统初始并未定义单据编号发生器,需要全新定义,如下图62所示:
系列之四:ORACLE EBS基础设置要点简介(E) - season - season
需要指出的是,这里的“单据编号”仅是“系统内部”使用的标识,都是不包含任何业务管理信息的数字代码。某些特殊单据如采购申请、采购订单以及供应商等虽具有自己专门的编号管理机制,其所生成的也是不包含业务信息的数字代码。这些数字代码和实际业务管理中所需使用到的“业务标识”可能有一定区别,例如对于采购订单、供应商,基于管理的某些特殊需要,除了系统自动生成(或手工输入)的单据代码标识外,可能还需使用单据头的“说明性弹性域”生成包含“采购员代码、业务类别代码、行业代码、地域代码”等等管理信息的“业务标识”(可能需要打印在纸面单据上),以方便相关业务信息的统计分析工作。
系统初始预置有若干数量的“单据类别(Document Categories)”(属于GL/AP/AR),每个单据类别对应数据库中的某个表(Table)。可以根据需要为相关业务模块如INV/PO/OM等等的某些表(Table,是否允许取决于Table本身的设计)添加“单据类别”,以便对表中的相关字段应用编号机制。未来在完成系统设置过程中,还会基于某些表单的业务类别设置(例如销售订单类别等)自动生成新的单据类别。如下图63所示:
系列之四:ORACLE EBS基础设置要点简介(E) - season - season
单据类别与单据编号发生器的关联分配是基于分类账(帐套)的,故在每次新定义分类账或帐套后,均需完成有关的单据编号“分配”工作。
(六)层次性设置结构
不涉及具体应用模块或具全局性、属于EBS系统层面的初始化设置,还包括工作流、预警、文件夹、配置文件定义、查找代码定义、消息定义、地区维护、打印机等等一系列内容,限于篇幅,这里不再赘述。下图64所示表达了EBS(R11)全系统公共层面的基础设置内容与层次结构: Common Applications Process Hierarchy
系列之四:ORACLE EBS基础设置要点简介(E) - season - season
EBS核心系统习惯上可以划分为四大分支系统:财务、制造、分销、人力资源。每一大分支系统也有相关的公用层面设置,如下图65所示是EBS(R11)公共“分销系统”的基础设置内容与层次结构(公共财务、制造、人力资源的相关层次结构比较简单,故略):
Common Distribution Process Hierarchy
系列之四:ORACLE EBS基础设置要点简介(E) - season - season
而涉及具体应用模块的系统初始设置,情况就更为复杂,通常需要按照应用模块的设置流程图,结合全系统与分支系统的设置情况来决定具体如何执行。如下图66所示是EBS(R11)采购系统的设置步骤:
系列之四:ORACLE EBS基础设置要点简介(E) - season - season
对应上述设置步骤的是下述列表清单。流程图和设置步骤清单概括了各设置步骤,其中一些步骤是必需的,而另外一些步骤则是可选的。“具有默认值的必需步骤”是指在数据库中预植了默认值的设置功能。但是,通常需要复查一下这些默认值,以决定是否要对其进行更改。其中有些步骤在“系统”或“分支系统”层如果已经设置,则在应用模块层就无需再执行这些设置步骤。
步骤
必需
步骤
AIW 参考
1
必需
设置系统管理员
Common Applications
2
必需
定义会计键弹性域
Common Applications
3
必需
设置日历、币种和帐套
Common Applications
4
必需
定义人力资源键弹性域
Common Applications
5
必需
定义地点
Common Applications
6
必需
定义组织和组织关系
Common Applications
7
可选
转换为多组织体系结构
Common Applications
8
必需
定义库存键弹性域
Common Applications
9
必需
定义单位
Common Applications
10
可选
定义承运人
Common Applications
11
具有默认值的必需步骤
定义物料属性、代码和模板
Common Applications
12
必需
定义类别
Common Applications
13
可选
定义目录组
Common Applications
14
必需
设置人事
Common Applications
15
必需
设置 Oracle Workflow
Common Applications
16
必需
决定如何使用帐户生成器
Oracle Purchasing
17
必需
打开库存和采购会计期
Common Distribution
18
可选
定义子库存地点
Common Distribution
19
可选
定义交叉引用类型
Oracle Purchasing
20
可选
定义税码
Common Financial
21
可选
定义付款条件
Common Financial
22
必需
设置审批信息
Oracle Purchasing
23
具有默认值的必需步骤
定义查找和分类
Oracle Purchasing
24
可选
定义标准附件
Oracle Purchasing
25
必需
定义采购选项
Oracle Purchasing
26
必需
定义采购员
Oracle Purchasing
27
可选
定义物料
Oracle Purchasing
28
具有默认值的必需步骤
定义行类型
Oracle Purchasing
29
必需
启动采购数据库管理程序
Oracle Purchasing
30
必需
定义财务选项
Common Financial
31
可选
定义事务处理原因
Oracle Purchasing
32
必需
定义接收选项
Oracle Purchasing
33
必需
设置事务处理管理器和重新提交时间间隔
Oracle Purchasing
34
必需
定义供应商
Common Financial
35
具有默认值的必需步骤
设置工作流选项
Oracle Purchasing
36
必需
提交工作流相关流程
Oracle Purchasing
37
可选
定义说明性弹性域
Common Applications
38
可选
设置自动来源补充
Oracle Purchasing
39
必需
执行附加的系统管理员设置
Common Applications
40
必需
定义制造系统和用户配置文件
Oracle Purchasing
如果要实施多个 Oracle Applications 模块产品,ORACLE建议使用 Oracle Applications 实施向导 (AIW,Oracle Applications Implementation Wizard User's Guide) 来协调设置活动。该“向导”将指导用户完成对已安装应用产品的设置步骤,给出满足交叉产品相关性要求的逻辑实施顺序并免去多余的设置步骤。用户可以使用“向导”来查看以图形表示的设置步骤概览、查阅设置活动的联机帮助和打开相应的设置窗口。通过使用“向导”来为每个步骤记录备注信息,还可以记录实施情况以供日后参考和复查。
通过配置本地数据库的tns配置文件实现:
去oracle安装目录下oracle\product\10.2.0\db_2\NETWORK\ADMIN\ 找到tnsnames.ora,用记事本打开,里边有远程数据库的tns连接配置串如下
ORCL23 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.23)(PORT = 1521))
)
(CONNECT_DATA =
(SID = ORCL)
)
)
添加好ip、端口和目标数据库的实例名(SID),然后确保tns名称(ORCL23)在整个文档中唯一,保存后打开数据库连接工具,输入远程数据库上的用户名密码,选择数据库对象为你配置的连接名就可以了