Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

How should be move custom objects from one landscape to a new landscape considering all the dependencies(like any custom tables)?

Former Member
0 Kudos

Hi Experts,

There is a requirement to move custom developments from one landscape to a newly created system.

The challenge here is to find out all the custom developments which must be moved first as dependencies then actual custom object should move.

Consider a scenario where a report program has to be moved from system A to system B and the report program is using a custom tab ZZCUST then that custom table must move first from system A to system B before the actual report program is moved. (in this case, there might be some domain and data elements which must be moved before the table ZZCUST is moved).

Is there any way out which can minimize this manual effort of checking every such dependent object? or is there a way we can develop such tool/program which can automate this process?

Thank you

Mohit

1 ACCEPTED SOLUTION

former_member223873
Participant
0 Kudos

Hi, you should check SAPLINK & ZAPLINK projects, they are designed for what you need. Both of them have some problems still, but are +- usable.

Second (from SAP side of view) probably more clear way is to create a fresh workbench transport with no destination, assign to it manually all the objects you need (reports, talbes, elements, table content?), release it, download both files datafile + cofile (you can use transaction CG3Y), upload them in the destination system (CG3Z) to correct location (see AL11), append them to the import queue (STMS_IMPORT) and just import.. not so easy but works

Br

Bohuslav

13 REPLIES 13

Former Member
0 Kudos

I doubt you can do what you want via standard transactions. Doing it from abap could be very difficult on the other hand. Will keep listening to this thread, as solution would be very appreciated.

former_member223873
Participant
0 Kudos

Hi, you should check SAPLINK & ZAPLINK projects, they are designed for what you need. Both of them have some problems still, but are +- usable.

Second (from SAP side of view) probably more clear way is to create a fresh workbench transport with no destination, assign to it manually all the objects you need (reports, talbes, elements, table content?), release it, download both files datafile + cofile (you can use transaction CG3Y), upload them in the destination system (CG3Z) to correct location (see AL11), append them to the import queue (STMS_IMPORT) and just import.. not so easy but works

Br

Bohuslav

0 Kudos

Hello, Thanks for the response, I have used ZSAPLINK to download the objects and to create XML of the objects, however, I am looking for a program which can fetch the custom objects associated to a transaction / program (custom database tables, structures, function modules etc) so that while moving an object in a new system it should not through any run time or syntax errors.

What I understand is that everything in SAP is stored in the database tables (apart from buffer content) so I am assuming that any program (SE38 program) should also be stored in any table(it's code not it's entry in TADIR) from where we can search for such required set of statements to know the different objects on which the program is dependent. It is just a thought, I am not sure if it's realization is possible.

0 Kudos

it is surely possible, you can read the whole program (include, class, method...) content to an internal table. However parsing everything could be something you do not want to do.

0 Kudos

There are thousands of objects for whom this excercise is required. I am ok to create a parser program but I am not aware of the tables I should be using. Please help me with those tables if you are aware of.

0 Kudos

Mohit,

How about if you create a TR for all the objects in a Z package through SE80 ?

K.Kiran.

0 Kudos

I have to find all the objects, creating a TR is not an issue.

Please go through the thread once again.

Thanks

0 Kudos

afaik you have to add required objects manually. But you can do it only once for some functionality/project, generate the xml, and then import this working xml to more systems. if something is missing, just regenerate the xml and append the missing object. You can make it easier by using a functionality to import all object of a transport etc., if its possible

0 Kudos

You need a so called environment analysis, what SE38 does for just the first level, but on a multi-level basis (program uses table uses data element uses domain uses check table uses data element uses search help uses...), and only for Z-objects.

Please see my reply here:

The key is function module REPOSITORY_ENVIRONMENT_ALL, which you can use to program your own solution.

Thomas

0 Kudos

Thanks for your response, could you please provide me a sample code/inputs which should be given to this FM.

Many thanks

Mohit

0 Kudos

Try running it in SE37 for OBJ_TYPE = "PROG" and OBJECT_NAME = one of your Z-reports. Set DEEP = 1 to start with, this is the level of recursion. Also try 2 and 3, but never set DEEP to 0 or a large number, it would run "forever" (or rather time out before) and return more or less the entire SAP repository.

Study the result in ENVIRONMENT_TAB. You can feed this object list back into the FM if you want to filter the objects that you are looking for, e.g. for your own custom objects filter software component "HOME" (in TDEVC-DVLUNIT).

Thomas

0 Kudos

Thanks for these inputs, I will have to code using this FM then will have to check if this provides exactly the results we need. I will be checking and update here.

Thanks

Mohit

0 Kudos

You know which packages (development classes) are custom. Why not simply gather all the objects in those classes into a transport?

Or are you trying to move standard SAP objects as well?