ebs报表开发流程
oracle_ebs_报表开发步骤
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_总账超级用户,提交一个新的请求,在请求的名称中找到创建的程序。
OracleEBS-报表开发工具之闲碎
Author: Jarwang(王重东) Create Date: January 10, 2011 Create Location: BeiJing Update Date: Control No: Current Edition: 1.0
声明:本文可以任意免费转载、复制、传播。但您务必保持其完整性! If you copy this document,you ought to keep the document completely.
resp_appl_id =>APPS.FND_GLOBAL.resp_appl_id
);
Author:JarWang (王重东)
QQ:jarwang@ 12
Copyright(R):Jarwang
return (TRUE); end;
Report数据域 Oracle Report引用数据模型的数据源,有二种方式。 1.较常规的做法。直接使用工具栏上的“域”标签,然后设置相应数据源 2.使用“文本”标签,然后用“&”进行引用。 3.在PL/SQL中引用报表域文本的值,只需在PL/SQL直接引用域对应源字段名称即可(无须加 组名)。 Report汇总项 Report的汇总项比较灵活,在不同的组其汇总规则是可以多变的。这也会隐藏一些不易发现的问 题。 比如,下面这个数据源分为三个组。
Oracle BI Publishier
Oracle XML Publishier升级版。
Oracle BIEE
Oracle BI最新套件。
Author:JarWang (王重东)
QQ:jarwang@ 5
Copyright(R):Jarwang
ORACLE EBS FORM利用模板开发步骤
ORACLE EBS FORM利用模板开发步骤1、在formbuilder开发form—>从服务器的以下路径$AU_TOP/forms/US下载模板:TEMPLATE.fmb,并将模板名字改为STUDENTS.fmb—>将服务器$AU_TOP目录下的resource文件夹所有文件下载—>将以上STUDENTS.fmb和resource文件夹分别放在以下目录D:\ErpForm\Form , D:\ErpForm\Library—>在Regedit > HKEY_LOCAL_MACHINE > SOFTWARE > ORACLE > FORMS60_PA TH 加入client 端存放form 及resource的路径D:\ErpForm\Library;D:\ErpForm\Form(放在最前较好)—>运行formbuilder,打开STUDENTS.fmb后,修改名字,删除不需要使用的数据块和画布—>首先建一个窗口,因为画布放在窗口上。
这里将原来的一个窗口BLOCKNAME,改名为WIN_MAIN,并双击进入属性面板修改名称—>添加要用的数据块:右键数据块>数据块向导—>制作要用的画布:—>修改新建数据块和画布的名字为相同(建议),这里都改为MAIN。
并进入属性面板修改子类信息和窗口属性将数据块MAIN里的项STUID、STUNAME、STUSCORE的属性里的子类信息改为TEXT_ITEM,以下只列出STUID的截图将画布MAIN里的子类信息选为CANV AS,窗口选为WIN_MAIN,因为该画布放在WIN_MAIN 展示—>修改FORM上得Trigger2、将开发完的form上传到到服务器并编译—>通过SecureCRT登录到dev3(例如),在SecureCRT里通过echo $AU_TOP获得AU_TOP 路径—>通过FXPFlash也登录到dev3,进入$AU_TOP目录—>通过FXPFlash,将开发完成的form传到$AU_TOP/forms/ZHS目录下—>进入SecureCRT里的$AU_TOP/forms/ZHS目录,然后执行以下命令:f60gen userid=apps/apps module=STUDENTS.fmb output_file=$CPER_TOP/forms/ZHS/STUDENTS.fmx module_type=FORM batch=no3、将编译完成的form挂到EBS前台菜单—>以应用开发员职责登录,注册表单—>以应用开发员职责登录,定义功能—>将以上定义的功能加入MENU,此处加入的是系统管理员职责的MENU。
Oracle_EBS_FSG报表的制作PPT
1
Born to win!
演讲人:Huangzs 日期:20120324
一、FSG报表简介
Born to win!
财务报表生成器 FSG 是 Oracle General Ledger 的强大报表编制工具。 可以用来编制自定义财务报表,而无需进行编程。
销售业绩表--定义列集
增加3个列统计每个月的销售额
Born to win!
30
销售业绩表--定义行顺序
Born to win!
• 使用一月销售额排序 • 显示账户的部门段
31
销售业绩表--定义报表
Born to win!
32
主营业务收入表
步骤: 设置行集 设置列集 设置内容集 设置行顺序 定义报表 运行报表 测试功能点: 内容集显示类型 账户范围增加 列集例外
列集中尚无定义币种 的列;
控制值- “币种”设置的优先级
Born to win!
•EXAMPLE:
• a.“行集”未在“余额类型”选项中定义“币种”;
• b.“列集”中:第一列未定义“币种”,留空!第二列定义为本
•
位币CNY;
• c.运行请求报表时,在“币种”里输入币种美元“USD”!
第1列:因没有在行, 列集中定义币种,所以 根据运行报表时的币种 进行折算成USD 第2列:在列集中定义 了币种,优先级大于运 行报表时的币种控制, 显示值实际上以CNY为 币种,尽管报表上显示 了币种为USD
35
主营业务收入表-定义行顺序
Born to win!
• 使用“主营业务收入”列排序 • 显示账户的部门段
EBS各模块设置步骤
EBS各模块设置步骤EBS(企业资源计划)是一种管理信息系统,能够整合、自动化管理企业各个流程和部门,提高企业的运作效率和管理水平。
EBS包括多个不同的模块,每个模块都有相应的设置步骤。
以下是EBS各模块的设置步骤:1.财务模块的设置步骤:a.创建会计期间:为了进行记账和报表生成,需要创建会计期间,设置会计期间的开始日期和结束日期。
b.设置会计凭证:定义会计凭证模板、凭证字号,并设置会计科目的初始余额。
c.设置会计科目:创建会计科目,并定义科目类别、账户类型和科目余额方向。
d.设置财务报表:根据需要定义财务报表模板,并与会计科目进行关联。
e.设置固定资产:录入企业的固定资产信息,包括资产折旧规则和折旧方法。
f.设置成本管理:定义成本中心、核算项目和成本分配规则,用于进行成本分配和成本控制。
2.供应链管理模块的设置步骤:b.设置采购流程:定义采购申请、采购订单和采购收货流程,设置采购审批规则。
c.设置库存管理:设定物料编码规则、库存组织和库存地点,进行库存盘点和库存调整。
d.设置供应链计划:制定物料需求计划,进行物料需求的预测和计划下单。
e.设置质量管理:定义质量检验方法和标准,进行物料入库和出库的质量检验。
3.生产管理模块的设置步骤:a.设置工艺路线:创建产品的工艺路线,包括工序、工作中心和生产工时。
b.设置生产计划:制定生产计划,包括生产订单的创建和调度。
c.设置生产执行:进行生产订单的领料、生产过程的跟踪和生产报工的记录。
d.设置质量控制:定义检验点和检验标准,进行生产过程和产成品的质量控制。
e.设置成本控制:进行生产成本的核算和分析,包括直接材料、直接人工和制造费用的计算。
4.销售管理模块的设置步骤:b.设置销售流程:定义销售报价、销售订单和销售发货流程,设置销售审批规则。
c.设置价格策略:制定产品的价格策略,包括定价规则和促销活动。
d.设置销售合同:创建销售合同,包括合同条款、支付方式和交付日期等。
oricle ebs财务报表流程
oricle ebs财务报表流程下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。
文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by theeditor. I hope that after you download them,they can help yousolve practical problems. The document can be customized andmodified after downloading,please adjust and use it according toactual needs, thank you!In addition, our shop provides you with various types ofpractical materials,such as educational essays, diaryappreciation,sentence excerpts,ancient poems,classic articles,topic composition,work summary,word parsing,copy excerpts,other materials and so on,want to know different data formats andwriting methods,please pay attention!Oracle EBS 财务报表流程。
1. 数据准备。
oracleebs报表开发步骤
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 请求组分配给责任,责任分配给用户。
首先要查找职责和请求组➢查找职责:系统管理员》安全性》职责》定义➢查找请求组:如果没有自己的请求组,可以自己新建一个。
切换责任到系统管理员>安全性>责任>请求,系统管理员》安全性》职责》请求查找出请求组后,在上述请求组中加入刚才定义好的并发请求程序。
➢提交请求,查看结果。
在EBS-FORM中开发工作流
在EBS-FORM中工作流在EBS中如果需要对某些审批的业务进行审批工作流的二次开发,则需要进行客户化WORKFLOW的流程,然后在EBS-FORM中启用。
在这里,就不具体说明如何使用WF-BUILDER工具进行工作流的开发,此文档主要用来说明及解决在FORM中如何触发一个工作流以及在FORM中如何关闭一个工作流1 在FORM中启用一个工作流:原则:与执行SQL一样,重点在于工作流的程序包的脚本,由于FORM本身直接支持执行SQL的语法,所以,可以在FORM中特定收件人等参数。
/******************以预留单审批为例******************/--此代码具有客户化的TABLE,只能作为参考,不能直接使用create or replace package RESERVESWF_C isG_INFO varchar2(2000);G_id varchar2(20);G_PROFITRATE Number;G_error Varchar2(2000);-- 到预留单取消报表 得到当前审批单据的详细信息 并以HTML的格式显示Procedure write_yl_c_doc(document_id IN VARCHAR2,display_type IN VARCHAR2,document IN OUT VARCHAR2,document_type IN OUT VARCHAR2);Procedure judge_status_c(itemtype IN VARCHAR2,itemkey IN VARCHAR2,actid IN NUMBER,funcmode IN VARCHAR2,resultout OUT VARCHAR2);Procedure create_process(g_tb_id VARCHAR2,send_user varchar2);end RESERVESWF_C;create or replace package body RESERVESWF_C is/**工作流的逻辑判断,用来决定数据走向**/Procedure judge_status_c(itemtype IN VARCHAR2,itemkey IN VARCHAR2,actid IN NUMBER,funcmode IN VARCHAR2,resultout OUT VARCHAR2)IsL_flag VARCHAR2(1);Beging_id := wf_engine.Getitemattrtext(itemtype,itemkey,'ID');If funcmode = 'RUN' ThenSelect nvl(status,1) Into L_flag From RESERVED_ORDER Where RESERVED_ID = g_id;-- 状态(1 正常 2 审批中 3 审批通过 4 审批未通过 5 关闭)-- 只有状态为1 的单据才可能提交审批If L_flag <> '5' Thenresultout := 'CONTINUE';Elsif l_flag='5' thenresultout :='5';End If;End If;ExceptionWhen Others ThenNull;End judge_status_c;/***工作流显示的HTML内容***/Procedure write_yl_c_doc( document_id IN VARCHAR2,display_type IN VARCHAR2,document IN OUT VARCHAR2,document_type IN OUT VARCHAR2)Isn number:=1;L_customers_name varchar2(200);L_reserved_man varchar2(200);L_create_date varchar2(200);L_RESERVED_END_DATE varchar2(200);L_STATUS varchar2(200);L_ERP_CODE varchar2(200);L_RESERVED_TYPE varchar2(200);l_CREATER varchar2(20);l_MEMO varchar2(2000);BeginIf display_type = 'text/html' Thenselect customers_name,reserved_man,to_char(create_date,'yyyy-mm-dd'),to_char(RESERVED_END_DATE,'yyyy-mm-dd'),STATUS,ERP_CODE,RESERVED_TYPE,CREATER,MEMOintoL_customers_name,L_reserved_man,L_create_date,L_RESERVED_END_DATE,L_STATUS,L_ERP_CODE,L_RESERVED _TYPE,l_CREATER,l_MEMOfrom RESERVED_ORDER where RESERVED_ID=document_id;beginselect L_LIST into L_RESERVED_TYPE from setpar where L_FORM_BLOCK='RESERVED_TYPE' and L_VALUE=L_RESERVED_TYPE;exception when others then L_RESERVED_TYPE:=' ';end;beginselect L_LIST into L_STATUS from setpar where L_FORM_BLOCK='Reserved_order.status' and L_VALUE=L_STATUS;exception when others then L_STATUS:=' ';end;document := '<table width=100% border=1 bordercolor=red>';document:=document||'客户名称:'||L_customers_name||'   经手人:'||L_reserved_man||'   创建日期:'||L_create_date||'   预留到期日期:'||L_RESERVED_END_DATE||'   ERP订单编号:'||l_ERP_CODE||'   预留类型:'||L_RESERVED_TYPE||'   录入人:'||l_CREATER||'   审批意见:'||l_MEMO;document:=document||'<tr><td>序号</td><td>产品编码</td><td>预计出货日期</td><td>数量</td><td>预留货物状态</td><td>备注说明</td></tr>';For iLoop In(SELECT product_number, TO_CHAR(out_date,'YYYY-MM-DD') OUT_DATE,nvl(QTY,'0')qty,NUIT,reserved_status,nvl(REMARK,' ') REMARK from V_YL_QRY_DOC whereRESERVED_ID=document_id) LOOPdocument := document || '<tr>';document := document || '<td>';document := document || n;document := document || '</td>';document := document || '<td>';document := document || iLoop.product_number;document := document || '</td>';document := document || '<td>';document := document || iLoop.OUT_DATE;document := document || '</td>';document := document || '<td>';document := document || iLoop.QTY;document := document || '</td>';document := document || '<td>';document := document || iLoop.reserved_status;document := document || '</td>';document := document || '<td>';document := document || iLoop.REMARK;document := document || '</td>';document := document || '</tr>';n:=n+1;End Loop;document := document || '</table>';End If;document_type := display_type;End write_yl_c_doc;/******************** 启动工作流,参数说明 预留单号,申请提交人**************************/Procedure create_process(g_tb_id VARCHAR2,send_user varchar2)Isg_item_type Varchar2(20) := 'RESER_C'; -- workflow的文件名称g_item_key Varchar2(20);g_process Varchar2(20) := 'RESER_C_PROCESS'; -- wf 的process名称--g_send_name Varchar2(20);--g_appr_name Varchar2(20);g_textname wf_TabTyp;g_textval wf_engine.TextTabTyp;g_numname wf_TabTyp;g_numval wf_engine.NumTabTyp;role_id varchar2(100);l_send varchar2(20);l_create varchar2(20);l_temp VARCHAR2(100);l_sqlerrm varchar2(2000);Beging_id := g_tb_id;If g_id Is Null Theng_id := 1;End If;l_send:=send_user;-- 得到SARTUP WF的一个唯一值Select wf_s.Nextval Into g_item_key From dual ;g_item_key := g_item_type || g_item_key;g_textname(1) := 'SENDER'; --预留单申请人g_textname(2) := 'ID'; -- 需要审批单据号g_textname(3) := 'CREATE'; -- 预留单录入人g_textval(1) := l_send;g_textval(2) := g_id;-- 记录WORKFLOW的IDselect CREATER_CODE into l_create from RESERVED_ORDER where RESERVED_ID=g_id;g_textval(3) := l_create;--判断预留申请人与预留录入人是否一致 一致的话,消息只发送一遍if g_textval(1)=g_textval(3) theng_textval(3):='null';end if;--insert into t values('RESERVESWF_C commit');wf_engine.CreateProcess(g_item_type,g_item_key,g_process);wf_engine.SetItemAttrTextArray(g_item_type,g_item_key,g_textname,g_textval);-- wf_engine.SetItemAttrNumberArray(g_item_type,g_item_key,g_numname,g_numval);wf_engine.SetItemAttrDocument(g_item_type,g_item_key,'DOC','PLSQL:RESERVESWF_C.write_yl_c_ doc/' || g_id);wf_engine.SetItemAttrDate(g_item_type,g_item_key,'RIQI',Sysdate);wf_engine.StartProcess(g_item_type,g_item_key);Commit;ExceptionWhen Others Thennull;l_sqlerrm:=sqlerrm;--dbms_output.put_line(Sqlerrm);End create_process;end RESERVESWF_C;workflowbuild界面编辑流程设计界面2 在FORM中如何关闭一个工作流响应需求:在工作流管理列表中进入FORM中进行审批完成后,不想再在工作流管理列表中对当前的工作流进行关闭。
EBS中注册开发好的Form步骤
首先先用sysadmin进入定义一个用户:系统管理员—安全性—责任—定义
定义自己的用户
然后用自己定义的用户进入操作一下
注意:application 选cux customer app。
那个。
其他的按说明改成自己的就行定义表单(Form)
切换责任:Application Developer:application→form
1.定义功能(Function),并关联已定义的表单
责任:Application Developer:application→function
2.定义/分配菜单(Menu),将定义好的功能分配到菜单项
责任:Application Developer:application→menu
保存
3.定义请求组(只需要第一次定义)
切换责任:系统管理员(System Administrator):安全(security)→责任(responsibility)→请求
保存
系统管理员(System Administrator):安全(security)→责任(responsibility)→定义
保存
退出用sysadmin登录
4.查找职责(刚开始定义的那个),分配菜单和请求组给职责;将职责分配给用户
系统管理员(System Administrator):安全(security)→用户→定义
进入查询模式查找出你要挂载的用户,添加责任
退出用自己定义的用户登录5.切换到定义好的职责运行表单。
ebs报表开发流程
1:点击XML publisher Administrator →定义数据定义和模板先数据定义,然后模板定义。
A 数据定义:名称和代码→名称最好一样例如:CUX_应用产品的英文简称_应用的简称(英文都大写) 代码的名称是文件的名字. 名称可以和代码一样,也可以在后面加一段中文说明应用产品→就是新开发的东西要应用到那个模块(例如:库存管理系统)B 模板名称和代码→名称最好一样例如:CUX_应用产品的英文简称_应用的简称(英文都大写) 代码的名称是文件的名字. 名称可以和代码一样,也可以在后面加一段中文说明应用产品→就是新开发的东西要应用到那个模块(例如:库存管理系统)和数据定义上的一样数据定义→选择刚刚建立的数据定义类型→RTF文件→选择RTF文件的位置语言→汉语到此数据定义和模板定义已经完成2::上传.rdf到unix服务器特定的目录下,必须保证后缀名是小写的./u01/erpdemo/apps/apps_st/appl/inv/应用的是库存模块所以是这个目录/u01/erpdemo/apps/apps_st/appl/invOracle报表所以是这个目录/u01/erpdemo/apps/apps_st/appl/inv/语言选择的是汉语所以是这个目录/u01/erpdemo/apps/apps_st/appl/inv/3: 定义值集→定义参数关联的数据库表设置应用产品→验证→集(1):(2) : 编辑信息上面的设置的的意思是→select SEGMENT1 , DESCRIPTION from MTL_SYSTEM_ITEMS_B where organization_id=204 4:点击系统管理员→定义可执行文件A: 并发→方案→可执行B: 并发→方案→定义(关联刚刚建立的可执行文件)通过简称连接模版文件(必须和模版的数据定义的代码名称一样)然后是参数设置5:关联到请求组安全性→责任→定义→定义职责上图的菜单排除项中千万不要设置东西→要不CUX_FND_开发员职责中没有什么东西。
Oracle EBS Report开发笔记1
报表开发进入PL SQL Developer开发工具后1.登录服务器2.如果要进行SQL 语句测试1)点击File->New->SQL Windows即可进入命令窗口2)输入标准SQL语句,点击第二行工具条中的齿轮型图标(运行)即可运行查询语句3)如果被查询的对象不是一个table,而是一个view,必须在select语句前输入以下语句,才能查询出数据。
beginmo_global.set_policy_context('S',86);end;注意:上述语句中,S字母必须大写,后面的数字是Oracle系统中的组织ID号,不同的ou,另外要运行查询还必须遵循一定的方法和步骤比如,下图的语句步骤一、如下图,先选中蓝色区域的一段代码,然后点击运行。
步骤二、再选中自己写好的select语句,点击运行才能看到数据。
3、如果要进行报表开发1)点击File –> New -> Command Window 即可进入报表开发命令行窗口然后就可输入各种命令了,修改原来的程序用edit ,而oracle中自主开发的东西都以cux开头。
2)输入edit cux_ap_invoice_detail_pkg ,点击回车即可看到如下界面4、报表程序结构分析create or replace package body CUX_AP_INVOICE_DETAIL_PKG is-- author : shawn.liu-- created : 2010/08/03 16:53:46-- purpose : 应付款明细账-- public type declarationsgc_sob_id number := fnd_profile.value('GL_SET_OF_BKS_ID');function get_flex_desc(p_value_set_name in varchar2, p_flex_value in varchar2)return varchar2is v_description varchar2(240):= null;beginselect trim(replace(ffv.description,'&','_')) into v_descriptionfrom fnd_flex_values_vl ffv,fnd_flex_value_sets ffswhere ffs.flex_value_set_name = p_value_set_name and ffs.flex_value_set_id = ffv.flex_value_set_id and ffv.enabled_flag='Y'and ffv.flex_value = p_flex_value;return v_description;exceptionwhen others thenreturn null;end;procedure outlog(i_chr_message in varchar2) isbeginfnd_file.put_line(fnd_file.log, i_chr_message);end;procedure output(i_chr_message in varchar2) asbeginfnd_file.put_line(fnd_file.output, i_chr_message);end;procedure main(errbuf out varchar2,retcode out varchar2,p_period_name in varchar2) isv_b_return boolean;v_org_name varchar2(100);cursor stay_fee is /* 使用游标循环输出*//****************上面是标准头信息格式*******************/ {select 查询语句段}/****************下面是输出的信息格式*******************/beginselect name into v_org_namefrom hr_operating_unitswhere organization_id= Fnd_Profile.Value('ORG_ID');-- output ('<?xml version="1.0" encoding = "GBK"?>');output ('<?xml version="1.0" encoding = "UTF-8"?>');output ('<G_REPORT>');output ('<P_PERIOD_NAME>' || p_period_name || '</P_PERIOD_NAME>');output ('<V_ORG_NAME>' || v_org_name || '</V_ORG_NAME>');for sf in stay_fee loopoutput ('<G_MAIN_0>');output ('<INVOICE_NUM>' || sf.INVOICE_NUM || '</INVOICE_NUM>');output ('<VENDOR_NAME>' || sf.VENDOR_NAME || '</VENDOR_NAME>');output ('<INVOICE_DATE>' || sf.INVOICE_DATE || '</INVOICE_DATE>');output ('<GL_DATE>' || sf.GL_DATE || '</GL_DATE>');output ('<INVOICE_TYPE>' || sf.INVOICE_TYPE || '</INVOICE_TYPE>');output ('<SOURCE>' || sf.SOURCE || '</SOURCE>');output ('<INVOICE_AMOUNT>' || sf.INVOICE_AMOUNT || '</INVOICE_AMOUNT>');output ('<AMOUNT_PAID>' || sf.AMOUNT_PAID || '</AMOUNT_PAID>');output ('<AMOUNT_BALANCE>' || sf.AMOUNT_BALANCE || '</AMOUNT_BALANCE>');output ('<AGENT_NAME>' || sf.AGENT_NAME || '</AGENT_NAME>');output ('<ORG_NAME>' || _NAME || '</ORG_NAME>');output ('<VOUCHER_NUM>' || sf.VOUCHER_NUM || '</VOUCHER_NUM>');output ('<GLCC>' || sf.GLCC || '</GLCC>');output ('<DESCRIPTION>' || sf.DESCRIPTION || '</DESCRIPTION>');output ('<COA_NAME >' || sf.COA_NAME || '</COA_NAME >');output ('</G_MAIN_0>');end loop;output ('</G_REPORT>');retcode:=0;if retcode = 2thenv_b_return := fnd_concurrent.set_completion_status('ERROR','ERROR');elsif retcode = 1thenv_b_return := fnd_concurrent.set_completion_status('WARNING','WARNING');end if;exceptionwhen others thenoutlog('Error:main'||sqlerrm);v_b_return := fnd_concurrent.set_completion_status('ERROR','ERROR');raise;end;end cux_ap_invoice_detail_pkg;5、查询一个已开发报表的实际程序名称系统管理员—并发—方案—可执行,按F11根据知道的报表名称搜索,出程序名。
Oracle_EBS_Report开发
学习笔记之Report开发Author: 朱志贤Creation Date: 2012-7-25Last Updated: 2012-7-25Document Ref: <Document Reference Number>Version: v1.0Approvals:<Approver 1><Approver 2>Copy Number _____Document ControlChange RecordReviewersDistributionNote To Holders:If you receive an electronic copy of this document and print it out, please write yourname on the equivalent of the cover page, for document control purposes.If you receive a hard copy of this document, please write your name on the frontcover, for document control purposes.ContentsDocument Control .................................................................................................................. i i1.文档说明 (2)2.使用Report Builder 取得报表数据 (3)2.1.使用Report Builder取得报表数据 (3)3.注册报表到EBS环境 (9)3.1.上传报表文件到EBS系统的应用目录下 (9)3.2.定义可执行指向上传的报表 (9)3.3.定义并发程序来调用已定义的可执行 (10)3.4.将并发程序分配给职责下的请求组,即给某职责运行报表的权限 (12)3.5.切换职责运行报表,并查看报表结果 (13)4.BI Publisher报表布局开发 (16)4.1.BI Publisher报表布局开发 (16)5.注册BI Publisher报表 (19)5.1.定义BIP数据定义 (19)5.2.定义BIP模板 (21)5.3.设置并发请求模板 (22)5.4.再次提交请求查看输出 (24)6.Open and Closed Issues for this Deliverable (25)Open Issues (25)Closed Issues (25)1.文档说明本文档为Oracle Report的学习笔记。
【总结】Oracle EBS中报表使用方法总结
Oracle EBS中报表使用总结拷贝数_____文档控制更改记录浏览者分发目录综述4系统标准报表4Oracle FSG报表5定义行集5定义列集8定义报表11二次开发报表13报表数据源13报表模板19小结31结束语32综述EBS中运用到的报表,通常有三类:一是系统标准的报表,二是FSG生成报表,即根据客户需求在系统中定义的报表,三是二次开发的报表。
下面就结合我在项目中遇到的情况,谈谈这三种报表。
系统标准报表顾名思义,不需要我们干涉的,使用的时候直接提交请求就可以,如下面这个总账模块的科目表–明细列表。
运行效果:Oracle FSG报表在系统标准报表的基础上,我们可以根据客户化需求,利用报表生成器生成报表,在项目中使用了总帐模块的FSG,此类报表有三个步骤,即定义行集,列集,最后定义报表,关联之前定义的行集和列集。
现在以松下GPSC项目一个客户化的多步式损益表为例进行说明。
定义行集(N)总账超级用户→报表→定义→行集,如下图,选择定义行勾上显示行与显示零,那么当这行的数值为零的时候也会显示。
对该行需要显示数据的操作主要有两种:账户分配与计算。
点击账户分配。
账户分配是把指定账户(通常由客户指定)的金额以明细或汇总的方式显示出来,取决于显示的选项,E为展开,则明细显示账户金额,T为合计,则只显示账户汇总的金额,B为E,T二者兼有。
另外,标志一栏,正号表示包含,负号表示排除。
在此,销售收入是收入类账户,属于贷方,其在账户中记录的金额为负数,所以活动一栏需选择贷项,这样得到的才是正数。
反之,借方账户就选择借项或者净。
如下图:去销售成本,即之前定义的10-20。
入,税前利润,税以及税后利润等等。
定义列集(N)总账超级用户 > 报表 > 定义 > 列集,如下图,选择定义列根据实际需要定义显示的位置,之后在建立列集的时候可以调整。
根据实际需要选择金额类型,比如PTD-实际为期初至今实际余额,YTD-年初至今差异百分比等。
深入浅出Oracle EBS之Excel报表开发
Ora E-B O RA ExcAuthor: MSN:Creation Last Up Docume VersionApprov <Appro <Appro acle E B USINE ACLE 核el报表n Date:dated:ent Ref::als:ver 1>ver 2> ERP 最ESS S U 核心应表开发黄建华Jianh huajhua@ho March 14, 20November 1<Document DRAFT 1A最佳技术UITE应用技发hua.Huang 007 11, 2010 Reference N 术实践技术Number> 践Copy Number _____Excel报表开发File Ref: 深入浅出Oracle EBS之Excel报表开发.docx (v. DRAFT 1A ) Document Control iiDocument ControlChange RecordDate Author Version Change Reference14-Mar-07 Jianhua.Huang Draft1a No Previous DocumentReviewersName PositionDistributionCopy No. Name Location1Library Master Project Library2ProjectManager34Note To Holders:If you receive an electronic copy of this document and print it out, please write yourname on the equivalent of the cover page, for document control purposes.If you receive a hard copy of this document, please write your name on the frontcover, for document control purposes.Excel报表开发File Ref: 深入浅出Oracle EBS之Excel报表开发.docx (v. DRAFT 1A ) Document Control iiiContentsDocument Control .................................................................................................................. i i 1.Overview and Key Points . (2)1.1.读者要求 (2)1.2.开发背景 (2)1.3.设计思路 (3)2.开发框架及其安装 (6)2.1.开发框架 (6)2.2.开发模版介绍 (14)2.3.框架安装 (19)3.基于模版的开发步骤 (20)3.1.开发步骤 (20)3.2.报表实例 (23)4.客户端安装过程 (25)4.1.安装并设置Excel (25)4.2.Oracle客户端:免安装 (26)4.3.Oracle客户端:快速安装 (26)4.4.Oracle客户端:普通安装 (27)5.用户使用 (31)5.1. (31)6.Open and Closed Issues for this Deliverable (32)Open Issues (32)Closed Issues (32)Excel报表开发File Ref: 深入浅出Oracle EBS之Excel报表开发.docx (v. DRAFT 1A ) Overview and Key Points 2 of 341.Overview and Key Points1.1.读者要求1.1.1.最小要求本文档需要读者具至少有如下技能:1、简单的VBA知识。
OracleEBSHtml报表开发总结
Oracle EBS Html报表开发总结一需求分析1 确认需求1.1 确定参数类型、个数,可否为空,是否必输。
1.2 提炼、分析和自习审查已经收集到的需求,以确保所有的风险承担者都明确其含义并找到其中的错误和其他不足的地方(在必要的情况下向顾问提出改进建议);1.3 确认报表样式、title等;2 确定字段确认报表中的表项取值及应满足的逻辑条件,拿到正确的字段;3 涉及计算的字段取值报表中需要计算的表项具体计算公式;4 数据获取找字段方法总结:4.1 从EBS中的历史记录来找到该字段是来自哪个视图,再从帮助下的诊断来找到字段的名称;4.2 利用弹性域来找字段,首先找到是否是描述性弹性域,再找到弹性域的名称,从弹性域中找到字段;Step1.找到该描述性弹性域的名称Step2.切换职责,在【系统管理员】中查找该描述性弹性域即可查看该弹性域内EBS字段对应的基表字段,如下:4.3 从弹性域中的块下找到system,字段是last query 下来找整个form下的字段;路径:帮助→诊断→检查块:SYSTEM字段:LAST_QUERY值:查询当前FORM中所有字段用到的SQL语句,包括字段名,基表或视图。
4.4 自己添加一条数据来进行先后对比确定EBS中的项目对应的基表字段;二报表设计1 表头设计1.1报表行动态在报表的输出中,报表的表头数据是作为报表的参数输出例如下表该表中的测试序列,开发序列等都是作为报表的参数输出的,只能选一个或全选,不选则全出,每个序列下的职务信息都是根据序列来查出来显示在报表中,在此如何控制报表的样式。
首先测试序列作为一个游标循环输出,在内层循环根据序列作为一个游标输出,在控制表样时根据序列查出该序列的colspan:for xulie in (根据参数取序列) loop在此处算该序列的colspan即该序列下有多少职务,在输出序列时传到其colspan中For zhiwu in (序列游标作为条件查询该序列的职务信息)loop输出职务的信息,在输出时注意报表的格式,注意输出部分是列还是行的循环输出。
EBS11i_中使用XML_Publisher开发报表简明教程
EBS11i 中使用XML Publisher 开发报表简明教程一、特点与优势二、实例演练Web Services模 板XML EDI EFTEmailPrinterFaxWebDAVe-Commerce输出 目标Oracle, SQL ServerPeopleSoft, SAP , SiebelJava, C++, Pearl, etcXML Publisher数据源•Word•Excel•Acrobat XSL布局设计工具 PDFRTFHTMLExcel•XML Spy •JDeveloper•Scriptura报表输出数据逻辑 报表布局翻译转化XML Publisher1.创建报表不用布局。
SQL Query:select to_char(invoice_date, 'yyyymm') mon,SUBSTR(, 1, 4) SALES_TEAM,ROUND(sum(nil.unit_price * nil.qty * nih.currency_rate *nj_fct_get_org_crate(NIH.INVOICE_DATE, _ID))) AMOUNT from nj_invoice_headers_all nih,nj_invoice_lines_all nil,ra_salesreps_all rswhere nih.invoice_header_id = nil.invoice_header_idand nih.salesman_id = rs.salesrep_idand _id = _idAND NIH.INVOICE_DATE >= TO_DATE('20070101', 'YYYYMMDD')AND NIH.INVOICE_DATE < TO_DATE('20080101', 'YYYYMMDD')AND IN('A888', 'N008', 'B888', 'L028')GROUP BY to_char(invoice_date, 'yyyymm'), SUBSTR(, 1, 4);也可以用其他方式产生XML数据,如SQL报表。
Application(EBS)开发
Applic ation(EBS)开发Profile:一个Profile其实就是一个参数,在开发员职责里面定义,注意这个时候选择的Application仅仅是方便管理,对以后的使用没有限制;一个Profile 的具体值需要在系统管理员职责里面定义,可以分别在四个层次上定义,即Site/Application/Responsibility/User,具体来说可以给任意一个Site或任意一个Application或任意一个Resp或任意一个User定义这个Profile的值,可以四个层次都定义,也可以定义某几个层次;对于一个Session来说,一个Profile到底取什么值是和上面的定义有关系的,即后面的覆盖前面的,如果它定义了的话。
我们可以通过fnd_profile.value('Profile_Name')来取得当前会话的Profile值,库存组织profile是mfg_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。
Oracle_Ebs_开发总结
技术心得一、SQL查询:1、”列出同部门中工资高于1000的员工数量超过2人的部门,显示部门名字、地区名称”.查询语句如下:selectdistinct dept.department_name,loc.cityfrom employeesemp,departmentsdept,locationslocwhere emp.department_id=dept.department_idandfromwhereand)子,fromwhereandandhavingcount(*)>2对于groupby来说每一条emp.department_id必对应唯一dept.department_id、dept.department_name因此不论groupbydepartment_id还是groupbydepartment_name,loc.city达到的效果是一样的2、用一条语句查询出scott.emp表中每个部门工资前三位的数据:selectdepartment_id,max(salary)max_salary,max(decode(rank,2,salary,salary))mid_s alary,min(salary)min_salaryfrom(selectdepartment_id,salary,rankfrom(selectemp.department_id,emp.employee_id,emp.salary,row_number()over(partitionby emp.department_idorderbyemp.salary)asrankfromemployeesemp)EwhereE.rank<=3)groupbydepartment_idSQL%ISOPEN FALSE FALSE FALSE FALSESQL%FOUND TRUE有结果成功成功-20,999之间的参数.可在程序块中自定义异常,并捕捉在其他函数或存储过程中RAISE_APPLICATION_ERROR抛出的异常,与Oracle交互.4、PRAGMAAUTONOMOUS_TRANSACTIONORACLE8i可以支持事务处理中的事务处理的概念.这种子事务处理可以完成它自己的工作,独(2)不使用自动事务处理:CREATEORREPLACEPROCEDURE log_message(p_message varchar2)ASBEGININSERTINTO logtable VALUES(user,sysdate,p_message);COMMIT;END log_message;(select*fromtemp_table查询结果有数据)流程:1、以2、3、4、实例:1为’GL’)件:and'yyy y-mm-ddHH24:MI:SS'))and(to_date(p_End_Date,'yyyy-mm-ddHH24:MI:SS'));!!!注意’HH24:MI:SS’必不可少,因为请求程序要求的数据一定是带时分秒的数据否则解析报表时会报错.如下所示:**Starts**23-08-201111:53:42**Ends**23-08-201111:53:42ORA-01830:日期格式图片在转换整个输入字符串之前结束2、根据借方数量与借方金额求出借方单价同理求贷方单价,每发生一笔,统计当前数量与当前金额,然后得出当前数量当前总价与当前单价其中借方与贷方金额的获取,如:select(case cila.inv_typewhen'IN'then(case cila.type_codewhen'GL'thenACCOUNTED_DRwhen'AP'thenAP_ACCOUNTEDend)end3四、1即是多OUview_all_orgnization_flagFROMper_security_profilesWHEREsecurity_profile_id=to_number(fnd_profile.value(‘XLA_MO_SECURITY_PROFILE_LEVEL’));可以通过以下语句获取当前安全性配置文件和当前用户在当前职责下可访问的OU nazation_id,organization_id,nameFROMper_orgnazation_listper,Hr_operating_unitshrWHEREper.secutity_profile_id=to_number(fnd_profile.VALUE(‘XLA_MO_SECURITY_PROFILE_LEVEL’))nization_id=nization_idable_flagisnull;如我在CUX_INV_MATERIAL_ALL表中建立的Org_Id字段,可在策略函数中通过此字段产生Where 子句,筛选可操作客户化职责下物料维护菜单的OU.当用户进入YD_GL_ALL_总账超级用户职责时将初始化用户的上下文,通过MO_GLOBAL的一系列方法设置CONTEXT的值(包括访问模式和当前Org_Id)。
oracle ebs 财务客户化报表教程
财务客户化报表开发教程1. 报表开发打开Report Builder,点左边栏的绿色加号,使用向导创建报表点确定点下一步,输入报表标题,选择格式,我们简单做个列表的点下一步选择sql语句点下一步和:p_je_name,向导之后会自动替我们建立这两个参数的定义。
点下一步这时因为我们没连数据库所以跳出登录框,输入用户名密码及数据库后点连接即可。
这时会提示查询已经创建了我们用到的两个参数,点确定,下一步这里要把我们所有需要显示的列放到右边点下一步点下一步到如下界面定义列宽,可不修改按照默认即可。
下一步选模版,选择格式最少的Draft,然后点完成这时Report Builder 会默认运行报表,我们可以输入参数测试输完参数按界面上方的绿色运行按钮或者按回车键均可,报表运行后输出结果如下:这里要注意结果中所有的黑体部分都要把黑体的格式去掉(如果有其他格式如斜体等也要去掉),否则上传到服务器上,在erp 系统中跑时会出现乱码,做如下修改选中是黑体的行,然后点击上方工具栏的B,即上图显示粗体的位置,这样就把黑体的格式去掉了,每个黑体都要如此修改。
其他格式我们暂时不做调整,这样报表的可执行文件我们就建好了。
然后保存文件为TEST.rdf。
2. ERP中定义并发程序下面需要进ERP系统进行相关设置,以便我们可以直接在系统里提交我们做的报表:进入erp系统管理员权限如下位置定义可执行文件如上图,简称是唯一标识,后面的报表定义会调用它,应用产品选择会关系到在哪找可执行文件,如上定义就要去CAP_TOP下找,执行方法选Oracle Reports,执行文件名要跟rdf文件名一致,稍后要把它上传到服务器上。
上传路径跟刚刚应用产品及执行方法的选择有关,按照我们刚刚的定义,应该把TEST.rdf 上传到/datavg23/scuat/scuatapp/scuatappl/cust/cp/cap/1.0.0/reports/ZHS这个路径下用ftp软件上传即可。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1:点击XML publisher Administrator →定义数据定义和模板
先数据定义,然后模板定义。
A 数据定义:
名称和代码→名称最好一样例如:CUX_应用产品的英文简称_应用的简称(英文都大写) 代码的名称是文件的名字. 名称可以和代码一样,也可以在后面加一段中文说明应用产品→就是新开发的东西要应用到那个模块(例如:库存管理系统)
B 模板
名称和代码→名称最好一样例如:CUX_应用产品的英文简称_应用的简称(英文都大写) 代码的名称是文件的名字. 名称可以和代码一样,也可以在后面加一段中文说明应用产品→就是新开发的东西要应用到那个模块(例如:库存管理系统)和数据定义上的一样数据定义→选择刚刚建立的数据定义
类型→RTF
文件→选择RTF文件的位置
语言→汉语
到此数据定义和模板定义已经完成
2::上传.rdf到unix服务器特定的目录下,必须保证后缀名是小写的.
/u01/erpdemo/apps/apps_st/appl/inv/12.0.0/reports/ZHS
应用的是库存模块所以是这个目录/u01/erpdemo/apps/apps_st/appl/inv
Oracle报表所以是这个目录/u01/erpdemo/apps/apps_st/appl/inv/12.0.0/reports
语言选择的是汉语所以是这个目录/u01/erpdemo/apps/apps_st/appl/inv/12.0.0/reports/ZHS 3: 定义值集→定义参数关联的数据库表设置
应用产品→验证→集
(1):
(2) : 编辑信息
上面的设置的的意思是→
select SEGMENT1 , DESCRIPTION from MTL_SYSTEM_ITEMS_B where organization_id=204 4:点击系统管理员→定义可执行文件
A: 并发→方案→可执行
B: 并发→方案→定义(关联刚刚建立的可执行文件)
通过简称连接模版文件(必须和模版的数据定义的代码名称一样)
然后是参数设置
5:关联到请求组
安全性→责任→定义→定义职责
上图的菜单排除项中千万不要设置东西→要不CUX_FND_开发员职责中没有什么东西。
安全性→责任→请求→把第四步定义的执行文件关联到职责
6: 提交请求
切换职责→CUX_FND_开发员职责
单个请求→
然后提交
7: 查看提交
切换到职责系统管理员
并发→请求→选择查找个人所有请求→查找→
8: 查看输出结果
点击上图的查看输入即可查看,如果一闪而过,就按住Ctrl 然后查看输入直到出现以下画面然后松开Ctrl即可
9: 错误
定义的物料值集使用时会报错如下图:
修改值集 原因是因为仓库的编码和名称的长度比较大,而默认值集的最大尺寸为10,不够显示.所以要修改值集的最大尺寸.。