从EBS 11i升级至R12,总的来说更变较大的就是多OU访问(MOAC)和表视图的更变。

因为标准功能oracle都帮我们做了升级,本文档所说的11升12都是客户化的更改。

多OU访问[1][2]

不同于11i限定ORG_ID的方式,使得视图只能筛选单个OU的数据,R12使用安全策略来控制OU数据的访问,可以用类似下面的执行语句注册客户化的应用:

DECLARE

CURSOR c_init_mo IS

SELECT fa.application_short_name

FROM fnd_application fa

WHERE fa.application_short_name LIKE 'ZZ%';

l_init_app VARCHAR2(20);

BEGIN

FOR l_init_app IN c_init_mo

LOOP

fnd_mo_product_init_pkg.register_application(l_init_app.application_short_name, 'SEED', 'N');

END LOOP;

END;

由于是将11的功能完全移植到R12,form与报表需要设置OU访问层次的地方全部设为单个OU。

FORM更改当中,有可能用到11i当中是视图,R12当中是同义词的表(例如PO_HEADERS),如果简单进行编译,有可能取不到任何数据,在pre-form的地方需要加以语句进行初始化:

MO_GLOBAL.init(‘ZZOM’);

报表遇到类似的情况也要做相应处理:

切换到:系统管理员->系统管理->并发->程序

查询出需要设置的请求,设置为单个OU。

数据库对应字段为:

fnd_concurrent_programs.multi_org_category (S,M)

选取FORM源代码

可能会出现之前实施标准不一致,出现同一个form在form/ZHS出现forms/US出现以及form目录都出现,并且时间不一样的情况。为了避免以后由于版本不对造成的一系列问题。在取form源代码的时候可以进入APPL_TOP,使用下面的语句筛选最符合要求,时间离fmx最近的一个fmb源代码:

find . -name "ZZCSTDBT034F.fmb" -exec ls -l {} \;

R12视图更变

处理视图更变是R12升级最占时间的一项工作,一些客户化的程序包使用11i当中存在,R12当中不存在;R12表字段更变、表字段缺失;R12数据存储方式更变的各种情况。

以下列出一些常见的表视图更变实例及替换:(肯定还有其他的)

GL_TRANSLATION_RATES_V

基表筛选或新增视图

RA_ADDRESSES_ALL

基表筛选或新增视图

RA_SITE_USES_MORG

基表筛选或新增视图

RA_ADDRESSES

基表筛选或新增视图

AR_CUSTOMERS_V

基表筛选或新增视图

RA_CUSTOMERS

ar_customers

RA_HCUSTOMERS

ar_customers

RA_CONTACTS

基表筛选或新增视图(HZ_CUST_ACCOUNT_ROLES)

AP_AE_HEADERS_ALL

XLA_AE_HEADERS

AP_AE_LINES_ALL

XLA_AE_LINES

AP_ACCOUNTING_EVENTS_ALL

XLA_EVENTS

AP_BANK_ACCOUNTS_ALL

CE_BANK_ACCOUNTS

AP_BANK_ACCOUNT_USES_ALL

CE_BANK_ACCT_USES_ALL

AR_CUSTOMER_BANK_ACCOUNTS_V

特别对待

AP_BANK_BRANCHES

CE_BANK_BRANCHES_V

AP_CHECK_FORMATS

IBY_FORMATS_B

AP_CHECK_STOCKS_ALL

CE_PAYMENT_DOCUMENTS

RA_SITE_USES_ALL

HZ_CUST_SITE_USES_ALL

RA_SITE_USES

HZ_CUST_SITE_USES_ALL

AR_HCUSTOMER_PROFILE_AMOUNTS

HZ_CUST_PROFILE_AMTS

AR_VAT_TAX_ALL

AR_VAT_TAX_ALL_B

ZX_RATES_B

AR_CUSTOMER_PROFILE_AMOUNTS

HZ_CUST_PROFILE_AMTS

GL_TRANSLATION_RATES

期间汇率不用了

