Try OpenEdge Now
skip to main content
Managing ABL Applications
Deployment Considerations : Initial Deployment : Time-stamp r-code

Time-stamp r-code

This section provides an overview of the steps to follow to deploy an application using time-stamp-based r-code when you are done developing and testing your application. For a complete discussion of time-stamp-based r-code, see R-code Features and Functions.
Note: Time-stamp r-code is supported for backward compatibility only.
To deploy an application using time-stamp-based r-code:
1. Decide whether to restrict database access — If you deploy your application to users with full development OpenEdge products, the users can write their own applications to both access and modify the application database. Depending on the nature of your application, you might not want this to happen. To restrict access to the database, you can use the DBRSTRCT utility that comes with OpenEdge. For more information about using this procedure, see Restricting database access .
If you decide to restrict access to the database, you must physically deploy a copy of your application database with your application, because it is not possible for users to build your database at their site. Databases are not portable, so you must generate a copy of the database for each target platform. Then you must run the DBRSTRCT utility on each platform against all of the databases.
In general, restricting access to the database makes it more difficult to initially deploy applications. The development site must:
*Generate a database for each platform
*Compile the application against each database
*Save copies of each database and each r-code tree
Restricting the database removes any advantage that the portability of r-code gives you. However, it does ensure that the database schema cannot be modified.
2. Build a database for each target platform — Time-stamp-based r-code is closely coupled with the application database—both the database time stamps and the r-code time stamps must match for the application to run. It is therefore necessary to build the database on each target platform before you compile your application. To build the database, you can copy an empty database to your target platform, then load a .df file. You can also load .d files into the database.
After you create r-code for each target platform, you need to duplicate the r-code and database as a preliminary step to creating your distribution media. At your development site, you must keep a copy of the application database for each target platform.
3. Compile your procedures and include files — As described in Choosing a Code Format r-code is not completely portable. For each combination of factors requiring a separate compilation, you have to generate and keep track of a different code tree at the development site. To compile the code, you need a full development OpenEdge product. Once you have generated the necessary code trees, you can duplicate the r-code when you create your distribution media.
Unless you explicitly specify the -tstamp parameter when you start OpenEdge, OpenEdge generates CRC-based r-code files at compilation.
4. Transfer text files — You must transfer any .d files that are part of your application to the target platform. This is a preliminary step to creating your distribution media, which must be created on the target platform.
There is more than one way to transfer files. For example, you can use FTP or other protocols. You can also put the files on CD or other storage media and physically transport the files.
5. Transfer r-code files — To aid in moving r-code files between platforms, you can use the BUNDLE utility. For more information about the BUNDLE utility, see Using the BUNDLE utility .
6. Provide a dump/load facility — If users have the 4GL Development System, they have full dump/load capabilities. If users do not have these products, you must provide a dump/load facility. If the database is restricted, you must supply r-code files to dump and load. For more information, see Dumping and loading .
Note: The dump/load procedures should be considered part of your application. The decision to distribute r-code versions of your application procedures applies to the dump/load procedures as well.
7. Provide an install utility — You must provide a way for the users to install your application. If they do not have an OpenEdge product installed, they must install OpenEdge before they can use your application. You can create one install for both OpenEdge and your application. To do this, create an install program using a third-party tool, such as Installshield, and call the OpenEdge Install batch mode from within it.
8. Provide a startup routine — You must provide a way for users to start the application. You can either write a script to do this or provide adequate documentation.
9. Provide documentation — You must provide users with enough documentation to use your application and to perform the previous tasks if you do not automate them.
10. Provide online help — You might want to provide online help for your application.
11. Prepare distribution media — You must prepare your distribution media. It should include all:
*Application database
*All procedure and include files (or application r-code if the database is restricted), and dump/load procedures
*All .df (unless the database is restricted) and .d files
*All scripts
*All bitmap files, if any
*All DLLs, if deploying in MS-Windows
*All help files
*All online documentation