自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 收藏
  • 关注

原创 Oracle SQL - HAVING和分析函数的执行顺序

分析函数是基于最终的结果集进行开窗的,所以HAVING比分析函数先执行

2024-04-18 14:08:20 286

原创 PLSQL - 一个IR/DR权限程序包套娃带来的问题

CUX受到赋权,可以调用IRDRIR包(main),但从打印的结果来看,在IRDRIR包中,竟然以CUX的身份成功调用了DRIR包,进而切换到了APPS上下文,最终转到了IR包,没有发生任何报错

2023-08-24 14:42:00 223

原创 PLSQL - Months_Between的理解和使用

总结一下可以归纳出以下几点:

2023-06-07 16:46:55 1879

原创 EBS XML - XML报表的模板文件存在哪里?

文件以blob格式存储在表xdo.xdo_lobs,字段file_data。

2023-06-01 15:04:26 274

原创 PLSQL - FORALL+MERGE的使用(11g)

另外值得一提的是,11g取消了FORALL使用UPDATE语句时,SET部分不能引用数组索引的限制。,Oracle 11g引入FORALL结合MERGE语句的使用方法。

2023-05-09 11:27:20 149

原创 WebADI - 组件和LOV列的对应关系

WebADI - 组件和LOV列的对应关系。

2023-04-06 17:22:38 377

原创 WebADI - 参数的使用

可以理解为Definition是实际的参数,但它是独立的,也是可供共享的,最终它将使用在哪个WEBADI的下载页面,这要看谁的参数列表里引用了它。在定义集成器的上传模板时,系统实际上也会创建一个对应的参数列表,代码一般为XXX_UPL,所以下载的参数列表建议保持一致,命名为XXX_DPL,本例取名为BHSC_EMP_ADI_DPL。开发过程中我发现,尽管参数定义为非必需的,但对于值列表的情况,页面上总会默认选择第一个值,且列表中并没有空白选项,也不能删除参数的值,这将导致非必需参数也变成了必需的。

2023-02-17 16:23:12 622

原创 PLSQL - 利用Object Type实现Greatest/Least忽略空值计算

在使用的时候,对象被实例化出来的同时,其greatest和least属性便已计算好,并可在游标中直接引用了。的文章,最近又想到可以用对象类型来实现,不算成熟,抛砖引玉。

2023-02-15 17:36:27 260

原创 Oracle Form - 日历组件点不开(已解决)

又在检查调用calendar_rest_all的代码中发现APPDAYPK/calendar_show中有如下代码(calendar_show是calendar.show调用的过程)点击该字段值列表,没有弹出日历时,通过诊断/检查看到global.frd_debug内容为Entering calendar.calendar_reset_all。有某表单界面,在新建记录时,其中一个日期字段点击值列表不能弹出日历,且会叮咚响,但是左下角没有任何错误信息显示;如果在这个字段输入点什么内容,就能点开日历。

2023-01-13 12:29:53 163

转载 Oracle Kill Session 方法详细说明(转)

与要求会话自行终止的KILL SESSION命令不同,DISCONNECT SESSION命令会终止专用服务器进程(或使用共享服务器时的虚拟电路),这相当于从操作系统中终止服务器进程。Oracle 数据库中经常会出现session阻塞等导致CPU使用率异常的情况,而一个快速解决这个故障的方法就是kill session,可以直接kill 所有session,也可以使用hanganalyze 工具找到具体的session 在kill。如果省略SQL_ID,则假定指的是当前在指定会话中运行的SQL。

2022-12-31 16:02:29 5421

原创 EBS - FA资产剩余寿命计算脚本

参考自表单FAXASSET/Program Unit:INQUIRY_BOOKS.post_query。2、直接查资产在当前的剩余寿命。1、指定截止到某个期间。

2022-12-28 16:36:30 277

原创 Oracle Form - 文件夹数据块点击排序后只剩一行显示(已解决)

另外,我又在app_folder.event('PRE-BLOCK')中发现,它调用的app_folder_get_instance_values过程,会用system.trigger_name去匹配出folder_master_props.pending_where_clause的内容存放至app_folder.pending_where_clause。2、在app_folder.event('POST-QUERY')中,会判断当它是FALSE时,执行app_folder_ext_whr_cls。

2022-10-05 02:58:47 894

原创 PLSQL - 递归子查询RSF打破CONNECT BY LOOP限制