注意:这里只提到了_ALL的表,实际开发肯定要将不带_ALL的也考虑进更替项当中。考虑到form当中也可能用到这些表或者视图(R12不用,但是表存在),建议升级客户化修改当中首先将这些表的apps同义词删除!

补充:RA_ADDRESSES_ALL发现,基于11i的表视图筛选有问题!!!有部分数据筛选不出来,hz_loc_assignments更变比较大,建议RA_ADDRESSES_ALL直接用表hz_cust_acct_sites_all替换

其中,对于AP_AE_HEADERS_ALL与AP_AE_LINES_ALL表,部分字段R12存储在其他表当中了,比如AP_AE_LINES_ALL的SUBLEDGER_DOC_SEQUENCE_ID存在了GL_IMPORT_REFERENCES表(可能是考虑到了数据重复的情况,11里面查询subledger_doc_sequence_value,subledger_doc_sequence_id全部对应)。具体可以视情况而定,不清楚可以查看相应oaf界面。

可以用以下SQL确认subledger_doc_sequence_id字段:

SELECT a.subledger_doc_sequence_id,

a.subledger_doc_sequence_value,

b.subledger_doc_sequence_id,

b.subledger_doc_sequence_value

FROM gl_import_references a,

ap_ae_lines_all      b

WHERE a.gl_sl_link_table = 'APECL'

AND b.gl_sl_link_id = a.gl_sl_link_id

AND a.subledger_doc_sequence_id IS NOT NULL

AND a.subledger_doc_sequence_value != b.subledger_doc_sequence_value

数据变换比较大的是这两个表:

AP_BANK_ACCOUNTS_ALL、AP_BANK_ACCOUNT_USES_ALL

在11当中,客户银行账户、供应商银行账户、内部银行账户全部存在上面2个表当中,而R12,内部银行账户存储在列出的变换表中,但是客户银行账户、供应商银行账户分别以其他的方式存储了。有些包使用供应商地点ID、客户地点ID关联银行账户就会出错。

这种情况通过在界面上进行查看,可以找出在12当中筛选出供应商、客户银行账户的相关信息:

客户银行账户:

SELECT iby_bank.currency_code,

cust_site.site_use_id,

ce_br.bank_name,

ce_br.bank_branch_name,

iby_bank.bank_account_name

FROM iby_external_payers_all iby_player,

iby_pmt_instr_uses_all  iby_use,

hz_cust_site_uses_all   cust_site,

iby_ext_bank_accounts   iby_bank,

ce_bank_branches_v      ce_br

WHERE iby_use.ext_pmt_party_id = iby_player.ext_payer_id

AND iby_player.acct_site_use_id = cust_site.site_use_id

AND iby_bank.ext_bank_account_id = iby_use.instrument_id

AND ce_br.branch_party_id(+) = iby_bank.branch_id

AND cust_site.site_use_id = 10509;

供应商银行账户:

SELECT iby_bank.currency_code,

ce_br.bank_name,

ce_br.bank_branch_name,

iby_bank.bank_account_name,

iby_bank.bank_account_num,

iby_player.ext_payee_id

FROM iby_external_payees_all iby_player,

iby_pmt_instr_uses_all  iby_use,

iby_ext_bank_accounts   iby_bank,

ce_bank_branches_v      ce_br

WHERE iby_use.ext_pmt_party_id = iby_player.ext_payee_id

AND iby_player.payee_party_id = 27900 --ap_supplier.party_id

AND iby_bank.ext_bank_account_id = iby_use.instrument_id

AND ce_br.branch_party_id(+) = iby_bank.branch_id;

说明:

iby_external_payees_all

这个表的payee_party_id就是ap_supplier的party_id

银行账户对应的主要字段

PARTY_SITE_ID,SUPPLIER_SITE_ID,ORG_ID

账户分配层次:地点

PARTY_SITE_ID,SUPPLIER_SITE_ID,ORG_ID都不为空

账户分配层次:地址

PARTY_SITE_ID不为空

账户分配层次:地址 - 业务实体

PARTY_SITE_ID,ORG_ID不为空

账户分配层次:供应商

