Consultor Eletrônico



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).