ORACLE系统报表输出流程
- 格式:doc
- 大小:498.50 KB
- 文档页数:10
PLSQL报表开发步骤1.PLSQL创建package1.1在PL/SQL Developer中创建一个package。
➢此时会生成一个和包体。
➢部分定义一个过程:➢包体部分定义具体的格式控制及输出数据。
➢在print函数中进行输出(输出到控制台和报表)。
➢cursor的定义放在包体的最前面。
➢main函数为该函数的入口地址。
入口函数的特点为:前两个的定义必须为errbuf out varchar2,retcode out number,否则报错。
使用 errbuf 返回任何错误消息和retcode 返回完成状态。
参数 retcode 返回 0 表示成功、警告,成功为 1 和 2 的错误。
在并行程序运行后,并发管理器会将 errbuf 和 retcode 的容写入与您的并发请求相关联的日志文件。
➢屏蔽不在包体外调用的函数声明。
➢创建的package可不必上传到应用。
在数据库中编译后即可。
参考文件:plsql形式报表开发及html输出格式.pdf参考代码:Rz_Gl_Period_Charge_Pkg最后.pck(在PLSQL中打开)2.定义并发可执行➢在EBS中注册挂载:登录oracle EBS R12系统。
选择应用开发员--》并发--》可执行。
➢填入如下信息。
3.定义并发程序应用开发员--》并发--》程序参数设置:Notes:关于值集的定义,参见附件。
Parameter顺序、名称与 Procedure 参数一致(Errbuf 与 Retcode 不用设定) 4.添加并发程序到请求组4.1 请求组分配给责任,责任分配给用户。
首先要查找职责和请求组➢查找职责:系统管理员》安全性》职责》定义➢查找请求组:如果没有自己的请求组,可以自己新建一个。
切换责任到系统管理员 >安全性>责任>请求,系统管理员》安全性》职责》请求➢提交请求,查看结果。
切换到相应的职责,本例中为R_GL_总账超级用户,提交一个新的请求,在请求的名称中找到创建的程序。
oracle 存储过程输出参数的使用在Oracle中,存储过程可以有输入参数、输出参数和输入输出参数。
输出参数允许存储过程返回一个或多个值给调用者。
以下是使用输出参数的步骤:1. 声明输出参数:在创建存储过程时,需要声明输出参数。
这可以通过在参数列表中指定参数名和数据类型,并添加`OUT`关键字来完成。
2. 在存储过程中设置输出参数的值:可以使用`:=`操作符将值赋给输出参数。
3. 在调用存储过程时,必须为输出参数提供一个变量来接收返回的值。
以下是一个使用输出参数的存储过程的例子:```sqlCREATE OR REPLACE PROCEDURE get_employee_salary (p_emp_id IN employees.employee_id%TYPE,p_salary OUT employees.salary%TYPE) ISBEGINSELECT salary INTO p_salary FROM employees WHERE employee_id = p_emp_id;END;/```在这个例子中,`p_salary`是一个输出参数。
当调用这个存储过程时,需要提供一个变量来接收返回的薪水值。
调用这个存储过程的代码可能如下所示:```sqlDECLAREv_salary employees.salary%TYPE;BEGINget_employee_salary(100, v_salary);DBMS_OUTPUT.PUT_LINE('Salary is ' || v_salary);END;/```在这个例子中,我们声明了一个变量`v_salary`来接收存储过程返回的薪水值,然后使用`DBMS_OUTPUT.PUT_LINE`来打印这个值。
使用PL/SQL实现ORACLE导入导出Excel excel格式的数据在和oracle格式的数据在转换的过程中要通过access数据库,本文不用通过转换就能直接把excel格式的数据放到oracle数据库里。
1 oracle导出excel格式
在机子上安装PL/SQL并登陆,点击new-Report Window(文件—报告窗口),在打开的窗口里输入SQL语句,操作如下图:
在打开的窗口里写出你要导出的数据的SQL语句,写好SQL后执行一下你写好的SQL,或是点一下F8。
操作如图
在查询出来数据右面有一排按钮。
点击Exprot Results..按钮,选择Excel操作如图:
点击后会出现下图,在excel里面打开你刚查询出来的那些数据,如下图:
然后把该EXCEL存在本机上就可以了。
2 Excel数据导入到oracle
打开你要导入的Excel数据。
另存为“文本文件(以逗号分隔).txt”文件。
打开PL/SQL 并登陆,选择tools-Text Importer(工具—文本导入器),出现如下图界面:
选择open data file 按钮,选择刚存为txt格式的文件,出现如下图界面
然后点击Date to Oracle按钮,出现图下图界面
选择导入到的用户、导入到的表,并把各字段同表里的字段对应,如把该数据导入到一张新表中,点击界面中的creat table按钮,新建表,如下图
所有的字段都对应上后,发现,最下面的import按钮由灰色变亮了,点击Import 按钮,excel里的数据就会部导入到了oracle表里了。
在导入时还可以选择每次提交的数据条数和是否覆盖,操作如图。
1、例如导入日记帐请求
2、切换职责到应用开发员下找到并发-程序
3、查找请求名:日记帐导入
4、其输出:格式就是定义的输出方式
文本就是在form里打开
其他格式包括XML HTML 文本PDF等等
注意:按照我之前测试经验有时候把文本改成XML或者HTML之后,输出结果为乱码或报错,原因有待进一步探讨(环境为R12环境,11i环境基本都是输出到html,没有进行类似测试)
如:
有时候点击输出会弹出个下载框,让你下载一个FENDER.EXE的文件,这个可能是跟输出
文件格式无法打开有关
在客户机器上如果没有按照PDF阅读软件的话,就回弹出这个下载框,按照之后解决。
但是,有些请求仍会报该错误,暂时不知道为啥。
oracle数据库⽣成awr报告、ash报告详细步骤oracle数据库⽣成awr报告、ash报告详细步骤1. ⼿动⽣成AWR快照号:sqlplus下执⾏(可选)2.sqlplus下执⾏:@?/rdbms/admin/awrrpt.sql或者 @$ORACLE_HOME/rdbms/admin/awrrpt.sql3、输⼊要⽣成报告的⽂件格式Type Specified: html4、输⼊要⽣成报告相隔的天数Enter value for num_days: 15、输⼊相隔的快照之间的Snap Id开始号和结束号Specify the Begin and End Snapshot Ids~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Enter value for begin_snap: 101Enter value for end_snap: 102End Snapshot Id specified: 1026、输⼊⽣成报告的名字:Enter value for report_name: awr.html查看awr报告⽅式:⽣成报告后,退出sqlplus,⽂件存储在当前⽬录下scp拷贝到电脑上查看;或者打开linux⾃带浏览器,输⼊⽬录file:///home/oracle/ awr.html⼆、⽣成ash报告详细步骤:1.sqlplus下执⾏:@?/rdbms/admin/ashrpt.sql或者 @$ORACLE_HOME/rdbms/admin/ashrpt.sql2.输⼊要⽣成报告的⽂件格式,默认htmlEnter value for report_type:3.输⼊开始时间,默认15min之前,⼿动输⼊数字是以分钟为单位Enter begin time for report:-- Valid input formats:-- To specify absolute begin time:-- [MM/DD[/YY]] HH24:MI[:SS]-- Examples: 02/23/03 14:30:15-- 02/23 14:30:15-- 14:30:15-- 14:30-- To specify relative begin time: (start with '-' sign)-- -[HH24:]MI-- Examples: -1:15 (SYSDATE - 1 Hr 15 Mins)-- -25 (SYSDATE - 25 Mins)Defaults to -15 minsEnter value for begin_time:4.输⼊间隔,默认⾄现在Enter duration in minutes starting from begin time:Defaults to SYSDATE - begin_timePress Enter to analyze till current timeEnter value for duration:5、输⼊⽣成报告的名字:Enter value for report_name: ash.html查看ash报告⽅式:⽣成报告后,退出sqlplus,⽂件存储在当前⽬录下.。
1.1 EXP AND IMP导入导出的模式a表模式的导入导出b用户模式的导入导出c全库模式的导入导出导出表模式exp system/jaguar@cfp00_cpzb2003 tables=(cp.misywt14,cp.misywt18) file=d:\t8.dmplog=d:\t14t18_exp.log feedback=10000 compress=n用户模式exp system/jaguar@cfp00_cpzb2003 owner=cp file=e:\cp.dmp log=e:\cp_exp.logfeedback=10000 compress=n全库模式exp system/jaguar@bkup full=y filesize=2000M file=(cpzb01.dmp,cpzb02.dmp)log=cpzb_exp.log feedback=10000 compress=n使用参数文件导出(需要在当前路径下执行)exp system/manager@bgd-11_yang1 parfile=t09_exp.part09_exp.par文件内容tables = (test1.misywt09) file=e:\yang\t09.dmp log=e:\yang\t09_exp.log feedback=10000 compress=n快速导出使用参数direct=y recordlength=65535exp system/jaguar@cfp00_cpzb2003 owner=cp file=e:\cp.dmp log=e:\cp_exp.log direct=y recordlength=65535 feedback=10000 compress=n有条件的导出,windowsexp system/ckdb5@ckdb5 tables = (cp962008.misywt40_1) file=t40_96.dmp log=t40_96_exp.log feedback=10000 QUERY='where substr(ckhwh,1,1)="5"'导入表模式imp system/jaguar@cfp99_cpzb fromuser=cp touser=cp tables= (misywt14,misywt18)file=e:\t14t18.dmp log=e:\t14t18_imp.log ignore=y buffer=5120000 commit=yfeedback=10000用户模式imp system/jaguar@cfp99_cpzb fromuser=cp touser=cp file=d:\cp.dmp log=d:\cp_imp.log ignore=y buffer=5120000 commit=y feedback=10000全库模式imp system/jaguar@cfp99_cpzb full=y file=d:\cp.dmp log=d:\cp_imp.log ignore=ybuffer=5120000 commit=y feedback=10000导入大于2G的文件imp system/jaguar@cfp10_cpzbbak filesize=2000M buffer=81920 commyit=y ignore=yfile=(cpzb01.dmp,cpzb02.dmp,cpzb03.dmp,cpzb04.dmp) log=cpzb_imp.log feedback=10000使用参数文件导入(需要在当前路径下执行)imp system/manager@bgd-11_yang1 parfile=t09_imp.part09_imp.par 文件的内容fromuser=test1 touser=test1 tables=(misywt09) file=e:\yang\t09.dmp log=e:\yang\t09_imp.log ignore=y buffer=5120000 commit=y feedback=10000imp步骤说明(1) create table (2) insert data (3) create index (4) create triggers,constraints导出导入常见问题及解决方法1) unix上导出导入,使用多个用户或多个文件时不使用()2) ORACLE不同版本之间的导出导入oracle8.0.4 netwareoracle8.1.5 win2000oracle8.1.7 unix ware 7.1.18.0.4――>8.1.7使用8.0.4从自己导出,使用8.1.5导入8.1.78.1.7――>8.0.4使用8.1.5从8.1.7 导出,使用8.1.5导入8.0.48.1.5――>8.1.7使用8.1.5从自己导出,使用8.1.5导入8.1.78.1.7――>8.1.5使用8.1.7从自己导出,使用8.1.7导入8.1.5oracle8-oracle10之间导入导出的关系1个表的测试oracle8->oracle10test 源数据库目的数据库导出的oracle版本导入的oracle版本文件大小时间结果备注test18 10 8 8 成功有垃圾表BIN$bEheaq87S/q9CiHem/Ty6Q==$0test28 10 8 10 成功test38 10 10 8 失败10无法连接8test48 10 10 10 失败10无法连接8 结论:oracle8->oracle10 导出使用8,导入使用10oracle10->oracle8test 源数据库目的数据库导出的oracle版本导入的oracle版本文件大小时间结果备注test510 8 8 8 成功test610 8 8 10 失败10无法连接8test710 8 10 8 失败8不能读取10得导出文件test810 8 10 10 失败10无法连接8 结论:oracle10->oracle8 导出使用8,导入使用8使用oracle8导出oracle10时,出现错误EXP-00003: 未找到段(10,585868) 的存储定义原因:不能用oracle8导出oracle10。
oracle系统包—-dbms_output⽤法dbms_output包主要⽤于调试pl/sql程序,或者在sql*plus命令中显⽰信息(displaying message)和报表,譬如我们可以写⼀个简单的匿名pl/sql程序块,⽽该块出于某种⽬的使⽤dbms_output包来显⽰⼀些信息。
涉及到的知识点如下:1、enable:在serveroutput on的情况下,⽤来使dbms_output⽣效(默认即打开)2、disable:在serveroutput on的情况下,⽤来使dbms_output失效3、put:将内容写到内存,等到put_line时⼀起输出4、put_line:不⽤多说了,输出字符5、new_line:作为⼀⾏的结束,可以理解为写⼊buffer时的换⾏符6、get_line(value, index):获取缓冲区的单⾏信息7、get_lines(array, index):以数组形式来获取缓冲区的多⾏信息需要注意以下⼏点:1、set serveroutput on:如果要在sqlplus中看到dbms_output的输出,则必须设置该参数值为on2、每⾏能容纳的最⼤值是32767bytes3、buffer的默认值是20000bytes,可设置的最⼩值为2000bytes,最⼤值为1000000bytes例⼦⼀、put和new_line1 2 3 4 5 6 7 8 9set serveroutput on;begindbms_output.put('a'); --写⼊buffer但不输出dbms_output.put('b'); --写⼊buffer但不输出dbms_output.new_line; --回车(换⾏),输出dbms_output.put_line('hello world!'); --输出并换⾏ dbms_output.put('d'); --写⼊buffer但不输出end;/执⾏运⾏结果:1 2abhello world!例⼦⼆、put_line1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30set serveroutput off;create table t(a int, b int, c int);insert into t values(111111,222222,333333);insert into t values(444444,555555,666666);insert into t values(777777,888888,999999); commit;create table tt(a int,b varchar2(100));declaremsg varchar2(120);cursor t_cur is select* from t order by a;v_line varchar2(100);v_status integer:= 0;begindbms_output.enable;for i in t_cur loopmsg := i.a || ','|| i.b || ','|| i.c;dbms_output.put_line(msg); --put end loop;dbms_output.get_line(v_line, v_status); --get while v_status = 0 loopinsert into tt values(v_status, v_line);dbms_output.get_line(v_line, v_status); end loop;end;/select* from tt;执⾏结果如下:1 2 3 4 5a b--- -----------------------0 111111,222222,333333 0 444444,555555,666666 0 777777,888888,999999注:使⽤get_line时不能⽤put_line输出,因为put_line之后会将buffer清空。
Oracle EBS 财务报表1. 引言Oracle E-Business Suite(EBS)是一个全面集成的企业资源计划(ERP)解决方案,用于管理企业的各个方面。
其中,财务管理模块提供了强大的财务报表功能,可以帮助企业生成准确、及时的财务报表。
本文将介绍如何使用Oracle EBS生成财务报表。
2. 财务报表的重要性财务报表是企业向内外部利益相关者提供的关键信息来源,对于监控企业的财务状况、评估企业的经营绩效、决策企业的未来发展战略具有重要意义。
Oracle EBS的财务报表功能可以帮助企业实现以下目标: - 准确记录和汇总财务信息 - 分析企业的财务状况和经营绩效 - 支持决策制定和战略规划 - 遵守财务法规和准则3. Oracle EBS财务报表功能概述Oracle EBS财务报表功能提供了多种报表类型,包括资产负债表、利润表和现金流量表等。
用户可以使用标准报表模板或自定义报表模板来生成财务报表。
以下是Oracle EBS财务报表功能的主要特点:3.1 报表模板•标准报表模板:Oracle EBS提供了一系列标准报表模板,可以直接使用或根据需要进行修改。
•自定义报表模板:用户可以根据自己的需求创建自定义报表模板,以满足特定的财务报表要求。
3.2 报表参数•报表期间:用户可以选择报表要显示的期间,通常包括月度、季度和年度等。
•报表范围:用户可以选择报表要显示的范围,例如全公司、分公司或特定业务单位等。
3.3 报表生成•报表数据提取:Oracle EBS从各个财务模块中提取数据,并根据报表模板的要求进行数据处理和汇总。
•报表生成:Oracle EBS根据报表模板和报表参数生成财务报表,并提供多种输出格式供用户选择,包括HTML、PDF和Excel等。
4. 使用Oracle EBS生成财务报表的步骤4.1 确定报表需求在使用Oracle EBS生成财务报表之前,需要明确报表的需求,包括报表类型、报表期间和报表范围等。
oracle做账流程在进行Oracle做账流程之前,首先需要明确做账的目的和范围。
做账是指根据公司的财务数据,按照一定的规则和方法进行核算和记录,最终形成财务报表和相关财务信息的过程。
在Oracle系统中,做账流程通常包括凭证录入、凭证审核、凭证记账、期末结账等环节。
首先,凭证录入是做账流程的第一步。
在Oracle系统中,财务人员需要将公司的各项财务交易按照规定的格式录入系统。
这些财务交易可能包括收入、支出、资产、负债等,每一笔交易都需要按照准确的科目和金额进行录入,并填写相应的摘要和日期等信息。
接下来,凭证审核是保证做账准确性和合规性的重要环节。
在Oracle系统中,财务主管或审计人员会对录入的凭证进行审核,核对凭证的完整性和准确性,确保凭证的录入符合公司的财务政策和相关法规要求。
审核通过的凭证才能进入下一步的凭证记账环节。
凭证记账是将审核通过的凭证进行会计分录,将每笔交易按照借贷方向进行分录,并更新到相应的会计科目中。
在Oracle系统中,财务人员需要按照公司的会计政策和准则进行凭证记账,确保每笔交易都能正确地反映在财务报表中,从而形成真实、准确的财务信息。
最后,期末结账是做账流程的最后一步。
在Oracle系统中,财务人员需要进行各项财务账户的结账处理,包括应收应付账款、预付款项、预收款项、存货、固定资产等。
通过期末结账,可以确保财务数据的完整性和一致性,为编制财务报表提供可靠的数据支持。
总的来说,Oracle做账流程涉及到凭证录入、凭证审核、凭证记账和期末结账等环节,需要财务人员严格按照公司的财务政策和会计准则进行操作,确保财务数据的准确性和合规性。
只有这样,才能为公司提供真实、可靠的财务信息,为经营决策提供有力的支持。
ORACLE系统报表输出流程
EXCEL
GL模块
ADI
EXCEL
0、制作ORACLE宏文件(笑脸)
a. 首先根据需要拷贝BOOK1_国内.xls(BOOK1_国际.xls)文档或从“财会家园”网站中下载该文档。
(有时需要解压缩)
将其拷贝到其他文件夹,并将文件改为BOOK1.xls
b. 打开BOOK1.xls ,弹出“安全警告”窗口,选择启用宏按钮
选择“工具”菜单中的“自定义……”选项。
将类别是“宏”中自定义按钮,拖至菜单栏如下图:
关闭“自定义”窗口。
单击笑脸按钮,跳出如下窗口:
选择宏名是“meus ”的宏然后确定。
最后,退出EXCEL
1、报表集方式提交:
GL 模块提供了按报表集提交报表的功能,所谓报表集即事先定义的多个集合,报表运行时可按报表集提交运行。
1、操作路经:报告/请求/财务/单个报表集
2、选择需运行的报表集及会计周期
3、点击“应用”,则报表集中所用报表全部改为所选周期。
4、选择:提交,系统、产生一组后台进程,进程完毕后即生成所定义的报表。
2、报表格式的转换
a.登陆ADI系统
打开ADI 进入登陆窗口,输入用户名、密码(同ORACLE系统)
b.查询、添加请求标识
选择任务栏中的“请求中心”窗口,单击此按钮,跳出“选择请求监视器”窗口,选中“完成”选项然后单击查询按钮。
单击查询按钮后,出现在ORACLE系统中提交的请求,选择需要的报表,单击添加按钮
单击添加按钮后,关闭“选择请求监视器”窗口。
c、报表的发布
回到“请求中心”窗口,选择“已完成”选项卡,如下图:
单击发布按钮,等待片刻后,跳出如下窗口:
注意:当有多个报表需要输出时,只能一个一个的发布
注意:
输出类型选择:电子表格
电子表格选项:
发布至:空
新工作簿
请求中心消息显示,我们提交的报表请求已经成功完成。
如果没有出现“报表格式转换”菜单,单击“笑脸”按钮,弹出如下窗口:选择启用宏按钮
“报表格式转换”菜单会自动跳出。
选择“报表格式转换”菜单中的需要转换得表格,比如:资产负债表;系统会运行宏程序,最后形成最终的报表格式。
试比较转换前后的格式变换。
转换前:
转换后:
按同样步骤,重复c、报表的发布步骤,继续发布其他的报表。
3. 发布好的报表保存
当所有报表发布完成后,将BOOK1文档保存(注意不是另存为…),之后将BOOK1重新命名比如:2003年10月报表,同时再将备份的BOOK1_国内.xls(BOOK1_国际.xls)拷贝到此处,并重新命名为BOOK1 以备下次再用。