load_df.p Documentation

William Wehner

New Member
Hi -

I am researching using load_df.p to apply schema changes using a 4GL script. Is there any documentation for this? I haven't had much luck finding any documentation from Progress about this.

I basically am looking for some information regarding how load_df.p handles errors in the schema. I would feel better if I had some real documentation instead of just trial/error testing.

Regards,
Will Wehner
 
I know this isnt what was asked for, however it would explain the syntax for managing addition/deletions to the schema outside the data dictionary.


Comments:

Progress Software Solution

Location: http://progress.atgnow.com/esprogress/Group.jsp?bgroup=progress&id=p103489

ID: p103489
Title: "Can an incremental df be created without using Create Increment df Utility?"
Created: 04/21/2005Last Modified: 04/21/2005Status: Unverified


Goals:
Can an incremental df be created without using Create Increment df Utility?

Goals:
How to create an incremental df from a script/bat file

Goals:
Is it possible to write a batch procedure to create an incremental df file?


Facts:
OpenEdge 10.x


Fixes:
Yes, you can run prodict/dump_inc.p which calls into the "Create Incremental Df" Utility from either the command line or from within a procedure. This procedure uses environmental variables to answer questions that are asked during the execution of the regular utility.
This is a batch incremental .df utility. The databases that it uses have the following aliases defined:
DICTDB current database (first connected database, "master")
DICTDB2 database chosen to compare against (second connected database, "slave")

Environment Variables:
DUMP_INC_DFFILE : name of file to dump to
DUMP_INC_CODEPAGE : output codepage
DUMP_INC_INDEXMODE : index-mode for newly created indexes
allowed values are: "active", "inactive"
DUMP_INC_RENAMEFILE : name of the file with rename definitions
DUMP_INC_DEBUG :debug-level: 0 = debug off (only errors
and important warnings)
1 = all the above plus all warnings
2 = all the above plus config info

Code-page - support:
code-page = ? :cpstream = UNDEFINED*
code-page = "" : cpstream = (SESSION:STREAM)
code-page = "<code-page>" : cpstream will either be SESSION:STREAM or
UNDEFINED*
*Undefined code page is a special code page which tells Progress not to do any conversion when reading or writing data. As long as there are only ASCII characters this is not a problem but if there are any non-ASCII characters, you run the risk of corrupting them.

Rename object support.
The rename file environmental variable is used to identify tables, database fields
and sequences that have changed names. The format of the file is a comma
separated list that identifies the renamed object, its old name and the new
name. When an object is found missing, this file is checked to determine if
it was renamed. If a matching entry is found, then the object is renamed.
If rename file is “?” Or "" or object not in the file, the missing object is deleted.

The rename file has the following format:
T,<old-table-name>,<new-table-name>
F,<table-name>,<old-field-name>,<new-field-name>
S,<old-sequence-name>,<new-sequence-name>


Here is an example of a UNIX script setting up the environment and running the utility:
#!/bin/sh
DUMP_INC_DFFILE=/tmp/delta.df
DUMP_INC_CODEPAGE=iso8859-2
DUMP_INC_INDEXMODE=active
DUMP_INC_RENAMEFILE=/tmp/master.rf
DUMP_INC_DEBUG=2
export DUMP_INC_DFFILE DUMP_INC_CODEPAGE
DUMP_INC_INDEXMODE \
DUMP_INC_RENAMEFILE DUMP_INC_DEBUG

$DLC/bin/_progres -b -db master \
-db slave \
-p prodict/dump_inc.p > /tmp/dump_inc.log


Notes:
References to Written Documentation:
Progress Solutions:
P103488, "How to create a schema definition file from your application
P103490, "How to create a bulk load df from your application"
P103503, "How to dump data from within your application"
P103504, "How to load a df file from your application"
P103505, "How to load data from within your application"
P103506, "How to load current values of sequences from within your application"
 
if you are unable to find load_df.p, you need to run $DLC/src/extractpl prodict.pl (how I did it). This created a prodict directory in $DLC/src.

or in procedure editor

RUN prolib -extract prodict.pl (I believe that is the format)

to run the program

prodict/load_df.p ("<DFNAME>")

if you wish to load with commiting errors

prodict/load_df.p ("<DFNAME>",yes,"NEW OBJECTS")

if you extract the pl, you can see the documentation in the program,

it should be in $DLC/src/prodict
 
Back
Top