Hi,
The STR file can be modified and program updates distributed via a portable
"STR" within certain boundaries.
You cannot make a change to the STR which would change the layout of the
data files, ie the tables, so anything which adds, removes or changes the
Field Format on a panel, should not be done using the portable STR. If you
need to change these then you need to export the data out when the changes
is made and reimport after the change.
If you use :I incrementing number fields then updating an STR will be a
problem, as the STR file holds the value for the next record. If you want
your application to have a "portable" STR then you need to replace all the
:I field, with a technique described in Ralph Alvy' book about using
Recursive Panel Links for producing an incrementing number... (The concept
is simple you link a panel back to itself, and by using a reversed index,
when traversing the link you arrive at the highest used incrementing number,
you can add back your increment using a formula through that link to
increment the counter for the newly created record). As an aside, using the
recursive link for numbering give a lot more flexibility, as you can choose
the increment or decrement value, or you can create complex incrementing
number patterns which can include alpha characters. One which I use alot is
an incrementing number with a generated check digit, so I might have a
sequece 0016, 0021, 0037,0049 where first 3 digits are the incrementing
number and the the final digit is a check digit
On the other hand you can use a "portable" STR to change field formulae,
link definitions, reports, colours, etc. If you change an index, then you
need to "bed" the new STR in by starting it with an Index all (the easiest
way to do that, is as soon as you have updated the STR, start the updated
application with the /IND startup switch.
For the web application work I am now doing with DP, most of the application
logic is in reports, and changing reports with a portable STR is a piece of
cake, providing you do not have :I incrementing number fields.
I saw a complaint that DP forces you to empty data from the database before
you can make a change to the data structure, with the implication that other
products do not work that way. I think that most products do empty the data
first, it is just that the application interfaces usually do that step for
you without you knowing, by creating a copy of the new structure and then
copying the old records back into the new one, then deleting the old and
renaming the new. There are very few database management systems which
permit a totally on-the-fly change to the data structures, and I think they
all need exclusive access by the definer for that time that the conversion
is taking place.
Regards
Brian
----- Original Message -----
From: "Don Codling" <[EMAIL PROTECTED]>
To: "Dataperfect Users Discussion Group" <[email protected]>
Sent: Monday, April 16, 2007 11:13 AM
Subject: Re: [Dataperf] Modifying structure file
April 15, 2007
Thank you all. I see I can't change indexes, but the other things I'm
interested in can be done without a problem. I appreciate the help.
Don Codling
WP 12.0.0.602
DP 2.6x
Windows XP home, SP2
512 MBytes RAM
Bill Richardson wrote:
** Reply to note from Don Codling <[EMAIL PROTECTED]> Sun, 15 Apr
2007 20:53:58 -0300
| Can I make those kinds of changes in a client's database by giving the
| client a modified Structure (.str) file to replace the existing one?
| That is, can I make the changes on a copy of the database on my
| computer, & simply replace that one file in the client's database? Or
| is it necessary to replace all of the client's files even for such
| changes? | | If I can just change the structure file, I can add
reports, change
| colours, etc, for a client, without interrupting his use of his
| database & its data.
Check out Mastering DataPerfect, pages 418 and following. It's not a
simple answer.
Bill
--------------------------------------------
* Wm. W. Richardson *
* Phone: 903/893-0506 *
* FAX: 903/893-7890 *
* Running at Warp speed under OS/2 *
--------------------------------------------
_______________________________________________
Dataperf mailing list
[email protected]
http://lists.dataperfect.nl/mailman/listinfo/dataperf
_______________________________________________
Dataperf mailing list
[email protected]
http://lists.dataperfect.nl/mailman/listinfo/dataperf
_______________________________________________
Dataperf mailing list
[email protected]
http://lists.dataperfect.nl/mailman/listinfo/dataperf