Kbase 20922: Do I Need to Recompile .r Code When Porting/Deploying an Application ?
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  4/29/2009 |
|
Status: Verified
GOAL:
R-code portability Guidelines
GOAL:
When do I need to recompile?
GOAL:
Do I need to recompile my .r code when porting/deploying an application?
GOAL:
Do I need to recompile between platforms?
GOAL:
Is r-code portable across platforms?
GOAL:
Is .r code portable across machines?
GOAL:
Do I need to recompile when porting applications?
GOAL:
Do I need to recompile when I move application from windows to UNIX?
GOAL:
.r code portability
GOAL:
r-code compatibility
FACT(s) (Environment):
All Supported Operating Systems
Progress/OpenEdge Versions
FIX:
Progress r-code is generated by the compiler when it compiles a procedure or an application. The redeploy or port the r-code, it may or may not need to be recompiled. For example, the source code recompilation is required if one of the following factors changes:
1. The display architecture: When an application needs to be ported from a Graphical User Interface ( GUI ) display environment to a Character User Interface ( CHUI or TTY ) or vice versa. For example, to deploy a Windows GUI application on a TTY or CHUI client, the code needs to be recompiled because of the change in the application's display architecture.
2. The database type: OpenEdge, ORACLE, ODBC-compliant, and DB2/400: Code that does not access any Progress or non-Progress database does not belong to any database type, and therefore does not involve a change of database types. An example of such code is a date-conversion procedure. For example, if you port a character application that is compiled against an ORACLE DataServer on a Sun workstation to a character application that is accessing an ORACLE DataServer on a Hewlett-Packard (HP) workstation, you do not have to recompile (assuming that the ORACLE release level does not change). However, if you port a character application that is compiled against the DataServer for ORACLE on a Sun workstation to a character application that accesses the DataServer for ODBC on an HP workstation, you must recompile because the database type has changed.
3. The r-code version: If you port to a lower or higher major release. For example when upgrading from Progress 9.x to OpenEdge 10.x or visa versa.
4. The platform architecture (32-BIT vs. 64-BIT) - starting in 10.1A: If you port r-code generated on a 32-BIT platform to a 64 bit platform or vice versa. For example when migrating an OpenEdge 10.1A application from a Windows 32-bit platform to an HP-UX 11 64-BIT platform.
See Progress Solution P124103 for further details.
Porting across r-code versions sometimes requires recompiling. The r-code version always changes between major releases. It may or may not change between minor point releases depending on the added functionality.
You must recompile:
If you port between major releases (e.g. 10 <-> 9)
You may or may not need to recompile:
If you port to a lower point release within a major release, (e.g. 10.1 -> 10.0) it is highly recommended that you recompile.
If your r-code may be taking advantage of functionality not available in the target release.
You do not need to recompile:
If you port to a higher point release within a major release. (e.g. 10.0 -> 10.1)
Note: Some bug fixes may require recompilation.
See Progress Solution 20245 for further details on how data definitions affect .r portability).