都为空

其余还可能遇到一些11、12都存在,12字段缺失,但是不像上面那么凶猛的案例,比如PO_VENDORS的bill_to_location_id,R12没有,PO_VENDORS在R12是视图,这种情况可以直接使用ap_suppliers的对应字段。

视图更变当中还2 视图XLA_AP_INV_AEL_GL_V、XLA_AP_PAY_AEL_GL_V在12当中不存在,也不能简单进行表的替换,一些列字段不存在,如果是只选取一些信息出来,那么可以做一些特殊处理,从界面上查找出数据源,筛选相应信息。

R12 OAF数据源[3]

在11i当中很容易查找到数据源,在form界面上使用历史记录,或者last_query就可以知道具体sql,但是R12有很多OAF界面,不是那么简单就可以看到具体筛选的表的。

设置预制文件:Personalize Self-Service Defn为YES

之后OAF界面的左下角就会出现一个“关于此页”的标签。点击进去可以看到OAF界面用到的VO,查找出具体的SQL。

标准值集更变

一些在11i当中可以用的值集,R12进行了相应更改,就拿值集GL_SRS_PERIOD_NAMES来说,值集定义where条件的地方R12用到了另外一个值集:$FLEX$.GL_SRS_LEDGER_ID_UNVALIDATED,此处并不能随意猜测,我们可以参考标准功能用到GL_SRS_PERIOD_NAMES值集的请求:

SELECT fcpv.user_concurrent_program_name,

fdfcu.flex_value_set_id,

ffvs.flex_value_set_name,

fe.execution_file_name

FROM fnd_descr_flex_col_usage_vl fdfcu,

fnd_concurrent_programs_vl  fcpv,

fnd_flex_value_sets         ffvs,

fnd_executables             fe

WHERE '$SRS$.' || fcpv.concurrent_program_name = fdfcu.descriptive_flexfield_name

AND ffvs.flex_value_set_id = fdfcu.flex_value_set_id

AND fe.executable_id = fcpv.executable_id

AND ffvs.flex_value_set_name LIKE upper('%GL_SRS_PERIOD_NAMES%')

或者可以在form界面上查看:

对于GL_SRS_PERIOD_NAMES值集,R12标准功能是添加了P_LEDGER_ID,值集为GL_SRS_LEDGER_ID_UNVALIDATED,默认值配置文件:gl_set_of_bks_id

后来发现可以将此值集更改为:JGZZ_GL_PERIOD_NAMES即可

GL_SRS_TRANS_CURRENCIES_USD_STAT

该值集R12升级where条件发生错误

原因是GL_TRANSACTION_TRACKING的SET_OF_BOOKS_ID在12中叫做LEDGER_ID

可以将相应字段进行替换,或者考虑到是标准的一个值集,也可以新建一个与其一样的值集,并加以修正。

Servlet程序发布

有些功能是被直接做成了Servlet,在11i当中是使用 Jserver发布Servlet,非常简单,只需将 Servlet文件放进$IAS_ORACLE_HOME/ Apache/Jserv/servlets既可。

而R12并无Jserver,全部使用OC4J进行管理。这需要将class文件放到$JAVA_TOP下面,之后修改以下配置文件$ORA_CONFIG_HOME/10.1.3/j2ee/oacore/application-deployments/oacore/html/orion-web.xml,参照以前的配置加入servlet的定义,servlet mapping配置。重启应用即可。

查询客户化的请求、报表

R12升级主要就是改客户化的东西,但是如何确定该功能是客户化的呢?为了标准化,我想许多客户化的东西都会加上一些专门的标志,比如说这次的R12升级客户化的东西是以ZZ开头的(报表、FORM、PKG)。

但是假如客户化的名字并不是那么标准,那么对于查找来说就比较困难,确保没有遗漏的东西,建议装一个R12 DEMO或者PROD环境专门执行此事,将升级过后的R12当中,R12 DEMO不存在的FORM、报表筛选出来。这些东西就很有可能是客户化的程序。

PO无法取消

在升级测试环境2遇到一个PO无法取消的问题,最后查出来是这么一个package无效导致:PO_CHG_REQUEST_PVT,但是测试环境1那里并没有这种情况,原因是DBA在升级测试环境2的时候多加了一些oracle建议设置的东西,造成测试环境2的PO无法取消。提了SR,oracle的回复是打一个补丁(18M),改了很多包,造成了更多严重的问题,PO模块直接瘫痪。最终不得不重新克隆测试环境再次升级,如果你也遇到类似情况,请直接使用这个包吧!

其余课题

u  ARXRWMAI 收款界面发生如下错误:

FRM-41014: ERROR "CANNOT SET ATTRIBUTE OF NULL CANVAS ITEM"

解决方法:菜单ONT_SETUP_CUSTOMERS 加上功能 全球化弹性域    (AR_GL_FLEXFIELD)

 

u  有时候提交请求会出现一些莫名的报错,可以尝试换个语言环境进行提交。

u  R12升级过后,一些基本的设置,比如CNY币种的启用,供应商编号方法等会发生更变,一定要进行系统测试,上线的时候进行更改。

u  应用->帮助->诊断->检查,报“职责找不到对应函数”,不能进行相应查看。

解决方法:设置profile“公用程序: 诊 断”为是。

u  请求日志内容无法通过“复制”在浏览器中阅读

解决方法:

1、个性系统配置文件“RRA: 已启用”,值设置为“是”
2、确保系统配置文件“RRA: 服务前缀”为空,不允许有空格

u  升级过后会标准功能或多或少会出现问题,建议标准FORM全部重新编译一次(服务器执行 adadmin)

u  升级之后,加入了 VPD的功能,执行某些 SQL语句的时候会发生错误。

DELETE FROM oe_hold_sources

WHERE hold_entity_code = 'I'

AND hold_entity_id = 1

AND - 1 = (oe_sys_parameters.value('MASTER_ORGANIZATION_ID', org_id));

exec_delete 5 ORA-01732: data manipulation operation not legal on this view

发生地:INV->Items->Delete Items 带出的请求Delete Item Information(追踪即可得到这个SQL,参数改了下)

参照Metalink 1487181.1的解决方案sys执行:

GRANT MERGE ANY VIEW TO apps;

u  DBA_DIRECTORY的更变

升级过后某些路径会发生更变,检查一下DBA_DIRECTORY

u  ap_invoices_interface_s、ap_invoice_lines_interface_s

收款界面操作报错,最后查是这2个sequence的nextval 小于接口表当中的值,所以报错,增加他们的nextval值,留意类似的接口表sequence。

u  R12 FORM日期显示格式中文为DD-MM-YYYY,英文为DD-MON-YYYY  ,而11当中中英文都为DD-MON-YYYY

这其实是11i当中的一个配置文件:ICX_DATE_LANGUAGE,而R12 该配置文件已经失效!建议类似情况直接改代码。[ID 393861.1]

u  升级过后提交部分客户化请求会报莫名其妙的错误,但是查的话实际上并不知道到底怎么回事。 其实只需进入程序定义界面,在请求参数的地方做一个保存操作(随便怎么,主要发生保存操作,比如description那里多加一个空格),之后提交就正常了。暂不知具体如何将这些需要做保存操作的请求筛选出来。(后来得知是有的请求参数定义直接采用代码进行更新,对于此类请求都需要做保存操作!)

u  JAVA LIB

升级过后,会发现客户化加入的java jar无法找到,可以在这里进行重新添加:

$INST_TOP/ora/10.1.3/j2ee/oacore/application-deployments/oacore/orion-application.xml   [ID 433241.1]

u  值集源表order by

有一个客户化值集定义的非常牛逼,基于表筛选,而源表那里末尾直接弄了一个order by ,造成使用的时候报了莫名其妙的错误。将order by 去掉即可。[ID 1461060.1]

u  自动开票主程序、程序 - 自动过账计划请求报错

重新提交一个计划请求

[ID 1406913.1]、[ID 1374519.1]

u  日记账行追溯报错

You are not authorized to access the function View Material Transactions. Please

contact your System Administrator

GL_SUPERS菜单(报错职责对应的菜单)加上以下function

View Material Trxns

Receiving Transaction Summary

View Resource Transactions

Lot Based Job Transactions

View Write-Off Transactions

u  废弃的东西

Supplier Customer Netting Report [ID 556146.1]

Payables Account Analysis Report [ID 752596.1]

XLA_MO_TOP_REPORTING_LEVEL (Mo: Top Reporting Level) (PROFILE) [ID 1184318.1]

SYNCHRONIZE WORKFLOW LOCAL TABLES (1) (REPORT SET) [ID 1061277.1]

Response Processor[E16342-04.P45]

u  AP发票的汇率都移到了AP_INVOICES_ALL

u  Material Account Distribution Detail报表不展示来源

标准功能就是这样,只显示目标子库存,不显示来源子库存[ID 1330609.1]

u  XLA_DISTRIBUTION_LINKS数据移植不全

参见[ID 604893.1]

升级有用的SQL

客户化的东西比较多,直接不知道form或者某个报表在什么地方,弄了些常用SQL查询这些东西

Form使用处

SELECT frv.responsibility_name,

menu.user_menu_name,

menu.prompt,

menu.lv

FROM (SELECT LEVEL lv,

entr.prompt,

entr.description,

menu.menu_name,

menu.user_menu_name,

menu.menu_id

FROM fnd_menus_vl        menu,

fnd_menu_entries_vl entr

WHERE menu.menu_id = entr.menu_id

START WITH function_id = (SELECT fun.function_id

FROM fnd_form_functions_vl fun,

fnd_form              form

WHERE fun.form_id = form.form_id

AND upper(form.form_name) = upper('ZZCSTDBT011F'))

CONNECT BY PRIOR entr.menu_id = entr.sub_menu_id) menu,

fnd_responsibility_vl frv

WHERE frv.menu_id(+) = menu.menu_id;

报表提交处

SELECT fcpv.concurrent_program_id,

--frg.request_group_name,

res.responsibility_name,

fcpv.user_concurrent_program_name,

fcpv_tl.user_concurrent_program_name,

fe.execution_file_name,

decode(frgu.request_unit_type, 'P', '程序', 'A', '应用', '其他') 类型

FROM fnd_request_group_units         frgu,

fnd_request_groups              frg,

--fnd_request_sets_vl             frsv,

apps.fnd_responsibility_vl      res,

apps.fnd_concurrent_programs_vl fcpv,

apps.fnd_concurrent_programs_tl fcpv_tl,

fnd_executables                 fe

WHERE ((fcpv.concurrent_program_id = frgu.request_unit_id AND frgu.request_unit_type = 'P' --程序

) OR (fcpv.application_id = frgu.request_unit_id AND frgu.request_unit_type = 'A' --应用

))

AND fe.executable_id = fcpv.executable_id

AND fe.application_id = fcpv.executable_application_id

AND res.request_group_id = frg.request_group_id

AND frg.request_group_id = frgu.request_group_id

AND fcpv_tl.application_id(+) = fcpv.application_id

AND fcpv_tl.concurrent_program_id(+) = fcpv.concurrent_program_id

AND fcpv_tl.language(+) != userenv('lang')

AND fcpv.executable_application_id = fe.application_id

AND upper(fe.execution_file_name) LIKE upper('%%')

AND (upper(fcpv.user_concurrent_program_name) LIKE upper('%%')

and upper(fcpv_tl.user_concurrent_program_name) like upper('%%'))

AND upper(fcpv.concurrent_program_name) LIKE upper('%%');

历史请求运行状态

SELECT fcr.actual_start_date "起始",

fcr.actual_completion_date "结束",

fcr.request_id "请求编号",

(fcr.actual_completion_date - fcr.actual_start_date) * 24 * 60 "运行时间(分钟)",

fcr.argument_text "参数",

decode(fcr.description,

NULL,

fcpv.user_concurrent_program_name,

fcr.description || '(' || fcpv.user_concurrent_program_name || ')') "请求名",

flv.meaning "状态",

flvv.meaning "阶段",

frv.responsibility_name,

fu.user_name

FROM apps.fnd_concurrent_requests    fcr,

apps.fnd_concurrent_programs_vl fcpv,

fnd_lookup_values               flv,

apps.fnd_lookup_values_vl       flvv,

apps.fnd_responsibility_vl      frv,

fnd_user                        fu

WHERE fcr.concurrent_program_id = fcpv.concurrent_program_id

AND fcr.program_application_id = fcpv.application_id

AND flv.lookup_type = 'CP_STATUS_CODE'

AND flv.language = userenv('lang')

AND flv.view_application_id = 0

AND flvv.lookup_type = 'CP_PHASE_CODE'

AND flvv.lookup_code = fcr.phase_code

AND flvv.view_application_id = 0 --不确定

AND flv.lookup_code = fcr.status_code

AND frv.responsibility_id = fcr.responsibility_id

AND fu.user_id = fcr.requested_by

--AND fcpv.concurrent_program_id = 52375

--AND fcr.actual_start_date IS NOT NULL

--AND fcr.request_id = 4695935

/*AND status_code IN ('I', 'Q')

AND ((decode(implicit_code, 'N', status_code, 'E', 'E', 'W', 'G') = status_code OR

decode(implicit_code, 'W', 'E') = status_code))

AND (nvl(request_type, 'X') != 'S')

and fcr.hold_flag='N'  --计划请求

*/

ORDER BY fcr.request_id DESC

查询客户化请求以程序包

SELECT t.object_name,

fe.execution_file_name,

fe.executable_name,

fcpv.concurrent_program_name,

fcpv.user_concurrent_program_name

FROM dba_objects t,

(SELECT upper(f.execution_file_name) execution_file_name,

f.executable_name,

f.executable_id,

f.application_id

FROM apps.fnd_executables f) fe,

apps.fnd_concurrent_programs_vl fcpv

WHERE t.object_name LIKE 'ZZ%'

AND t.object_type = 'PACKAGE'

AND fcpv.executable_id(+) = fe.executable_id

AND fcpv.executable_application_id(+) = fe.application_id

--AND t.status = 'VALID'

AND fe.execution_file_name(+) LIKE upper(t.object_name) || '%'

ORDER BY t.object_name;

查看EBS打过的补丁

SELECT pp.creation_date,

dd.patch_name,

pp.driver_file_name,

lang.language,

pp.last_update_date

FROM ad_patch_drivers      pp,

ad_applied_patches    dd,

ad_patch_driver_langs lang

WHERE pp.applied_patch_id = dd.applied_patch_id

AND lang.patch_driver_id = pp.patch_driver_id

--AND patch_name = '2408149'

ORDER BY pp.last_update_date DESC;

监控用户登陆信息

SELECT fu.user_name,

frv.responsibility_name,

ff.user_form_name,

login_form.start_time,

login_form.end_time

FROM fnd_logins                 fl,

fnd_user                   fu,

fnd_login_resp_forms       login_form,

fnd_form_tl                ff,

fnd_login_responsibilities r,

fnd_responsibility_vl      frv

WHERE fl.user_id = fu.user_id

AND fu.user_name LIKE upper('Z%')

AND fl.login_id = login_form.login_id

AND fl.login_id = r.login_id(+)

AND r.responsibility_id = frv.responsibility_id(+)

AND r.resp_appl_id = frv.application_id

AND ff.form_id = login_form.form_id

AND login_form.form_appl_id = ff.application_id

AND login_form.start_time BETWEEN r.start_time AND r.end_time

AND ff.language = userenv('lang')

ORDER BY fl.login_id           DESC,

login_form.start_time DESC;

