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. OC基础13:数字、字符串和集合2

    "OC基础"这个分类的文章是我在自学Stephen G.Kochan的<Objective-C程序设计第6版>过程中的笔记. 17.Foundation框架的数组是有序 ...

  2. js添加、删除Cookie

    //cookie function addCookie(objName, objValue, objHours) { //添加cookie var str = objName + "=&qu ...

  3. eclipse 中的凝视 快捷键

    (1)Ctrl+Space 说明:内容助理. 提供对方法,变量,參数,javadoc等得提示, 应运在多种场合,总之须要提示的时候可先按此快捷键. 注:避免输入法的切换设置与此设置冲突 (2)Ctrl ...

  4. [置顶] viewPager控制滑动速度和时间

    遇到如下问题:viewpager滑动时如果想跳过很多条直接到最后一条,中间会黑屏.黑屏是因为中间的view没有加载出来的缘故. stackOverflow上看到的解决方案,在这里记录一下, publi ...

  5. spark安装mysql与hive

    第一眼spark安装文件夹lib\spark-assembly-1.0.0-hadoop2.2.0.jar\org\apache\spark\sql下有没有hive文件夹,假设没有的话先下载支持hiv ...

  6. VIM 中 查看{}是否闭合,按%跳转到下个闭合

    VIM 中 查看{}是否闭合,按%跳转到下个闭合

  7. maven profile参数动态打入

    第一: 1,如果是resources目录下文件profile参数中动态打入,在pom.xml中的build标签中加入如下配置: <resources> <resource> & ...

  8. nodejs实现本地上传图片并预览功能(express4.0+)

    Express为:4.13.1  multyparty: 4.1.2 代码主要实现本地图片上传到nodejs服务器的文件下,通过取图片路径进行图片预览 写在前面:计划实现图片上传预览功能,但是本地图片 ...

  9. sql中的split方法

    ALTER function [dbo].[f_split](@SourceSql varchar(8000),@StrSeprate varchar(10))returns @temp table( ...

  10. zoj1093 Monkey and Banana

    写到现在,发现1025,1076之前写的都是同一种题型:关于DAG的最长路(最短路). 首先要建立模型,根据关系,确定点和点之间的关系,构成一个DAG,前面几道题每个点之间距离默认为1,这一道题不同点 ...