简单来说,这是一个未指示父子关系的放飞自我的递归,它只对LEVEL进行了一下筛选首先YUSUF是第一层,然后全表作为他的下一层(LEVEL=2),进行到这里要求RNAME的+号数量≥1,从而QINJINGBAO(角色是SON)被淘汰;下面第二层的各行分别来到第三层,依然是全表作为遴选对象,这里要求RNAME的+号数量≥2,唯有TURNER可以入选;这是一种很聪明的存储方法,但有时我们却又可能需要拆出每个人的所有角色以便匹配,也就是说要以员工+单角色名称的维度来组织数据,如下图。...

2022-07-15 22:41:38 467

转载 Oracle Developer10G 安装使用问题及解决方案

Form Builder把中文版改为英文版方法:在注册表中HKEY_LOCAL_MACHINE—>SOFTWARE—>ORACLE—>KEY_DevSuiteHome把NLS_LANG中的键值由SIMPLIFIED CHINESE_CHINA.ZHS16GBK改为AMERICAN_AMERICA.ZHS16GBKForm Builder配置fmb pll文件寻址路径:在注册表中HKEY_LOCAL_MACHINE—>SOFTWARE—>ORACLE—>

2022-03-22 22:37:34 671

原创 PLSQL - 自定义函数实现Greatest/Least忽略空值计算

说明Greatest和Least是Oracle的两个内置函数,可以从一众值中计算出最大或最小值,非常方便。但是它们有一个使用起来不太方便的地方:只要列表中含有一个NULL,计算结果就是NULL了。如果要比较的值比较少,尚可做一些加工来避免NULL值的影响,比如greatest(coalesce(col1, col2, col3), coalesce(col2, col3, col1), coalesce(col3, col1, col2))但如果是值很多的

2022-02-17 17:08:17 1670

原创 PLSQL - 一例阿拉伯数字转中文大写程序

