My requirment is
A program (ZMIGRATE_TRANSPORT) exists to fill a transport request with all objects that need to be migrated. The transport request is created using SE10 (workbench request). It is given in the selection screen of the program.
All objects are registered in table ZMIG. The flag ZMIG-ZMIGRATE is switch on when the objects needs to be migrated.
At the moment, it is able to fill the request with all objects. This is fine for the initial migration.
The purpose of the development is to be able to fill the transport request with objects modified since that initial migration.
- In the selection screen, add a flag u201CDelta transportu201D (ZMIG_REQUEST-DELTA).
- In routine u201CSaveu201D, update the table ZMIG_REQUEST with the transport request and the field delta (at the moment, that table is filled manually). Table will contains all transport requests used for the migration of Gold;
- If the flag is switch off => same processing as now (routine select_data_clean_user and select_data_add called in select_data.).
- If the flag is switch on, replace the routine above with the following logic. Request should contains all objects:
o Flagged in zmigrate (or internal table: T_mig);
o Included in a request released after a request that is not include in request list (table ZMIG_REQUEST).
This is a five steps process:
a. Constitute an 1st internal table with the objects key (program, object, object_name) and the date of the last request released where that object is included and included in ZMIG_REQUEST;
b. Select all requests released after the initial request and not include in ZMIG_REQUEST. Select all objects related to these objects and create a 2nd internal table with the object key and the release date of the request;
c. For all objects in this 2nd internal table, get the related record in the 1st table. If the date of the 2nd table is older than the one in the 1st table, it should be included in the new request (internal table t_071_ins). If the object is not in the 1st table, it should be also added to the new request;
d. All objects flagged as to be migrated (t_mig-zmigrate) that are not present in the 1st internal table or in the 2nd internal table are to be included in the new request
e. All objects that in are in the request (table t_e071) but I not identified as to be inserted (t_e071_ins) as to be removed from the request (so, added in t_e071_del).
Tables: transports request are in table E070 (header) and E071 (objects). Object for migration: table ZMIG.
Edited by: mahi reddy on Oct 2, 2008 2:11 PM