dump datadef and seqvals

Adje

New Member
Hi, I am quite new in Progress. Hope you can help me out.
frequently we have to make a dump from a database. To dump the tables I use a script. It would be nice to use also a script for "datadefinitions", 'Sequences Current values" and "User table contents".
I did already some research, and I know that it has something to do with prodict, but that is all I know.

Anyone a solution?
 

Casper

ProgressTalk.com Moderator
Staff member
something like this:

Code:
DEF NEW SHARED VAR user_env AS CHAR EXTENT 35 NO-UNDO.
DEF NEW SHARED STREAM logfile.
 
CREATE ALIAS "DICTDB" FOR DATABASE VALUE(LDBNAME(1)) NO-ERROR.
RUN prodict/dump_df("all", LDBNAME(1) + ".df", SESSION:CPINTERNAL).
 
user_env[2] = "_user.d".
user_env[5] = SESSION:CPINTERNAL.
RUN prodict/dump/_dmpuser.

HTH,

Casper.
 

Casper

ProgressTalk.com Moderator
Staff member
Ah also sequences, then try this (only works for OE 10.X):

Code:
DEF NEW SHARED VAR user_env AS CHAR EXTENT 35 NO-UNDO.
DEF NEW SHARED STREAM logfile.
 
/* sequences */
DEFINE STREAM sOut.
DEFINE VARIABLE iSize AS INTEGER NO-UNDO.
 
CREATE ALIAS "DICTDB" FOR DATABASE VALUE(LDBNAME(1)) NO-ERROR.
RUN prodict/dump_df("all", LDBNAME(1) + ".df", SESSION:CPINTERNAL).
user_env[2] = "_user.d".
user_env[5] = SESSION:CPINTERNAL.
RUN prodict/dump/_dmpuser.
 
/* dump sequence current-value */
FIND FIRST DICTDB._Db NO-LOCK.
IF NOT CAN-FIND(FIRST DICTDB._Sequence OF _Db WHERE NOT
DICTDB._Sequence._Seq-name BEGINS "$") THEN DO:
MESSAGE "There are no sequences to dump." SKIP
"The output file has not been modified.".
RETURN.
END.
/* DUMP values in _seqvals.d */
OUTPUT STREAM sOut TO _seqvals.d NO-ECHO NO-MAP NO-CONVERT.
FOR EACH _sequence OF _Db WHERE NOT _Sequence._Seq-name BEGINS "$":
EXPORT STREAM sOut
_Sequence._Seq-Num
_Sequence._Seq-Name
DYNAMIC-CURRENT-VALUE(_Sequence._Seq-Name,LDBNAME(1)).
END.
/* some trailer information */
PUT STREAM sOut UNFORMATTED "." SKIP.
ASSIGN iSize = SEEK(sOut).
PUT STREAM sOut UNFORMATTED "PSC" SKIP.
PUT STREAM sOut UNFORMATTED "codepage="
if SESSION:CPINTERNAL <> ?
then SESSION:CPINTERNAL
else "UNDEFINED" SKIP.
PUT STREAM sOut UNFORMATTED "." SKIP
STRING(iSize,"9999999999") SKIP.
/* ready :) */

HTH,

Casper
 

jkuhns

New Member
I'm having a little problem with dump_df in 10.1C. No matter what I try, it always ends with a "Press spacebar to continue." I need this to run totally unattended, what am I doing wrong?
 
Top