Moving APPX Applications and Data Between Platforms

The above title is not accurate, but it does represent a typical migration that these instructions are designed to describe. An accurate title would be "Moving APPX files between platforms of differing 'Endians'", but if you don't know what an Endian is, that's not very useful.

Most Intel and RISC platforms use different 'Endian's, or byte ordering. The first Endian type (typically Intel chip based) includes Windows systems, Linux, NCR/AT&T, and SCO Unix platforms. The 2nd Endian type includes most other Unix platforms (HP-UX, AIX, Itanium, etc).

Depending on the method you use it might be necessary to perform special processing to move APPX files transported between the two Endian types of platforms. When moving applications between systems with the same byte ordering you can just copy the files directly (i.e., Windows to Linux, AIX to HP-UX).

IMPORTANT: You cannot change versions as the same time as you move Applications between platforms. Both systems must be running the same version of APPX.


Applications - Method 1 - File by File (brf format)

This is the original approach for moving files, and requires you to process the files when moving them between platforms. This works for all versions of APPX. Follow these steps:

1. In 3)System Admin, 3)Database/Applications, 5)Design File Management for your Application, perform 8)Export.

2. Navigate to the $APPXPATH/<version>/<application>/Portdata directory that this created. Note that the files you just created all have a ".dat" suffix. We call this 'brf' format.

3. Convert your brf formatted exported data from Portdata format into ASCII format by performing the following. (You can put this into a script/batch file):

appx -e=ATRIBUTE
appx -e=AUDHIST
appx -e=CHILD
appx -e=CHR
appx -e=DICTNARY
appx -e=DOCUMENT
appx -e=DOMAIN
appx -e=EXCEPT
appx -e=FIELD
appx -e=FRAME
appx -e=IMAGE
appx -e=ITEM
appx -e=PARAM
appx -e=PROCESS
appx -e=RECORD
appx -e=RESNAMES
appx -e=RESOURCE
appx -e=RIDNEXT
appx -e=ROW
appx -e=SAVTRACE
appx -e=SELECT
appx -e=SORT
appx -e=STMT
appx -e=TOKEN
appx -e=WIDGET
appx -e=XLAT

4. On the target system go to 3)SysAdmin, 3)Database/Applications, 1)Applications, create your Application (if it doesn't already exist).

5. In 3)Database/Applications, 5)Design File Mgmt for your Application, run 3)Create Files (if they don't already exist).

6. If it doesn't already exist, create the directory $APPXPATH/<version>/<application>/Portdata on the target system. Move your ASCII-formatted export files (without the *.dat suffix) into this directory. Use a binary transfer.

7. If your $APPXPATH/<version>/<application>/Portdata contains any *.dat files, delete, move, or rename them.

8. Convert the ASCII-formatted export files into brf format, by running the following commands:

appx -i=ATRIBUTE
appx -i=AUDHIST
appx -i=CHILD
appx -i=CHR
appx -i=DICTNARY
appx -i=DOCUMENT
appx -i=DOMAIN
appx -i=EXCEPT
appx -i=FIELD
appx -i=FRAME
appx -i=IMAGE
appx -i=ITEM
appx -i=PARAM
appx -i=PROCESS
appx -i=RECORD
appx -i=RESNAMES
appx -i=RESOURCE
appx -i=RIDNEXT
appx -i=ROW
appx -i=SAVTRACE
appx -i=SELECT
appx -i=SORT
appx -i=STMT
appx -i=TOKEN
appx -i=WIDGET
appx -i=XLAT

9. In Design File Management, perform 7)Import.

10. Go to Application Design and run 'Sync Design Elements' (on the Utilities tab in GUI, or 3) Utilities, 6) Toolbox, 11) Conversion Utilities, 1) Synchronize Design Elements in character mode).

11. Process your Data Dictionary, create your Enduser Datafiles, and go!

Applications - Method 2 - File by File (CSV format)

This option is similar to the first approach, except the files are created in CSV format and do not need to be converted via appx -e/appx -i. This option is available in 5.3.0 and higher. Follow these steps:

1. In 3)System Admin, 3)Database/Applications, 5)Design File Management for your Application, perform 20) Export Selected Design Files (CSV). The files will be created in the $APPXPATH/<version>/<application>/Portdata folder, and will have a .csv suffix.

2. On the target system go to 3)SysAdmin, 3)Database/Applications, 1)Applications, create your Application (if it doesn't already exist).

3. In 3)Database/Applications, 5)Design File Mgmt for your Application, run 3)Create Files (if they don't already exist).

4. If it doesn't already exist, create the directory $APPXPATH/<version>/<application>/Portdata on the target system. Move the csv files into this directory.

5. In Design File Management, perform 19) Import Selected Design Files (CSV).

