最近客户要求凭证打印出txt格式,且需要通过下载(非网页或者复制另存)方式实现。具体方案如下:
1.由于前台快码无法更新“CP_OUTPUT_FILE_TYPE”,于是采用后台更新需要展示的文件格式(注意插入中英文两条数据),RTZ/RTZ格式下载输出,如下图所示:
2.系统管理员浏览器选型
文件格式:RTZ
MIME类型:application/apps-rtz
说明:RTZ
3.并发请求定义中输出格式选择RTZ
4.结果如下图所示:
相信大家在做Oracle EBS的时候,都会遇到需要开启弹性域(说明性弹性域)的时候,这里我就将整个过程做一个描述性记录:
前提:需要开启的弹性域对应的表已经在弹性域定义界面进行注册(如果未注册,需要单独进行注册,此处不再描述注册过程)
主要分以下两种类型:
1.Form界面开启说明性弹性域
a.打开需要设置弹性域的界面,找到该界面对应的表或试图,这里以开启物料批次弹性域为例,如下图所示:
b.找到对应的基表,MTL_LOT_NUMBERS_ALL_V,一般都是以基表注册,因此找到基表MTL_LOT_NUMBERS,如下图所示:
c.定位至弹性域注册界面,通过基表去模糊匹配,查出开启弹性域对应的标题(标题也可从最终需启用界面去看),找到标题“维护批号”,如下图所示:
d.在说明性弹性域–段下,在标题栏输入“维护批号”,随即进入定义弹性域最终界面,如图所示:
e.正常情况下,弹性域定义界面是冻结状态,如果需要编辑,需去掉冻结前的勾,点击段,进入编辑状态,如图所示:
f.具体定义界面,输入编号,名称,窗口提示,弹性域对应基表的列,值集(值集与LOV值集同样意义),已显示和已启用,如下图,
g.对值集进行编译,主要可选择必输和非必输项,如下图所示:
h.保存,勾上冻结选项,系统会自动进行编译,编译完成即可生效,具体生效截图,如文档第一幅图所示。
2.web界面开启弹性域(待续)
可参考以下链接:
http://blog.csdn.net/rfb0204421/article/details/7641831
http://www.cnblogs.com/benio/archive/2009/12/07/1618725.html
情景:Oracle EBS并发管理器无法启动
现象:Oracle并发请求程序错误,表面日志指向内存错误
环境:Oracle EBS R12.2.4
2016年12月14号上午10点钟,Oracle EBS系统发现所有推向外围电商系统的并发程序全部保存,主要报错的信息是“内存不足”。由于处在业务发生期,因此不能随便停机重启(很多时候EBS重启能解决很大程度的问题)。于是准备等到中午午休时间通知所有业务财务人员停止使用,重启系统,同时开发人员和DBA(非EBS DBA)也在进行相关问题排查处理。技术人员提供相关日志到DBA处,然而始终未能在准备停机之前解决。
第一次重启:中午12点整,我按照系统启停脚本正常启停应用服务,未发现报错,但是进系统发现所有并发未能启动。看到这里也并没有因此慌张,因为以前很多次启动应用服务的时候都遇到过,于是单独启动并发服务adcmctl.sh,也并未报错,结果还是没提示任何错误。再次进入前台页面查验,还是未能正常启动;
第二次重启:中午12点36分,这次同时启动数据库和应用,完成相关操作后,发现系统并发管理器正常启动。这时去查验电商推送程序,发现还是报“内存”错误。此时已经12点45分左右。
第三次重启:向DBA求助,他也没有更好的方法,于是他提出重启整个机器,reboot操作系统。由他操作,操作完成后结果并发管理器全部无法启动。这下有些慌了,因为已经到中午13点,这时业务人员已经打电话到领导那,甚至有相关人员直接来找领导问询进度。
第四次、五次…….,各种进程kill后,多次重启仍然无法解决。就这样一直拖到下班。其中一个同事已经找好外部某著名13摸的技术专家,准备在实在没办法时通过外部资源付费解决(领导已经同意付费)。此时公司内部的DBA做过应用的回退,正准备进行数据库的闪回操作,闪回至中午11点50。而且也这样做了。终于在牺牲部分业务数据后,系统启动正常。马上去验证电商接口问题,很遗憾还是一片红彤彤。此时已经18点35分。
此时大家都准备回家去,至少系统已经能使用,除开电商接口。15号早上起来,发现群里已经解决。其中一个技术顾问从最开始的并发请求的日志中发现ACL网络访问控制。问题迎刃而解。但原因未明,ACL安全性注册数据被冲掉(EBS访问外网系统均需注册ACL访问控制),具体的相关注册方式如下:
————————————————————————————————————————————
SecureCRT,以DBA登录数据库 uat3db:
Last login: Mon Jan 25 20:12:49 2016 from 172.16.1.225
[orauat3@uat3db ~]$ sqlplus apps/apps
SQL*Plus: Release 11.2.0.4.0 Production on Mon Jan 25 20:14:37 2016
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 – 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> conn /as sysdba
Connected.
SQL> exec dbms_network_acl_admin.create_acl('httprequestmid.xml','http request mid', 'APPS', TRUE,'connect',NULL, NULL);
PL/SQL procedure successfully completed.
SQL> exec DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE( acl => 'httprequestmid.xml', principal => 'APPS', is_grant => TRUE, privilege => 'resolve');
PL/SQL procedure successfully completed.
SQL> COMMIT;
Commit complete.
SQL> exec dbms_network_acl_admin.assign_acl('httprequestmid.xml','*',NULL, NULL); commit;
PL/SQL procedure successfully completed.
————————检查是否生效命令如下————————————————————————–
–查询:
SELECT any_path FROM resource_view WHERE any_path like '/sys/acls/%';
SELECT acl,
principal,
privilege,
is_grant,
TO_CHAR(start_date, 'DD-MON-YYYY') AS start_date,
TO_CHAR(end_date, 'DD-MON-YYYY') AS end_date
FROM dba_network_acl_privileges;
SELECT host, lower_port, upper_port, acl FROM dba_network_acls;
————————————————————————————————————————————
————以下是其他可参考文件————-
参考文件:
http://www.linuxidc.com/Linux/2013-12/93385.htm
http://blog.sina.com.cn/s/blog_4ca24203010128oe.html
http://www.shangxueba.com/jingyan/1666117.html
http://www.cnblogs.com/benio/archive/2011/10/21/2219826.html
http://www.2cto.com/database/201312/261243.html
select utl_http.request('www.apple.com') from dual;
需要先使用 DBMS_NETWORK_ACL_ADMIN.CREATE_ACL 创建访问控制列表(ACL)
BEGIN
DBMS_NETWORK_ACL_ADMIN.CREATE_ACL (
acl => 'email_server_permissions.xml',
description => 'Enables network permissions for the e-mail server',
principal => 'STAT',
is_grant => TRUE,
privilege => 'connect');
END;
–查询
SELECT host, lower_port, upper_port, acl FROM dba_network_acls;
SELECT acl,
principal,
privilege,
is_grant,
TO_CHAR(start_date, 'DD-MON-YYYY') AS start_date,
TO_CHAR(end_date, 'DD-MON-YYYY') AS end_date
FROM dba_network_acl_privileges;
SELECT ANY_PATH FROM RESOURCE_VIEW;
结果如下图所示:
select created_by, translate(ltrim(text, '/'), '*/', '*,') researcherlist
from (select row_number() over(partition by created_by order by created_by, lvl desc) rn,
created_by,
text
from (select created_by,
level lvl,
sys_connect_by_path(c_researcher_code, '/') text
from (select created_by,
user_name as c_researcher_code,
row_number() over(partition by created_by order by created_by, user_name) x
from fnd_user
order by created_by, user_name) a
connect by created_by = prior created_by
and x – 1 = prior x))
where rn = 1
order by created_by;
SQL分析:
1、利用 “ROW_NUMBER () OVER (PARTITION BY……” 为按“创建人”汇总后的数据行添加组内序号
2、“SYS_CONNECT_BY_PATH” 按组内序号相邻关系,为每一层进行不同行的“名称”叠加
3、再次利用“创建人”进行组内分组,但按第二部中的层次排倒序,增加调整后等级
4、取所有调整后等级为1的结果,即为所要求的数据行
其他参考:http://www.ningoo.net/html/2008/how_to_do_string_aggregate_on_oracle.html