Kbase 15751: General steps for using GROUP-ASSIGN with record add / copy
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  5/10/1998 |
|
General steps for using GROUP-ASSIGN with record add / copy
With Version 8.0, the GROUP-ASSIGN link is effective only during
record assignment. In order to extend its functionality to record
add and copy in the ADM, a few methods must be
modified. What follows is intentionally in outline format.
The 4GL developer is ultimately responsible for ensuring the proper
performance of the resultant changes to the ADM within their
application environment. Detailed assistance in implementation of
this or other changes to the ADM can be obtained from PROGRESS
Consulting Services.
The ADM module tableio.i contains adm-assign-record, adm-add-record
and adm-copy-record procedure methods. The add and copy routines
can be modified to pass the add or copy event to the
GROUP-ASSIGN-TARGET(s) which will cause initial values to be
displayed. This would be done using
RUN notify ('add-record, GROUP-ASSIGN-TARGET':U)
(or 'copy-record...'), similar to the statement in adm-assign-record.
The adm-assign-record procedure would be changed so that if there
is a GROUP-ASSIGN-SOURCE, the parent record is retrieved when the
assign is run from each GROUP-ASSIGN-TARGET.
Note that if the group assign is operating on multiple tables,
all the tables should be created or copied. To update the newly-
created record(s), you'll have to get each rowid from the
assign targets, FIND the record and update the relevant fields.
You can obtain the rowid using RUN send-records in the assign-source
from within the assign-target.
When send-records is called, the output should be converted using
the TO-ROWID function on the returned string. Then that ROWID
variable can be used in a FIND on the appropriate entry in
adm-tableio-table to get newly-created record to be updated.
Note: This functionality is now included in the Progress ADM
version 1.1 which is included in Progress 8.1A. This information is
provided for use by customers who prefer to implement the feature
in Progress 8.0.
References to Written Documentation:
UIB Developer's Guide, chapters 7 through 14.
Progress Software Technical Support Note # 15751