EBS 11i升级R12的更多相关文章

  1. 11i and R12 Table Count in Different Module

    Advertisement Module 11i Tables R12 Tables New Tables AR 551 616 118 BOM 264 337 73 GL 186 309 140 A ...

  2. ERP_Oracle Erp 11i 和 R12的区别概述(概念)

    2014-06-26 Created By BaoXinjian

  3. 11i和R12配置JAR包

    R11:$IAS_ORACLE_HOME/Apache/Jserv/etc/jserv.properties R12: 方法1:直接解压JAR包放到$JAVA_TOP下: 方法2:编辑:$ORA_CO ...

  4. EBS 11i 的工作流列表

    总帐模块(GL) GIS(Global Intercompany System)通知 GL自动分配 GL成批分配流程 GL分配流程 GL过帐流程 GL经常性日记帐流程 PA分配组流程 日记帐审批 应付 ...

  5. oracle ebs 11i > concurrent programs –> request group –> responsibility

    --concurrent programs --request group --responsibility SELECT fr.responsibility_key,       fr.respon ...

  6. Oracle EBS 11i下载的软件如何制作成linux使用的iso文件

    1.cd \soft\ebs11i 2.unzip Bxxxxx.zip Disk1 3.mkisofs -o zj.iso -R -v Disk1 mkisofs -o zj.iso -R -v D ...

  7. Oracle EBS 11i x86-64 的预安装

    1.EBS11i的软件组成,28个zip包 Oracle ApplicationsOracle Application with NLSOracle Database technology stack ...

  8. Oracle EBS R12文件系统结构(学习汇总网上资料)

    Oracle EBS R12在服务器端文件结构如下: 顶层目录下面分为 1)inst --–跟ebs整个实例(instance)相关的配置信息以及其他信息 2)  db   ---主要存储DB层的信息 ...

  9. 查找EBS中各种文件版本(Finding File Versions in the Oracle Applications EBusiness Suite - Checking the $HEADER)

    Finding File Versions in the Oracle Applications EBusiness Suite - Checking the $HEADER (文档 ID 85895 ...

随机推荐

  1. js 删除节点,jquery遍历通过内容定位节点

    $(".class1 .class2").each(function (index, item) { var gettedValue = $(item).find(".c ...

  2. R画散点图、线型图、箱型图、直方图基本知识

    1.导入数据 2.散点图 plot(iris[,1]~iris[,4],xlab='Length',ylab='Width',col='red',main='Length VS Width')

  3. maven tomcat7 远程热部署

    在maven项目开发中,一般推荐使用jetty进行开发调试.但是在项目发布的时候要求使用tomcat7作为发布服务器,为此在maven中配置了tomcat7插件,以支持项目在外部tomcat7进行远程 ...

  4. mac下将根目录/更改组到普通用户,导致sudo不能用

    背景:这是个很愚蠢的故事,我更改了根目录下所有文件的拥有者为普通用户[chown -R xxx / ].结果sudo/su命令都不能用了……   问题:一旦用sudo命令或su命令就提示: sudo: ...

  5. .net的内置对象

    一 . 获取客户端,服务器端信息: Response.Write("客户端信息:"); Response.Write("<br>浏览器类型,版本:" ...

  6. 【校招面试 之 C/C++】第29题 C/C++ 关键字extern

    1.extern "C" extern "C"的主要作用就是为了能够正确实现C++代码调用其他C语言代码.加上extern "C"后,会指示 ...

  7. mysql优化概述4

    一.分区 1.分区概念 将某张表数据,分别存储到不同的区域中. 每个分区,都是独立的表,都要存储该分区的数据,索引信息. 2.创建分区 创建表并指定分区的选项 create table 表名 ( 定义 ...

  8. Laravel中用GuzzleHttp

    阅读数:14715 今天项目中用到GuzzleHttp,开始不知道怎么用,其实还是很简单的. 直接在项目根目录,输入以下命令 composer require guzzlehttp/guzzle 1 ...

  9. dotnet core 发布环境变量配置 dev/stage/prod

    https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/environments?view=aspnetcore-2.2 https://d ...

  10. js 数组去重的三种方法(unique)

    方法一: Array.prototype.unique=function(){ var arr=[];//新建一个临时数组 for(var i=0;i<this.length;i++){//遍历 ...