




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、功能顾问可以掌握的技术作者:HODC-第六组创建日期:2013-12-10更新日期:2013-12-17版本:1.0文档控制变更记录33日期整理者版本说明2013-12-10黄进1.0No Previous Document复核者姓名职位分发副本No.姓名地点1234Note: The copy numbers referenced above should be written into the Copy Number space on the cover of each distributed copy. If the document is not controlled, you can
2、 delete this table, the Note To Holders, and the Copy Number label from the cover page.备注:出于文档管理的目的,如果您收到了本文档的电子版本,请打印出来并在封面的相应位置写上您的名字。出于文档管理的目的,如果您收到了本文档的纸介质版本,请在封面写上您的名字。目录文档控制2一:文档概览4二:基本SQL语法5三:系统功能-请求6四:表验证值集【转】14五:说明性弹性域17六:表单个性化19七:其他27遗留和解决问题33未解决问题33已解决问题33Note: To update the table of cont
3、ents, put the cursor anywhere in the table and press F9. To change the number of levels displayed, select the menu option Insert>Index and Tables, make sure the Table of Contents tab is active, and change the Number of Levels to a new value.一:文档概览该文档源于BBS上的很早的一个精华帖:功能顾问应掌握的“系统管理员”技术 - 给新手入门用的 老手请
4、来补充 精基于该贴,也出于“给新手入门”的目的,整理了一份word版的文档。文档中结合技术、系统功能以及相关的应用案例展开。也请老手指正补充。二:基本SQL语法本章简单介绍一下SQL语法,已经掌握的童鞋请直接跳过。1. 基本语法:SELECT 字段名1, 字段名2FROM 表名1, 表名2 WHERE 限制条件2. 其它常见关键词:ORDER BY: WHERE语句后,限定按给定字段排序DISTINCT: SELECT关键词后,用于去重查询SYSDATE: 系统当前时间变量GROUP BY: 分组语句,限定按给定字段分组3. 示例 如:查询供应商的一段代码:select distinct HO
5、U.name "公司OU", S.vendor_name "供应商名称", SSA.address_line1 "供应商地址", SSA.VENDOR_SITE_CODE "供应商地点", S.vendor_type_lookup_code "供应商类型", SSA.vat_registration_num "纳税人识别号", SSA.start_date_active "起始日期", SSA.end_date_active "结束日期"
6、; from AP.AP_SUPPLIER_SITES_ALL SSA, APPS.AP_SUPPLIERS S, APPS.hr_organization_units HOUwhere S.vendor_id = SSA.vendor_id and SSA.org_id = HOU.organization_idorder by HOU.name更详细的知识可以参考公司技术的SQL教程。以下章节,整理了一些功能顾问可能接触到的一些偏技术案例,与大家分享。三:系统功能-请求3.1 请求-定义成菜单【需求】尽管从请求中选择一个程序并提求并不复杂,但确实有些用户还是嫌麻烦,特别是一些他们经常要用的
7、请求,他们希望把这些请求定义为菜单。想到系统中的一些标准报表,也有是通过“菜单”的形式提交请求,比如固定资产的折旧、自动导入AR发票等等。技术上,是可行的,而且也不是很麻烦的。那么这种可以方便客户,提升客户体验的,在关键时候,会给项目加分的。【步骤】:1. 将请求定义为“功能”路径:系统管理员 应用产品-函数输入自定义的功能名称,用户功能名以及说明“特性”TAB页:类型选择“表单”,其余两个字段默认;在表单TAB页:表单字段:选择“运行报表”;英文界面,选择“Run Reports”;参数字段:CONCURRENT_PROGRAM_NAME="HSSARXCT" PROGR
8、AM_APPL_SHORT_NAME="HSS"其中:"HSSARXCT":请求简称;"HSS":应用简称;其余几个TAB页面默认值即可。2. 在菜单定义界面,可以选到该功能。【注意点】:1). 请求简称和应用简称,最好到系统里查一下,猜不一定准。比如总账应用,简称是“SQLGL”;2). 请求简称段,不要输入“可执行名称”。 PS:一般情况下,可执行名称与请求简称是一致的,但如果一个可执行文件对应多个请求时,就会有问题了。如总账标准的表:试算表-明细、试算表-外币明细,可执行文件名称就是一样的。3.2 请求-不兼容设置【需求】: 对
9、于其他业务系统与EBS财务系统的集成,如果业务端数据类型多,数据字段复杂,一般会设计一个对接平台与接口导入程序。会涉及到一系列分类校验与导入的程序,一般会设置为请求集,实现集内每个请求负责一类或一个阶段数据的校验与传输。若用户鼠标灵敏(或是请求界面,点了重复提交),就有可能同时传送同一批数据进到系统中,出现数据重复。或者卡在接口,或者直接传到EBS模块中。【设置步骤】基本概念:不兼容-程序与程序间在一定条件下不能同时运行冲突域-不兼容程序不能同时运行的条件1. 查找并发程序:路径:系统管理员-并发-程序-定义2. 点击“不兼容”按钮,输入不兼容请求(集)。在该界面点击窗口帮助,可以查看各个字段
10、的含义。其中范围:可选择“程序”/“集”。若不能兼容的是“请求集”,选择“集”,则该请求与不兼容的请求集下所有请求都不能同时运行;域:可选择“域”/“全局”。域和全局是不兼容的范围,“域”是在请求的参数中限定,全局则是在所有情况下都不能同时运行;【案例分享】以下是李岳阳同事分享的一个案例: 如果业务系统需导入生成应收、应付发票,则需要对于发票号的唯一性校验。 从外围系统导入的数据,需校验平台接口表中准备导入的发票号,是否与发票接口表与发票正式表中已经存在的发票号重复。 AP:相同OU、相
11、同供应商、相同地点下发票号不能重复; AR:相同OU下发票号不能重复; 从程序上,一个程序负责从外围接口做通用校验(包含发票号重复性校验)并将数据转换导入平台,另外分别有两个程序将平台数据导入应收、应付接口,当然后续还会并发应收、应付标准的接口导入程序。假定这三个请求依次为A(通用导入)、B(导入应收)、C(导入应付) 场景: 一个OU下,短时间内分两次由业务系统上传了相同发票号下的很多行,且对每次上传分别提交了2个请求集(每个请求按照提交请求集的顺序
12、排号) 假如对于应收发票:如果A2在运行时,B1还未运行完,则A2不会遇到发票号重复的报错而直接导入,但当B2运行时,如果B1已经运行完,会存在发票号重复的报错,而且这种报错属于从平台写入应收、应付接口时的报错,一般不会设计成可以向业务系统回传报错。 需求: 同一个OU下,必须在A1、B1、C1运行完成后,才允许运行A2运行,将报错控制在平台接口处,并且能够及时的回传报错信息。 原方案: 将A、B、C设置
13、为自身及互相不兼容 应用: 连续提交1、2两个请求集,A1、A2会被同时并发,A2会待定直至A1运行完成,此时又会并发出B1,由于B1比A2并发的晚,两者之间的不兼容会造成A2比B1先运行,未实现需求 升级版方案: 不但将A、B、C设置为自身及互相互斥,而且在请求集内,将A、B、C设置在同一个阶段里 应用: 连续提交1、2两个请求集,A1、B1
14、、C1与A2、B2、C2同时被并发出来,而且一个完整阶段完成之后,其他互斥的请求才能运行,也就是A2会等A1、B1、C1运行完成才能运行。 延伸: 请求:请求不兼容的各个参数含义 请求集:请求集不兼容选项,请求集中各阶段的不兼容选项的含义 P.S.之前只注意了请求集阶段可实现阶段内请求同时被并发,而阶段间请求按顺序运行。现在发现同一个阶段内请求互斥,能够实现阶段内请求按照顺序运行,同时阶段间请求按照顺序互斥等待的需求。P.P.S.可以看到以上的麻烦在于导入请求按阶段
15、分拆成了不同的请求,容易在各请求数据校验基础与请求互斥性上忽略处于中间状态的数据校验。如果合并为一个大请求,在不兼容设置上会很简单,但是在方案上,不一定能满足中间状态数据的展示,而不是一口气从业务系统导入标准模块接口的需求;在技术上,可能会造成只有一类数据时单个请求涉及面太广的效率与资源浪费,同样对于程序修改,也会存在定位到具体代码的困难。总之,设计接口平台及导入程序时,务必考虑到报错回传的时点,以及中间状态数据与各类检验的关系。P.P.P.S对于用户的培训,一定要强调:1、连续多次提交请求并不能加快数据处理的效率,也不会让您的请求在待定中提前运行;2、如果相同发票号或者其他唯一性字段的数据分
16、次由业务系统上传,一定等上传完整再运行相关导入请求,以减少报错回传李岳阳3.3 请求-默认参数【需求】项目实施过程中发现,对于一些频繁使用的请求,而如果还要输入好多的参数,客户就会有意见了。若能够设置一些默认参数,确实能提高不少效率的。【步骤】1. 查找并发程序:路径:系统管理员-并发-程序-定义2. 点击“参数”按钮:在这个界面,就可设置一些默认的参数。其中,默认类型有:常数、SQL语句、配置文件、段、当前日期、当前时间。以上是一个日期的默认实例。也可以是技术写的SQL代码:【案例1】有关OIE模块,“费用报表导出”请求,标准的“GL 日期”参数没有默认值。若该参数留空,系统会将“费用报表日
17、期”默认成“GL 日期”;而费用报表日期,根据业务人员填报的费用发生日期,取最近日期。假设:当前日期为2013-12-05,11月月结结束,AP期间关闭,业务人员填报了两行费用费用日期项目金额摘要2013-11-08出差费120无2013-10-20业务招待费用620无该费用已经审核完毕,AP会计,运行“费用报表导出”请求。若没有修改参数,则会报错,不在打开的期间内;(而如果11月期间还没有关,那么该笔费用就会传到11月份,而此时利润表、资产负债表等可能已经出好了)这时,修改一下默认参数为“当前日期”就很有帮助。【案例2】同事分享的一段案例:资产模块创建会计分录请求:创建会计科目 -
18、 资产参数:帐簿类型代码值集:FA_BOOK_TYPE逻辑:职责层的配置文件“FA:安全性配置文件”所关联的资产账簿的名称难点:用哪段SQL来取出这个默认值?Tips:参考表验证值集的取值SQL值集FA_BOOK_TYPE是一个表验证值集,在“验证表信息”页面,就可以找到select、from和where的对应字段与代码,经过整理(去掉回车分段符),就可以形成如下的代码:取值SQL:select BOOK_TYPE_CODE from FA_BOOK_CONTROLS where book_type_code =(Selec
19、t book_type_code From FA_BOOK_CONTROLS Where org_id=FND_PROFILE.VALUE('ORG_ID') and date_ineffective is null) order by book_type_code李岳阳四:表验证值集【转】使用ORACLE系统,离不开值集,独立验证值集、无验证值集,很简单。本节只讲表验证值集,在程序的参数、说明弹性域中,不时会用到表验证值集。表验证值集,就是要从一张或几张表中
20、,取出符合条件的某个字段做为返回值,并可以将其他一些字段作为参照说明。关于表验证值集,ORACLE联机帮助上有段文字,讲得很清楚。我在这里,只列几个例子,供以后照葫芦画瓢用。4.1 配置文件关联$PROFILES$示例用profiles条件可以将取值范围与某个预置文件的值相关,只有满足这个预置文件的值才会在值集列表中出现,这显然增加了值集的灵活性。在多组织、多用户的企业中大有用处。WHERE APPLICATION_ID = 200AND ADJUSTMENT_PERIOD_FLAG <> 'Y'AND SET_OF_BOOKS_ID = :$PROFILES$.G
21、L_SET_OF_BKS_IDAND SYSDATE>=START_DATEORDER BY PERIOD_YEAR DESC, PERIOD_NUM DESC$PROFILE$.(注意:有个点作分隔符)后面跟的是PROFILE在系统内的名称(Name),不是系统管理员给预置文件赋值界面看到的名称(User Profile Name),需要到应用开发者模块中,用后者查询出前者。4.2 参数关联$FLEX$示例在定义请求参数时,有时我们希望某个参数与之前的一个参数相关。例如,一个参数是供应商名称,另一个参数是供应商地点,显然,我们希望在用户选择了供应商名称之后,供应商地点的值列表中只有该供
22、应商的地点,而不是系统中全部的供应商地点。这时,就要用到 $FLEX$ 条件。WHERE PV.VENDOR_ID = PVS.VENDOR_IDAND PV.ENABLED_FLAG = 'Y'AND PVS.ORG_ID = :$PROFILES$.ORG_IDAND PV.VENDOR_NAME = :$FLEX$.XX00AP0080_VENDOR_NAME_01ORDER BY SEGMENT1在这个例子中,$FLEX$.后面写的值是另一个值集XX00AP0080_VENDOR_NAME_01。在定义请求的参数时,先定义供应商名称,指定值集XX00AP0080_VEN
23、DOR_NAME_01;然后定义供应商地点,指定上面示例的值集。含$FLEX$条件的值集,必须与它所引用的值集一起使用,否则它取不到值。4.3 附加列示例通常值集有“值”与“说明”两列,如果想要显示更多的列做为参照,就要使用附加列。下图是个效果。附加列的定义写在Aitional Columns 中,上例的定义如下:ABA.BANK_ACCOUNT_NUM "APPL=XX00AP;NAME=APP-XX00AP-0101I"(*),ABB.BANK_BRANCH_NAME "APPL=XX00AP;NAME=APP-XX00AP-0102I"(*), A
24、BB.BANK_NAME "APPL=XX00AP;NAME=APP-XX00AP-0103I"(*)附加列定义中,各列之间以逗号分隔。以“ABddA.BANK_ACCOUNT_NUM "APPL=XX00AP;NAME=APP-XX00AP-0101I"(*)”为例,ABA.BANK_ACCOUNT_N是要显示在此列中的值;"APPL=XX00AP;NAME=APP-XX00AP-0101I"是此列的标题,本例中它使用一个“消息”定义标题,这样可以做到按不同的语言显示不同的标题文字,XX00AP是定义消息所在的应用程序简称,APP-
25、XX00AP-0101I是消息名;(*)是本列的显示宽度,星号(*)表示由系统根据本列的值自动决定显示宽度。本章摘自张登辉功能顾问应掌握的“系统管理员”技术 - 给新手入门用的 老手请来补充 精五:说明性弹性域5.1 配置文件关联【需求】集团实施项目时,如果多家公司共用一个INSTANCE,ATTRIBUTE资源比较紧张,根据配置文件关联的OU/BG来区分定义说明性弹性域。【方法】在说明性弹性域“参考字段”输入::$profiles$.PER_BUSINESS_GROUP_ID同时,勾上“与参考字段同步”,系统会自动根据配置文件对应的ID,来识别上下文;其中:PER_BUSINESS_GROU
26、P_ID是配置文件的NAME:以上设置的效果:不同BG的附加个人详细信息,显示不同的提示字段。六:表单个性化表单个性化,偏技术了,作为功能顾问,知道了解一下就好。简单的定义,也最好在技术顾问的监督下完成。6.1 字段显示名称修改 【需求】可能是翻译/习惯原因,某些字段显示名称不恰当,会引起用户的误操作。【案例】日记账界面,将“审批”按钮的名称,改成“提交审批”。【步骤】1. 打开日记账界面2. 点击:帮助-诊断-自定义代码-个性化输入序号、关键字和说明。条件选择和处理模式,也按上图设置。点击活动:(由于在三个界面有“审批”按钮,需要分别定义)6.2 不能保存该记录校验 【需求】在标准界面(开发
27、界面),对单个字段校验,可以通过值列表LOV进行;而针对多个字段的判断逻辑,就有需要通过个性化来控制【案例】:张骁旎同事分享的案例:销售订单类型与职责不匹配,提示“您无此权限,请更正订单类型”【步骤+截图】1,定义界面个性化定义查询条件是通过PROFILE: XYG_ORDER_TYPE的职责对应选项验证实现 2界面个性化(出错提示)3界面个性化(触发定义 )4用开发管理员定义 XYG_ORDER_TYPE配置文件5XYG_ORDER_TYPE的值同时定义一个同名的值集输入订单类型的关键区别字,此处为内外销6。在配置文件中根据人员或职责定义XYG_ORDER_TYPE的值7,订单输入时效果6.
28、3 设置默认值 【需求】 ORACLE标准界面(客户化),有些字段无法设置默认值,可以考虑使用个性化【案例】 张骁旎同事分享的案例:将工单完工单位默认为“箱”【步骤】1 定义条件 :2 默认单位七:其他7.1 PA自动会计 路径:PA-设置-自动会计-规则【案例】需要根据项目ID,取部门段值: 7.2 SLA自定义来源 7.3 费用报销-AME配置:定义审批人组,可以根据类别来自定义审批人:雷林丽 7.4 配置文件定义配置文件定义: SQL语句:sql="SELECT MEANING "Run in Debug Mode", LOOKUP
29、_CODEinto :visible_option_value,:profile_option_valuefrom fnd_lookupswhere lookup_type = 'YES_NO'"COLUMN=""Run in Debug Mode"(10)" 7.5 快速查询form界面的lov查询sql【转】转自SPACE:http:/spaces.hand-这个方法共分三个步骤:1. nav到销售订单界面,帮助->关于oracle应用产品获得si
30、d值 如果你在这个界面没有看到会话sid值,去检查下你的FND:诊断这个配置文件的值是否为是.2 点击客户编号item的值列表到进行到如下界面 在plsql中执行 如下sql脚本,输入sid值查看output就可以取得该lov的查询代码declare cursor cur_lov_sql(p_pre_sql_addr varchar2) is select t.SQL_TEXT fr
31、om v$sqltext_with_newlines t where t.ADDRESS = p_pre_sql_addr order by t.PIECE; - l_lov_sql varchar2(2400); l_prev_sql_addr varchar2(200);begin begin select v.PREV_SQL_ADDR into l_prev_sql_addr
32、; from v$session v where v.SID = &sid; exception when others then dbms_output.put_line('get prev sql addr error,'|sqlcode|':'|sqlerrm); end; - for r
33、ec in cur_lov_sql(l_prev_sql_addr) loop l_lov_sql := nvl(l_lov_sql,'')|rec.sql_text; end loop; - dbms_output.put_line('lov查询sql为:'); dbms_output.put_line(l_lov_sql);end; 7.6 查找说明性弹性域实施项目时,说明性弹性域经常被用于开发中,可以作为一种状态的回写,也可以是附加的字段。为了避免不
34、同的开发项之间冲突,项目共享文档中,总要登记一个“说明性弹性域”的使用情况。查找某个表单、WEB界面的说明性弹性域,是一个比较繁琐的操作。本节介绍一段代码可以方便查询:SELECT fdc.title, FDU.APPLICATION_COLUMN_NAME, fdu.END_USER_COLUMN_NAME, FDU.FORM_LEFT_PROMPT, (SELECT ffvs.flex_value_set_name FROM fnd_flex_value_sets ffvs WHERE FFVS.FLEX_VALUE_SET_ID = FDU.FLEX_VALUE_SET_ID) "值集", fdu.DESCRIPTIVE_FLEX_CONTEXT_CODE "上下文", fdu.DIS
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年水利工程吊装合同协议
- 二零二五年度商铺租赁与商业物流配送合同
- 2025版绿植环保科技创新项目投资合同
- 2025版生态环保工程建设项目施工合同交底书范本
- 2025版富士康大数据分析与处理服务合同
- 二零二五版专业拖船买卖合同范本发布
- 二零二五地下室承台施工质量追溯与责任追究合同
- 二零二五年电子商务时尚买手团队合作协议范本及执行标准
- 2025年车辆租赁安全责任与保险保障合同范本
- 二零二五年度新型起重机租赁及建筑工程质量验收合同
- 8.3+动能和动能定理+课件-2024-2025学年高一下学期物理人教版(2019)必修第二册
- 2025至2030中国羟基封端的聚丁二烯(HTPB)行业项目调研及市场前景预测评估报告
- 施工员(土建)模考试题(附答案)
- DB11-T 695-2025 建筑工程资料管理规程
- 中科大量热技术和热物性测定课件第2章 温度测量
- 肛周脓肿护理疾病查房
- 2025年全国统一高考数学试卷(全国二卷)含答案
- 国企改革笔试题库及答案
- GM/T 0129-2023SSH 密码协议规范
- 2025届成都青羊区四校联考七下英语期末考试试题含答案
- 初中数学基础必刷题
评论
0/150
提交评论