6. Go to Application Design and run 'Sync Design Elements' (on the Utilities tab in GUI, or 3) Utilities, 6) Toolbox, 11) Conversion Utilities, 1) Synchronize Design Elements in character mode).

7. Process your Data Dictionary, create your Enduser Datafiles, and go!

Applications - Method 3 - Consolidated Portdata File

In Release 4.2.0 a Single File Design File import/export option was added. This creates a single file containing the entire application that can be moved to the target system. It does not require any special processing (i.e., appx -e or appx -i).

To use this option, follow this procedure:

1. In 3)System Admin, 3)Database/Applications, 5)Design File Management for your Application, perform 8) Export All Design Files (Single File). This will prompt for a location and name for the export file, defaulting to $APPXPATH/<version>/<application>/PORTDSGN.txt

2. After the export is complete, move this file to the target system. Be sure and use a binary, and not an ASCII type transfer. You can put it anywhere, but you will save some typing if you put it in the same location on the target system, i.e., $APPXPATH/<version>/<application>.

3. On the target system go to 3)SysAdmin, 3)Database/Applications, 1)Applications, create your Application (if it doesn't already exist).

4. In 3)Database/Applications, 5)Design File Mgmt for your Application, run 3)Create Files (if they don't already exist).

5. In Design File Management, perform 9) Import All Design Files (Single File).

6. Go to Application Design and run 'Sync Design Elements' (on the Utilities tab in GUI, or 3) Utilities, 6) Toolbox, 11) Conversion Utilities, 1) Synchronize Design Elements in character mode).

7. Process your Data Dictionary, create your Enduser Datafiles, and go!

NOTE: In all releases up to 5.4.3, this option will not transfer the AUDTHIST file. This file contains the audit history for the application. Your application will still run without this file, so it is optional. If you do want to transfer the audit information, transfer the file manually using either of the file by file approaches above.


Data - Method 1 - File by File (brf format)

This approach requires you to process the files when moving them between platforms. This works for all versions of APPX. Follow these steps:

1. In Data File Management, perform 8)Export.

2. Navigate to the $APPXPATH/<Database>/<application>/Portdata directory that this created. Note that the files you just created all have a ".dat" suffix. We call this 'brf' format.

3. Convert your brf formatted exported data from Portdata format into ASCII format by running 'appx -e=<filename>' for every file in the Portdata directory.

4. Move your ASCII-formatted export files (the ones without the '.dat' suffixes) to the target system in the $APPXPATH/<database>/<application>/Portdata folder. Create it if necessary. Be sure and use a binary, and not an ASCII type transfer.

5. If your $APPXPATH/<Database>/<Application>/Portdata contains any *.dat files, delete, move, or rename them.

6. Convert the ASCII-formatted export files into brf format, by running 'appx -i=<filename>' for every file in the Portdata directory

7. In Data File Management on the target system, perform 7)Import.

Note that Window systems are not case sensitive, but Linux/Unix systems are. If the target system is a Linux/Unix system, you can use a script like the following in place of step 6) to ensure the file names are the correct case:

#
# shell script to convert all filenames in a directory to uppercase
# and run appx -i=<filename> prior to import into APPX.
#

for file in *
do

echo $file>fnamelow
tr [a-z] [A-Z] <fnamelow>fnamecap
LOWER=`<fnamelow`
UPPER=`<fnamecap`
echo $LOWER $UPPER
mv $LOWER $UPPER
appx -i=$UPPER

done
rm fnamelow fnamecap
chmod 777 *
chown appx *

Data - Method 2 - File by File (CSV format)

This option is similar to the previous approach, except the files are created in CSV format and do not need to be converted via appx -e/appx -i. This option is available in 5.3.0 and higher. Follow these steps:

1. In Data File Management, perform 20) Export Files (CSV). The files will be created in the $APPXPATH/<Database>/<application>/Portdata folder, and will have a .csv suffix.

2. If it doesn't already exist, create the directory $APPXPATH/<database>/<application>/Portdata on the target system. Move the csv files into this directory.

5. In Data File Management on the target system, perform 19) Import Files (CSV).

Comments:

Read what other users have said about this page or add your own comments.



Edit | Attach | Watch | Print version | History: r4 < r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r3 - 2016-01-22 - JeanNeron
 
  • Edit
  • Attach
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback