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

In this Document
  Goal
  Solution
     Diagnostic
     Form Versions
     ... Form Versions: Help About
     ... Form Versions: OS/UNIX
     ... Form Versions: OS/UNIX Library
     Java Versions
     ... Java Versions - Via Operating System:
     ... Java Versions - Via SQL:
     ... Java Versions - Via Application:
     Report Versions
     PL/SQL Packages
     Definition Files
     Languages
     Patch Versions
     ... Patch Versions - Oracle Applications
     ... Patch Versions - Server/Database


APPLIES TO:

Oracle Inventory Management - Version: 11.5.10<max_ver> and later   [Release: 11.5 and later ]
Information in this document applies to any platform.
This document includes all versions of Oracle EBS 11i and R12

GOAL

How to find file versions within Oracle Applicatins

SOLUTION

There are many ways to find file versions.  This note will attempt to list some of the most common and benefits of each method listed.

Diagnostic

The quickest way to get versions is to find them all at once using a diagnostic.  This is also great for providing information to Oracle Support to avoid providing one file version after another.  The diagnostics often query information from the patching logs (AD... tables like AD_FILE_VERSIONS) described more below. The AppsCheck diagnostic is a great choice as it is available within the application as a concurrent program. It runs for a series of modules that the user selects and puts the information together in the same file. The AppsCheck is actually called the 'Diagnostics: Apps Check' concurrent program. Read more in Note 156860.1 Order Management Suite Diagnostic Tool (omcheck.sql) or Note 276207.1. Here is an example set of steps for submitting the program:

Steps to submit the concurrent program using an Order Management responsibility:
- Navigation: Reports, Requests > Run Requests
- Submit a Single Request
- Name: Diagnostics: Apps Check
- Parameters:
Application 1: Oracle Inventory
Application 2: Oracle Order Management
Application 3: Oracle Shipping
Application 4: Oracle Warehouse Management
- Submit the request

Form Versions

... Form Versions: Help About

Often the quickest way to get a form version is in the Oracle Application itself choosing Help > About. This works if the form is one that users directly access (although this will not work for all form objects because some are used behind the scenes as references). See the section "Current Form". For example:

----------------------------------------
Current Form
----------------------------------------
Form Application : Inventory
Form Name : INVMWBIV
Form Path : /global/oracle/visus25/apps/apps_st/appl/inv/12.0.0/forms/US/INVMWBIV.fmx
Form Version : 12.0.79
Form Last Modified : $Date: 2010/04/07 02:43 $

... Form Versions: OS/UNIX

Sometimes it is convenient to check the form version with a script maybe because a technical person is checking the version, the form server is down, the form in question is actually a sub-form, etc.  In that case, there are a few places to get the version but the form's compiled code that is executing (.fmx) is often best to get this version. It is located in the product top like $INV_TOP. It is sometimes also interesting to look at the raw source code (.fmb) delivered on the environment in question.  In that scenario, one looks at $AU_TOP/forms. This is where the original source code is and shows with .fmb extension. The .fmb file is generated into a .fmx file. For both of these file types, as they are binary, you would need to use the strings command then grep for the $Header information. For example, find the Material Workbench (INVMWBIV.fmb) version with something like:

$ strings -a $INV_TOP/forms/US/INVMWBIV.fmx |grep '$Header'

$Header: INVMWBIV.fmb 120.101.12000000.30 2008/07/17 07:07  ckrishna noship

... Form Versions: OS/UNIX Library

The form libraries are located in $AU_TOP/resource. The libraries include 2 files: 1) the library file (.pll), and 2) the generated library file (.plx). Both library and generated files are binary. The library file (.pll) can be opened in Oracle Forms. Oracle Forms also is the tool to generate the generated file (.plx). Often patches will mention the version of the source file (.pld). The source file (.pld) is a text version of the library that can be generated from Oracle Forms. The best way to get a library version is to use a strings command on the library file in $AU_TOP/resource. The results show the .pld version. For example:

$ strings -a $AU_TOP/resource/ INVTTMTX.pll |grep '$Header'

FDRCSID('$Header: IGI_DOS.pld 120.5 2005/10/05 08:53:29 vkilambi ship $');
fdrcsid('$Header: INVTTMTX.pld 120.26.12010000.20 2010/07/27 10:17:00 mporecha ship $');

Java Versions

... Java Versions - Via Operating System:

The most common way to get java versions is at the operating system level. The java versions of the Oracle Applications EBusiness Suite are stored in $JAVA_TOP/oracle/apps.  For example:

$ strings -a $JAVA_TOP/oracle/apps/inv/transaction/server/BaseTransaction.class |grep '$Header'

$Header: BaseTransaction.java 115.235.115100.55 2008/12/19 14:09:15 rkatoori ship $
oracl

... Java Versions - Via SQL:

Some java code is also stored in the database. For these java files, one can issue a SQL command to get the version. For example:

Sql>set serveroutput on
Sql>exec fnd_aolj_util.getclassversionfromdb('oracle.apps.inv.transaction.server.BaseTransaction');

>>> Class: oracle.apps.inv.transaction.server.BaseTransaction
$Header: BaseTransaction.java 115.235.115100.55 2008/12/19 14:09:15 rkatoori
ship $

PL/SQL procedure successfully completed.

> />
>>

... Java Versions - Via Application:

1. Login to application.
2. Click on Diagnostics link on top right of the page
3. Click on "Show Pool Monitor" in drop down
4. Click on Sessions icon in the table.
5. Click on Versions link in the left of page
6. In Class Name field:
7. Enter path/filename
Examples:
oracle.apps.inv.transaction.server.BaseTransaction
oracle.apps.ego.extfwk.user.common.EgoExtFwkCache
8. Press Go button and version displays

Report Versions

A report similar to forms can be found on the file system. However, you first must determine the shortname of the report in question. You then look in the specific product directory under reports. Since the report is a binary file, you would use a strings command to convert the binary code into characters, then grep for the version looking for $Header.  For example, find the Bill of Material Structure Report (BOMRBOMS.rdf) version with something like:

$ strings -a $BOM_TOP/reports/US/BOMRBOMS.rdf |grep '$Header'

$Header: BOMRBOMS.rdf 120.5.12000000.5 2008/01/30 22:16  pgandhik noship  

PL/SQL Packages

A PL/SQL Package is most often a routine written in the database. The Oracle Application delivers the source code as well as installing the package into the database.  It is often a good idea to check the version directly in the database to be sure what version you are using.  However, checking the file system for the source code is often a good enough indicator of what is installed since they are normally synchronized.

SQL> select text from dba_source
  2  where
  3  name = upper( 'INV_TXN_MANAGER_GRP')
  4  and line < 3;

TEXT
--------------------------------------------------------------------------------
PACKAGE INV_TXN_MANAGER_GRP AS
/* $Header: INVTXGGS.pls 120.4.12000000.1 2007/01/17 16:33:03 appldev ship $ */
PACKAGE BODY INV_TXN_MANAGER_GRP AS
/* $Header: INVTXGGB.pls 120.55.12000000.15 2007/10/25 11:02:58 ksaripal ship $
*/

You could also check the file system for the version.  This is less accurate as it might not be the version currently used in the database, but generally it is close enough. Note that you do not need the 'STRINGS' command because the package details (.pls) is a string file already. Therefore, you can directly open the file in an editor like vi to see the contents and the version. Or you can "grep" the contents searching for the "$Header" that usually accompanies the version number.  To get the version from the file system using "grep", you can do something like:

grep '$Header' $INV_TOP/patch/115/sql/INVTXGGB.pls

/* $Header: INVTXGGB.pls 120.55.12000000.15 2007/10/25 11:02:58 ksaripal ship $ */

Definition Files