程序create or replace function cux_num2chn(p_number number, p_round number := null) return varchar2 is /* Description: Convert a number into Chinese string. The number should between 1e21 and -1e2

2022-02-16 08:46:39 557

原创 Oracle Form - 另一种全选/全不选功能设计

功能设计开发步骤列表中的复选框:数据块中增加ITEM,子类信息CHECKBOX,选中时值Y,未选中值N(本例中为DETAILS.SELECTED) 全选/全不选框:一个非数据库项,子类信息CHECKBOX,选中时值Y,未选中值N(本例中为CONTROL.SELECT_ALL) 列表数据块增加块级的用户命名触发器SELECT_ALL :DETAILS.SELECTED := :CONTROL.SELECT_ALL; CONTROL.SELECT_ALL触发器WHEN-CHECKBOX-.

2022-01-17 15:41:23 460

原创 Oracle Form - 一种全选/全不选功能设计

功能设计设计思路全选/全不选框要实现的是:1、自己被勾选,就将列表全部勾选;2、自己被取消,就将列表全部取消列表单选框要实现的是:自己被取消,互动取消全选框开发实现列表中的复选框:数据块中增加ITEM,子类信息CHECKBOX,选中时值Y,未选中值N(本例中为DETAILS.SELECTED) 全选/全不选框:一个非数据库项,子类信息CHECKBOX,选中时值Y,未选中值N(本例中为CONTROL.SELECT_ALL) 增加一个参数ALL_SELECTED,初始值...

2022-01-15 18:55:22 779

原创 PLSQL - 一次聚合函数翻车的教训

最近在项目上竟然因为聚合函数翻了车,引人深思,发人深省。事故再现在程序包中一个地方需要从某表中求一个数量的和,实际开发过程是把写好的 DEMO 粘贴进来,加了 WHERE 条件,但是懒得删去 GROUP BY,就像下面这样SELECT SUM(t.quantity) INTO l_quantity_s FROM demo_t t WHERE t.item_id = p_item_id GROUP BY t.item_id结果就是在实际运行中报了错误 ORA-01403: 未找到任

2022-01-06 10:26:14 652 2

原创 PLSQL - 日期操纵函数模板IW/WW/W之区别

日期处理函数pattern中IW、WW、W这三个元素都能表示周,但是他们有着具体的区别:IW是以ISO 8601标准规定的周制,每个日历星期从星期一开始,星期日为第7天。以1月4日所在周为当年第一周WW是全年计数的周,以1月1日至7日为当年第一周,此后每七天记为一周W是全月计数的周,以1日至7日为当月第一周,此后每七天记为一周例1:今年1月4日是恰是周一,故以ISO 8601标准,1月前三天划归上年第53周;不过这只体现在周数上,当使用trunc函数截断至周时,则仍以日历周的起止规则行.

2021-11-05 20:53:37 3113

原创 PLSQL - 理解聚合函数的分析模式

聚合函数是我们所熟知的非常好用的数据统计函数,例如求和、求取最值等。我们已经知道聚合计算是基于数据分组使用的,简单来说数据分组就是考察表中行的若干特征,特征一致的行分到一个组中。另外从数据分组的原理我们又发现,分组后的数据仅保留了被考察的特征列(如果有的话)以及被聚合的列,如此求取聚合值后,返回结果的行数就可能少于原始数据集的行数。分析函数又称窗口函数,但实际上分析函数一般含有三个要素:分区子句、排序子句和窗口子句。这里的分区和分组的概念十分相像,同样是将若干特征一致的行分到一个分区中。但与 GROUP

2021-05-27 18:28:14 608

原创 PLSQL - 一次外连接翻车的教训

近期写视图时用外连接翻了车,正好还原了曾经犯过的但没有及时记录的错误,现总结本文。

2021-03-30 18:01:18 291

原创 PLSQL - 一次关于SYS_CONTEXT函数、IR函数与视图的尝试

最近在学习有关AUTHID的内容时,发现Oracle多份官方文档中强调的一项比较有趣的规定Oracle Database PL/SQL Language Reference 11g Release 2, P8-49Oracle Database SQL Language Reference 11g Release 2, P5-282这个规定的中心思想就是:1)如果在视图中调用了IR权限的存储过程,上下文CURRENT_USER总是视图的定义者,而非调用者;2)如果视图中直接调用了..

2020-10-16 16:42:20 228

原创 EBS - API创建客户联系人、联系方式和联系人职责

关于联系人和联系方式表结构的介绍,请参阅联系人数据结构和联系方式数据结构一、创建联系人DECLARE x_person_party_id NUMBER; x_person_party_number NUMBER; x_org_contact_id NUMBER; x_party_rel_id NUMB...

2020-04-28 15:53:50 1964 1

原创 EBS - API创建客户、地点和业务目的

一、创建客户(组织+账户)DECLARE x_cust_account_id NUMBER; x_account_number NUMBER; x_party_id NUMBER; x_party_number NUMBER; x_profile_id NUMBER; x_return_status VARCHAR2(5); x...

2020-04-26 12:34:24 1548

原创 Oracle AR - 客户联系方式表结构简述

EBS中为客户创建的联系方式均存储在HZ_CONTACT_POINTS表中,该表以OWNER_TABLE_NAME区分联系方式是属于地点层的还是联系人层的:联系方式层次 OWNER_TABLE_NAME OWNER_TABLE_ID 联系人层 'HZ_PARTIES' 关联联系人与客户账户关系(PARTY_RELATIONSHIP)在HZ_PARTIES的PARTY...

2020-04-25 17:38:01 1579

原创 Oracle AR - 客户与联系人表关系AR_CONTACTS_V

(作图丑陋 请多包涵)EBS中在客户的账户层和地点层均可创建联系人,地点层上的联系人在HZ_CUST_ACCOUNT_ROLES表中对应记录的CUST_ACCOUNT_ID和CUST_ACCT_SITE_ID分别存储客户的账户ID和所属的客户地点ID,账户层上的联系人对应记录则CUST_ACCT_SITE_ID字段为空。一个联系人可以关系到HZ_RELATIONSHIPS表中的一对记...

2020-04-25 16:36:13 3368

原创 PLSQL - 不创建自定义函数计算10的阶乘

法1:CONNECT BY结合使用DBMS_AW.EVAL_NUMBERSELECT dbms_aw.eval_number(substr(sys_connect_by_path(LEVEL, '*'), 2)) f FROM dual WHERE connect_by_isleaf = 1CONNECT BY LEVEL <= 10;法2:利用对数运算法则(积的对数等于对...

2020-03-20 15:58:57 940

原创 PLSQL - 递归查询 Hierarchical Query

如果一张表中的数据行与行之间存在层级关系(hierarchical data),我们则可以使用递归查询语法来展现这种层级关系。一、语法START WITH子句用以在查询中指定开始检索的根节点(可以是多行);CONNECT BY子句用以指示层级关系的内在关联。如轨道图所示,START WITH子句和CONNECT BY子句孰前孰后都是可以的。递归条件(CONNECT BY c...

2020-03-20 01:00:06 1544

原创 EBS - API注册表单和功能

一、注册表单 FORMDECLARE l_formid NUMBER;BEGIN l_formid := fnd_form_s.nextval; fnd_form_pkg.insert_row(x_rowid => l_rowid ,x_application_id =&g...

2020-02-16 19:37:27 285

原创 EBS - API注册可执行和并发程序

一、注册可执行 EXECUTABLEDECLARE l_rowid ROWID; l_exeid NUMBER;BEGIN l_exeid := fnd_executables_s.nextval; fnd_executables_pkg.insert_row(x_rowid => l_rowid ...

2020-02-15 23:13:41 1203 1

原创 PLSQL - 利用自治事务实现按月生成流水序号示例

在序列号的实际应用场景中,常会出现按照某种条件从头开始计算序号的需要,如按年月生成流水号,2019年10月的第一个流水号为19100001,而11月的第一个流水号则为19110001。这种情况下单纯使用序列SEQUENCE则无法实现,而如果每次生成序号时从表中选取最大值又容易造成重复序号。本例采用自治事务与序列相结合的方式,实现按年月生成“YYMM+四位流水”格式的序列号,流水号要求每月重新计算。...

2019-10-22 01:16:36 462

原创 Oracle AR - 销售订单:登记订单功能权限控制及登记订单增加客户化处理

一、限制某个销售职责不能进行登记订单操作的方法即:使职责不能使用“销售订单:登记订单”(ONT_OEXOEORD_BOOK_ORDER)功能,可以实现的方法有:1、在职责的菜单排除项中增加排除“销售订单:登记订单”功能;2、在职责的菜单排除项中增加排除“ONT_SALES_ORDERS”菜单;3、从职责关联菜单的树中,去掉“ONT_SALES_ORDERS”子菜单;二、在标准登...

2019-05-23 17:33:06 658

原创 Oracle FND - 已知某功能或子菜单查询所在职责及路径SQL

SELECT substr(tree.path, 4) || '<--' || resp.responsibility_name path FROM (SELECT sys_connect_by_path(nvl(t.prompt, '(HIDDEN PROMPT)'), '<--') path ,sys_connect_by_path(t.m...

2019-04-17 23:24:24 608 1

原创 Oracle FND - 用户API fnd_user_pkg的常用用法

一、创建用户BEGIN fnd_user_pkg.createuser(x_user_name =&gt; 'YUSUF' ,x_owner =&gt; fnd_user_pkg.null_char ,x_unencrypted_pass...

2019-01-17 14:51:29 1625

原创 Oracle AR - 收款界面上的非数据库项金额查询SQL

SELECT SUM(decode(ra.status ,'APP' ,decode(ra.confirmed_flag ,'N' ,0 ,nvl(nvl(ra.amount_app...

2019-01-14 15:07:46 649

原创 EBS - API注册表验证值集

 创建表验证值集BEGIN fnd_flex_val_api.set_session_mode('customer_data'); fnd_flex_val_api.create_valueset_table(value_set_name =&gt; 'BHSC_YES_NO_VAL' /*值集名*/ ...

2018-11-29 16:02:06 398

原创 EBS - API注册独立值集并插入值

  一、创建独立值集 FLEX_VALUE_SETDECLARE l_rowid ROWID;BEGIN fnd_flex_val_api.set_session_mode('customer_data'); fnd_flex_val_api.create_valueset_independent(value_set_name =&gt; 'BHSC_YES...

2018-11-28 23:02:03 1303

原创 EBS - API注册快速代码并插入值

 一、创建 LOOKUP_TYPEDECLARE l_rowid ROWID;BEGIN fnd_lookup_types_pkg.insert_row(x_rowid =&gt; l_rowid ,x_lookup_type =&gt; 'BHSC_YES_NO' /...

2018-11-28 20:50:23 1037

转载 EBS - 查询会话SQL

DECLARE v_sid NUMBER := 333; --SID CURSOR sql_lines IS SELECT sql_text, t.sql_id FROM v$sqltext_with_newlines t, v$session s WHERE t.address = s.prev_sql_addr AND s.sid = v...

2018-11-07 17:00:59 490

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除