Definition files like .ldt, .xdf, .odf, etc. are similar to PL/SQL in that they are already text files so you can directly open the file to see the version or grep for the version. These files usually store information about setup, object definitions, etc. They will be found on the file system and then are loaded into the database will a specific command like adodfcmp that is used for .odf files. (.odf loads tables and views, .ldt creates indexes, .xdf creates objects like materialized views).  Another interesting command in .odf files is that you can compare the definition listed on the file system to that in the database to confirm that they are the same. Here is an example:

adodfcmp odffile=$ENG_TOP/patch/115/odf.engeeco.odf userid=eng/eng changedb=no priv_shema=system/manager mode=tables touser=apps/apps

Languages

If you are using multiple languages, remember that the objects are often distributed in each language. Therefore, you should check the version of a report, form, etc. in each language.

Patch Versions

... Patch Versions - Oracle Applications

It is sometimes useful to see if a particular patch has been applied. To avoid any confusion, it is often more helpful to first look up the version that the patch delivers and then see if you have that version or higher. However, if you want to see if an Oracle Application patch is applied you can check the patch table or if the bug is logged. Checking for the bug is generally more consistent because you might not have installed the exact patch but received the bug fix in a rollup patch or higher level fix.  You could check the bug table AD_BUGS with something like:

select bug_number, application_short_name "App", bug_status, success_flag, last_update_date
  from ad_bugs 
  where bug_number  ='7425435';

Or the patch table with something like:

select substr(patch_name,1,12) patch_num 
  from ad_applied_patches
 where patch_name like '7425435';

When a patch is applied, version information is also written for each file. This is included in the AD_FILES and AD_FILE_VERSION tables. Sometimes if a patch goes wrong, you apply a test patch, or you manually install/load a file, the versions in the AD tables will be incorrect. However, they still can be useful and the following is an example to query the latest version of a java file (RevisedItemEOImpl.class) :

select b.FILE_VERSION_ID,b.FILE_ID,b.VERSION,b.CREATION_DATE
from AD_FILES a, AD_FILE_VERSIONS b
where a.file_id = b.file_id 
and a.filename like 'RevisedItemEOImpl.class';

FILE_VERSION_ID    FILE_ID VERSION
--------------- ---------- -------
         654136     401028 115.23       
         738571     401028 115.24       
         760052     401028 115.27       
         959429     401028 115.30       
        1018955     401028 115.32       
        1525148     401028 120.36

6 rows selected.

... Patch Versions - Server/Database

A server patch like a database patch is NOT stored in the same place. For database patches, you would look in the 'Inventory'. For example:

$ opatch lsinventory

查找EBS中各种文件版本(Finding File Versions in the Oracle Applications EBusiness Suite - Checking the $HEADER)的更多相关文章

  1. [svc]linux中的文件描述符(file descriptor)和文件

    linux中的文件描述符(file descriptor)和文件 linux为了实现一切皆文件的设计哲学,不仅将数据抽象成了文件,也将一切操作和资源抽象成了文件,比如说硬件设备,socket,磁盘,进 ...

  2. TFS 掩蔽或取消掩蔽工作区中的文件夹

    掩蔽或取消掩蔽工作区中的文件夹 使用掩蔽功能可以阻止用户查看指定的工作区文件夹或者您当前不需要的文件夹.当您在对一个公共父级下的两个或更多个分支中的文件进行操作时,就可以使用掩蔽功能来避免复制不必要的 ...

  3. 查看EBS中BI Publisher的版本

    查看EBS中BI Publisher的版本问题,Oracle提供了如下的几种方法: 从BI Publisher产生的报表文件查看 通过系统已打过的补丁(Patch)来决定,通过补丁号和BI Publi ...

  4. Linux中的文件查找技巧

    前言 Linux常用命令中,有些命令可以帮助我们查找二进制文件,帮助手册或源文件的位置,也有的命令可以帮助我们查找磁盘上的任意文件,今天我们就来看看这些命令如何使用. witch witch命令会在P ...

  5. js/jquery 获取本地文件的文件路劲 获取input框中type=‘file’ 中的文件路径(转载)

     原文:http://blog.csdn.net/niyingxunzong/article/details/16989947 js/jquery 获取本地文件的文件路劲 获取input框中type= ...

  6. Linux的VMWare中Centos7文件查找(find-grep)和vim文本编辑器基操

    一.find文件查找 grep 匹配字段 文件名 ——筛选文件   find查找 语法参数示例 格式: find 查找范围 查找类型 参数   find / -name *.conf   按文件名查找 ...

  7. ORA-00214: control file 控制文件版本不一致

    故障现象:今日学习oracle控制文件移动和修改,发现本机安装oracle数据库启动时只使用了一个控制文件.如下:SQL> select * from V$controlfile; STATUS ...

  8. Android(java)学习笔记167:Java中操作文件的类介绍(File + IO流)

    1.File类:对硬盘上的文件和目录进行操作的类.    File类是文件和目录路径名抽象表现形式  构造函数:        1) File(String pathname)       Creat ...

  9. input file 在开发中遇到的问题 类似ajax form表单提交 input file中的文件

    最近在做项目的过程中遇到个问题,在这里做个记录防止日后忘记 现今的主流浏览器由于ajax提交form表单无法把文件类型数据提交到后台,供后台处理,可是开发中由于某些原因又不得不用ajax提交文件, 为 ...

随机推荐

  1. Linux磁盘及文件系统管理 3---- 文件系统

    1 文件系统 1 操作系统通过文件系统来管理文件及数据,磁盘或分区需要创建文件系统之后才能为操作系统使用,创建文件系统的过程称为格式化 2 没有文件系统的设备称为裸设备 3 常见的文件系统有fat32 ...

  2. #include <amp.h>

    parallel_for_each(av.extent, [=](concurrency::index<1>idx)restrict(amp) {av[idx] += 1; }); //[ ...

  3. CentOS6.5与XP双系统安装

    因为工作的须要,须要安装一个XP系统和一个CentOS系统.依照在网上找到的一些方法尝试了下,结果都不是非常理想.最后,经过尝试和寻找,找到了一个比較方便的方法. 一.分区 本人的电脑硬盘是500G, ...

  4. 傅老师课堂:Java高级应用之Struts2+Spring2+Hibernate3大集成

    开篇一笑:一对情侣,非常恩爱,但男友喜欢说脏话,一天女友提出要带男友回家吃个饭,见见家长,千叮万嘱让男友别说脏话,男友在家憋了一晚上没说一句脏话,天气寒冷,到走的时候女友家长要出来送他们,男友客气的说 ...

  5. LeetCode Day5——House Robber

    问题描述: 意思就是说:给定一个数组,寻找一种选取方法,使得在保证任何两个相邻元素不同时被选的条件下得到的数值总和最大. 1. 递归 设nums为数组首地址,numsSize为数组的大小,max[i] ...

  6. C#运用实例.读取csv里面的词条,对每一个词条抓取百度百科相关资料,然后存取到数据库

    第一步:首先需要将csv先装换成datatable,这样我们就容易进行对datatable进行遍历: /// 将CSV文件的数据读取到DataTable中 /// CSV文件路径 /// 返回读取了C ...

  7. Java SE 8 for the Really Impatient读书笔记——Java 8 Lambda表达式

    1. lambda表达式的语法 lambda表达式是一种没有名字的函数,它拥有函数体和参数. lambda表达式的语法十分简单:参数->主体.通过->来分离参数和主体. 1.1 参数 la ...

  8. Android Studio 项目目录结构 英文版

    I don't know if this is because of the Gradle Build System (I'd wager it is), but I'll tell you what ...

  9. Apache-Tomcat 和 Apache-Maven配置

    1.1.下载安装文件 官网对应版本下载,例:apache-tomcat-8.0.35-windows-x64.zip 1.2.指定对应的安装目录: 例:D:\JavaSoft\apache-tomca ...

  10. 有了bootstrap,为什么还要做amaze ui

    1.Bootstrap介绍Bootstrap,来自 Twitter,是目前很受欢迎的前端框架.Bootstrap 是基于 HTML.CSS.JAVASCRIPT 的,它简洁灵活,使得 Web 开发更加 ...